@infrab4a/connect 0.0.4 → 0.1.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 (155) hide show
  1. package/bundles/infrab4a-connect.umd.js +469 -38
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/esm2015/lib/domain/index.js +3 -1
  4. package/esm2015/lib/domain/location/index.js +2 -0
  5. package/esm2015/lib/domain/location/models/address.js +4 -0
  6. package/esm2015/lib/domain/location/models/index.js +3 -0
  7. package/esm2015/lib/domain/location/models/types/index.js +4 -0
  8. package/esm2015/lib/domain/location/models/types/location-bound.type.js +2 -0
  9. package/esm2015/lib/domain/location/models/types/location-geometry.type.js +2 -0
  10. package/esm2015/lib/domain/location/models/types/location-lat-lng.type.js +2 -0
  11. package/esm2015/lib/domain/shopping/index.js +3 -0
  12. package/esm2015/lib/domain/shopping/models/checkout.js +7 -0
  13. package/esm2015/lib/domain/shopping/models/coupons/coupon.js +15 -0
  14. package/esm2015/lib/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -0
  15. package/esm2015/lib/domain/shopping/models/coupons/enums/coupon-types.enum.js +8 -0
  16. package/esm2015/lib/domain/shopping/models/coupons/enums/exclusivities.enum.js +7 -0
  17. package/esm2015/lib/domain/shopping/models/coupons/enums/index.js +4 -0
  18. package/esm2015/lib/domain/shopping/models/coupons/financial-coupon.js +28 -0
  19. package/esm2015/lib/domain/shopping/models/coupons/index.js +4 -0
  20. package/esm2015/lib/domain/shopping/models/enums/checkout-types.enum.js +6 -0
  21. package/esm2015/lib/domain/shopping/models/enums/index.js +3 -0
  22. package/esm2015/lib/domain/shopping/models/enums/order-status.enum.js +12 -0
  23. package/esm2015/lib/domain/shopping/models/index.js +10 -0
  24. package/esm2015/lib/domain/shopping/models/line-item.js +4 -0
  25. package/esm2015/lib/domain/shopping/models/order.js +4 -0
  26. package/esm2015/lib/domain/shopping/models/payment.js +129 -0
  27. package/esm2015/lib/domain/shopping/models/shipping-method.js +7 -0
  28. package/esm2015/lib/domain/shopping/models/subscription/checkout.js +7 -0
  29. package/esm2015/lib/domain/shopping/models/subscription/index.js +3 -0
  30. package/esm2015/lib/domain/shopping/models/subscription/plan.js +7 -0
  31. package/esm2015/lib/domain/shopping/models/types/index.js +8 -0
  32. package/esm2015/lib/domain/shopping/models/types/payment-address.type.js +2 -0
  33. package/esm2015/lib/domain/shopping/models/types/payment-billing.type.js +2 -0
  34. package/esm2015/lib/domain/shopping/models/types/payment-card.type.js +2 -0
  35. package/esm2015/lib/domain/shopping/models/types/payment-customer.type.js +2 -0
  36. package/esm2015/lib/domain/shopping/models/types/payment-document.type.js +2 -0
  37. package/esm2015/lib/domain/shopping/models/types/payment-item.type.js +2 -0
  38. package/esm2015/lib/domain/shopping/models/types/payment-shipping.type.js +2 -0
  39. package/esm2015/lib/domain/shopping/repositories/checkout.repository.js +2 -0
  40. package/esm2015/lib/domain/shopping/repositories/coupon.repository.js +2 -0
  41. package/esm2015/lib/domain/shopping/repositories/index.js +6 -0
  42. package/esm2015/lib/domain/shopping/repositories/order.repository.js +2 -0
  43. package/esm2015/lib/domain/shopping/repositories/payment.repository.js +2 -0
  44. package/esm2015/lib/domain/shopping/repositories/subscription/checkout.repository.js +2 -0
  45. package/esm2015/lib/domain/shopping/repositories/subscription/index.js +3 -0
  46. package/esm2015/lib/domain/shopping/repositories/subscription/plan.repository.js +2 -0
  47. package/esm2015/lib/domain/users/models/enums/index.js +1 -4
  48. package/esm2015/lib/domain/users/models/index.js +3 -3
  49. package/esm2015/lib/domain/users/models/subscription/edition.js +7 -0
  50. package/esm2015/lib/domain/users/models/subscription/enums/billing-status.enum.js +5 -0
  51. package/esm2015/lib/domain/users/models/subscription/enums/edition-status.enum.js +5 -0
  52. package/esm2015/lib/domain/users/models/subscription/enums/index.js +5 -0
  53. package/esm2015/lib/domain/users/models/subscription/enums/payment-type.enum.js +7 -0
  54. package/esm2015/lib/domain/users/models/subscription/enums/status.enum.js +5 -0
  55. package/esm2015/lib/domain/users/models/subscription/index.js +5 -0
  56. package/esm2015/lib/domain/users/models/subscription/payment.js +7 -0
  57. package/esm2015/lib/domain/users/models/subscription/subscription.js +7 -0
  58. package/esm2015/lib/domain/users/models/user-address.js +7 -0
  59. package/esm2015/lib/domain/users/repositories/edition.repository.js +1 -1
  60. package/esm2015/lib/domain/users/repositories/index.js +3 -1
  61. package/esm2015/lib/domain/users/repositories/subscription-payment.repository.js +2 -0
  62. package/esm2015/lib/domain/users/repositories/subscription.repository.js +1 -1
  63. package/esm2015/lib/domain/users/repositories/user-address.repository.js +2 -0
  64. package/esm2015/lib/infra/firebase/firestore/repositories/index.js +2 -1
  65. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +12 -0
  66. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +12 -0
  67. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +12 -0
  68. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/index.js +7 -0
  69. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +12 -0
  70. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +12 -0
  71. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +12 -0
  72. package/esm2015/lib/infra/firebase/firestore/repositories/users/index.js +3 -1
  73. package/esm2015/lib/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +14 -0
  74. package/esm2015/lib/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +14 -0
  75. package/fesm2015/infrab4a-connect.js +359 -29
  76. package/fesm2015/infrab4a-connect.js.map +1 -1
  77. package/lib/domain/index.d.ts +2 -0
  78. package/lib/domain/location/index.d.ts +1 -0
  79. package/lib/domain/location/models/address.d.ts +21 -0
  80. package/lib/domain/location/models/index.d.ts +2 -0
  81. package/lib/domain/location/models/types/index.d.ts +3 -0
  82. package/lib/domain/location/models/types/location-bound.type.d.ts +6 -0
  83. package/lib/domain/location/models/types/location-geometry.type.d.ts +7 -0
  84. package/lib/domain/location/models/types/location-lat-lng.type.d.ts +4 -0
  85. package/lib/domain/shopping/index.d.ts +2 -0
  86. package/lib/domain/shopping/models/checkout.d.ts +26 -0
  87. package/lib/domain/shopping/models/coupons/coupon.d.ts +24 -0
  88. package/lib/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -0
  89. package/lib/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +6 -0
  90. package/lib/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +5 -0
  91. package/lib/domain/shopping/models/coupons/enums/index.d.ts +3 -0
  92. package/lib/domain/shopping/models/coupons/financial-coupon.d.ts +8 -0
  93. package/lib/domain/shopping/models/coupons/index.d.ts +3 -0
  94. package/lib/domain/shopping/models/enums/checkout-types.enum.d.ts +4 -0
  95. package/lib/domain/shopping/models/enums/index.d.ts +2 -0
  96. package/lib/domain/shopping/models/enums/order-status.enum.d.ts +10 -0
  97. package/lib/domain/shopping/models/index.d.ts +9 -0
  98. package/lib/domain/shopping/models/line-item.d.ts +7 -0
  99. package/lib/domain/shopping/models/order.d.ts +7 -0
  100. package/lib/domain/shopping/models/payment.d.ts +69 -0
  101. package/lib/domain/shopping/models/shipping-method.d.ts +18 -0
  102. package/lib/domain/shopping/models/subscription/checkout.d.ts +23 -0
  103. package/lib/domain/shopping/models/subscription/index.d.ts +2 -0
  104. package/lib/domain/shopping/models/subscription/plan.d.ts +12 -0
  105. package/lib/domain/shopping/models/types/index.d.ts +7 -0
  106. package/lib/domain/shopping/models/types/payment-address.type.d.ts +12 -0
  107. package/lib/domain/shopping/models/types/payment-billing.type.d.ts +7 -0
  108. package/lib/domain/shopping/models/types/payment-card.type.d.ts +14 -0
  109. package/lib/domain/shopping/models/types/payment-customer.type.d.ts +18 -0
  110. package/lib/domain/shopping/models/types/payment-document.type.d.ts +6 -0
  111. package/lib/domain/shopping/models/types/payment-item.type.d.ts +11 -0
  112. package/lib/domain/shopping/models/types/payment-shipping.type.d.ts +10 -0
  113. package/lib/domain/shopping/repositories/checkout.repository.d.ts +4 -0
  114. package/lib/domain/shopping/repositories/coupon.repository.d.ts +4 -0
  115. package/lib/domain/shopping/repositories/index.d.ts +5 -0
  116. package/lib/domain/shopping/repositories/order.repository.d.ts +4 -0
  117. package/lib/domain/shopping/repositories/payment.repository.d.ts +4 -0
  118. package/lib/domain/shopping/repositories/subscription/checkout.repository.d.ts +4 -0
  119. package/lib/domain/shopping/repositories/subscription/index.d.ts +2 -0
  120. package/lib/domain/shopping/repositories/subscription/plan.repository.d.ts +4 -0
  121. package/lib/domain/users/models/enums/index.d.ts +0 -3
  122. package/lib/domain/users/models/index.d.ts +2 -2
  123. package/lib/domain/users/models/{edition.d.ts → subscription/edition.d.ts} +3 -3
  124. package/lib/domain/users/models/subscription/enums/index.d.ts +4 -0
  125. package/lib/domain/users/models/subscription/enums/payment-type.enum.d.ts +5 -0
  126. package/lib/domain/users/models/subscription/index.d.ts +4 -0
  127. package/lib/domain/users/models/subscription/payment.d.ts +14 -0
  128. package/lib/domain/users/models/subscription/subscription.d.ts +30 -0
  129. package/lib/domain/users/models/user-address.d.ts +7 -0
  130. package/lib/domain/users/repositories/edition.repository.d.ts +1 -1
  131. package/lib/domain/users/repositories/index.d.ts +2 -0
  132. package/lib/domain/users/repositories/subscription-payment.repository.d.ts +4 -0
  133. package/lib/domain/users/repositories/subscription.repository.d.ts +1 -1
  134. package/lib/domain/users/repositories/user-address.repository.d.ts +4 -0
  135. package/lib/infra/firebase/firestore/repositories/index.d.ts +1 -0
  136. package/lib/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +48 -0
  137. package/lib/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +48 -0
  138. package/lib/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +48 -0
  139. package/lib/infra/firebase/firestore/repositories/shopping/index.d.ts +6 -0
  140. package/lib/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +48 -0
  141. package/lib/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +48 -0
  142. package/lib/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +48 -0
  143. package/lib/infra/firebase/firestore/repositories/users/index.d.ts +2 -0
  144. package/lib/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +59 -0
  145. package/lib/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +59 -0
  146. package/package.json +2 -1
  147. package/esm2015/lib/domain/users/models/edition.js +0 -7
  148. package/esm2015/lib/domain/users/models/enums/billing-status.enum.js +0 -5
  149. package/esm2015/lib/domain/users/models/enums/edition-status.enum.js +0 -5
  150. package/esm2015/lib/domain/users/models/enums/status.enum.js +0 -5
  151. package/esm2015/lib/domain/users/models/subscription.js +0 -7
  152. package/lib/domain/users/models/subscription.d.ts +0 -15
  153. /package/lib/domain/users/models/{enums → subscription/enums}/billing-status.enum.d.ts +0 -0
  154. /package/lib/domain/users/models/{enums → subscription/enums}/edition-status.enum.d.ts +0 -0
  155. /package/lib/domain/users/models/{enums → subscription/enums}/status.enum.d.ts +0 -0
