register method
FutureOr<PassedHttpEntity>
register(
- RequestHolder request,
- ResponseHolder response,
- Map<String, dynamic> pathArgs
)
override
Implementation
@override
FutureOr<PassedHttpEntity> register(
RequestHolder request,
ResponseHolder response,
Map<String, dynamic> pathArgs,
) async {
return _wrapper(
request,
response,
pathArgs,
() async {
var data = await request.readAsJson();
String emailKey = BodyFields.email;
String passwordKey = BodyFields.password;
String userDataKey = BodyFields.userData;
String? email = data[emailKey];
String? password = data[passwordKey];
Map<String, dynamic> userData = data[userDataKey] ?? {};
if (email == null || password == null) {
throw RequestBodyError('email and password can\'t be empty');
}
String jwt = await authService.registerUser(
email: email,
password: password,
userData: userData,
customUserID: null,
);
UserDataService userDataService = UserDataService(authService);
var loadedUserData =
await userDataService.getUserDataByEmail(email) ?? {};
Map<String, dynamic> resData = {
BodyFields.userData: loadedUserData,
ContextFields.jwt: jwt,
};
return SendResponse.sendDataToUser(
response,
resData,
);
},
);
}