@infrab4a/connect 0.17.0-beta.2 → 0.17.0-beta.3

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 (99) hide show
  1. package/bundles/infrab4a-connect.umd.js +267 -198
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/enums/shops.enum.d.ts +2 -1
  4. package/domain/shopping/models/coupons/coupon.d.ts +5 -4
  5. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +2 -4
  6. package/domain/shopping/models/coupons/index.d.ts +0 -1
  7. package/domain/shopping/models/enums/checkout-types.enum.d.ts +2 -1
  8. package/domain/users/models/subscription/edition.d.ts +2 -0
  9. package/domain/users/models/user-payment-method.d.ts +1 -0
  10. package/domain/users/models/user.d.ts +1 -0
  11. package/esm2015/domain/catalog/models/enums/shops.enum.js +2 -1
  12. package/esm2015/domain/shopping/models/coupons/coupon.js +17 -2
  13. package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +1 -1
  14. package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +7 -5
  15. package/esm2015/domain/shopping/models/coupons/index.js +1 -2
  16. package/esm2015/domain/shopping/models/enums/checkout-types.enum.js +2 -1
  17. package/esm2015/domain/users/models/subscription/edition.js +1 -1
  18. package/esm2015/domain/users/models/user-payment-method.js +1 -1
  19. package/esm2015/domain/users/models/user.js +1 -1
  20. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +6 -6
  21. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +4 -5
  22. package/esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js +1 -1
  23. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +5 -7
  24. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +4 -3
  25. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +25 -31
  26. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +4 -4
  27. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +5 -4
  28. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +1 -1
  29. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +1 -1
  30. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +10 -9
  31. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +37 -19
  32. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +1 -1
  33. package/esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +1 -1
  34. package/esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +1 -1
  35. package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +4 -4
  36. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +1 -1
  37. package/esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +1 -1
  38. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +1 -1
  39. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +1 -1
  40. package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +1 -1
  41. package/esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +1 -1
  42. package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +1 -1
  43. package/esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +1 -1
  44. package/esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +1 -1
  45. package/esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +1 -1
  46. package/esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +1 -1
  47. package/esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +1 -1
  48. package/esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +1 -1
  49. package/esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +1 -1
  50. package/esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +1 -1
  51. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +12 -4
  52. package/esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +1 -1
  53. package/esm2015/infra/firebase/firestore/repositories/users/user-search-firestore.repository.js +1 -1
  54. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +1 -1
  55. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +1 -1
  56. package/esm2015/utils/index.js +2 -3
  57. package/fesm2015/infrab4a-connect.js +125 -105
  58. package/fesm2015/infrab4a-connect.js.map +1 -1
  59. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +2 -2
  60. package/infra/firebase/auth/register-firebase-auth.service.d.ts +5 -4
  61. package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +1 -2
  62. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +4 -4
  63. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +8 -8
  64. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +3 -3
  65. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +7 -7
  66. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +2 -2
  67. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +3 -3
  68. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +1 -1
  69. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +2 -2
  70. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +3 -3
  71. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +16 -18
  72. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +16 -16
  73. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +18 -18
  74. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +16 -16
  75. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +14 -14
  76. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +16 -16
  77. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +16 -16
  78. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +16 -16
  79. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +16 -16
  80. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +14 -14
  81. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +3 -3
  82. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +16 -16
  83. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +16 -16
  84. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +16 -16
  85. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +16 -16
  86. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +18 -18
  87. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +16 -16
  88. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +18 -18
  89. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +18 -18
  90. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +18 -18
  91. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +14 -14
  92. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +18 -18
  93. package/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +16 -16
  94. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +1 -1
  95. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +2 -2
  96. package/package.json +2 -2
  97. package/utils/index.d.ts +1 -1
  98. package/domain/shopping/models/coupons/financial-coupon.d.ts +0 -9
  99. package/esm2015/domain/shopping/models/coupons/financial-coupon.js +0 -28
@@ -1,12 +1,12 @@
1
- import { Firestore } from 'firebase/firestore';
1
+ import { FirebaseFirestore } from '@firebase/firestore-types';
2
2
  import { BeautyProfile, BeautyProfileRepository, User } from '../../../../../domain';
3
3
  import { UserFirestoreRepository } from './user-firestore.repository';
