Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,10 @@ internal class PassageFlutter(private val activity: Activity, appId: String) {

fun newRegisterOneTimePasscode(call: MethodCall, result: MethodChannel.Result) {
val identifier = call.argument<String>("identifier") ?: return invalidArgumentError(result)
val language = call.argument<String>("language")
CoroutineScope(Dispatchers.IO).launch {
try {
val otpId = passage.oneTimePasscode.register(identifier).otpId
val otpId = passage.oneTimePasscode.register(identifier, language).otpId
result.success(otpId)
} catch (e: Exception) {
result.error(PassageFlutterError.OTP_ERROR.name, e.message, e.toString())
Expand All @@ -115,9 +116,10 @@ internal class PassageFlutter(private val activity: Activity, appId: String) {

fun newLoginOneTimePasscode(call: MethodCall, result: MethodChannel.Result) {
val identifier = call.argument<String>("identifier") ?: return invalidArgumentError(result)
val language = call.argument<String>("language")
CoroutineScope(Dispatchers.IO).launch {
try {
val otpId = passage.oneTimePasscode.login(identifier).otpId
val otpId = passage.oneTimePasscode.login(identifier, language).otpId
result.success(otpId)
} catch (e: Exception) {
result.error(PassageFlutterError.OTP_ERROR.name, e.message, e.toString())
Expand Down Expand Up @@ -151,9 +153,10 @@ internal class PassageFlutter(private val activity: Activity, appId: String) {

fun newRegisterMagicLink(call: MethodCall, result: MethodChannel.Result) {
val identifier = call.argument<String>("identifier") ?: return invalidArgumentError(result)
val language = call.argument<String>("language")
CoroutineScope(Dispatchers.IO).launch {
try {
val magicLinkId = passage.magicLink.register(identifier).id
val magicLinkId = passage.magicLink.register(identifier, language).id
result.success(magicLinkId)
} catch (e: Exception) {
result.error(PassageFlutterError.MAGIC_LINK_ERROR.name, e.message, e.toString())
Expand All @@ -163,9 +166,10 @@ internal class PassageFlutter(private val activity: Activity, appId: String) {

fun newLoginMagicLink(call: MethodCall, result: MethodChannel.Result) {
val identifier = call.argument<String>("identifier") ?: return invalidArgumentError(result)
val language = call.argument<String?>("language")
CoroutineScope(Dispatchers.IO).launch {
try {
val magicLinkId = passage.magicLink.login(identifier).id
val magicLinkId = passage.magicLink.login(identifier, language).id
result.success(magicLinkId)
} catch (e: Exception) {
result.error(PassageFlutterError.MAGIC_LINK_ERROR.name, e.message, e.toString())
Expand Down
2 changes: 1 addition & 1 deletion integrationtestapp/integration_test/magic_link_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ void main() {
test('testActivateLoginMagicLink', () async {
try {
await passage.magiclink.login(
IntegrationTestConfig.existingUserEmailMagicLink);
IntegrationTestConfig.existingUserEmailMagicLink, language:"es");
await Future.delayed(const Duration(
milliseconds: IntegrationTestConfig.waitTimeMilliseconds));
final magicLinkStr = await MailosaurAPIClient.getMostRecentMagicLink();
Expand Down
2 changes: 1 addition & 1 deletion integrationtestapp/integration_test/otp_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ void main() {
final identifier =
"authentigator+$date@${MailosaurAPIClient.serverId}.mailosaur.net";
try {
final oneTimePasscode = (await passage.oneTimePasscode.register(identifier));
final oneTimePasscode = (await passage.oneTimePasscode.register(identifier, language: 'es'));
await Future.delayed(const Duration(
milliseconds: IntegrationTestConfig.waitTimeMilliseconds));
final otp = await MailosaurAPIClient.getMostRecentOneTimePasscode();
Expand Down
6 changes: 3 additions & 3 deletions integrationtestapp/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ PODS:
- Flutter (1.0.0)
- integration_test (0.0.1):
- Flutter
- passage_flutter (1.0.0):
- passage_flutter (1.1.1):
- Flutter
- PassageSwift (= 1.0.2)
- PassageSwift (1.0.2):
Expand All @@ -30,8 +30,8 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
AnyCodable-FlightSchool: 9d48ed579c898378e189bb0a89faebf9eb8a46a7
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
integration_test: ce0a3ffa1de96d1a89ca0ac26fca7ea18a749ef4
passage_flutter: 60c06e8730750f0516d86fc14c4fb25087b827db
integration_test: 252f60fa39af5e17c3aa9899d35d908a0721b573
passage_flutter: 46098def9413ab67515fd61d485a878ea1550dda
PassageSwift: 0874d7abdd8e57e92c1ae6ead0d59c6024f8867b

PODFILE CHECKSUM: 6a26cacf19c7fcde87d9c59e8f24986138e82f3b
Expand Down
2 changes: 1 addition & 1 deletion integrationtestapp/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ packages:
path: ".."
relative: true
source: path
version: "1.1.0"
version: "1.1.1"
path:
dependency: transitive
description:
Expand Down
28 changes: 24 additions & 4 deletions ios/Classes/PassageFlutter.swift
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,14 @@ internal class PassageFlutter {
result(error)
return
}
var language: String? = nil
if let args = arguments as? [String: Any],
let lang = args["language"] as? String {
language = lang
}
Task {
do {
let otp = try await passage.oneTimePasscode.register(identifier: identifier)
let otp = try await passage.oneTimePasscode.register(identifier: identifier, language: language)
result(otp.otpId)
} catch {
let error = FlutterError(
Expand All @@ -106,9 +111,14 @@ internal class PassageFlutter {
result(error)
return
}
var language: String? = nil
if let args = arguments as? [String: Any],
let lang = args["language"] as? String {
language = lang
}
Task {
do {
let otp = try await passage.oneTimePasscode.login(identifier: identifier)
let otp = try await passage.oneTimePasscode.login(identifier: identifier, language: language)
result(otp.otpId)
} catch {
let error = FlutterError(
Expand Down Expand Up @@ -154,9 +164,14 @@ internal class PassageFlutter {
result(error)
return
}
var language: String? = nil
if let args = arguments as? [String: Any],
let lang = args["language"] as? String {
language = lang
}
Task {
do {
let ml = try await passage.magicLink.register(identifier: identifier)
let ml = try await passage.magicLink.register(identifier: identifier, language: language)
result(ml.id)
} catch {
let error = FlutterError(
Expand All @@ -175,9 +190,14 @@ internal class PassageFlutter {
result(error)
return
}
var language: String? = nil
if let args = arguments as? [String: Any],
let lang = args["language"] as? String {
language = lang
}
Task {
do {
let ml = try await passage.magicLink.login(identifier: identifier)
let ml = try await passage.magicLink.login(identifier: identifier, language: language)
result(ml.id)
} catch {
let error = FlutterError(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,21 +63,21 @@ class MethodChannelPassageFlutter extends PassageFlutterPlatform {
// OTP METHODS

@override
Future<String> newRegisterOneTimePasscode(String identifier) async {
Future<String> newRegisterOneTimePasscode(String identifier, String? language) async {
try {
final result = await methodChannel.invokeMethod<String>(
'newRegisterOneTimePasscode', {'identifier': identifier});
'newRegisterOneTimePasscode', {'identifier': identifier, 'language': language});
return result!;
} catch (e) {
throw PassageError.fromObject(object: e);
}
}

@override
Future<String> newLoginOneTimePasscode(String identifier) async {
Future<String> newLoginOneTimePasscode(String identifier, String? language) async {
try {
final result = await methodChannel.invokeMethod<String>(
'newLoginOneTimePasscode', {'identifier': identifier});
'newLoginOneTimePasscode', {'identifier': identifier, 'language': language});
return result!;
} catch (e) {
throw PassageError.fromObject(object: e);
Expand All @@ -98,21 +98,21 @@ class MethodChannelPassageFlutter extends PassageFlutterPlatform {
// MAGIC LINK METHODS

@override
Future<String> newRegisterMagicLink(String identifier) async {
Future<String> newRegisterMagicLink(String identifier, String? language) async {
try {
final result = await methodChannel.invokeMethod<String>(
'newRegisterMagicLink', {'identifier': identifier});
'newRegisterMagicLink', {'identifier': identifier, 'language': language});
return result!;
} catch (e) {
throw PassageError.fromObject(object: e);
}
}

@override
Future<String> newLoginMagicLink(String identifier) async {
Future<String> newLoginMagicLink(String identifier, String? language) async {
try {
final result = await methodChannel.invokeMethod<String>(
'newLoginMagicLink', {'identifier': identifier});
'newLoginMagicLink', {'identifier': identifier, 'language': language});
return result!;
} catch (e) {
throw PassageError.fromObject(object: e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,12 @@ abstract class PassageFlutterPlatform extends PlatformInterface {

// OTP METHODS

Future<String> newRegisterOneTimePasscode(String identifier) {
Future<String> newRegisterOneTimePasscode(String identifier, String? language) {
throw UnimplementedError(
'newRegisterOneTimePasscode() has not been implemented.');
}

Future<String> newLoginOneTimePasscode(String identifier) {
Future<String> newLoginOneTimePasscode(String identifier, String? language) {
throw UnimplementedError(
'newLoginOneTimePasscode() has not been implemented.');
}
Expand All @@ -71,12 +71,12 @@ abstract class PassageFlutterPlatform extends PlatformInterface {

// MAGIC LINK METHODS

Future<String> newRegisterMagicLink(String identifier) {
Future<String> newRegisterMagicLink(String identifier, String? language) {
throw UnimplementedError(
'newRegisterMagicLink() has not been implemented.');
}

Future<String> newLoginMagicLink(String identifier) {
Future<String> newLoginMagicLink(String identifier, String? language) {
throw UnimplementedError('newLoginMagicLink() has not been implemented.');
}

Expand Down
18 changes: 9 additions & 9 deletions lib/passage_flutter_web.dart
Original file line number Diff line number Diff line change
Expand Up @@ -98,22 +98,22 @@ class PassageFlutterWeb extends PassageFlutterPlatform {
// OTP METHODS

@override
Future<String> newRegisterOneTimePasscode(String identifier) async {
Future<String> newRegisterOneTimePasscode(String identifier, String? language) async {
try {
final resultPromise = passage.oneTimePasscode.register(identifier);
final resultPromise = passage.oneTimePasscode.register(identifier, language);
final jsObject = await js_util.promiseToFuture(resultPromise);
final resultMap = jsObjectToMap(jsObject);
return resultMap['otp_id'];
return resultMap['otpId'];
} catch (e) {
throw PassageError.fromObject(
object: e, overrideCode: PassageErrorCode.otpError);
}
}

@override
Future<String> newLoginOneTimePasscode(String identifier) async {
Future<String> newLoginOneTimePasscode(String identifier, String? language) async {
try {
final resultPromise = passage.oneTimePasscode.login(identifier);
final resultPromise = passage.oneTimePasscode.login(identifier, language);
final jsObject = await js_util.promiseToFuture(resultPromise);
final resultMap = jsObjectToMap(jsObject);
return resultMap['otpId'];
Expand All @@ -140,9 +140,9 @@ class PassageFlutterWeb extends PassageFlutterPlatform {
// MAGIC LINK METHODS

@override
Future<String> newRegisterMagicLink(String identifier) async {
Future<String> newRegisterMagicLink(String identifier, String? language) async {
try {
final resultPromise = passage.magicLink.register(identifier);
final resultPromise = passage.magicLink.register(identifier, language);
final jsObject = await js_util.promiseToFuture(resultPromise);
final resultMap = jsObjectToMap(jsObject);
return resultMap['id'];
Expand All @@ -153,9 +153,9 @@ class PassageFlutterWeb extends PassageFlutterPlatform {
}

@override
Future<String> newLoginMagicLink(String identifier) async {
Future<String> newLoginMagicLink(String identifier, String? language) async {
try {
final resultPromise = passage.magicLink.login(identifier);
final resultPromise = passage.magicLink.login(identifier, language);
final jsObject = await js_util.promiseToFuture(resultPromise);
final resultMap = jsObjectToMap(jsObject);
return resultMap['id'];
Expand Down
4 changes: 2 additions & 2 deletions lib/passage_magliclink.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class PassageMagiclink {
/// Throws:
/// `PassageError`
Future<MagicLink> register(String identifier, {String? language}) async {
String magicLinkId = await PassageFlutterPlatform.instance.newRegisterMagicLink(identifier);
String magicLinkId = await PassageFlutterPlatform.instance.newRegisterMagicLink(identifier, language);
return MagicLink(magicLinkId);
}

Expand All @@ -35,7 +35,7 @@ class PassageMagiclink {
/// Throws:
/// `PassageError`
Future<MagicLink> login(String identifier, {String? language}) async {
String magicLinkId = await PassageFlutterPlatform.instance.newLoginMagicLink(identifier);
String magicLinkId = await PassageFlutterPlatform.instance.newLoginMagicLink(identifier, language);
return MagicLink(magicLinkId);
}

Expand Down
4 changes: 2 additions & 2 deletions lib/passage_otp.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class PassageOneTimePasscode {
/// `PassageError`
Future<OneTimePasscode> register(String identifier, {String? language}) async {
String oneTimePasscodeId = await PassageFlutterPlatform.instance
.newRegisterOneTimePasscode(identifier);
.newRegisterOneTimePasscode(identifier, language);
return OneTimePasscode(oneTimePasscodeId);

}
Expand All @@ -37,7 +37,7 @@ class PassageOneTimePasscode {
/// `PassageError`

Future<OneTimePasscode> login(String identifier, {String? language}) async {
String oneTimePasscodeId = await PassageFlutterPlatform.instance.newLoginOneTimePasscode(identifier);
String oneTimePasscodeId = await PassageFlutterPlatform.instance.newLoginOneTimePasscode(identifier, language);
return OneTimePasscode(oneTimePasscodeId);
}

Expand Down
Loading