@@ -0,0 +1,18 @@
1
+ import { BaseModel } from '../../general/model/base.model';
2
+ import { IdentifierFields } from '../../general/model/identifier-fields';
3
+ import { NonFunctionPropertyNames } from '../../general/model/types';
4
+ export declare class ShippingMethod extends BaseModel<ShippingMethod> implements IdentifierFields<ShippingMethod> {
5
+ id: string;
6
+ CNPJ: string;
7
+ DaysToDelivery: number;
8
+ MaxGrams: number;
9
+ MinGrams: number;
10
+ ServiceCompanyRangeId: number;
11
+ ShippingCompanyId: number;
12
+ ShippingCompanyName: string;
13
+ ShippingPrice: number;
14
+ State: string;
15
+ ZipEnd: number;
16
+ ZipStart: number;
17
+ identifierFields(): NonFunctionPropertyNames<ShippingMethod>[];
18
+ }
@@ -0,0 +1,23 @@
1
+ import { Address } from '../../../location/models/address';
2
+ import { BaseModel } from '../../../general/model/base.model';
3
+ import { Coupon } from '../coupons/coupon';
4
+ import { IdentifierFields } from '../../../general/model/identifier-fields';
5
+ import { NonFunctionPropertyNames } from '../../../general/model/types';
6
+ import { User } from '../../../users/models/user';
7
+ import { SubscriptionPlan } from './plan';
8
+ export declare class CheckoutSubscription extends BaseModel<CheckoutSubscription> implements IdentifierFields<CheckoutSubscription> {
9
+ id?: string;
10
+ user: User;
11
+ createdAt: Date;
12
+ updatedAt: Date;
13
+ completedAt?: Date;
14
+ shippingAddress: Address;
15
+ subscriptionPlan: SubscriptionPlan;
16
+ billingAddress?: Address;
17
+ userId?: string;
18
+ coupon?: Coupon;
19
+ discount?: number;
20
+ subTotalPrice?: number;
21
+ totalPrice?: number;
22
+ identifierFields(): NonFunctionPropertyNames<CheckoutSubscription>[];
23
+ }
@@ -0,0 +1,2 @@
1
+ export * from './checkout';
2
+ export * from './plan';
@@ -0,0 +1,12 @@
1
+ import { BaseModel } from '../../../general/model/base.model';
2
+ import { IdentifierFields } from '../../../general/model/identifier-fields';
3
+ import { NonFunctionPropertyNames } from '../../../general/model/types';
4
+ export declare class SubscriptionPlan extends BaseModel<SubscriptionPlan> implements IdentifierFields<SubscriptionPlan> {
5
+ id: string;
6
+ name: string;
7
+ billingPrice: number;
8
+ recurrencePrice: number;
9
+ recurrenceCycle: number;
10
+ maxAttempts: number;
11
+ identifierFields(): NonFunctionPropertyNames<SubscriptionPlan>[];
12
+ }
@@ -0,0 +1,7 @@
1
+ export * from './payment-customer.type';
2
+ export * from './payment-document.type';
3
+ export * from './payment-address.type';
4
+ export * from './payment-billing.type';
5
+ export * from './payment-shipping.type';
6
+ export * from './payment-item.type';
7
+ export * from './payment-card.type';
@@ -0,0 +1,12 @@
1
+ export declare type PaymentAddress = {
2
+ id: number;
3
+ object: string;
4
+ street: string;
5
+ complementary: string;
6
+ street_number: string;
7
+ neighborhood: string;
8
+ city: string;
9
+ state: string;
10
+ zipcode: string;
11
+ country: string;
12
+ };
@@ -0,0 +1,7 @@
1
+ import { PaymentAddress } from './payment-address.type';
2
+ export declare type PaymentBilling = {
3
+ object: string;
4
+ id: number;
5
+ name: string;
6
+ address: PaymentAddress;
7
+ };
@@ -0,0 +1,14 @@
1
+ export declare type PaymentCard = {
2
+ id: string;
3
+ object: string;
4
+ date_created: string;
5
+ date_updated: string;
6
+ brand: string;
7
+ holder_name: string;
8
+ first_digits: string;
9
+ last_digits: string;
10
+ country: string;
11
+ fingerprint: string;
12
+ valid: boolean;
13
+ expiration_date: string;
14
+ };
@@ -0,0 +1,18 @@
1
+ import { PaymentDocument } from './payment-document.type';
2
+ export declare type PaymentCustomer = {
3
+ id: number;
4
+ object: string;
5
+ external_id: string;
6
+ type: string;
7
+ country: string;
8
+ document_number: string;
9
+ document_type: string;
10
+ name: string;
11
+ email: string;
12
+ phone_numbers: string[];
13
+ born_at: string;
14
+ birthday: string;
15
+ gender: string;
16
+ date_created: string;
17
+ documents: PaymentDocument[];
18
+ };
@@ -0,0 +1,6 @@
1
+ export declare type PaymentDocument = {
2
+ object: string;
3
+ id: string;
4
+ type: string;
5
+ number: string;
6
+ };
@@ -0,0 +1,11 @@
1
+ export declare type PaymentItem = {
2
+ id: string;
3
+ object: string;
4
+ title: string;
5
+ unit_price: number;
6
+ quantity: number;
7
+ category: string;
8
+ tangible: boolean;
9
+ venue: string;
10
+ date: string;
11
+ };
@@ -0,0 +1,10 @@
1
+ import { PaymentAddress } from './payment-address.type';
2
+ export declare type PaymentShipping = {
3
+ id: number;
4
+ object: string;
5
+ name: string;
6
+ fee: number;
7
+ delivery_date: string;
8
+ expedited: boolean;
9
+ address: PaymentAddress;
10
+ };
@@ -0,0 +1,4 @@
1
+ import { Checkout } from '../models/checkout';
2
+ import { CrudRepository } from '../../general/repository/crud.repository';
3
+ export interface CheckoutRepository extends CrudRepository<Checkout> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { Coupon } from '../models/coupons/coupon';
2
+ import { CrudRepository } from '../../general/repository/crud.repository';
3
+ export interface CouponRepository extends CrudRepository<Coupon> {
4
+ }
@@ -0,0 +1,5 @@
1
+ export * from './checkout.repository';
2
+ export * from './coupon.repository';
3
+ export * from './order.repository';
4
+ export * from './payment.repository';
5
+ export * from './subscription';
@@ -0,0 +1,4 @@
1
+ import { CrudRepository } from '../../general/repository/crud.repository';
2
+ import { Order } from '../models/order';
3
+ export interface OrderRepository extends CrudRepository<Order> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { CrudRepository } from '../../general/repository/crud.repository';
2
+ import { Payment } from '../models/payment';
3
+ export interface PaymentRepository extends CrudRepository<Payment> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { CheckoutSubscription } from '../../models/subscription/checkout';
2
+ import { CrudRepository } from '../../../general/repository/crud.repository';
3
+ export interface CheckoutSubscriptionRepository extends CrudRepository<CheckoutSubscription> {
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from './checkout.repository';
2
+ export * from './plan.repository';
@@ -0,0 +1,4 @@
1
+ import { SubscriptionPlan } from '../../models/subscription/plan';
2
+ import { CrudRepository } from '../../../general/repository/crud.repository';
3
+ export interface SubscriptionPlanRepository extends CrudRepository<SubscriptionPlan> {
4
+ }
@@ -1,7 +1,4 @@
1
- export * from './status.enum';
2
1
  export * from './user-type.enum';
3
- export * from './billing-status.enum';
4
- export * from './edition-status.enum';
5
2
  export * from './user-type.enum';
6
3
  export * from './beard-sizes.enum';
7
4
  export * from './hair-types.enum';
@@ -1,5 +1,5 @@
1
1
  export * from './enums';
2
- export * from './user';
3
2
  export * from './subscription';
4
- export * from './edition';
3
+ export * from './user';
5
4
  export * from './beauty-profile';
5
+ export * from './user-address';
@@ -1,6 +1,6 @@
1
- import { BaseModel } from '../../general/model/base.model';
2
- import { IdentifierFields } from '../../general/model/identifier-fields';
3
- import { NonFunctionPropertyNames } from '../../general/model/types/non-function-property-name.type';
1
+ import { BaseModel } from '../../../general/model/base.model';
2
+ import { IdentifierFields } from '../../../general/model/identifier-fields';
3
+ import { NonFunctionPropertyNames } from '../../../general/model/types/non-function-property-name.type';
4
4
  import { EditionStatus, BillingStatus } from './enums';
5
5
  export declare class Edition extends BaseModel<Edition> implements IdentifierFields<Edition> {
6
6
  id: string;
@@ -0,0 +1,4 @@
1
+ export * from './billing-status.enum';
2
+ export * from './edition-status.enum';
3
+ export * from './payment-type.enum';
4
+ export * from './status.enum';
@@ -0,0 +1,5 @@
1
+ export declare enum PaymentType {
2
+ AQUISITION = "Aquisi\u00E7\u00E3o",
3
+ RENEWAL = "Renova\u00E7\u00E3o",
4
+ FREIGHT = "mudan\u00E7a de endere\u00E7o, Frete"
5
+ }
@@ -0,0 +1,4 @@
1
+ export * from './enums';
2
+ export * from './edition';
3
+ export * from './payment';
4
+ export * from './subscription';
@@ -0,0 +1,14 @@
1
+ import { BaseModel } from '../../../general/model/base.model';
2
+ import { IdentifierFields } from '../../../general/model/identifier-fields';
3
+ import { NonFunctionPropertyNames } from '../../../general/model/types';
4
+ import { Payment } from '../../../shopping/models/payment';
5
+ import { PaymentType } from './enums/payment-type.enum';
6
+ export declare class SubscriptionPayment extends BaseModel<SubscriptionPayment> implements IdentifierFields<SubscriptionPayment> {
7
+ id: string;
8
+ subscriptionId: string;
9
+ paymentType: PaymentType;
10
+ payment: Payment;
11
+ createdAt: Date;
12
+ attempts?: number;
13
+ identifierFields(): NonFunctionPropertyNames<SubscriptionPayment>[];
14
+ }
@@ -0,0 +1,30 @@
1
+ import { Address } from '../../../location/models/address';
2
+ import { BaseModel } from '../../../general/model/base.model';
3
+ import { Coupon } from '../../../shopping/models/coupons/coupon';
4
+ import { IdentifierFields } from '../../../general/model/identifier-fields';
5
+ import { NonFunctionPropertyNames } from '../../../general/model/types/non-function-property-name.type';
6
+ import { SubscriptionPlan } from '../../../shopping/models/subscription/plan';
7
+ import { User } from '../user';
8
+ import { Edition } from './edition';
9
+ import { Status } from './enums/status.enum';
10
+ import { SubscriptionPayment } from './payment';
11
+ export declare class Subscription extends BaseModel<Subscription> implements IdentifierFields<Subscription> {
12
+ id: string;
13
+ nextPayment: Date;
14
+ recurrence: boolean;
15
+ status: Status;
16
+ user: User;
17
+ subscriptionPlan: SubscriptionPlan;
18
+ shippingAddress: Address;
19
+ billingAddress?: Address;
20
+ cardToken: string;
21
+ coupon?: Coupon;
22
+ subtotalPrice?: number;
23
+ discount?: number;
24
+ totalPrice?: number;
25
+ editions: Edition[];
26
+ payment?: SubscriptionPayment[];
27
+ createdAt: Date;
28
+ updatedAt: Date;
29
+ identifierFields(): NonFunctionPropertyNames<Subscription>[];
30
+ }
@@ -0,0 +1,7 @@
1
+ import { Address } from '../../location/models/address';
2
+ import { NonFunctionPropertyNames } from '../../general/model/types/non-function-property-name.type';
3
+ export declare class UserAddress extends Address {
4
+ id: string;
5
+ userId: string;
6
+ identifierFields(): NonFunctionPropertyNames<UserAddress>[];
7
+ }
@@ -1,4 +1,4 @@
1
1
  import { CrudRepository } from '../../general/repository/crud.repository';
2
- import { Edition } from '../models/edition';
2
+ import { Edition } from '../models/subscription/edition';
3
3
  export interface EditionRepository extends CrudRepository<Edition> {
4
4
  }
@@ -2,3 +2,5 @@ export * from './user.repository';
2
2
  export * from './subscription.repository';
3
3
  export * from './edition.repository';
4
4
  export * from './beauty-profile.repository';
5
+ export * from './user-address.repository';
6
+ export * from './subscription-payment.repository';
@@ -0,0 +1,4 @@
1
+ import { CrudRepository } from '../../general/repository/crud.repository';
2
+ import { SubscriptionPayment } from '../models/subscription/payment';
3
+ export interface SubscriptionPaymentRepository extends CrudRepository<SubscriptionPayment> {
4
+ }
@@ -1,4 +1,4 @@
1
1
  import { CrudRepository } from '../../general/repository/crud.repository';
2
- import { Subscription } from '../models';
2
+ import { Subscription } from '../models/subscription/subscription';
3
3
  export interface SubscriptionRepository extends CrudRepository<Subscription> {
4
4
  }
@@ -0,0 +1,4 @@
1
+ import { CrudRepository } from '../../general/repository/crud.repository';
2
+ import { UserAddress } from '../models/user-address';
3
+ export interface UserAddressRepository extends CrudRepository<UserAddress> {
4
+ }
@@ -1,2 +1,3 @@
1
1
  export * from './users';
2
2
  export * from './catalog';
3
+ export * from './shopping';
@@ -0,0 +1,48 @@
1
+ import { FirebaseFirestore } from '@firebase/firestore-types';
2
+ import { Checkout, CheckoutRepository } from '../../../../../domain';
3
+ declare const CheckoutFirestoreRepository_base: {
4
+ new (...args: any[]): {
5
+ update(data: Checkout): Promise<Checkout>;
6
+ buildCollectionPathForUpdate(identifiers: Checkout): string;
7
+ readonly firestore?: FirebaseFirestore;
8
+ collectionName: string;
9
+ model: import("../../../../../domain").BaseModelBuilder<Checkout>;
10
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Checkout>;
11
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
12
+ 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<{}>>;
13
+ get(identifiers: import("../../../../../domain").NonFunctionProperties<Checkout>): Promise<Checkout>;
14
+ buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Checkout>): string;
15
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<Checkout>[], limits?: import("../../../../../domain").RepositoryLimitOptions<Checkout>, orderBy?: import("../../../../../domain").RepositoryOrderByList<Checkout>): Promise<import("../../../../../domain").RepositoryFindResult<Checkout>>;
16
+ buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<Checkout>[]): string;
17
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<Checkout> | import("@firebase/firestore-types").Query<Checkout>, filter: import("../../../../../domain").RepositoryFindFielters<Checkout>) => import("@firebase/firestore-types").Query<Checkout>;
18
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<Checkout> | import("@firebase/firestore-types").Query<Checkout>, fieldName: import("../../../../../domain").NonFunctionPropertyNames<Checkout>, options: import("../../../../../domain").RepositoryFindFieltersOptions<Checkout, import("../../../../../domain").NonFunctionPropertyNames<Checkout>>) => import("@firebase/firestore-types").Query<Checkout>;
19
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<Checkout> | import("@firebase/firestore-types").Query<Checkout>, filters: import("../../../../../domain").RepositoryFindFielters<Checkout>[], limits: import("../../../../../domain").RepositoryLimitOptions<Checkout>): import("@firebase/firestore-types").Query<Checkout>;
20
+ calculateCount(data: Checkout[], limits: import("../../../../../domain").RepositoryLimitOptions<Checkout>): number;
21
+ delete(identifiers: import("../../../../../domain").NonFunctionProperties<Checkout>): Promise<void>;
22
+ buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<Checkout>): string;
23
+ create(data: Partial<Checkout>): Promise<Checkout>;
24
+ save(data: Checkout): Promise<import("@firebase/firestore-types").DocumentReference<Checkout>>;
25
+ buildCollectionPathForAdd(identifiers: Partial<Checkout>): string;
26
+ };
27
+ } & {
28
+ new (...args: any[]): {
29
+ 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[];
30
+ 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<{}>>;
31
+ };
32
+ } & {
33
+ new (...args: any[]): {
34
+ readonly firestore?: FirebaseFirestore;
35
+ collectionName: string;
36
+ model: import("../../../../../domain").BaseModelBuilder<Checkout>;
37
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Checkout>;
38
+ buildModelInstance(): {
39
+ toFirestore: (data: Checkout) => import("@firebase/firestore-types").DocumentData;
40
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<Checkout>) => Checkout;
41
+ };
42
+ };
43
+ };
44
+ export declare class CheckoutFirestoreRepository extends CheckoutFirestoreRepository_base implements CheckoutRepository {
45
+ readonly firestore: FirebaseFirestore;
46
+ constructor(firestore: FirebaseFirestore);
47
+ }
48
+ export {};
@@ -0,0 +1,48 @@
1
+ import { FirebaseFirestore } from '@firebase/firestore-types';
2
+ import { CheckoutSubscription, CheckoutSubscriptionRepository } from '../../../../../domain';
3
+ declare const CheckoutSubscriptionFirestoreRepository_base: {
4
+ new (...args: any[]): {
5
+ update(data: CheckoutSubscription): Promise<CheckoutSubscription>;
6
+ buildCollectionPathForUpdate(identifiers: CheckoutSubscription): string;
7
+ readonly firestore?: FirebaseFirestore;
8
+ collectionName: string;
9
+ model: import("../../../../../domain").BaseModelBuilder<CheckoutSubscription>;
10
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<CheckoutSubscription>;
11
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
12
+ 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<{}>>;
13
+ get(identifiers: import("../../../../../domain").NonFunctionProperties<CheckoutSubscription>): Promise<CheckoutSubscription>;
14
+ buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<CheckoutSubscription>): string;
15
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<CheckoutSubscription>[], limits?: import("../../../../../domain").RepositoryLimitOptions<CheckoutSubscription>, orderBy?: import("../../../../../domain").RepositoryOrderByList<CheckoutSubscription>): Promise<import("../../../../../domain").RepositoryFindResult<CheckoutSubscription>>;
16
+ buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<CheckoutSubscription>[]): string;
17
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<CheckoutSubscription> | import("@firebase/firestore-types").Query<CheckoutSubscription>, filter: import("../../../../../domain").RepositoryFindFielters<CheckoutSubscription>) => import("@firebase/firestore-types").Query<CheckoutSubscription>;
18
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<CheckoutSubscription> | import("@firebase/firestore-types").Query<CheckoutSubscription>, fieldName: import("../../../../../domain").NonFunctionPropertyNames<CheckoutSubscription>, options: import("../../../../../domain").RepositoryFindFieltersOptions<CheckoutSubscription, import("../../../../../domain").NonFunctionPropertyNames<CheckoutSubscription>>) => import("@firebase/firestore-types").Query<CheckoutSubscription>;
19
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<CheckoutSubscription> | import("@firebase/firestore-types").Query<CheckoutSubscription>, filters: import("../../../../../domain").RepositoryFindFielters<CheckoutSubscription>[], limits: import("../../../../../domain").RepositoryLimitOptions<CheckoutSubscription>): import("@firebase/firestore-types").Query<CheckoutSubscription>;
20
+ calculateCount(data: CheckoutSubscription[], limits: import("../../../../../domain").RepositoryLimitOptions<CheckoutSubscription>): number;
21
+ delete(identifiers: import("../../../../../domain").NonFunctionProperties<CheckoutSubscription>): Promise<void>;
22
+ buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<CheckoutSubscription>): string;
23
+ create(data: Partial<CheckoutSubscription>): Promise<CheckoutSubscription>;
24
+ save(data: CheckoutSubscription): Promise<import("@firebase/firestore-types").DocumentReference<CheckoutSubscription>>;
25
+ buildCollectionPathForAdd(identifiers: Partial<CheckoutSubscription>): string;
26
+ };
27
+ } & {
28
+ new (...args: any[]): {
29
+ 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[];
30
+ 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<{}>>;
31
+ };
32
+ } & {
33
+ new (...args: any[]): {
34
+ readonly firestore?: FirebaseFirestore;
35
+ collectionName: string;
36
+ model: import("../../../../../domain").BaseModelBuilder<CheckoutSubscription>;
37
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<CheckoutSubscription>;
38
+ buildModelInstance(): {
39
+ toFirestore: (data: CheckoutSubscription) => import("@firebase/firestore-types").DocumentData;
40
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<CheckoutSubscription>) => CheckoutSubscription;
41
+ };
42
+ };
43
+ };
44
+ export declare class CheckoutSubscriptionFirestoreRepository extends CheckoutSubscriptionFirestoreRepository_base implements CheckoutSubscriptionRepository {
45
+ readonly firestore: FirebaseFirestore;
46
+ constructor(firestore: FirebaseFirestore);
47
+ }
48
+ export {};
@@ -0,0 +1,48 @@
1
+ import { FirebaseFirestore } from '@firebase/firestore-types';
2
+ import { Coupon, CouponRepository } from '../../../../../domain';
3
+ declare const CouponFirestoreRepository_base: {
4
+ new (...args: any[]): {
5
+ update(data: Coupon): Promise<Coupon>;
6
+ buildCollectionPathForUpdate(identifiers: Coupon): string;
7
+ readonly firestore?: FirebaseFirestore;
8
+ collectionName: string;
9
+ model: import("../../../../../domain").BaseModelBuilder<Coupon>;
10
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Coupon>;
11
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
12
+ 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<{}>>;
13
+ get(identifiers: import("../../../../../domain").NonFunctionProperties<Coupon>): Promise<Coupon>;
14
+ buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Coupon>): string;
15
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<Coupon>[], limits?: import("../../../../../domain").RepositoryLimitOptions<Coupon>, orderBy?: import("../../../../../domain").RepositoryOrderByList<Coupon>): Promise<import("../../../../../domain").RepositoryFindResult<Coupon>>;
16
+ buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<Coupon>[]): string;
17
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<Coupon> | import("@firebase/firestore-types").Query<Coupon>, filter: import("../../../../../domain").RepositoryFindFielters<Coupon>) => import("@firebase/firestore-types").Query<Coupon>;
18
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<Coupon> | import("@firebase/firestore-types").Query<Coupon>, fieldName: import("../../../../../domain").NonFunctionPropertyNames<Coupon>, options: import("../../../../../domain").RepositoryFindFieltersOptions<Coupon, import("../../../../../domain").NonFunctionPropertyNames<Coupon>>) => import("@firebase/firestore-types").Query<Coupon>;
19
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<Coupon> | import("@firebase/firestore-types").Query<Coupon>, filters: import("../../../../../domain").RepositoryFindFielters<Coupon>[], limits: import("../../../../../domain").RepositoryLimitOptions<Coupon>): import("@firebase/firestore-types").Query<Coupon>;
20
+ calculateCount(data: Coupon[], limits: import("../../../../../domain").RepositoryLimitOptions<Coupon>): number;
21
+ delete(identifiers: import("../../../../../domain").NonFunctionProperties<Coupon>): Promise<void>;
22
+ buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<Coupon>): string;
23
+ create(data: Partial<Coupon>): Promise<Coupon>;
24
+ save(data: Coupon): Promise<import("@firebase/firestore-types").DocumentReference<Coupon>>;
25
+ buildCollectionPathForAdd(identifiers: Partial<Coupon>): string;
26
+ };
27
+ } & {
28
+ new (...args: any[]): {
29
+ 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[];
30
+ 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<{}>>;
31
+ };
32
+ } & {
33
+ new (...args: any[]): {
34
+ readonly firestore?: FirebaseFirestore;
35
+ collectionName: string;
36
+ model: import("../../../../../domain").BaseModelBuilder<Coupon>;
37
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Coupon>;
38
+ buildModelInstance(): {
39
+ toFirestore: (data: Coupon) => import("@firebase/firestore-types").DocumentData;
40
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<Coupon>) => Coupon;
41
+ };
42
+ };
43
+ };
44
+ export declare class CouponFirestoreRepository extends CouponFirestoreRepository_base implements CouponRepository {
45
+ readonly firestore: FirebaseFirestore;
46
+ constructor(firestore: FirebaseFirestore);
47
+ }
48
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './checkout-firestore.repository';
2
+ export * from './coupon-firestore.repository';
3
+ export * from './order-firestore.repository';
4
+ export * from './payment-firestore.repository';
5
+ export * from './checkout-subscription-firestore.repository';
6
+ export * from './subscription-plan-firestore.repository';
@@ -0,0 +1,48 @@
1
+ import { FirebaseFirestore } from '@firebase/firestore-types';
2
+ import { Order, OrderRepository } from '../../../../../domain';
3
+ declare const OrderFirestoreRepository_base: {
4
+ new (...args: any[]): {
5
+ update(data: Order): Promise<Order>;
6
+ buildCollectionPathForUpdate(identifiers: Order): string;
7
+ readonly firestore?: FirebaseFirestore;
8
+ collectionName: string;
9
+ model: import("../../../../../domain").BaseModelBuilder<Order>;
10
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Order>;
11
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
12
+ 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<{}>>;
13
+ get(identifiers: import("../../../../../domain").NonFunctionProperties<Order>): Promise<Order>;
14
+ buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Order>): string;
15
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<Order>[], limits?: import("../../../../../domain").RepositoryLimitOptions<Order>, orderBy?: import("../../../../../domain").RepositoryOrderByList<Order>): Promise<import("../../../../../domain").RepositoryFindResult<Order>>;
16
+ buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<Order>[]): string;
17
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<Order> | import("@firebase/firestore-types").Query<Order>, filter: import("../../../../../domain").RepositoryFindFielters<Order>) => import("@firebase/firestore-types").Query<Order>;
18
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<Order> | import("@firebase/firestore-types").Query<Order>, fieldName: import("../../../../../domain").NonFunctionPropertyNames<Order>, options: import("../../../../../domain").RepositoryFindFieltersOptions<Order, import("../../../../../domain").NonFunctionPropertyNames<Order>>) => import("@firebase/firestore-types").Query<Order>;
19
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<Order> | import("@firebase/firestore-types").Query<Order>, filters: import("../../../../../domain").RepositoryFindFielters<Order>[], limits: import("../../../../../domain").RepositoryLimitOptions<Order>): import("@firebase/firestore-types").Query<Order>;
20
+ calculateCount(data: Order[], limits: import("../../../../../domain").RepositoryLimitOptions<Order>): number;
21
+ delete(identifiers: import("../../../../../domain").NonFunctionProperties<Order>): Promise<void>;
22
+ buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<Order>): string;
23
+ create(data: Partial<Order>): Promise<Order>;
24
+ save(data: Order): Promise<import("@firebase/firestore-types").DocumentReference<Order>>;
25
+ buildCollectionPathForAdd(identifiers: Partial<Order>): string;
26
+ };
27
+ } & {
28
+ new (...args: any[]): {
29
+ 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[];
30
+ 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<{}>>;
31
+ };
32
+ } & {
33
+ new (...args: any[]): {
34
+ readonly firestore?: FirebaseFirestore;
35
+ collectionName: string;
36
+ model: import("../../../../../domain").BaseModelBuilder<Order>;
37
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Order>;
38
+ buildModelInstance(): {
39
+ toFirestore: (data: Order) => import("@firebase/firestore-types").DocumentData;
40
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<Order>) => Order;
41
+ };
42
+ };
43
+ };
44
+ export declare class OrderFirestoreRepository extends OrderFirestoreRepository_base implements OrderRepository {
45
+ readonly firestore: FirebaseFirestore;
46
+ constructor(firestore: FirebaseFirestore);
47
+ }
48
+ export {};