4
4
  declare const UserBeautyProfileFirestoreRepository_base: {
5
5
  new (...args: any[]): {
6
6
  readonly parentRepository: import("@infrab4a/connect").FirestoreRepository<User>;
7
7
  parentIdField: import("../../../../../domain").NonFunctionPropertyNames<BeautyProfile>;
8
- collection(path?: string): import("@firebase/firestore").CollectionReference<BeautyProfile>;
9
- readonly firestore?: Firestore;
8
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<BeautyProfile>;
9
+ readonly firestore?: FirebaseFirestore;
10
10
  collectionName: string;
11
11
  model: import("../../../../../domain").BaseModelBuilder<BeautyProfile>;
12
12
  };
@@ -15,46 +15,46 @@ declare const UserBeautyProfileFirestoreRepository_base: {
15
15
  update(data: import("../../../../../domain").RepositoryUpdateParams<BeautyProfile>): Promise<BeautyProfile>;
16
16
  buildCollectionPathForUpdate(identifiers: import("../../../../../domain").RepositoryUpdateParams<BeautyProfile>): string;
17
17
  paramsToPlain(params: import("../../../../../domain").RepositoryUpdateParams<BeautyProfile>): Partial<BeautyProfile>;
18
- readonly firestore?: Firestore;
18
+ readonly firestore?: FirebaseFirestore;
19
19
  collectionName: string;
20
20
  model: import("../../../../../domain").BaseModelBuilder<BeautyProfile>;
21
- collection(path?: string): import("@firebase/firestore").CollectionReference<BeautyProfile>;
22
- toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore").QuerySnapshot<T> | import("@firebase/firestore").QueryDocumentSnapshot<T>[]): T[];
21
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<BeautyProfile>;
22
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
23
23
  isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
24
24
  get(identifiers: import("../../../../../domain").NonFunctionProperties<BeautyProfile>): Promise<BeautyProfile>;
25
25
  buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<BeautyProfile>): string;
26
- find(filters?: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>[], limitList?: import("../../../../../domain").RepositoryLimitOptions<BeautyProfile>, orderByList?: import("../../../../../domain").RepositoryOrderByList<BeautyProfile>): Promise<import("../../../../../domain").RepositoryFindResult<BeautyProfile>>;
26
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>[], limits?: import("../../../../../domain").RepositoryLimitOptions<BeautyProfile>, orderBy?: import("../../../../../domain").RepositoryOrderByList<BeautyProfile>): Promise<import("../../../../../domain").RepositoryFindResult<BeautyProfile>>;
27
27
  buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>[]): string;
28
- makeFirestoreWhere: (filter: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>) => import("@firebase/firestore").QueryConstraint[];
29
- buildWhereSentence: (fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<BeautyProfile, import("../../../../../domain").NonFunctionPropertyNames<BeautyProfile>>) => import("@firebase/firestore").QueryConstraint[];
30
- defineLimits(filters: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>[], limits: import("../../../../../domain").RepositoryLimitOptions<BeautyProfile>): Promise<import("@firebase/firestore").QueryConstraint[]>;
28
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<BeautyProfile> | import("@firebase/firestore-types").Query<BeautyProfile>, filter: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>) => import("@firebase/firestore-types").Query<BeautyProfile>;
29
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<BeautyProfile> | import("@firebase/firestore-types").Query<BeautyProfile>, fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<BeautyProfile, import("../../../../../domain").NonFunctionPropertyNames<BeautyProfile>>) => import("@firebase/firestore-types").Query<BeautyProfile>;
30
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<BeautyProfile> | import("@firebase/firestore-types").Query<BeautyProfile>, filters: import("../../../../../domain").RepositoryFindFielters<BeautyProfile>[], limits: import("../../../../../domain").RepositoryLimitOptions<BeautyProfile>): Promise<import("@firebase/firestore-types").Query<BeautyProfile>>;
31
31
  calculateCount(data: BeautyProfile[], limits: import("../../../../../domain").RepositoryLimitOptions<BeautyProfile>): number;
32
32
  delete(identifiers: import("../../../../../domain").NonFunctionProperties<BeautyProfile>): Promise<void>;
33
33
  buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<BeautyProfile>): string;
34
34
  create(data: Partial<BeautyProfile>): Promise<BeautyProfile>;
35
- save(data: BeautyProfile): Promise<import("@firebase/firestore").DocumentReference<BeautyProfile>>;
35
+ save(data: BeautyProfile): Promise<import("@firebase/firestore-types").DocumentReference<BeautyProfile>>;
36
36
  buildCollectionPathForAdd(identifiers: Partial<BeautyProfile>): string;
37
37
  };
