@infrab4a/connect 0.10.2 → 0.11.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/bundles/infrab4a-connect.umd.js +114 -4
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/esm2015/lib/domain/users/errors/index.js +3 -1
  4. package/esm2015/lib/domain/users/errors/user-already-registered.error.js +7 -0
  5. package/esm2015/lib/domain/users/errors/weak-password.error.js +7 -0
  6. package/esm2015/lib/domain/users/services/authentication.service.js +1 -1
  7. package/esm2015/lib/domain/users/services/index.js +3 -1
  8. package/esm2015/lib/domain/users/services/register.service.js +2 -0
  9. package/esm2015/lib/domain/users/services/types/basic-user-data.type.js +2 -0
  10. package/esm2015/lib/domain/users/services/types/index.js +2 -0
  11. package/esm2015/lib/domain/users/use-cases/index.js +2 -1
  12. package/esm2015/lib/domain/users/use-cases/register.js +28 -0
  13. package/esm2015/lib/infra/firebase/auth/authentication-firebase-auth.service.js +18 -4
  14. package/esm2015/lib/infra/firebase/auth/index.js +2 -1
  15. package/esm2015/lib/infra/firebase/auth/register-firebase-auth.service.js +26 -0
  16. package/esm2015/lib/infra/firebase/auth/types/firebase-user-with-id.type.js +2 -0
  17. package/fesm2015/infrab4a-connect.js +83 -4
  18. package/fesm2015/infrab4a-connect.js.map +1 -1
  19. package/lib/domain/users/errors/index.d.ts +2 -0
  20. package/lib/domain/users/errors/user-already-registered.error.d.ts +4 -0
  21. package/lib/domain/users/errors/weak-password.error.d.ts +4 -0
  22. package/lib/domain/users/services/authentication.service.d.ts +4 -5
  23. package/lib/domain/users/services/index.d.ts +2 -0
  24. package/lib/domain/users/services/register.service.d.ts +7 -0
  25. package/lib/domain/users/services/types/basic-user-data.type.d.ts +4 -0
  26. package/lib/domain/users/services/types/index.d.ts +1 -0
  27. package/lib/domain/users/use-cases/index.d.ts +1 -0
  28. package/lib/domain/users/use-cases/register.d.ts +13 -0
  29. package/lib/infra/firebase/auth/authentication-firebase-auth.service.d.ts +5 -4
  30. package/lib/infra/firebase/auth/index.d.ts +1 -0
  31. package/lib/infra/firebase/auth/register-firebase-auth.service.d.ts +8 -0
  32. package/lib/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +3 -0
  33. package/package.json +1 -1
@@ -1004,6 +1004,44 @@
1004
1004
  return Authentication;
1005
1005
  }());
1006
1006
 
1007
+ var Register = /** @class */ (function () {
1008
+ function Register(registerService, userRepository) {
1009
+ this.registerService = registerService;
1010
+ this.userRepository = userRepository;
1011
+ }
1012
+ Register.prototype.register = function (params) {
1013
+ return __awaiter(this, void 0, void 0, function () {
1014
+ var email, displayName, auth, user;
1015
+ return __generator(this, function (_a) {
1016
+ switch (_a.label) {
1017
+ case 0:
1018
+ email = params.email.toLocaleLowerCase();
1019
+ displayName = params.firstName + " " + params.lastName;
1020
+ return [4 /*yield*/, this.registerService.register({
1021
+ birthday: params.birthday,
1022
+ email: email,
1023
+ firstName: params.firstName,
1024
+ lastName: params.lastName,
1025
+ cpf: params.cpf,
1026
+ displayName: displayName,
1027
+ phone: params.phone,
1028
+ password: params.password,
1029
+ })];
1030
+ case 1:
1031
+ auth = _a.sent();
1032
+ delete params.password;
1033
+ return [4 /*yield*/, this.userRepository.create(Object.assign(Object.assign({}, params), { id: auth.id, email: email,
1034
+ displayName: displayName, dateCreated: new Date(), dateModified: new Date() }))];
1035
+ case 2:
1036
+ user = _a.sent();
1037
+ return [2 /*return*/, user];
1038
+ }
1039
+ });
1040
+ });
1041
+ };
1042
+ return Register;
1043
+ }());
1044
+
1007
1045
  var SignOut = /** @class */ (function () {
1008
1046
  function SignOut(authService) {
1009
1047
  this.authService = authService;
@@ -1023,6 +1061,27 @@
1023
1061
  return SignOut;
1024
1062
  }());
1025
1063
 
1064
+ var UserAlreadyRegisteredError = /** @class */ (function (_super) {
1065
+ __extends(UserAlreadyRegisteredError, _super);
1066
+ function UserAlreadyRegisteredError(message) {
1067
+ var _this = _super.call(this, message) || this;
1068
+ _this.message = message;
1069
+ return _this;
1070
+ }
1071
+ return UserAlreadyRegisteredError;
1072
+ }(Error));
1073
+
1074
+ var WeakPasswordError = /** @class */ (function (_super) {
1075
+ __extends(WeakPasswordError, _super);
1076
+ function WeakPasswordError(message) {
1077
+ if (message === void 0) { message = 'Weak password'; }
1078
+ var _this = _super.call(this, message) || this;
1079
+ _this.message = message;
1080
+ return _this;
1081
+ }
1082
+ return WeakPasswordError;
1083
+ }(Error));
1084
+
1026
1085
  exports.Shops = void 0;
1027
1086
  (function (Shops) {
1028
1087
  Shops["MENSMARKET"] = "mensmarket";
@@ -2254,7 +2313,13 @@
2254
2313
  case 1:
2255
2314
  credentials = _a.sent();
2256
2315
  user = credentials.user;
2257
- return [2 /*return*/, { id: user.uid, displayName: user.displayName, email: user.email, phone: user.phoneNumber }];
2316
+ return [2 /*return*/, {
2317
+ id: user.uid,
2318
+ displayName: user.displayName,
2319
+ email: user.email,
2320
+ phone: user.phoneNumber,
2321
+ isAnonymous: false,
2322
+ }];
2258
2323
  }
2259
2324
  });
