@infrab4a/connect 3.11.0-beta.0 → 3.11.1-beta1
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.
- package/bundles/infrab4a-connect.umd.js +290 -233
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/users/models/subscription/index.d.ts +2 -1
- package/domain/users/models/subscription/subscription-materialization.d.ts +30 -0
- package/domain/users/models/subscription/subscription.d.ts +2 -1
- package/domain/users/repositories/index.d.ts +6 -5
- package/domain/users/repositories/subscription-materialization.repository.d.ts +4 -0
- package/esm2015/domain/users/models/subscription/index.js +3 -2
- package/esm2015/domain/users/models/subscription/subscription-materialization.js +42 -0
- package/esm2015/domain/users/models/subscription/subscription.js +2 -2
- package/esm2015/domain/users/repositories/index.js +7 -6
- package/esm2015/domain/users/repositories/subscription-materialization.repository.js +2 -0
- package/esm2015/infra/firebase/firestore/repositories/users/index.js +2 -1
- package/esm2015/infra/firebase/firestore/repositories/users/subscription-materialization-firestore.repository.js +12 -0
- package/fesm2015/infrab4a-connect.js +178 -135
- package/fesm2015/infrab4a-connect.js.map +1 -1
- package/infra/firebase/firestore/repositories/users/index.d.ts +1 -0
- package/infra/firebase/firestore/repositories/users/subscription-materialization-firestore.repository.d.ts +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BaseModel, GenericIdentifier } from '../../../generic';
|
|
2
|
+
import { Address } from '../../../location';
|
|
3
|
+
import { Coupon, SubscriptionPlan } from '../../../shopping';
|
|
4
|
+
import { User } from '../user';
|
|
5
|
+
import { Edition } from './edition';
|
|
6
|
+
import { Status } from './enums';
|
|
7
|
+
import { SubscriptionPayment } from './payment';
|
|
8
|
+
export declare class SubscriptionMaterialization extends BaseModel<SubscriptionMaterialization> {
|
|
9
|
+
id: string;
|
|
10
|
+
nextPayment: Date;
|
|
11
|
+
recurrence: boolean;
|
|
12
|
+
recovered?: boolean;
|
|
13
|
+
status: Status;
|
|
14
|
+
cardToken: string;
|
|
15
|
+
subtotalPrice?: number;
|
|
16
|
+
discount?: number;
|
|
17
|
+
totalPrice?: number;
|
|
18
|
+
createdAt: Date;
|
|
19
|
+
updatedAt: Date;
|
|
20
|
+
canceledAt?: Date;
|
|
21
|
+
subscriptionId: string;
|
|
22
|
+
user: User;
|
|
23
|
+
subscriptionPlan: SubscriptionPlan;
|
|
24
|
+
shippingAddress: Address;
|
|
25
|
+
billingAddress?: Address;
|
|
26
|
+
coupon?: Coupon;
|
|
27
|
+
editions: Edition[];
|
|
28
|
+
payment?: SubscriptionPayment;
|
|
29
|
+
static get identifiersFields(): GenericIdentifier[];
|
|
30
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Address } from '../../../location/models/address';
|
|
2
1
|
import { BaseModel, GenericIdentifier } from '../../../generic/model/base.model';
|
|
2
|
+
import { Address } from '../../../location/models/address';
|
|
3
3
|
import { Coupon } from '../../../shopping/models/coupons/coupon';
|
|
4
4
|
import { SubscriptionPlan } from '../../../shopping/models/subscription/plan';
|
|
5
5
|
import { User } from '../user';
|
|
@@ -17,6 +17,7 @@ export declare class Subscription extends BaseModel<Subscription> {
|
|
|
17
17
|
totalPrice?: number;
|
|
18
18
|
createdAt: Date;
|
|
19
19
|
updatedAt: Date;
|
|
20
|
+
canceledAt?: Date;
|
|
20
21
|
user: User;
|
|
21
22
|
subscriptionPlan: SubscriptionPlan;
|
|
22
23
|
shippingAddress: Address;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export * from './user.repository';
|
|
2
|
-
export * from './subscription.repository';
|
|
3
|
-
export * from './edition.repository';
|
|
4
1
|
export * from './beauty-profile.repository';
|
|
2
|
+
export * from './edition.repository';
|
|
3
|
+
export * from './lead.repository';
|
|
4
|
+
export * from './subscription-materialization.repository';
|
|
5
|
+
export * from './subscription-payment.repository';
|
|
6
|
+
export * from './subscription.repository';
|
|
5
7
|
export * from './user-address.repository';
|
|
6
8
|
export * from './user-payment-method.repository';
|
|
7
|
-
export * from './
|
|
8
|
-
export * from './lead.repository';
|
|
9
|
+
export * from './user.repository';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export * from './enums';
|
|
2
1
|
export * from './edition';
|
|
2
|
+
export * from './enums';
|
|
3
3
|
export * from './payment';
|
|
4
4
|
export * from './subscription';
|
|
5
|
-
|
|
5
|
+
export * from './subscription-materialization';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vdXNlcnMvbW9kZWxzL3N1YnNjcmlwdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsZ0NBQWdDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VkaXRpb24nXG5leHBvcnQgKiBmcm9tICcuL2VudW1zJ1xuZXhwb3J0ICogZnJvbSAnLi9wYXltZW50J1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24nXG5leHBvcnQgKiBmcm9tICcuL3N1YnNjcmlwdGlvbi1tYXRlcmlhbGl6YXRpb24nXG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Type } from 'class-transformer';
|
|
3
|
+
import { BaseModel } from '../../../generic';
|
|
4
|
+
import { Address } from '../../../location';
|
|
5
|
+
import { Coupon, SubscriptionPlan } from '../../../shopping';
|
|
6
|
+
import { User } from '../user';
|
|
7
|
+
import { Edition } from './edition';
|
|
8
|
+
import { SubscriptionPayment } from './payment';
|
|
9
|
+
export class SubscriptionMaterialization extends BaseModel {
|
|
10
|
+
static get identifiersFields() {
|
|
11
|
+
return ['id'];
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
__decorate([
|
|
15
|
+
Type(() => User),
|
|
16
|
+
__metadata("design:type", User)
|
|
17
|
+
], SubscriptionMaterialization.prototype, "user", void 0);
|
|
18
|
+
__decorate([
|
|
19
|
+
Type(() => SubscriptionPlan),
|
|
20
|
+
__metadata("design:type", SubscriptionPlan)
|
|
21
|
+
], SubscriptionMaterialization.prototype, "subscriptionPlan", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
Type(() => Address),
|
|
24
|
+
__metadata("design:type", Address)
|
|
25
|
+
], SubscriptionMaterialization.prototype, "shippingAddress", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
Type(() => Address),
|
|
28
|
+
__metadata("design:type", Address)
|
|
29
|
+
], SubscriptionMaterialization.prototype, "billingAddress", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
Type(() => Coupon),
|
|
32
|
+
__metadata("design:type", Coupon)
|
|
33
|
+
], SubscriptionMaterialization.prototype, "coupon", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
Type(() => Edition),
|
|
36
|
+
__metadata("design:type", Array)
|
|
37
|
+
], SubscriptionMaterialization.prototype, "editions", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
Type(() => SubscriptionPayment),
|
|
40
|
+
__metadata("design:type", SubscriptionPayment)
|
|
41
|
+
], SubscriptionMaterialization.prototype, "payment", void 0);
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLW1hdGVyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi91c2Vycy9tb2RlbHMvc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1tYXRlcmlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGtCQUFrQixDQUFBO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUM5QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRW5DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUUvQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsU0FBc0M7SUE4QnJGLE1BQU0sS0FBSyxpQkFBaUI7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2YsQ0FBQztDQUNGO0FBakJDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs4QkFDWCxJQUFJO3lEQUFBO0FBRVY7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7OEJBQ1gsZ0JBQWdCO3FFQUFBO0FBRWxDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzs4QkFDSCxPQUFPO29FQUFBO0FBRXhCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzs4QkFDSCxPQUFPO21FQUFBO0FBRXhCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzs4QkFDVixNQUFNOzJEQUFBO0FBRWY7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDOzs2REFDRDtBQUVuQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs4QkFDdEIsbUJBQW1COzREQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuaW1wb3J0IHsgQmFzZU1vZGVsLCBHZW5lcmljSWRlbnRpZmllciB9IGZyb20gJy4uLy4uLy4uL2dlbmVyaWMnXG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vLi4vLi4vbG9jYXRpb24nXG5pbXBvcnQgeyBDb3Vwb24sIFN1YnNjcmlwdGlvblBsYW4gfSBmcm9tICcuLi8uLi8uLi9zaG9wcGluZydcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJ1xuaW1wb3J0IHsgRWRpdGlvbiB9IGZyb20gJy4vZWRpdGlvbidcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vZW51bXMnXG5pbXBvcnQgeyBTdWJzY3JpcHRpb25QYXltZW50IH0gZnJvbSAnLi9wYXltZW50J1xuXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uTWF0ZXJpYWxpemF0aW9uIGV4dGVuZHMgQmFzZU1vZGVsPFN1YnNjcmlwdGlvbk1hdGVyaWFsaXphdGlvbj4ge1xuICBpZDogc3RyaW5nXG4gIG5leHRQYXltZW50OiBEYXRlXG4gIHJlY3VycmVuY2U6IGJvb2xlYW5cbiAgcmVjb3ZlcmVkPzogYm9vbGVhblxuICBzdGF0dXM6IFN0YXR1c1xuICBjYXJkVG9rZW46IHN0cmluZ1xuICBzdWJ0b3RhbFByaWNlPzogbnVtYmVyXG4gIGRpc2NvdW50PzogbnVtYmVyXG4gIHRvdGFsUHJpY2U/OiBudW1iZXJcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdDogRGF0ZVxuICBjYW5jZWxlZEF0PzogRGF0ZVxuICBzdWJzY3JpcHRpb25JZDogc3RyaW5nXG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlclxuICBAVHlwZSgoKSA9PiBTdWJzY3JpcHRpb25QbGFuKVxuICBzdWJzY3JpcHRpb25QbGFuOiBTdWJzY3JpcHRpb25QbGFuXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXG4gIHNoaXBwaW5nQWRkcmVzczogQWRkcmVzc1xuICBAVHlwZSgoKSA9PiBBZGRyZXNzKVxuICBiaWxsaW5nQWRkcmVzcz86IEFkZHJlc3NcbiAgQFR5cGUoKCkgPT4gQ291cG9uKVxuICBjb3Vwb24/OiBDb3Vwb25cbiAgQFR5cGUoKCkgPT4gRWRpdGlvbilcbiAgZWRpdGlvbnM6IEVkaXRpb25bXVxuICBAVHlwZSgoKSA9PiBTdWJzY3JpcHRpb25QYXltZW50KVxuICBwYXltZW50PzogU3Vic2NyaXB0aW9uUGF5bWVudFxuXG4gIHN0YXRpYyBnZXQgaWRlbnRpZmllcnNGaWVsZHMoKTogR2VuZXJpY0lkZW50aWZpZXJbXSB7XG4gICAgcmV0dXJuIFsnaWQnXVxuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { Type } from 'class-transformer';
|
|
3
|
-
import { Address } from '../../../location/models/address';
|
|
4
3
|
import { BaseModel } from '../../../generic/model/base.model';
|
|
4
|
+
import { Address } from '../../../location/models/address';
|
|
5
5
|
import { Coupon } from '../../../shopping/models/coupons/coupon';
|
|
6
6
|
import { SubscriptionPlan } from '../../../shopping/models/subscription/plan';
|
|
7
7
|
import { User } from '../user';
|
|
@@ -40,4 +40,4 @@ __decorate([
|
|
|
40
40
|
Type(() => SubscriptionPayment),
|
|
41
41
|
__metadata("design:type", Array)
|
|
42
42
|
], Subscription.prototype, "payment", void 0);
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvZG9tYWluL3VzZXJzL21vZGVscy9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFeEMsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQzdFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVuQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFL0MsTUFBTSxPQUFPLFlBQWEsU0FBUSxTQUF1QjtJQTRCdkQsTUFBTSxLQUFLLGlCQUFpQjtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0NBQ0Y7QUFqQkM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzhCQUNYLElBQUk7MENBQUE7QUFFVjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs4QkFDWCxnQkFBZ0I7c0RBQUE7QUFFbEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDOzhCQUNILE9BQU87cURBQUE7QUFFeEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDOzhCQUNILE9BQU87b0RBQUE7QUFFeEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzhCQUNWLE1BQU07NENBQUE7QUFFZjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7OzhDQUNEO0FBRW5CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzs2Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcblxuaW1wb3J0IHsgQmFzZU1vZGVsLCBHZW5lcmljSWRlbnRpZmllciB9IGZyb20gJy4uLy4uLy4uL2dlbmVyaWMvbW9kZWwvYmFzZS5tb2RlbCdcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi8uLi8uLi9sb2NhdGlvbi9tb2RlbHMvYWRkcmVzcydcbmltcG9ydCB7IENvdXBvbiB9IGZyb20gJy4uLy4uLy4uL3Nob3BwaW5nL21vZGVscy9jb3Vwb25zL2NvdXBvbidcbmltcG9ydCB7IFN1YnNjcmlwdGlvblBsYW4gfSBmcm9tICcuLi8uLi8uLi9zaG9wcGluZy9tb2RlbHMvc3Vic2NyaXB0aW9uL3BsYW4nXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlcidcblxuaW1wb3J0IHsgRWRpdGlvbiB9IGZyb20gJy4vZWRpdGlvbidcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vZW51bXMvc3RhdHVzLmVudW0nXG5pbXBvcnQgeyBTdWJzY3JpcHRpb25QYXltZW50IH0gZnJvbSAnLi9wYXltZW50J1xuXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uIGV4dGVuZHMgQmFzZU1vZGVsPFN1YnNjcmlwdGlvbj4ge1xuICBpZDogc3RyaW5nXG4gIG5leHRQYXltZW50OiBEYXRlXG4gIHJlY3VycmVuY2U6IGJvb2xlYW5cbiAgc3RhdHVzOiBTdGF0dXNcbiAgY2FyZFRva2VuOiBzdHJpbmdcbiAgc3VidG90YWxQcmljZT86IG51bWJlclxuICBkaXNjb3VudD86IG51bWJlclxuICB0b3RhbFByaWNlPzogbnVtYmVyXG4gIGNyZWF0ZWRBdDogRGF0ZVxuICB1cGRhdGVkQXQ6IERhdGVcbiAgY2FuY2VsZWRBdD86IERhdGVcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyXG4gIEBUeXBlKCgpID0+IFN1YnNjcmlwdGlvblBsYW4pXG4gIHN1YnNjcmlwdGlvblBsYW46IFN1YnNjcmlwdGlvblBsYW5cbiAgQFR5cGUoKCkgPT4gQWRkcmVzcylcbiAgc2hpcHBpbmdBZGRyZXNzOiBBZGRyZXNzXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXG4gIGJpbGxpbmdBZGRyZXNzPzogQWRkcmVzc1xuICBAVHlwZSgoKSA9PiBDb3Vwb24pXG4gIGNvdXBvbj86IENvdXBvblxuICBAVHlwZSgoKSA9PiBFZGl0aW9uKVxuICBlZGl0aW9uczogRWRpdGlvbltdXG4gIEBUeXBlKCgpID0+IFN1YnNjcmlwdGlvblBheW1lbnQpXG4gIHBheW1lbnQ/OiBTdWJzY3JpcHRpb25QYXltZW50W11cblxuICBzdGF0aWMgZ2V0IGlkZW50aWZpZXJzRmllbGRzKCk6IEdlbmVyaWNJZGVudGlmaWVyW10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export * from './user.repository';
|
|
2
|
-
export * from './subscription.repository';
|
|
3
|
-
export * from './edition.repository';
|
|
4
1
|
export * from './beauty-profile.repository';
|
|
2
|
+
export * from './edition.repository';
|
|
3
|
+
export * from './lead.repository';
|
|
4
|
+
export * from './subscription-materialization.repository';
|
|
5
|
+
export * from './subscription-payment.repository';
|
|
6
|
+
export * from './subscription.repository';
|
|
5
7
|
export * from './user-address.repository';
|
|
6
8
|
export * from './user-payment-method.repository';
|
|
7
|
-
export * from './
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vdXNlcnMvcmVwb3NpdG9yaWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyxtQkFBbUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdXNlci5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24ucmVwb3NpdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vZWRpdGlvbi5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9iZWF1dHktcHJvZmlsZS5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWFkZHJlc3MucmVwb3NpdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1wYXltZW50LW1ldGhvZC5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24tcGF5bWVudC5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9sZWFkLnJlcG9zaXRvcnknXG4iXX0=
|
|
9
|
+
export * from './user.repository';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vdXNlcnMvcmVwb3NpdG9yaWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYyxrQ0FBa0MsQ0FBQTtBQUNoRCxjQUFjLG1CQUFtQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iZWF1dHktcHJvZmlsZS5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0aW9uLnJlcG9zaXRvcnknXG5leHBvcnQgKiBmcm9tICcuL2xlYWQucmVwb3NpdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9uLW1hdGVyaWFsaXphdGlvbi5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24tcGF5bWVudC5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24ucmVwb3NpdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1hZGRyZXNzLnJlcG9zaXRvcnknXG5leHBvcnQgKiBmcm9tICcuL3VzZXItcGF5bWVudC1tZXRob2QucmVwb3NpdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vdXNlci5yZXBvc2l0b3J5J1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLW1hdGVyaWFsaXphdGlvbi5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvZG9tYWluL3VzZXJzL3JlcG9zaXRvcmllcy9zdWJzY3JpcHRpb24tbWF0ZXJpYWxpemF0aW9uLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENydWRSZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vZ2VuZXJpYy9yZXBvc2l0b3J5L2NydWQucmVwb3NpdG9yeSdcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk1hdGVyaWFsaXphdGlvbiB9IGZyb20gJy4uL21vZGVscydcblxuZXhwb3J0IGludGVyZmFjZSBTdWJzY3JpcHRpb25NYXRlcmlhbGl6YXRpb25SZXBvc2l0b3J5IGV4dGVuZHMgQ3J1ZFJlcG9zaXRvcnk8U3Vic2NyaXB0aW9uTWF0ZXJpYWxpemF0aW9uPiB7fVxuIl19
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export * from './lead-firestore.repository';
|
|
2
2
|
export * from './subscription-edition-firestore.repository';
|
|
3
3
|
export * from './subscription-firestore.repository';
|
|
4
|
+
export * from './subscription-materialization-firestore.repository';
|
|
4
5
|
export * from './subscription-payment-firestore.repository';
|
|
5
6
|
export * from './user-address-firestore.repository';
|
|
6
7
|
export * from './user-beauty-profile-firestore.repository';
|
|
7
8
|
export * from './user-firestore.repository';
|
|
8
9
|
export * from './user-payment-method-firestore.repository';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvcmVwb3NpdG9yaWVzL3VzZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsNENBQTRDLENBQUE7QUFDMUQsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLDRDQUE0QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sZWFkLWZpcmVzdG9yZS5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24tZWRpdGlvbi1maXJlc3RvcmUucmVwb3NpdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9uLWZpcmVzdG9yZS5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24tbWF0ZXJpYWxpemF0aW9uLWZpcmVzdG9yZS5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24tcGF5bWVudC1maXJlc3RvcmUucmVwb3NpdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1hZGRyZXNzLWZpcmVzdG9yZS5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWJlYXV0eS1wcm9maWxlLWZpcmVzdG9yZS5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWZpcmVzdG9yZS5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLXBheW1lbnQtbWV0aG9kLWZpcmVzdG9yZS5yZXBvc2l0b3J5J1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Base } from '../../../../../utils';
|
|
2
|
+
import { SubscriptionMaterialization } from '../../../../../domain';
|
|
3
|
+
import { withCrudFirestore, withFirestore, withHelpers } from '../../mixins';
|
|
4
|
+
export class SubscriptionMaterializationFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
|
|
5
|
+
constructor(firestore) {
|
|
6
|
+
super();
|
|
7
|
+
this.firestore = firestore;
|
|
8
|
+
this.collectionName = 'subscriptionMaterialization';
|
|
9
|
+
this.model = SubscriptionMaterialization;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLW1hdGVyaWFsaXphdGlvbi1maXJlc3RvcmUucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9yZXBvc2l0b3JpZXMvdXNlcnMvc3Vic2NyaXB0aW9uLW1hdGVyaWFsaXphdGlvbi1maXJlc3RvcmUucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFM0MsT0FBTyxFQUFFLDJCQUEyQixFQUF5QyxNQUFNLHVCQUF1QixDQUFBO0FBQzFHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTVFLE1BQU0sT0FBTyw4Q0FDWCxTQUFRLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQThCLElBQUksQ0FBQyxDQUFDLENBQUM7SUFHeEYsWUFBcUIsU0FBNEI7UUFDL0MsS0FBSyxFQUFFLENBQUE7UUFEWSxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUUvQyxJQUFJLENBQUMsY0FBYyxHQUFHLDZCQUE2QixDQUFBO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsMkJBQTJCLENBQUE7SUFDMUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlyZWJhc2VGaXJlc3RvcmUgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuXG5pbXBvcnQgeyBCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMnXG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbk1hdGVyaWFsaXphdGlvbiwgU3Vic2NyaXB0aW9uTWF0ZXJpYWxpemF0aW9uUmVwb3NpdG9yeSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IHdpdGhDcnVkRmlyZXN0b3JlLCB3aXRoRmlyZXN0b3JlLCB3aXRoSGVscGVycyB9IGZyb20gJy4uLy4uL21peGlucydcblxuZXhwb3J0IGNsYXNzIFN1YnNjcmlwdGlvbk1hdGVyaWFsaXphdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnlcbiAgZXh0ZW5kcyB3aXRoQ3J1ZEZpcmVzdG9yZSh3aXRoSGVscGVycyh3aXRoRmlyZXN0b3JlPFN1YnNjcmlwdGlvbk1hdGVyaWFsaXphdGlvbj4oQmFzZSkpKVxuICBpbXBsZW1lbnRzIFN1YnNjcmlwdGlvbk1hdGVyaWFsaXphdGlvblJlcG9zaXRvcnlcbntcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZmlyZXN0b3JlOiBGaXJlYmFzZUZpcmVzdG9yZSkge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLmNvbGxlY3Rpb25OYW1lID0gJ3N1YnNjcmlwdGlvbk1hdGVyaWFsaXphdGlvbidcbiAgICB0aGlzLm1vZGVsID0gU3Vic2NyaXB0aW9uTWF0ZXJpYWxpemF0aW9uXG4gIH1cbn1cbiJdfQ==
|
|
@@ -253,6 +253,12 @@ var UserType;
|
|
|
253
253
|
UserType["Influencer"] = "Influencer";
|
|
254
254
|
})(UserType || (UserType = {}));
|
|
255
255
|
|
|
256
|
+
class Edition extends BaseModel {
|
|
257
|
+
static get identifiersFields() {
|
|
258
|
+
return ['id', 'subscriptionId'];
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
256
262
|
var BillingStatus;
|
|
257
263
|
(function (BillingStatus) {
|
|
258
264
|
BillingStatus["PAYED"] = "PAGO";
|
|
@@ -277,12 +283,6 @@ var Status;
|
|
|
277
283
|
Status["CANCELLED"] = "Cancelado";
|
|
278
284
|
})(Status || (Status = {}));
|
|
279
285
|
|
|
280
|
-
class Edition extends BaseModel {
|
|
281
|
-
static get identifiersFields() {
|
|
282
|
-
return ['id', 'subscriptionId'];
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
|
|
286
286
|
class Payment extends BaseModel {
|
|
287
287
|
static get identifiersFields() {
|
|
288
288
|
return ['id'];
|
|
@@ -622,134 +622,6 @@ __decorate([
|
|
|
622
622
|
__metadata("design:type", Array)
|
|
623
623
|
], Subscription.prototype, "payment", void 0);
|
|
624
624
|
|
|
625
|
-
class UserAddress extends Address {
|
|
626
|
-
static get identifiersFields() {
|
|
627
|
-
return ['id', 'userId'];
|
|
628
|
-
}
|
|
629
|
-
}
|
|
630
|
-
|
|
631
|
-
class UserPaymentMethod extends BaseModel {
|
|
632
|
-
static get identifiersFields() {
|
|
633
|
-
return ['id', 'userId'];
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
class Lead extends BaseModel {
|
|
638
|
-
static get identifiersFields() {
|
|
639
|
-
return ['id'];
|
|
640
|
-
}
|
|
641
|
-
}
|
|
642
|
-
|
|
643
|
-
class UnauthorizedError extends CustomError {
|
|
644
|
-
constructor(message) {
|
|
645
|
-
super(message);
|
|
646
|
-
this.message = message;
|
|
647
|
-
}
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
var SignInMethods;
|
|
651
|
-
(function (SignInMethods) {
|
|
652
|
-
SignInMethods["EMAIL_PASSWORD"] = "email_password";
|
|
653
|
-
SignInMethods["GOOGLE"] = "google";
|
|
654
|
-
})(SignInMethods || (SignInMethods = {}));
|
|
655
|
-
class Authentication {
|
|
656
|
-
constructor(authService, userRepository) {
|
|
657
|
-
this.authService = authService;
|
|
658
|
-
this.userRepository = userRepository;
|
|
659
|
-
}
|
|
660
|
-
signIn({ email, password }, signInMethod) {
|
|
661
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
662
|
-
const method = this.getServiceByMethod(signInMethod);
|
|
663
|
-
const userAuth = yield this.authService[method]({ email, password });
|
|
664
|
-
const user = this.userRepository.get(userAuth);
|
|
665
|
-
if (!isNil(user))
|
|
666
|
-
return user;
|
|
667
|
-
if (/^.+@b4a.com.br$/.test(userAuth.email))
|
|
668
|
-
return this.createsUserByCredential(userAuth);
|
|
669
|
-
throw new UnauthorizedError('Invalid credentials');
|
|
670
|
-
});
|
|
671
|
-
}
|
|
672
|
-
getServiceByMethod(signInMethod) {
|
|
673
|
-
return signInMethod === SignInMethods.EMAIL_PASSWORD ? 'signInWithEmailAndPassword' : 'signInWithGoogle';
|
|
674
|
-
}
|
|
675
|
-
createsUserByCredential(user) {
|
|
676
|
-
var _a;
|
|
677
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
678
|
-
const [firstName, lastName] = (_a = user.displayName) === null || _a === void 0 ? void 0 : _a.split(/\s/);
|
|
679
|
-
const person = User.toInstance(Object.assign(Object.assign({}, user), { cpf: '', birthday: new Date(), firstName,
|
|
680
|
-
lastName, acceptsNewsletter: false, area: Area.Transactional, officePosition: OfficePosition.Intern, type: UserType.Collaborator }));
|
|
681
|
-
return this.userRepository.create(person);
|
|
682
|
-
});
|
|
683
|
-
}
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
-
class UserAlreadyRegisteredError extends CustomError {
|
|
687
|
-
constructor(message) {
|
|
688
|
-
super(message);
|
|
689
|
-
this.message = message;
|
|
690
|
-
}
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
class WeakPasswordError extends CustomError {
|
|
694
|
-
constructor(message = 'Weak password') {
|
|
695
|
-
super(message);
|
|
696
|
-
this.message = message;
|
|
697
|
-
}
|
|
698
|
-
}
|
|
699
|
-
|
|
700
|
-
class Register {
|
|
701
|
-
constructor(registerService, userRepository) {
|
|
702
|
-
this.registerService = registerService;
|
|
703
|
-
this.userRepository = userRepository;
|
|
704
|
-
}
|
|
705
|
-
register(params) {
|
|
706
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
707
|
-
const email = params.email.toLocaleLowerCase();
|
|
708
|
-
const displayName = `${params.firstName} ${params.lastName}`;
|
|
709
|
-
if (yield this.userRepository.checkIfExistsByField('cpf', params.cpf))
|
|
710
|
-
throw new UserAlreadyRegisteredError(`Usuário com CPF ${params.cpf} já registrado.`);
|
|
711
|
-
if (yield this.userRepository.checkIfExistsByField('email', params.email))
|
|
712
|
-
throw new UserAlreadyRegisteredError(`Usuário com e-mail ${params.email} já registrado.`);
|
|
713
|
-
const auth = yield this.registerService.register({
|
|
714
|
-
birthday: params.birthday,
|
|
715
|
-
email,
|
|
716
|
-
firstName: params.firstName,
|
|
717
|
-
lastName: params.lastName,
|
|
718
|
-
cpf: params.cpf,
|
|
719
|
-
displayName,
|
|
720
|
-
phone: params.phone,
|
|
721
|
-
password: params.password,
|
|
722
|
-
});
|
|
723
|
-
delete params.password;
|
|
724
|
-
const user = yield this.userRepository.create(Object.assign(Object.assign({}, params), { id: auth.id, email,
|
|
725
|
-
displayName, type: UserType.B2C, dateCreated: new Date(), dateModified: new Date() }));
|
|
726
|
-
return user;
|
|
727
|
-
});
|
|
728
|
-
}
|
|
729
|
-
}
|
|
730
|
-
|
|
731
|
-
class SignOut {
|
|
732
|
-
constructor(authService) {
|
|
733
|
-
this.authService = authService;
|
|
734
|
-
}
|
|
735
|
-
signOut() {
|
|
736
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
737
|
-
yield this.authService.signOut();
|
|
738
|
-
});
|
|
739
|
-
}
|
|
740
|
-
}
|
|
741
|
-
|
|
742
|
-
class RecoveryPassword {
|
|
743
|
-
constructor(authService) {
|
|
744
|
-
this.authService = authService;
|
|
745
|
-
}
|
|
746
|
-
sendEmail(email) {
|
|
747
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
748
|
-
yield this.authService.sendPasswordResetEmail(email);
|
|
749
|
-
});
|
|
750
|
-
}
|
|
751
|
-
}
|
|
752
|
-
|
|
753
625
|
class Filter extends BaseModel {
|
|
754
626
|
identifierFields() {
|
|
755
627
|
return ['id'];
|
|
@@ -969,6 +841,168 @@ __decorate([
|
|
|
969
841
|
__metadata("design:type", Coupon)
|
|
970
842
|
], CheckoutSubscription.prototype, "coupon", void 0);
|
|
971
843
|
|
|
844
|
+
class SubscriptionMaterialization extends BaseModel {
|
|
845
|
+
static get identifiersFields() {
|
|
846
|
+
return ['id'];
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
__decorate([
|
|
850
|
+
Type(() => User),
|
|
851
|
+
__metadata("design:type", User)
|
|
852
|
+
], SubscriptionMaterialization.prototype, "user", void 0);
|
|
853
|
+
__decorate([
|
|
854
|
+
Type(() => SubscriptionPlan),
|
|
855
|
+
__metadata("design:type", SubscriptionPlan)
|
|
856
|
+
], SubscriptionMaterialization.prototype, "subscriptionPlan", void 0);
|
|
857
|
+
__decorate([
|
|
858
|
+
Type(() => Address),
|
|
859
|
+
__metadata("design:type", Address)
|
|
860
|
+
], SubscriptionMaterialization.prototype, "shippingAddress", void 0);
|
|
861
|
+
__decorate([
|
|
862
|
+
Type(() => Address),
|
|
863
|
+
__metadata("design:type", Address)
|
|
864
|
+
], SubscriptionMaterialization.prototype, "billingAddress", void 0);
|
|
865
|
+
__decorate([
|
|
866
|
+
Type(() => Coupon),
|
|
867
|
+
__metadata("design:type", Coupon)
|
|
868
|
+
], SubscriptionMaterialization.prototype, "coupon", void 0);
|
|
869
|
+
__decorate([
|
|
870
|
+
Type(() => Edition),
|
|
871
|
+
__metadata("design:type", Array)
|
|
872
|
+
], SubscriptionMaterialization.prototype, "editions", void 0);
|
|
873
|
+
__decorate([
|
|
874
|
+
Type(() => SubscriptionPayment),
|
|
875
|
+
__metadata("design:type", SubscriptionPayment)
|
|
876
|
+
], SubscriptionMaterialization.prototype, "payment", void 0);
|
|
877
|
+
|
|
878
|
+
class UserAddress extends Address {
|
|
879
|
+
static get identifiersFields() {
|
|
880
|
+
return ['id', 'userId'];
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
|
|
884
|
+
class UserPaymentMethod extends BaseModel {
|
|
885
|
+
static get identifiersFields() {
|
|
886
|
+
return ['id', 'userId'];
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
class Lead extends BaseModel {
|
|
891
|
+
static get identifiersFields() {
|
|
892
|
+
return ['id'];
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
class UnauthorizedError extends CustomError {
|
|
897
|
+
constructor(message) {
|
|
898
|
+
super(message);
|
|
899
|
+
this.message = message;
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
var SignInMethods;
|
|
904
|
+
(function (SignInMethods) {
|
|
905
|
+
SignInMethods["EMAIL_PASSWORD"] = "email_password";
|
|
906
|
+
SignInMethods["GOOGLE"] = "google";
|
|
907
|
+
})(SignInMethods || (SignInMethods = {}));
|
|
908
|
+
class Authentication {
|
|
909
|
+
constructor(authService, userRepository) {
|
|
910
|
+
this.authService = authService;
|
|
911
|
+
this.userRepository = userRepository;
|
|
912
|
+
}
|
|
913
|
+
signIn({ email, password }, signInMethod) {
|
|
914
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
915
|
+
const method = this.getServiceByMethod(signInMethod);
|
|
916
|
+
const userAuth = yield this.authService[method]({ email, password });
|
|
917
|
+
const user = this.userRepository.get(userAuth);
|
|
918
|
+
if (!isNil(user))
|
|
919
|
+
return user;
|
|
920
|
+
if (/^.+@b4a.com.br$/.test(userAuth.email))
|
|
921
|
+
return this.createsUserByCredential(userAuth);
|
|
922
|
+
throw new UnauthorizedError('Invalid credentials');
|
|
923
|
+
});
|
|
924
|
+
}
|
|
925
|
+
getServiceByMethod(signInMethod) {
|
|
926
|
+
return signInMethod === SignInMethods.EMAIL_PASSWORD ? 'signInWithEmailAndPassword' : 'signInWithGoogle';
|
|
927
|
+
}
|
|
928
|
+
createsUserByCredential(user) {
|
|
929
|
+
var _a;
|
|
930
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
931
|
+
const [firstName, lastName] = (_a = user.displayName) === null || _a === void 0 ? void 0 : _a.split(/\s/);
|
|
932
|
+
const person = User.toInstance(Object.assign(Object.assign({}, user), { cpf: '', birthday: new Date(), firstName,
|
|
933
|
+
lastName, acceptsNewsletter: false, area: Area.Transactional, officePosition: OfficePosition.Intern, type: UserType.Collaborator }));
|
|
934
|
+
return this.userRepository.create(person);
|
|
935
|
+
});
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
class UserAlreadyRegisteredError extends CustomError {
|
|
940
|
+
constructor(message) {
|
|
941
|
+
super(message);
|
|
942
|
+
this.message = message;
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
class WeakPasswordError extends CustomError {
|
|
947
|
+
constructor(message = 'Weak password') {
|
|
948
|
+
super(message);
|
|
949
|
+
this.message = message;
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
class Register {
|
|
954
|
+
constructor(registerService, userRepository) {
|
|
955
|
+
this.registerService = registerService;
|
|
956
|
+
this.userRepository = userRepository;
|
|
957
|
+
}
|
|
958
|
+
register(params) {
|
|
959
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
960
|
+
const email = params.email.toLocaleLowerCase();
|
|
961
|
+
const displayName = `${params.firstName} ${params.lastName}`;
|
|
962
|
+
if (yield this.userRepository.checkIfExistsByField('cpf', params.cpf))
|
|
963
|
+
throw new UserAlreadyRegisteredError(`Usuário com CPF ${params.cpf} já registrado.`);
|
|
964
|
+
if (yield this.userRepository.checkIfExistsByField('email', params.email))
|
|
965
|
+
throw new UserAlreadyRegisteredError(`Usuário com e-mail ${params.email} já registrado.`);
|
|
966
|
+
const auth = yield this.registerService.register({
|
|
967
|
+
birthday: params.birthday,
|
|
968
|
+
email,
|
|
969
|
+
firstName: params.firstName,
|
|
970
|
+
lastName: params.lastName,
|
|
971
|
+
cpf: params.cpf,
|
|
972
|
+
displayName,
|
|
973
|
+
phone: params.phone,
|
|
974
|
+
password: params.password,
|
|
975
|
+
});
|
|
976
|
+
delete params.password;
|
|
977
|
+
const user = yield this.userRepository.create(Object.assign(Object.assign({}, params), { id: auth.id, email,
|
|
978
|
+
displayName, type: UserType.B2C, dateCreated: new Date(), dateModified: new Date() }));
|
|
979
|
+
return user;
|
|
980
|
+
});
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
class SignOut {
|
|
985
|
+
constructor(authService) {
|
|
986
|
+
this.authService = authService;
|
|
987
|
+
}
|
|
988
|
+
signOut() {
|
|
989
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
990
|
+
yield this.authService.signOut();
|
|
991
|
+
});
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
class RecoveryPassword {
|
|
996
|
+
constructor(authService) {
|
|
997
|
+
this.authService = authService;
|
|
998
|
+
}
|
|
999
|
+
sendEmail(email) {
|
|
1000
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1001
|
+
yield this.authService.sendPasswordResetEmail(email);
|
|
1002
|
+
});
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
|
|
972
1006
|
var FilterType;
|
|
973
1007
|
(function (FilterType) {
|
|
974
1008
|
FilterType["ACCESSORY_IMPORTANCE"] = "accessoryImportance";
|
|
@@ -1605,6 +1639,15 @@ class SubscriptionFirestoreRepository extends withCrudFirestore(withHelpers(with
|
|
|
1605
1639
|
}
|
|
1606
1640
|
}
|
|
1607
1641
|
|
|
1642
|
+
class SubscriptionMaterializationFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
|
|
1643
|
+
constructor(firestore) {
|
|
1644
|
+
super();
|
|
1645
|
+
this.firestore = firestore;
|
|
1646
|
+
this.collectionName = 'subscriptionMaterialization';
|
|
1647
|
+
this.model = SubscriptionMaterialization;
|
|
1648
|
+
}
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1608
1651
|
class SubscriptionPaymentFirestoreRepository extends withSubCollection(withCrudFirestore(withHelpers(withFirestore(Base))), Subscription) {
|
|
1609
1652
|
constructor(firestore, parentRepository) {
|
|
1610
1653
|
super();
|
|
@@ -3743,5 +3786,5 @@ class VariantHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
|
|
|
3743
3786
|
* Generated bundle index. Do not edit.
|
|
3744
3787
|
*/
|
|
3745
3788
|
|
|
3746
|
-
export { AccessoryImportances, Address, Area, Authentication, AuthenticationFirebaseAuthService, AxiosAdapter, Base, BaseModel, BeardProblems, BeardSizes, BeautyProductImportances, BeautyProfile, BeautyQuestionsHelper, BillingStatus, BodyProblems, BodyShapes, BodyTattoos, Buy2Win, Buy2WinFirestoreRepository, CampaignDashboard, CampaignDashboardFirestoreRepository, CampaignHashtag, CampaignHashtagFirestoreRepository, Category, CategoryFilter, CategoryFilterHasuraGraphQLRepository, CategoryFirestoreRepository, CategoryHasuraGraphQL, CategoryHasuraGraphQLRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, DuplicatedResultsError, Edition, EditionStatus, Exclusivities, FaceSkinOilinesses, FaceSkinProblems, FaceSkinTones, FamilyIncomes, Filter, FilterHasuraGraphQLRepository, FilterOption, FilterOptionHasuraGraphQLRepository, FilterType, FragranceImportances, GenderDestination, HairColors, HairProblems, HairStrands, HairTypes, Home, HomeFirestoreRepository, InvalidArgumentError, KitProduct, KitProductHasuraGraphQL, Lead, LeadFirestoreRepository, LegacyOrderFirestoreRepository, LineItem, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Product, ProductFirestoreRepository, ProductHasuraGraphQL, ProductHasuraGraphQLRepository, ProductSpents, ProductVariantFirestoreRepository, ProductsIndex, QuestionsFilters, RecoveryPassword, Register, RegisterFirebaseAuthService, RequiredArgumentError, ShippingMethod, ShopMenu, ShopMenuFirestoreRepository, ShopSettings, ShopSettingsFirestoreRepository, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, UnauthorizedError, UpdateOptionActions, User, UserAddress, UserAddressFirestoreRepository, UserAlreadyRegisteredError, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethod, UserPaymentMethodFirestoreRepository, UserType, Variant, VariantHasuraGraphQL, VariantHasuraGraphQLRepository, WeakPasswordError, Where, isUUID, parseDateTime, withCreateFirestore, withCreateHasuraGraphQL, withCrudFirestore, withCrudHasuraGraphQL, withDeleteFirestore, withDeleteHasuraGraphQL, withFindFirestore, withFindHasuraGraphQL, withFirestore, withGetFirestore, withGetHasuraGraphQL, withHasuraGraphQL, withHelpers, withSubCollection, withUpdateFirestore, withUpdateHasuraGraphQL };
|
|
3789
|
+
export { AccessoryImportances, Address, Area, Authentication, AuthenticationFirebaseAuthService, AxiosAdapter, Base, BaseModel, BeardProblems, BeardSizes, BeautyProductImportances, BeautyProfile, BeautyQuestionsHelper, BillingStatus, BodyProblems, BodyShapes, BodyTattoos, Buy2Win, Buy2WinFirestoreRepository, CampaignDashboard, CampaignDashboardFirestoreRepository, CampaignHashtag, CampaignHashtagFirestoreRepository, Category, CategoryFilter, CategoryFilterHasuraGraphQLRepository, CategoryFirestoreRepository, CategoryHasuraGraphQL, CategoryHasuraGraphQLRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, DuplicatedResultsError, Edition, EditionStatus, Exclusivities, FaceSkinOilinesses, FaceSkinProblems, FaceSkinTones, FamilyIncomes, Filter, FilterHasuraGraphQLRepository, FilterOption, FilterOptionHasuraGraphQLRepository, FilterType, FragranceImportances, GenderDestination, HairColors, HairProblems, HairStrands, HairTypes, Home, HomeFirestoreRepository, InvalidArgumentError, KitProduct, KitProductHasuraGraphQL, Lead, LeadFirestoreRepository, LegacyOrderFirestoreRepository, LineItem, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Product, ProductFirestoreRepository, ProductHasuraGraphQL, ProductHasuraGraphQLRepository, ProductSpents, ProductVariantFirestoreRepository, ProductsIndex, QuestionsFilters, RecoveryPassword, Register, RegisterFirebaseAuthService, RequiredArgumentError, ShippingMethod, ShopMenu, ShopMenuFirestoreRepository, ShopSettings, ShopSettingsFirestoreRepository, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionMaterialization, SubscriptionMaterializationFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, UnauthorizedError, UpdateOptionActions, User, UserAddress, UserAddressFirestoreRepository, UserAlreadyRegisteredError, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethod, UserPaymentMethodFirestoreRepository, UserType, Variant, VariantHasuraGraphQL, VariantHasuraGraphQLRepository, WeakPasswordError, Where, isUUID, parseDateTime, withCreateFirestore, withCreateHasuraGraphQL, withCrudFirestore, withCrudHasuraGraphQL, withDeleteFirestore, withDeleteHasuraGraphQL, withFindFirestore, withFindHasuraGraphQL, withFirestore, withGetFirestore, withGetHasuraGraphQL, withHasuraGraphQL, withHelpers, withSubCollection, withUpdateFirestore, withUpdateHasuraGraphQL };
|
|
3747
3790
|
//# sourceMappingURL=infrab4a-connect.js.map
|