38
38
  } & {
39
39
  new (...args: any[]): {
40
- toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore").QuerySnapshot<T_2> | import("@firebase/firestore").QueryDocumentSnapshot<T_2>[]): T_2[];
40
+ toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
41
41
  isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
42
42
  };
43
43
  } & {
44
44
  new (...args: any[]): {
45
- readonly firestore?: Firestore;
45
+ readonly firestore?: FirebaseFirestore;
46
46
  collectionName: string;
47
47
  model: import("../../../../../domain").BaseModelBuilder<BeautyProfile>;
48
- collection(path?: string): import("@firebase/firestore").CollectionReference<BeautyProfile>;
48
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<BeautyProfile>;
49
49
  buildModelInstance(): {
50
- toFirestore: (data: BeautyProfile) => import("@firebase/firestore").DocumentData;
51
- fromFirestore: (snap: import("@firebase/firestore").QueryDocumentSnapshot<BeautyProfile>) => BeautyProfile;
50
+ toFirestore: (data: BeautyProfile) => import("@firebase/firestore-types").DocumentData;
51
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<BeautyProfile>) => BeautyProfile;
52
52
  };
53
53
  };
54
54
  };
55
55
  export declare class UserBeautyProfileFirestoreRepository extends UserBeautyProfileFirestoreRepository_base implements BeautyProfileRepository {
56
- readonly firestore: Firestore;
56
+ readonly firestore: FirebaseFirestore;
57
57
  readonly parentRepository: UserFirestoreRepository;
58
- constructor(firestore: Firestore, parentRepository: UserFirestoreRepository);
58
+ constructor(firestore: FirebaseFirestore, parentRepository: UserFirestoreRepository);
59
59
  }
60
60
  export {};
@@ -1,4 +1,4 @@
1
- import { DocumentData, Firestore, QueryDocumentSnapshot } from 'firebase/firestore';
1
+ import { DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types';
2
2
  import { User, UserRepository } from '../../../../../domain';
3
3
  import { UserSearchFirestoreRepository } from './user-search-firestore.repository';
4
4
  declare const UserFirestoreRepository_base: {
@@ -6,37 +6,37 @@ declare const UserFirestoreRepository_base: {
6
6
  update(data: import("../../../../../domain").RepositoryUpdateParams<User>): Promise<User>;
7
7
  buildCollectionPathForUpdate(identifiers: import("../../../../../domain").RepositoryUpdateParams<User>): string;
8
8
  paramsToPlain(params: import("../../../../../domain").RepositoryUpdateParams<User>): Partial<User>;
9
- readonly firestore?: Firestore;
9
+ readonly firestore?: FirebaseFirestore;
10
10
  collectionName: string;
11
11
  model: import("../../../../../domain").BaseModelBuilder<User>;
12
- collection(path?: string): import("@firebase/firestore").CollectionReference<User>;
13
- toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore").QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[];
12
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<User>;
13
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[];
14
14
  isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
15
15
  get(identifiers: import("../../../../../domain").NonFunctionProperties<User>): Promise<User>;
16
16
  buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<User>): string;
17
- find(filters?: import("../../../../../domain").RepositoryFindFielters<User>[], limitList?: import("../../../../../domain").RepositoryLimitOptions<User>, orderByList?: import("../../../../../domain").RepositoryOrderByList<User>): Promise<import("../../../../../domain").RepositoryFindResult<User>>;
17
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<User>[], limits?: import("../../../../../domain").RepositoryLimitOptions<User>, orderBy?: import("../../../../../domain").RepositoryOrderByList<User>): Promise<import("../../../../../domain").RepositoryFindResult<User>>;
18
18
  buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<User>[]): string;
19
- makeFirestoreWhere: (filter: import("../../../../../domain").RepositoryFindFielters<User>) => import("@firebase/firestore").QueryConstraint[];
20
- buildWhereSentence: (fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<User, import("../../../../../domain").NonFunctionPropertyNames<User>>) => import("@firebase/firestore").QueryConstraint[];
21
- defineLimits(filters: import("../../../../../domain").RepositoryFindFielters<User>[], limits: import("../../../../../domain").RepositoryLimitOptions<User>): Promise<import("@firebase/firestore").QueryConstraint[]>;
19
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<User> | import("@firebase/firestore-types").Query<User>, filter: import("../../../../../domain").RepositoryFindFielters<User>) => import("@firebase/firestore-types").Query<User>;
20
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<User> | import("@firebase/firestore-types").Query<User>, fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<User, import("../../../../../domain").NonFunctionPropertyNames<User>>) => import("@firebase/firestore-types").Query<User>;
21
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<User> | import("@firebase/firestore-types").Query<User>, filters: import("../../../../../domain").RepositoryFindFielters<User>[], limits: import("../../../../../domain").RepositoryLimitOptions<User>): Promise<import("@firebase/firestore-types").Query<User>>;
22
22
  calculateCount(data: User[], limits: import("../../../../../domain").RepositoryLimitOptions<User>): number;