2260
2325
  });
@@ -2268,7 +2333,13 @@
2268
2333
  case 1:
2269
2334
  credentials = _a.sent();
2270
2335
  user = credentials.user;
2271
- return [2 /*return*/, { id: user.uid, displayName: user.displayName, email: user.email, phone: user.phoneNumber }];
2336
+ return [2 /*return*/, {
2337
+ id: user.uid,
2338
+ displayName: user.displayName,
2339
+ email: user.email,
2340
+ phone: user.phoneNumber,
2341
+ isAnonymous: false,
2342
+ }];
2272
2343
  }
2273
2344
  });
2274
2345
  });
@@ -2283,13 +2354,15 @@
2283
2354
  };
2284
2355
  AuthenticationFirebaseAuthService.prototype.signInAnonymously = function () {
2285
2356
  return __awaiter(this, void 0, void 0, function () {
2286
- var auth;
2357
+ var auth, user;
2287
2358
  return __generator(this, function (_a) {
2288
2359
  switch (_a.label) {
2289
2360
  case 0: return [4 /*yield*/, this.firebaseAuth.signInAnonymously()];
2290
2361
  case 1:
2291
2362
  auth = _a.sent();
2292
- return [2 /*return*/, auth.user];
2363
+ user = auth.user;
2364
+ user.id = auth.user.uid;
2365
+ return [2 /*return*/, user];
2293
2366
  }
2294
2367
  });
2295
2368
  });
@@ -2297,6 +2370,39 @@
2297
2370
  return AuthenticationFirebaseAuthService;
2298
2371
  }());
2299
2372
 
2373
+ var RegisterFirebaseAuthService = /** @class */ (function () {
2374
+ function RegisterFirebaseAuthService(firebaseAuth) {
2375
+ this.firebaseAuth = firebaseAuth;
2376
+ }
2377
+ RegisterFirebaseAuthService.prototype.register = function (params) {
2378
+ return __awaiter(this, void 0, void 0, function () {
2379
+ var auth, user, error_1;
2380
+ return __generator(this, function (_a) {
2381
+ switch (_a.label) {
2382
+ case 0:
2383
+ _a.trys.push([0, 2, , 3]);
2384
+ return [4 /*yield*/, this.firebaseAuth.createUserWithEmailAndPassword(params.email, params.password)];
2385
+ case 1:
2386
+ auth = _a.sent();
2387
+ user = auth.user;
2388
+ user.sendEmailVerification();
2389
+ user.id = auth.user.uid;
2390
+ return [2 /*return*/, user];
2391
+ case 2:
2392
+ error_1 = _a.sent();
2393
+ if (error_1.code === 'auth/email-already-in-use')
2394
+ throw new UserAlreadyRegisteredError('Email already registered');
2395
+ if (error_1.code === 'auth/weak-password')
2396
+ throw new WeakPasswordError();
2397
+ throw error_1;
2398
+ case 3: return [2 /*return*/];
2399
+ }
2400
+ });
2401
+ });
2402
+ };
2403
+ return RegisterFirebaseAuthService;
2404
+ }());
2405
+
2300
2406
  /**
2301
2407
  * Generated bundle index. Do not edit.
2302
2408
  */
@@ -2364,6 +2470,8 @@
2364
2470
  exports.Product = Product;
2365
2471
  exports.ProductFirestoreRepository = ProductFirestoreRepository;
2366
2472
  exports.ProductVariantFirestoreRepository = ProductVariantFirestoreRepository;
2473
+ exports.Register = Register;
2474
+ exports.RegisterFirebaseAuthService = RegisterFirebaseAuthService;
2367
2475
  exports.RequiredArgumentError = RequiredArgumentError;
2368
2476
  exports.ShippingMethod = ShippingMethod;
2369
2477
  exports.ShopMenu = ShopMenu;
@@ -2381,11 +2489,13 @@
2381
2489
  exports.User = User;
2382
2490
  exports.UserAddress = UserAddress;
2383
2491
  exports.UserAddressFirestoreRepository = UserAddressFirestoreRepository;
2492
+ exports.UserAlreadyRegisteredError = UserAlreadyRegisteredError;
2384
2493
  exports.UserBeautyProfileFirestoreRepository = UserBeautyProfileFirestoreRepository;
2385
2494
  exports.UserFirestoreRepository = UserFirestoreRepository;
2386
2495
  exports.UserPaymentMethod = UserPaymentMethod;
2387
2496
  exports.UserPaymentMethodFirestoreRepository = UserPaymentMethodFirestoreRepository;
2388
2497
  exports.Variant = Variant;
2498
+ exports.WeakPasswordError = WeakPasswordError;
2389
2499
  exports.withCreateFirestore = withCreateFirestore;
2390
2500
  exports.withCrudFirestore = withCrudFirestore;
2391
2501
  exports.withDeleteFirestore = withDeleteFirestore;