Skip to content

Commit

Permalink
chore: Merge pull request #70 from eventOneHQ/master
Browse files Browse the repository at this point in the history
v2 Beta 3
  • Loading branch information
nprail authored Oct 12, 2021
2 parents bc7ee7f + 9cdbf8b commit 62d9d71
Show file tree
Hide file tree
Showing 12 changed files with 7,526 additions and 569 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ jobs:

steps:
- uses: actions/checkout@v1
- name: Use Node.js 12.x
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
node-version: 16
- name: Typedoc
run: |
npm ci
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12
node-version: 16
- name: Install dependencies
run: npm ci
- name: Release
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@
import com.stripe.stripeterminal.external.models.ReaderEvent;
import com.stripe.stripeterminal.external.models.ReaderInputOptions;
import com.stripe.stripeterminal.external.models.ReaderSoftwareUpdate;
import com.stripe.stripeterminal.external.models.SimulateReaderUpdate;
import com.stripe.stripeterminal.external.models.SimulatedCard;
import com.stripe.stripeterminal.external.models.SimulatedCardType;
import com.stripe.stripeterminal.external.models.SimulatorConfiguration;
import com.stripe.stripeterminal.external.models.TerminalException;
import com.stripe.stripeterminal.log.LogLevel;
import java.util.ArrayList;
Expand Down Expand Up @@ -713,6 +717,48 @@ public void onFailure(@NonNull TerminalException e) {
);
}

@PluginMethod
public void getSimulatorConfiguration(@NonNull final PluginCall call) {
SimulatorConfiguration config = Terminal
.getInstance()
.getSimulatorConfiguration();
JSObject serialized = TerminalUtils.serializeSimulatorConfiguration(config);

call.resolve(serialized);
}

@PluginMethod
public void setSimulatorConfiguration(@NonNull final PluginCall call) {
Integer availableReaderUpdateInt = call.getInt("availableReaderUpdate");
Integer simulatedCardInt = call.getInt("simulatedCard");

SimulatorConfiguration currentConfig = Terminal
.getInstance()
.getSimulatorConfiguration();

SimulateReaderUpdate availableReaderUpdate = currentConfig.getUpdate();
SimulatedCard simulatedCard = currentConfig.getSimulatedCard();

if (availableReaderUpdateInt != null) {
availableReaderUpdate =
SimulateReaderUpdate.values()[availableReaderUpdateInt];
}

if (simulatedCardInt != null) {
SimulatedCardType type = SimulatedCardType.values()[simulatedCardInt];
simulatedCard = new SimulatedCard(type);
}

SimulatorConfiguration newConfig = new SimulatorConfiguration(
availableReaderUpdate,
simulatedCard
);

Terminal.getInstance().setSimulatorConfiguration(newConfig);

getSimulatorConfiguration(call);
}

@Override
public void fetchConnectionToken(
@NonNull ConnectionTokenCallback connectionTokenCallback
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.stripe.stripeterminal.external.models.PaymentIntent;
import com.stripe.stripeterminal.external.models.Reader;
import com.stripe.stripeterminal.external.models.ReaderSoftwareUpdate;
import com.stripe.stripeterminal.external.models.SimulatorConfiguration;

public class TerminalUtils {

Expand Down Expand Up @@ -150,6 +151,19 @@ public static JSObject serializeAddress(Address address) {
return object;
}

public static JSObject serializeSimulatorConfiguration(
SimulatorConfiguration config
) {
JSObject object = new JSObject();

if (config != null) {
object.put("availableReaderUpdate", config.getUpdate().ordinal());
// object.put("simulatedCard", config.getSimulatedCard().getEmvBlob().toString());
}

return object;
}

public static DiscoveryMethod translateDiscoveryMethod(Integer method) {
if (method == 0) {
return DiscoveryMethod.BLUETOOTH_SCAN;
Expand Down
2 changes: 2 additions & 0 deletions ios/Plugin/Plugin.m
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,7 @@
CAP_PLUGIN_METHOD(setReaderDisplay, CAPPluginReturnPromise);
CAP_PLUGIN_METHOD(clearReaderDisplay, CAPPluginReturnPromise);
CAP_PLUGIN_METHOD(listLocations, CAPPluginReturnPromise);
CAP_PLUGIN_METHOD(getSimulatorConfiguration, CAPPluginReturnPromise);
CAP_PLUGIN_METHOD(setSimulatorConfiguration, CAPPluginReturnPromise);
)

27 changes: 27 additions & 0 deletions ios/Plugin/Plugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,33 @@ public class StripeTerminal: CAPPlugin, ConnectionTokenProvider, DiscoveryDelega
}
}
}

@objc func getSimulatorConfiguration(_ call: CAPPluginCall) {
let config = Terminal.shared.simulatorConfiguration;
let serialized = StripeTerminalUtils.serializeSimulatorConfiguration(simulatorConfig: config);

call.resolve(serialized);
}

@objc func setSimulatorConfiguration(_ call: CAPPluginCall) {
let availableReaderUpdateInt = call.getInt("availableReaderUpdate");
let simulatedCardInt = call.getInt("simulatedCard");

if (availableReaderUpdateInt != nil) {
let availableReaderUpdate = SimulateReaderUpdate(rawValue: UInt(availableReaderUpdateInt ?? 0)) ?? Terminal.shared.simulatorConfiguration.availableReaderUpdate;

Terminal.shared.simulatorConfiguration.availableReaderUpdate = availableReaderUpdate;
}

if (simulatedCardInt != nil) {
let simulatedCardType = SimulatedCardType(rawValue: UInt(simulatedCardInt ?? 0)) ?? SimulatedCardType.visa;
let simulatedCard = SimulatedCard(type: simulatedCardType);

Terminal.shared.simulatorConfiguration.simulatedCard = simulatedCard;
}

return self.getSimulatorConfiguration(call);
}

// MARK: DiscoveryDelegate

Expand Down
9 changes: 9 additions & 0 deletions ios/Plugin/TerminalUtils.swift
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,13 @@ public class StripeTerminalUtils {

return jsonObject
}

static func serializeSimulatorConfiguration(simulatorConfig: SimulatorConfiguration) -> [String: Any] {
let jsonObject: [String: Any] = [
"availableReaderUpdate": simulatorConfig.availableReaderUpdate.rawValue,
"simulatedCard": "\(simulatorConfig.simulatedCard)" as Any,
]

return jsonObject
}
}
Loading

0 comments on commit 62d9d71

Please sign in to comment.