23
23
  delete(identifiers: import("../../../../../domain").NonFunctionProperties<User>): Promise<void>;
24
24
  buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<User>): string;
25
25
  create(data: Partial<User>): Promise<User>;
26
- save(data: User): Promise<import("@firebase/firestore").DocumentReference<User>>;
26
+ save(data: User): Promise<import("@firebase/firestore-types").DocumentReference<User>>;
27
27
  buildCollectionPathForAdd(identifiers: Partial<User>): string;
28
28
  };
29
29
  } & {
30
30
  new (...args: any[]): {
31
- toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore").QuerySnapshot<T_2> | QueryDocumentSnapshot<T_2>[]): T_2[];
31
+ toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | QueryDocumentSnapshot<T_2>[]): T_2[];
32
32
  isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
33
33
  };
34
34
  } & {
35
35
  new (...args: any[]): {
36
- readonly firestore?: Firestore;
36
+ readonly firestore?: FirebaseFirestore;
37
37
  collectionName: string;
38
38
  model: import("../../../../../domain").BaseModelBuilder<User>;
39
- collection(path?: string): import("@firebase/firestore").CollectionReference<User>;
39
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<User>;
40
40
  buildModelInstance(): {
41
41
  toFirestore: (data: User) => DocumentData;
42
42
  fromFirestore: (snap: QueryDocumentSnapshot<User>) => User;
@@ -44,9 +44,9 @@ declare const UserFirestoreRepository_base: {
44
44
  };
45
45
  };
46
46
  export declare class UserFirestoreRepository extends UserFirestoreRepository_base implements UserRepository {
47
- readonly firestore: Firestore;
47
+ readonly firestore: FirebaseFirestore;
48
48
  private readonly userSearchFirestoreRepository;
49
- constructor(firestore: Firestore, userSearchFirestoreRepository?: UserSearchFirestoreRepository);
49
+ constructor(firestore: FirebaseFirestore, userSearchFirestoreRepository?: UserSearchFirestoreRepository);
50
50
  get(identifiers: Partial<User>): Promise<User>;
51
51
  checkIfExistsByField(field: string, value: string): Promise<boolean>;
52
52
  buildModelInstance(): {
@@ -1,12 +1,12 @@
1
- import { Firestore } from 'firebase/firestore';
1
+ import { FirebaseFirestore } from '@firebase/firestore-types';
2
2
  import { User, UserPaymentMethod, UserPaymentMethodRepository } from '../../../../../domain';
3
3
  import { UserFirestoreRepository } from './user-firestore.repository';
4
4
  declare const UserPaymentMethodFirestoreRepository_base: {
5
5
  new (...args: any[]): {
6
6
  readonly parentRepository: import("@infrab4a/connect").FirestoreRepository<User>;
7
7
  parentIdField: import("../../../../../domain").NonFunctionPropertyNames<UserPaymentMethod>;
8
- collection(path?: string): import("@firebase/firestore").CollectionReference<UserPaymentMethod>;
9
- readonly firestore?: Firestore;
8
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<UserPaymentMethod>;
9
+ readonly firestore?: FirebaseFirestore;
10
10
  collectionName: string;
11
11
  model: import("../../../../../domain").BaseModelBuilder<UserPaymentMethod>;
12
12
  };
@@ -15,46 +15,46 @@ declare const UserPaymentMethodFirestoreRepository_base: {
15
15
  update(data: import("../../../../../domain").RepositoryUpdateParams<UserPaymentMethod>): Promise<UserPaymentMethod>;
16
16
  buildCollectionPathForUpdate(identifiers: import("../../../../../domain").RepositoryUpdateParams<UserPaymentMethod>): string;
17
17
  paramsToPlain(params: import("../../../../../domain").RepositoryUpdateParams<UserPaymentMethod>): Partial<UserPaymentMethod>;
18
- readonly firestore?: Firestore;
18
+ readonly firestore?: FirebaseFirestore;
19
19
  collectionName: string;
20
20
  model: import("../../../../../domain").BaseModelBuilder<UserPaymentMethod>;
21
- collection(path?: string): import("@firebase/firestore").CollectionReference<UserPaymentMethod>;
22
- toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore").QuerySnapshot<T> | import("@firebase/firestore").QueryDocumentSnapshot<T>[]): T[];
21
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<UserPaymentMethod>;
22
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
23
23
  isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
24
24
  get(identifiers: import("../../../../../domain").NonFunctionProperties<UserPaymentMethod>): Promise<UserPaymentMethod>;
25
25
  buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<UserPaymentMethod>): string;
26
- find(filters?: import("../../../../../domain").RepositoryFindFielters<UserPaymentMethod>[], limitList?: import("../../../../../domain").RepositoryLimitOptions<UserPaymentMethod>, orderByList?: import("../../../../../domain").RepositoryOrderByList<UserPaymentMethod>): Promise<import("../../../../../domain").RepositoryFindResult<UserPaymentMethod>>;
26
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<UserPaymentMethod>[], limits?: import("../../../../../domain").RepositoryLimitOptions<UserPaymentMethod>, orderBy?: import("../../../../../domain").RepositoryOrderByList<UserPaymentMethod>): Promise<import("../../../../../domain").RepositoryFindResult<UserPaymentMethod>>;
27
27
  buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<UserPaymentMethod>[]): string;
28
- makeFirestoreWhere: (filter: import("../../../../../domain").RepositoryFindFielters<UserPaymentMethod>) => import("@firebase/firestore").QueryConstraint[];
29
- buildWhereSentence: (fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<UserPaymentMethod, import("../../../../../domain").NonFunctionPropertyNames<UserPaymentMethod>>) => import("@firebase/firestore").QueryConstraint[];
30
- defineLimits(filters: import("../../../../../domain").RepositoryFindFielters<UserPaymentMethod>[], limits: import("../../../../../domain").RepositoryLimitOptions<UserPaymentMethod>): Promise<import("@firebase/firestore").QueryConstraint[]>;
28
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<UserPaymentMethod> | import("@firebase/firestore-types").Query<UserPaymentMethod>, filter: import("../../../../../domain").RepositoryFindFielters<UserPaymentMethod>) => import("@firebase/firestore-types").Query<UserPaymentMethod>;
29
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<UserPaymentMethod> | import("@firebase/firestore-types").Query<UserPaymentMethod>, fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<UserPaymentMethod, import("../../../../../domain").NonFunctionPropertyNames<UserPaymentMethod>>) => import("@firebase/firestore-types").Query<UserPaymentMethod>;
30
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<UserPaymentMethod> | import("@firebase/firestore-types").Query<UserPaymentMethod>, filters: import("../../../../../domain").RepositoryFindFielters<UserPaymentMethod>[], limits: import("../../../../../domain").RepositoryLimitOptions<UserPaymentMethod>): Promise<import("@firebase/firestore-types").Query<UserPaymentMethod>>;
31
31
  calculateCount(data: UserPaymentMethod[], limits: import("../../../../../domain").RepositoryLimitOptions<UserPaymentMethod>): number;
