clean up
This commit is contained in:
68
lib/data/services/auth_imp.dart
Normal file
68
lib/data/services/auth_imp.dart
Normal file
@@ -0,0 +1,68 @@
|
||||
import 'package:fcs/data/provider/auth_fb.dart';
|
||||
import 'package:fcs/domain/entities/auth_result.dart';
|
||||
import 'package:fcs/domain/entities/connectivity.dart';
|
||||
import 'package:fcs/domain/entities/setting.dart';
|
||||
import 'package:fcs/domain/entities/user.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'auth_service.dart';
|
||||
|
||||
class AuthServiceImp implements AuthService {
|
||||
AuthServiceImp({
|
||||
@required this.authFb,
|
||||
@required this.connectivity,
|
||||
});
|
||||
|
||||
final Connectivity connectivity;
|
||||
final AuthFb authFb;
|
||||
|
||||
@override
|
||||
Future<AuthResult> sendSmsCodeToPhoneNumber(String phoneNumber) {
|
||||
return authFb.sendSmsCodeToPhoneNumber(phoneNumber);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<AuthResult> signInWithSmsCode(String smsCode) {
|
||||
return authFb.signInWithPhoneNumber(smsCode);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> signout() {
|
||||
return authFb.signout();
|
||||
}
|
||||
|
||||
@override
|
||||
Stream<User> getUserStream() {
|
||||
return authFb.user();
|
||||
}
|
||||
|
||||
@override
|
||||
Stream<Setting> getSetting() {
|
||||
return authFb.settings();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> signup(String userName) {
|
||||
return authFb.signup(userName);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<User> joinInvite(String userName) {
|
||||
return authFb.joinInvite(userName);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<String> getToken() {
|
||||
return authFb.getToken();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<bool> hasInvite() {
|
||||
return authFb.hasInvite();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> updateProfile(String newUserName) {
|
||||
return authFb.updateProfile(newUserName);
|
||||
}
|
||||
}
|
||||
16
lib/data/services/auth_service.dart
Normal file
16
lib/data/services/auth_service.dart
Normal file
@@ -0,0 +1,16 @@
|
||||
import 'package:fcs/domain/entities/auth_result.dart';
|
||||
import 'package:fcs/domain/entities/setting.dart';
|
||||
import 'package:fcs/domain/entities/user.dart';
|
||||
|
||||
abstract class AuthService {
|
||||
Future<AuthResult> sendSmsCodeToPhoneNumber(String phoneNumber);
|
||||
Future<AuthResult> signInWithSmsCode(String smsCode);
|
||||
Future<void> signout();
|
||||
Future<void> signup(String userName);
|
||||
Future<User> joinInvite(String userName);
|
||||
Future<void> updateProfile(String newUserName);
|
||||
Future<bool> hasInvite();
|
||||
Stream<User> getUserStream();
|
||||
Stream<Setting> getSetting();
|
||||
Future<String> getToken();
|
||||
}
|
||||
40
lib/data/services/common_imp.dart
Normal file
40
lib/data/services/common_imp.dart
Normal file
@@ -0,0 +1,40 @@
|
||||
import 'package:fcs/data/provider/common_data_provider.dart';
|
||||
import 'package:fcs/data/provider/user_data_provider.dart';
|
||||
import 'package:fcs/domain/entities/payment_method.dart';
|
||||
import 'package:fcs/domain/vo/message.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'common_service.dart';
|
||||
|
||||
class CommonServiceImp implements CommonService {
|
||||
CommonServiceImp({
|
||||
@required this.commonDataProvider,
|
||||
});
|
||||
|
||||
final CommonDataProvider commonDataProvider;
|
||||
|
||||
@override
|
||||
Future<void> createPaymentMethod(PaymentMethod paymentMethod) {
|
||||
return commonDataProvider.createPaymentMethod(paymentMethod);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> deletePayment(String id) {
|
||||
return commonDataProvider.deletePaymentMethod(id);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> updatePaymentMethod(PaymentMethod paymentMethod) {
|
||||
return commonDataProvider.updatePaymentMethod(paymentMethod);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> sendMessage(Message message) {
|
||||
return commonDataProvider.sendMessage(message);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> seenMessage(String ownerID, bool seenByOwner) {
|
||||
return commonDataProvider.seenMessage(ownerID, seenByOwner);
|
||||
}
|
||||
}
|
||||
13
lib/data/services/common_service.dart
Normal file
13
lib/data/services/common_service.dart
Normal file
@@ -0,0 +1,13 @@
|
||||
import 'package:fcs/domain/entities/payment_method.dart';
|
||||
import 'package:fcs/domain/vo/message.dart';
|
||||
|
||||
abstract class CommonService {
|
||||
// Payment
|
||||
Future<void> createPaymentMethod(PaymentMethod paymentMethod);
|
||||
Future<void> updatePaymentMethod(PaymentMethod paymentMethod);
|
||||
Future<void> deletePayment(String id);
|
||||
|
||||
// Messaging
|
||||
Future<void> sendMessage(Message message);
|
||||
Future<void> seenMessage(String ownerID, bool seenByOwner);
|
||||
}
|
||||
28
lib/data/services/messaging_imp.dart
Normal file
28
lib/data/services/messaging_imp.dart
Normal file
@@ -0,0 +1,28 @@
|
||||
import 'package:fcs/data/provider/messaging_fcm.dart';
|
||||
|
||||
import 'messaging_service.dart';
|
||||
|
||||
class MessagingServiceImp implements MessagingService {
|
||||
MessagingServiceImp();
|
||||
|
||||
static MessagingFCM messagingFCM;
|
||||
|
||||
@override
|
||||
void init(onMessage,
|
||||
{OnNotify onLaunch, OnNotify onResume, OnSetupComplete onSetupComplete}) {
|
||||
messagingFCM = MessagingFCM(onMessage,
|
||||
onLaunch: onLaunch,
|
||||
onResume: onResume,
|
||||
onSetupComplete: onSetupComplete);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> subscribe(String topic) {
|
||||
return messagingFCM.unsubscribeToTopic(topic);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> unsubscribe(String topic) {
|
||||
return messagingFCM.unsubscribeToTopic(topic);
|
||||
}
|
||||
}
|
||||
9
lib/data/services/messaging_service.dart
Normal file
9
lib/data/services/messaging_service.dart
Normal file
@@ -0,0 +1,9 @@
|
||||
typedef OnNotify(Map<String, dynamic> message);
|
||||
typedef OnSetupComplete(String token);
|
||||
|
||||
abstract class MessagingService {
|
||||
void init(OnNotify onMessage,
|
||||
{OnNotify onLaunch, OnNotify onResume, OnSetupComplete onSetupComplete});
|
||||
Future<void> subscribe(String topic);
|
||||
Future<void> unsubscribe(String topic);
|
||||
}
|
||||
31
lib/data/services/package_imp.dart
Normal file
31
lib/data/services/package_imp.dart
Normal file
@@ -0,0 +1,31 @@
|
||||
import 'package:fcs/data/provider/package_data_provider.dart';
|
||||
import 'package:fcs/domain/entities/connectivity.dart';
|
||||
import 'package:fcs/domain/entities/package.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package_service.dart';
|
||||
|
||||
class PackageServiceImp implements PackageService {
|
||||
PackageServiceImp({
|
||||
@required this.connectivity,
|
||||
@required this.packageDataProvider,
|
||||
});
|
||||
|
||||
final Connectivity connectivity;
|
||||
final PackageDataProvider packageDataProvider;
|
||||
|
||||
@override
|
||||
Future<void> createPackages(List<Package> packages, String fcsID) {
|
||||
return packageDataProvider.createPackages(packages, fcsID);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<Package>> searchPackage(String term) {
|
||||
return packageDataProvider.searchPackage(term);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> deletePackage(Package package) {
|
||||
return packageDataProvider.deletePackage(package);
|
||||
}
|
||||
}
|
||||
7
lib/data/services/package_service.dart
Normal file
7
lib/data/services/package_service.dart
Normal file
@@ -0,0 +1,7 @@
|
||||
import 'package:fcs/domain/entities/package.dart';
|
||||
|
||||
abstract class PackageService {
|
||||
Future<void> createPackages(List<Package> packages, String fcsID);
|
||||
Future<void> deletePackage(Package package);
|
||||
Future<List<Package>> searchPackage(String term);
|
||||
}
|
||||
43
lib/data/services/services.dart
Normal file
43
lib/data/services/services.dart
Normal file
@@ -0,0 +1,43 @@
|
||||
import 'package:fcs/data/provider/auth_fb.dart';
|
||||
import 'package:fcs/data/provider/common_data_provider.dart';
|
||||
import 'package:fcs/data/provider/package_data_provider.dart';
|
||||
import 'package:fcs/data/provider/user_data_provider.dart';
|
||||
|
||||
import 'auth_imp.dart';
|
||||
import 'auth_service.dart';
|
||||
import 'common_imp.dart';
|
||||
import 'common_service.dart';
|
||||
import 'messaging_imp.dart';
|
||||
import 'messaging_service.dart';
|
||||
import 'package_imp.dart';
|
||||
import 'package_service.dart';
|
||||
import 'user_imp.dart';
|
||||
import 'user_service.dart';
|
||||
|
||||
class Services {
|
||||
static final Services instance = Services._();
|
||||
|
||||
AuthService _authService;
|
||||
UserService _userService;
|
||||
PackageService _packageService;
|
||||
MessagingService _messagingService;
|
||||
CommonService _commonService;
|
||||
Services._() {
|
||||
_authService = AuthServiceImp(
|
||||
authFb: AuthFb.instance,
|
||||
connectivity: null,
|
||||
);
|
||||
_userService = UserServiceImp(
|
||||
connectivity: null, userDataProvider: UserDataProvider());
|
||||
_messagingService = MessagingServiceImp();
|
||||
_packageService = PackageServiceImp(
|
||||
connectivity: null, packageDataProvider: PackageDataProvider());
|
||||
_commonService = CommonServiceImp(commonDataProvider: CommonDataProvider());
|
||||
}
|
||||
|
||||
AuthService get authService => _authService;
|
||||
UserService get userService => _userService;
|
||||
MessagingService get messagingService => _messagingService;
|
||||
PackageService get packageService => _packageService;
|
||||
CommonService get commonService => _commonService;
|
||||
}
|
||||
51
lib/data/services/user_imp.dart
Normal file
51
lib/data/services/user_imp.dart
Normal file
@@ -0,0 +1,51 @@
|
||||
import 'package:fcs/data/provider/user_data_provider.dart';
|
||||
import 'package:fcs/domain/entities/connectivity.dart';
|
||||
import 'package:fcs/domain/entities/user.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'user_service.dart';
|
||||
|
||||
class UserServiceImp implements UserService {
|
||||
UserServiceImp({
|
||||
@required this.connectivity,
|
||||
@required this.userDataProvider,
|
||||
});
|
||||
|
||||
final Connectivity connectivity;
|
||||
final UserDataProvider userDataProvider;
|
||||
|
||||
@override
|
||||
Future<void> inviteUser(String userName, String phoneNumber) {
|
||||
return userDataProvider.inviteUser(userName, phoneNumber);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> deleteInvite(String phoneNumber) {
|
||||
return userDataProvider.deleteInvite(phoneNumber);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> acceptRequest(String userID) {
|
||||
return userDataProvider.acceptRequest(userID);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<User> findUser(String phoneNumber) {
|
||||
return userDataProvider.findUser(phoneNumber);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<User>> searchUser(String term) {
|
||||
return userDataProvider.searchUser(term);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> removeMsgToken(String token) {
|
||||
return userDataProvider.removeMsgToken(token);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> uploadMsgToken(String token) {
|
||||
return userDataProvider.uploadMsgToken(token);
|
||||
}
|
||||
}
|
||||
11
lib/data/services/user_service.dart
Normal file
11
lib/data/services/user_service.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
import 'package:fcs/domain/entities/user.dart';
|
||||
|
||||
abstract class UserService {
|
||||
Future<void> inviteUser(String userName, String phoneNumber);
|
||||
Future<void> deleteInvite(String phoneNumber);
|
||||
Future<void> acceptRequest(String userID);
|
||||
Future<User> findUser(String phoneNumber);
|
||||
Future<List<User>> searchUser(String term);
|
||||
Future<void> uploadMsgToken(String token);
|
||||
Future<void> removeMsgToken(String token);
|
||||
}
|
||||
Reference in New Issue
Block a user