54 lines
2.0 KiB
Dart
54 lines
2.0 KiB
Dart
/// Created by Haoyi on 6/4/21
|
|
///
|
|
part of "../guru_api.dart";
|
|
|
|
extension GuruApiExtension on GuruApi {
|
|
// Future<GuruUser> signInWithAnonymous({required String secret}) async {
|
|
// return await methods.signInWithAnonymous(AnonymousLoginReqBody(secret: secret));
|
|
// }
|
|
|
|
Future<GuruUser> loginGuruWithCredential({required Credential credential}) async {
|
|
switch (credential.authType) {
|
|
case AuthType.facebook:
|
|
return await methods
|
|
.signInWithFacebook(FacebookLoginReqBody(accessToken: credential.token));
|
|
case AuthType.google:
|
|
return await methods.signInWithGoogle(GoogleLoginReqBody(idToken: credential.token));
|
|
case AuthType.apple:
|
|
return await methods.signInWithApple(AppleLoginReqBody(token: credential.token));
|
|
case AuthType.anonymous:
|
|
return await methods.signInWithAnonymous(AnonymousLoginReqBody(secret: credential.token));
|
|
}
|
|
}
|
|
|
|
Future<GuruUser> associateCredential({required Credential credential}) async {
|
|
switch (credential.authType) {
|
|
case AuthType.facebook:
|
|
return await methods
|
|
.associateWithFacebook(FacebookLoginReqBody(accessToken: credential.token));
|
|
case AuthType.google:
|
|
return await methods.associateWithGoogle(GoogleLoginReqBody(idToken: credential.token));
|
|
case AuthType.apple:
|
|
return await methods.associateWithApple(AppleLoginReqBody(token: credential.token));
|
|
case AuthType.anonymous:
|
|
return await methods.signInWithAnonymous(AnonymousLoginReqBody(secret: credential.token));
|
|
}
|
|
}
|
|
|
|
Future reportDevice(DeviceInfo deviceInfo) async {
|
|
return await methods.reportDevice(deviceInfo);
|
|
}
|
|
|
|
Future<FirebaseTokenData> renewFirebaseToken() async {
|
|
return await methods.renewFirebaseToken();
|
|
}
|
|
|
|
Future<OrdersResponse> reportOrders(OrdersReport body) async {
|
|
if (Platform.isAndroid) {
|
|
return await methods.androidOrdersReport(body);
|
|
} else {
|
|
return await methods.iOSOrdersReport(body);
|
|
}
|
|
}
|
|
}
|