32
32
  delete(identifiers: import("../../../../../domain").NonFunctionProperties<UserPaymentMethod>): Promise<void>;
33
33
  buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<UserPaymentMethod>): string;
34
34
  create(data: Partial<UserPaymentMethod>): Promise<UserPaymentMethod>;
35
- save(data: UserPaymentMethod): Promise<import("@firebase/firestore").DocumentReference<UserPaymentMethod>>;
35
+ save(data: UserPaymentMethod): Promise<import("@firebase/firestore-types").DocumentReference<UserPaymentMethod>>;
36
36
  buildCollectionPathForAdd(identifiers: Partial<UserPaymentMethod>): string;
37
37
  };
38
38
  } & {
39
39
  new (...args: any[]): {
40
- toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore").QuerySnapshot<T_2> | import("@firebase/firestore").QueryDocumentSnapshot<T_2>[]): T_2[];
40
+ toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
41
41
  isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
42
42
  };
43
43
  } & {
44
44
  new (...args: any[]): {
45
- readonly firestore?: Firestore;
45
+ readonly firestore?: FirebaseFirestore;
46
46
  collectionName: string;
47
47
  model: import("../../../../../domain").BaseModelBuilder<UserPaymentMethod>;
48
- collection(path?: string): import("@firebase/firestore").CollectionReference<UserPaymentMethod>;
48
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<UserPaymentMethod>;
49
49
  buildModelInstance(): {
50
- toFirestore: (data: UserPaymentMethod) => import("@firebase/firestore").DocumentData;
51
- fromFirestore: (snap: import("@firebase/firestore").QueryDocumentSnapshot<UserPaymentMethod>) => UserPaymentMethod;
50
+ toFirestore: (data: UserPaymentMethod) => import("@firebase/firestore-types").DocumentData;
51
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<UserPaymentMethod>) => UserPaymentMethod;
52
52
  };
53
53
  };
54
54
  };
55
55
  export declare class UserPaymentMethodFirestoreRepository extends UserPaymentMethodFirestoreRepository_base implements UserPaymentMethodRepository {
56
- readonly firestore: Firestore;
56
+ readonly firestore: FirebaseFirestore;
57
57
  readonly parentRepository: UserFirestoreRepository;
58
- constructor(firestore: Firestore, parentRepository: UserFirestoreRepository);
58
+ constructor(firestore: FirebaseFirestore, parentRepository: UserFirestoreRepository);
59
59
  }
60
60
  export {};
@@ -1,4 +1,4 @@
1
- import { Firestore } from 'firebase/firestore';
1
+ import { FirebaseFirestore } from '@firebase/firestore-types';
2
2
  import { CrudRepository } from '../../../../../domain';
3
3
  import { UserSearch } from '../../models/user-search';
4
4
  declare const UserSearchFirestoreRepository_base: {
@@ -6,45 +6,45 @@ declare const UserSearchFirestoreRepository_base: {
6
6
  update(data: import("../../../../../domain").RepositoryUpdateParams<UserSearch>): Promise<UserSearch>;
7
7
  buildCollectionPathForUpdate(identifiers: import("../../../../../domain").RepositoryUpdateParams<UserSearch>): string;
8
8
  paramsToPlain(params: import("../../../../../domain").RepositoryUpdateParams<UserSearch>): Partial<UserSearch>;
9
- readonly firestore?: Firestore;
9
+ readonly firestore?: FirebaseFirestore;
10
10
  collectionName: string;
11
11
  model: import("../../../../../domain").BaseModelBuilder<UserSearch>;
12
- collection(path?: string): import("@firebase/firestore").CollectionReference<UserSearch>;
13
- toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore").QuerySnapshot<T> | import("@firebase/firestore").QueryDocumentSnapshot<T>[]): T[];
12
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<UserSearch>;
13
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
14
14
  isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
15
15
  get(identifiers: import("../../../../../domain").NonFunctionProperties<UserSearch>): Promise<UserSearch>;
16
16
  buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<UserSearch>): string;
17
- find(filters?: import("../../../../../domain").RepositoryFindFielters<UserSearch>[], limitList?: import("../../../../../domain").RepositoryLimitOptions<UserSearch>, orderByList?: import("../../../../../domain").RepositoryOrderByList<UserSearch>): Promise<import("../../../../../domain").RepositoryFindResult<UserSearch>>;
17
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<UserSearch>[], limits?: import("../../../../../domain").RepositoryLimitOptions<UserSearch>, orderBy?: import("../../../../../domain").RepositoryOrderByList<UserSearch>): Promise<import("../../../../../domain").RepositoryFindResult<UserSearch>>;
18
18
  buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<UserSearch>[]): string;
19
- makeFirestoreWhere: (filter: import("../../../../../domain").RepositoryFindFielters<UserSearch>) => import("@firebase/firestore").QueryConstraint[];
20
- buildWhereSentence: (fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<UserSearch, import("../../../../../domain").NonFunctionPropertyNames<UserSearch>>) => import("@firebase/firestore").QueryConstraint[];
21
- defineLimits(filters: import("../../../../../domain").RepositoryFindFielters<UserSearch>[], limits: import("../../../../../domain").RepositoryLimitOptions<UserSearch>): Promise<import("@firebase/firestore").QueryConstraint[]>;
19
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<UserSearch> | import("@firebase/firestore-types").Query<UserSearch>, filter: import("../../../../../domain").RepositoryFindFielters<UserSearch>) => import("@firebase/firestore-types").Query<UserSearch>;
20
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<UserSearch> | import("@firebase/firestore-types").Query<UserSearch>, fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<UserSearch, import("../../../../../domain").NonFunctionPropertyNames<UserSearch>>) => import("@firebase/firestore-types").Query<UserSearch>;
21
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<UserSearch> | import("@firebase/firestore-types").Query<UserSearch>, filters: import("../../../../../domain").RepositoryFindFielters<UserSearch>[], limits: import("../../../../../domain").RepositoryLimitOptions<UserSearch>): Promise<import("@firebase/firestore-types").Query<UserSearch>>;
22
22
  calculateCount(data: UserSearch[], limits: import("../../../../../domain").RepositoryLimitOptions<UserSearch>): number;
23
23
  delete(identifiers: import("../../../../../domain").NonFunctionProperties<UserSearch>): Promise<void>;
24
24
  buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<UserSearch>): string;
25
25
  create(data: Partial<UserSearch>): Promise<UserSearch>;
26
- save(data: UserSearch): Promise<import("@firebase/firestore").DocumentReference<UserSearch>>;
26
+ save(data: UserSearch): Promise<import("@firebase/firestore-types").DocumentReference<UserSearch>>;
27
27
  buildCollectionPathForAdd(identifiers: Partial<UserSearch>): string;
28
28
  };
29
29
  } & {
30
30
  new (...args: any[]): {
31
- toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore").QuerySnapshot<T_2> | import("@firebase/firestore").QueryDocumentSnapshot<T_2>[]): T_2[];
31
+ toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
32
32
  isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
33
33
  };
34
34
  } & {
35
35
  new (...args: any[]): {
36
- readonly firestore?: Firestore;
36
+ readonly firestore?: FirebaseFirestore;
37
37
  collectionName: string;
38
38
  model: import("../../../../../domain").BaseModelBuilder<UserSearch>;
39
- collection(path?: string): import("@firebase/firestore").CollectionReference<UserSearch>;
39
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<UserSearch>;
40
40
  buildModelInstance(): {
41
- toFirestore: (data: UserSearch) => import("@firebase/firestore").DocumentData;
42
- fromFirestore: (snap: import("@firebase/firestore").QueryDocumentSnapshot<UserSearch>) => UserSearch;
41
+ toFirestore: (data: UserSearch) => import("@firebase/firestore-types").DocumentData;
42
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<UserSearch>) => UserSearch;
43
43
  };
44
44
  };
45
45
  };
46
46
  export declare class UserSearchFirestoreRepository extends UserSearchFirestoreRepository_base implements CrudRepository<UserSearch> {
47
- readonly firestore: Firestore;
48
- constructor(firestore: Firestore);
47
+ readonly firestore: FirebaseFirestore;
48
+ constructor(firestore: FirebaseFirestore);
49
49
  }
50
50
  export {};
@@ -1,4 +1,4 @@
1
- import { QuerySnapshot, QueryDocumentSnapshot } from 'firebase/firestore';
1
+ import { QuerySnapshot, QueryDocumentSnapshot } from '@firebase/firestore-types';
2
2
  import { BaseModelWithIdentifier } from '../../../../domain';
3
3
  import { FirestoreRepository } from './firestore.repository.type';
4
4
  import { FirestoreSubRepository } from './firestore-sub.repository.type';
@@ -1,7 +1,7 @@
1
- import { CollectionReference, Firestore } from 'firebase/firestore';
1
+ import { CollectionReference, FirebaseFirestore } from '@firebase/firestore-types';
2
2
  import { BaseModelBuilder, BaseModelWithIdentifier } from '../../../../domain';
3
3
  export declare type FirestoreRepository<Model extends BaseModelWithIdentifier<Model>> = {
4
- readonly firestore?: Firestore;
4
+ readonly firestore?: FirebaseFirestore;
5
5
  collectionName: string;
6
6
  model: BaseModelBuilder<Model>;
7
7
  collection(path?: string): CollectionReference<Model>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect",
3
- "version": "0.17.0-beta.2",
3
+ "version": "0.17.0-beta.3",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -12,7 +12,7 @@
12
12
  "axios": "^0.27.2",
13
13
  "class-transformer": "^0.4.0",
14
14
  "date-fns": "^2.28.0",
15
- "firebase": "^9.9.0",
15
+ "firebase": "7.24.0",
16
16
  "lodash": "^4.17.21",
17
17
  "reflect-metadata": "^0.1.13",
18
18
  "ts-md5": "^1.2.9",
package/utils/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { add, Duration, sub } from 'date-fns';
2
+ import { chunk, get, isDate, isEmpty, isNil, isNumber, isObject, isString, pick, set } from 'lodash';
2
3
  export declare type DateDuration = Duration;
3
- declare const chunk: any, get: any, isDate: any, isEmpty: any, isNil: any, isNumber: any, isObject: any, isString: any, pick: any, set: any;
4
4
  export { add, chunk, get, isDate, isEmpty, isNil, isNumber, isObject, isString, pick, set, sub };
5
5
  export * from './mixins';
6
6
  export * from './types';
@@ -1,9 +0,0 @@
1
- import { Coupon } from './coupon';
2
- import { CouponTypes, CouponSubtypes } from './enums';
3
- export declare class FinancialCoupon extends Coupon {
4
- type: CouponTypes;
5
- subtype: CouponSubtypes;
6
- plan?: string;
7
- static isFinancialCoupon(coupon: Partial<FinancialCoupon>): coupon is FinancialCoupon;
8
- static createCoupon(userId: string): FinancialCoupon;
9
- }
@@ -1,28 +0,0 @@
1
- import { Md5 } from 'ts-md5';
2
- import { CheckoutTypes } from '../enums/checkout-types.enum';
3
- import { Coupon } from './coupon';
4
- import { CouponTypes, CouponSubtypes } from './enums';
5
- const COUPON_EXPIRATION = 60 * 60 * 24 * 30;
6
- export class FinancialCoupon extends Coupon {
7
- constructor() {
8
- super(...arguments);
9
- this.type = CouponTypes.FINANCIAL;
10
- }
11
- static isFinancialCoupon(coupon) {
12
- return coupon.type === CouponTypes.FINANCIAL && !!coupon.subtype;
13
- }
14
- static createCoupon(userId) {
15
- return this.toInstance({
16
- name: Md5.hashStr(`${userId}_${Date.now}`).toString(),
17
- nickname: `${Date.now()}`,
18
- type: CouponTypes.FINANCIAL,
19
- subtype: CouponSubtypes.PERCENTAGE,
20
- checkoutType: CheckoutTypes.ECOMMERCE,
21
- discount: 30,
22
- user: userId,
23
- createdAt: new Date(Date.now()),
24
- expiresIn: new Date(Date.now() + COUPON_EXPIRATION),
25
- });
26
- }
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jaWFsLWNvdXBvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi9zaG9wcGluZy9tb2RlbHMvY291cG9ucy9maW5hbmNpYWwtY291cG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRTVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFckQsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUE7QUFFM0MsTUFBTSxPQUFPLGVBQWdCLFNBQVEsTUFBTTtJQUEzQzs7UUFDRSxTQUFJLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQTtJQXFCOUIsQ0FBQztJQWpCQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBZ0M7UUFDdkQsT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUE7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBYztRQUNoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDckIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO1lBQ3JELFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN6QixJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7WUFDM0IsT0FBTyxFQUFFLGNBQWMsQ0FBQyxVQUFVO1lBQ2xDLFlBQVksRUFBRSxhQUFhLENBQUMsU0FBUztZQUNyQyxRQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMvQixTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLGlCQUFpQixDQUFDO1NBQ3BELENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1kNSB9IGZyb20gJ3RzLW1kNSdcblxuaW1wb3J0IHsgQ2hlY2tvdXRUeXBlcyB9IGZyb20gJy4uL2VudW1zL2NoZWNrb3V0LXR5cGVzLmVudW0nXG5cbmltcG9ydCB7IENvdXBvbiB9IGZyb20gJy4vY291cG9uJ1xuaW1wb3J0IHsgQ291cG9uVHlwZXMsIENvdXBvblN1YnR5cGVzIH0gZnJvbSAnLi9lbnVtcydcblxuY29uc3QgQ09VUE9OX0VYUElSQVRJT04gPSA2MCAqIDYwICogMjQgKiAzMFxuXG5leHBvcnQgY2xhc3MgRmluYW5jaWFsQ291cG9uIGV4dGVuZHMgQ291cG9uIHtcbiAgdHlwZSA9IENvdXBvblR5cGVzLkZJTkFOQ0lBTFxuICBzdWJ0eXBlOiBDb3Vwb25TdWJ0eXBlc1xuICBwbGFuPzogc3RyaW5nXG5cbiAgc3RhdGljIGlzRmluYW5jaWFsQ291cG9uKGNvdXBvbjogUGFydGlhbDxGaW5hbmNpYWxDb3Vwb24+KTogY291cG9uIGlzIEZpbmFuY2lhbENvdXBvbiB7XG4gICAgcmV0dXJuIGNvdXBvbi50eXBlID09PSBDb3Vwb25UeXBlcy5GSU5BTkNJQUwgJiYgISFjb3Vwb24uc3VidHlwZVxuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUNvdXBvbih1c2VySWQ6IHN0cmluZyk6IEZpbmFuY2lhbENvdXBvbiB7XG4gICAgcmV0dXJuIHRoaXMudG9JbnN0YW5jZSh7XG4gICAgICBuYW1lOiBNZDUuaGFzaFN0cihgJHt1c2VySWR9XyR7RGF0ZS5ub3d9YCkudG9TdHJpbmcoKSxcbiAgICAgIG5pY2tuYW1lOiBgJHtEYXRlLm5vdygpfWAsXG4gICAgICB0eXBlOiBDb3Vwb25UeXBlcy5GSU5BTkNJQUwsXG4gICAgICBzdWJ0eXBlOiBDb3Vwb25TdWJ0eXBlcy5QRVJDRU5UQUdFLFxuICAgICAgY2hlY2tvdXRUeXBlOiBDaGVja291dFR5cGVzLkVDT01NRVJDRSxcbiAgICAgIGRpc2NvdW50OiAzMCxcbiAgICAgIHVzZXI6IHVzZXJJZCxcbiAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoRGF0ZS5ub3coKSksXG4gICAgICBleHBpcmVzSW46IG5ldyBEYXRlKERhdGUubm93KCkgKyBDT1VQT05fRVhQSVJBVElPTiksXG4gICAgfSlcbiAgfVxufVxuIl19