@infrab4a/connect 4.3.10-beta.2 → 4.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/index.cjs.js +1031 -449
  2. package/index.esm.js +1008 -450
  3. package/package.json +2 -2
  4. package/src/domain/catalog/models/types/shop-price.type.d.ts +0 -1
  5. package/src/domain/catalog/repositories/product.repository.d.ts +1 -14
  6. package/src/domain/general/index.d.ts +2 -0
  7. package/src/domain/general/models/index.d.ts +1 -0
  8. package/src/domain/general/models/sequences.d.ts +9 -0
  9. package/src/domain/general/repositories/index.d.ts +1 -0
  10. package/src/domain/general/repositories/sequences.repository.d.ts +4 -0
  11. package/src/domain/generic/repository/enums/where.enum.d.ts +1 -2
  12. package/src/domain/generic/repository/types/repository-find-filters.type.d.ts +0 -2
  13. package/src/domain/shop-settings/models/shop-settings.d.ts +0 -1
  14. package/src/domain/shopping/enums/antifraud-providers.enum.d.ts +6 -0
  15. package/src/domain/shopping/enums/index.d.ts +3 -0
  16. package/src/domain/shopping/enums/payment-methods.enum.d.ts +6 -0
  17. package/src/domain/shopping/enums/payment-providers.enum.d.ts +5 -0
  18. package/src/domain/shopping/factories/adyen-payment-method.factory.d.ts +8 -0
  19. package/src/domain/shopping/factories/antifraud-provider.factory.d.ts +15 -0
  20. package/src/domain/shopping/factories/base-payment-method.factory.d.ts +7 -0
  21. package/src/domain/shopping/factories/glampoints-payment-method.factory.d.ts +8 -0
  22. package/src/domain/shopping/factories/index.d.ts +5 -0
  23. package/src/domain/shopping/factories/pagarme-payment-method.factory.d.ts +10 -0
  24. package/src/domain/shopping/factories/payment-provider.factory.d.ts +15 -0
  25. package/src/domain/shopping/index.d.ts +5 -0
  26. package/src/domain/shopping/interfaces/antifraud-method-factory.interface.d.ts +11 -0
  27. package/src/domain/shopping/interfaces/antifraud-provider.interface.d.ts +5 -0
  28. package/src/domain/shopping/interfaces/index.d.ts +7 -0
  29. package/src/domain/shopping/interfaces/payment-method-factory.interface.d.ts +14 -0
  30. package/src/domain/shopping/interfaces/payment-provider-bank-slip.interface.d.ts +5 -0
  31. package/src/domain/shopping/interfaces/payment-provider-card.interface.d.ts +7 -0
  32. package/src/domain/shopping/interfaces/payment-provider-glampoints.interface.d.ts +5 -0
  33. package/src/domain/shopping/interfaces/payment-provider-pix.interface.d.ts +5 -0
  34. package/src/domain/shopping/models/index.d.ts +2 -0
  35. package/src/domain/shopping/models/order-blocked.d.ts +26 -0
  36. package/src/domain/shopping/models/order.d.ts +2 -2
  37. package/src/domain/shopping/models/payment-transaction.d.ts +66 -0
  38. package/src/domain/shopping/models/payment.d.ts +10 -62
  39. package/src/domain/shopping/models/subscription/checkout.d.ts +0 -1
  40. package/src/domain/shopping/models/types/index.d.ts +4 -4
  41. package/src/domain/shopping/repositories/index.d.ts +1 -0
  42. package/src/domain/shopping/repositories/order-blocked.repository.d.ts +6 -0
  43. package/src/domain/shopping/services/adyen-card-payment.service.d.ts +13 -0
  44. package/src/domain/shopping/services/antifraud-bankslip.service.d.ts +9 -0
  45. package/src/domain/shopping/services/antifraud-card.service.d.ts +18 -0
  46. package/src/domain/shopping/services/antifraud-glampoints.service.d.ts +6 -0
  47. package/src/domain/shopping/services/antifraud-pix.service.d.ts +6 -0
  48. package/src/domain/shopping/services/glampoints-payment.service.d.ts +8 -0
  49. package/src/domain/shopping/services/index.d.ts +9 -0
  50. package/src/domain/shopping/services/pagarme-bank-slip-payment.service.d.ts +11 -0
  51. package/src/domain/shopping/services/pagarme-card-payment.service.d.ts +13 -0
  52. package/src/domain/shopping/services/pagarme-pix-payment.service.d.ts +11 -0
  53. package/src/domain/shopping/types/adyen-credentials.type.d.ts +6 -0
  54. package/src/domain/shopping/types/antifraud-provider.type.d.ts +2 -0
  55. package/src/domain/shopping/types/index.d.ts +6 -0
  56. package/src/domain/shopping/types/pagarme-credentials.type.d.ts +5 -0
  57. package/src/domain/shopping/types/payment-card-info.type.d.ts +4 -0
  58. package/src/domain/shopping/types/payment-method.type.d.ts +2 -0
  59. package/src/domain/shopping/types/payment-provider.type.d.ts +2 -0
  60. package/src/domain/users/models/subscription/enums/index.d.ts +0 -1
  61. package/src/domain/users/models/subscription/index.d.ts +0 -1
  62. package/src/domain/users/models/subscription/subscription-summary.d.ts +6 -10
  63. package/src/errors/business.error.d.ts +7 -0
  64. package/src/errors/fraud-validation.error.d.ts +7 -0
  65. package/src/errors/index.d.ts +7 -2
  66. package/src/errors/payment.error.d.ts +7 -0
  67. package/src/errors/stock-limit.error.d.ts +4 -0
  68. package/src/errors/stock-out.error.d.ts +4 -0
  69. package/src/errors/types/checkout-additional-data-erro.type.d.ts +5 -0
  70. package/src/errors/types/index.d.ts +1 -0
  71. package/src/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +1 -1
  72. package/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +1 -3
  73. package/src/infra/firebase/firestore/repositories/general/index.d.ts +1 -0
  74. package/src/infra/firebase/firestore/repositories/general/sequences-firestore.repository.d.ts +7 -0
  75. package/src/infra/firebase/firestore/repositories/index.d.ts +3 -2
  76. package/src/infra/firebase/firestore/repositories/shopping/index.d.ts +1 -0
  77. package/src/infra/firebase/firestore/repositories/shopping/order-blocked-firestore.repository.d.ts +9 -0
  78. package/src/infra/firebase/storage/firebase-file-uploader.service.d.ts +2 -2
  79. package/src/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +1 -4
  80. package/src/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +0 -2
  81. package/src/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +0 -2
  82. package/src/utils/index.d.ts +3 -3
  83. package/src/domain/users/models/subscription/enums/plans.enum.d.ts +0 -6
  84. package/src/domain/users/models/subscription/types/index.d.ts +0 -1
  85. package/src/domain/users/models/subscription/types/plan.type.d.ts +0 -2
@@ -0,0 +1,13 @@
1
+ import { PaymentProviderCard } from '../interfaces';
2
+ import { Checkout, Payment } from '../models';
3
+ import { OrderBlockedRepository, PaymentRepository } from '../repositories';
4
+ import { pagarmeCredentials, paymentCardInfo } from '../types';
5
+ export declare class PagarmeCardService implements PaymentProviderCard {
6
+ private credentials;
7
+ private paymentRepository;
8
+ private orderBlockedRepository;
9
+ constructor(credentials: pagarmeCredentials, paymentRepository: PaymentRepository, orderBlockedRepository: OrderBlockedRepository);
10
+ pay(checkout: Checkout, card: paymentCardInfo): Promise<Payment>;
11
+ addCard(): Promise<any>;
12
+ private createCardPayment;
13
+ }
@@ -0,0 +1,11 @@
1
+ import { PaymentProviderPix } from '../interfaces';
2
+ import { Checkout, Payment } from '../models';
3
+ import { PaymentRepository } from '../repositories';
4
+ import { pagarmeCredentials } from '../types';
5
+ export declare class PagarmePixService implements PaymentProviderPix {
6
+ private credentials;
7
+ private paymentRepository;
8
+ constructor(credentials: pagarmeCredentials, paymentRepository: PaymentRepository);
9
+ pay(checkout: Checkout): Promise<Payment>;
10
+ private createPixPayment;
11
+ }
@@ -0,0 +1,6 @@
1
+ export type adyenCredentials = {
2
+ URL_TRANSACTION: string;
3
+ URL_POSTBACK: string;
4
+ API_KEY: string;
5
+ MERCHANT_ACCOUNT?: string;
6
+ };
@@ -0,0 +1,2 @@
1
+ import { antifraudProviders } from '../enums';
2
+ export type antifraudeProvider = `${antifraudProviders}`;
@@ -0,0 +1,6 @@
1
+ export * from './adyen-credentials.type';
2
+ export * from './antifraud-provider.type';
3
+ export * from './pagarme-credentials.type';
4
+ export * from './payment-card-info.type';
5
+ export * from './payment-method.type';
6
+ export * from './payment-provider.type';
@@ -0,0 +1,5 @@
1
+ export type pagarmeCredentials = {
2
+ URL_TRANSACTION: string;
3
+ URL_POSTBACK: string;
4
+ API_KEY: string;
5
+ };
@@ -0,0 +1,4 @@
1
+ export type paymentCardInfo = {
2
+ cardId: string;
3
+ installments: number;
4
+ };
@@ -0,0 +1,2 @@
1
+ import { paymentMethods } from '../enums';
2
+ export type paymentMethod = `${paymentMethods}`;
@@ -0,0 +1,2 @@
1
+ import { paymentProviders } from '../enums';
2
+ export type paymentProvider = `${paymentProviders}`;
@@ -1,5 +1,4 @@
1
1
  export * from './billing-status.enum';
2
2
  export * from './edition-status.enum';
3
3
  export * from './payment-type.enum';
4
- export * from './plans.enum';
5
4
  export * from './status.enum';
@@ -4,4 +4,3 @@ export * from './payment';
4
4
  export * from './subscription';
5
5
  export * from './subscription-materialization';
6
6
  export * from './subscription-summary';
7
- export * from './types';
@@ -1,15 +1,11 @@
1
1
  import { BaseModel, GenericIdentifier } from '../../../generic';
2
- import { Plan } from './types';
3
2
  export declare class SubscriptionSummary extends BaseModel<SubscriptionSummary> {
4
3
  id: string;
5
- plans: {
6
- [plan in Plan]: {
7
- subsCreated: number;
8
- subsWithPaymentError: number;
9
- subWithDisabledRecurrency: number;
10
- subsKept: number;
11
- activeSubs: number;
12
- };
13
- };
4
+ subsCreated: number;
5
+ subsCancelled: number;
6
+ subsWithPaymentError: number;
7
+ subWithDisabledRecurrency: number;
8
+ subsKept: number;
9
+ activeSubs: number;
14
10
  static get identifiersFields(): GenericIdentifier[];
15
11
  }
@@ -0,0 +1,7 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ import { checkoutAdditionalDataError } from './types';
3
+ export declare class BusinessError extends CustomError {
4
+ additionalData?: checkoutAdditionalDataError;
5
+ type: string;
6
+ constructor(message: string, additionalData?: checkoutAdditionalDataError, type?: string);
7
+ }
@@ -0,0 +1,7 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ import { checkoutAdditionalDataError } from './types';
3
+ export declare class FraudValidationError extends CustomError {
4
+ additionalData?: checkoutAdditionalDataError;
5
+ type: string;
6
+ constructor(message: string, additionalData?: checkoutAdditionalDataError);
7
+ }
@@ -1,4 +1,9 @@
1
+ export * from './business.error';
2
+ export * from './duplicated-results.error';
3
+ export * from './fraud-validation.error';
1
4
  export * from './invalid-argument.error';
2
- export * from './required-argument.error';
3
5
  export * from './not-found.error';
4
- export * from './duplicated-results.error';
6
+ export * from './payment.error';
7
+ export * from './required-argument.error';
8
+ export * from './stock-limit.error';
9
+ export * from './stock-out.error';
@@ -0,0 +1,7 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ import { checkoutAdditionalDataError } from './types';
3
+ export declare class PaymentError extends CustomError {
4
+ additionalData?: checkoutAdditionalDataError;
5
+ type: string;
6
+ constructor(message: string, additionalData?: checkoutAdditionalDataError);
7
+ }
@@ -0,0 +1,4 @@
1
+ import { BusinessError } from './business.error';
2
+ export declare class StockLimitError extends BusinessError {
3
+ constructor(message: string);
4
+ }
@@ -0,0 +1,4 @@
1
+ import { BusinessError } from './business.error';
2
+ export declare class StockOutError extends BusinessError {
3
+ constructor(message: string);
4
+ }
@@ -0,0 +1,5 @@
1
+ export type checkoutAdditionalDataError = {
2
+ checkoutId?: string;
3
+ userEmail?: string;
4
+ info?: any;
5
+ };
@@ -0,0 +1 @@
1
+ export * from './checkout-additional-data-erro.type';
@@ -5,7 +5,7 @@ import { FirestoreRepository, FirestoreSubRepository } from '../types';
5
5
  export declare const withHelpers: <TMixinBase extends MixinCtor = MixinCtor>(MixinBase: MixinCtor & TMixinBase) => {
6
6
  new (...args: any[]): {
7
7
  [x: string]: any;
8
- toArray<T extends ModelBaseStructure<T>>(snapShot: QuerySnapshot<T, import("@firebase/firestore").DocumentData> | QueryDocumentSnapshot<T, import("@firebase/firestore").DocumentData>[]): T[];
8
+ toArray<T extends ModelBaseStructure<T>>(snapShot: QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[];
9
9
  isSubCollection<T_1 extends ModelBaseStructure<T_1>, E extends ModelBaseStructure<E>>(repository: FirestoreRepository<T_1> | FirestoreSubRepository<T_1, E>): repository is FirestoreSubRepository<T_1, E>;
10
10
  };
11
11
  } & TMixinBase;
@@ -1,14 +1,12 @@
1
- import { FindRepositoryParams, PaginatedReviewFilters, Product, ProductRepository, RepositoryFindResult, ReviewStatusParams, ReviewWithProductData } from '../../../../../domain';
1
+ import { FindRepositoryParams, Product, ProductRepository, RepositoryFindResult, ReviewStatusParams, ReviewWithProductData } from '../../../../../domain';
2
2
  import { FirestoreConstructorParams } from '../../mixins';
3
3
  declare const ProductFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("../..").FirestoreRepository<Product> & import("../../../../../domain").CrudRepository<Product, import("../../../../../domain").CrudParams<Product>> & import("../..").FirestoreHelpers, [FirestoreConstructorParams<Product>, ...any[]]>;
4
4
  export declare class ProductFirestoreRepository extends ProductFirestoreRepository_base implements ProductRepository {
5
5
  private reviews;
6
6
  constructor({ firestore, interceptors }: Pick<FirestoreConstructorParams<Product>, 'firestore' | 'interceptors'>);
7
- fetchProductReviews(filters: PaginatedReviewFilters): Promise<ReviewWithProductData[]>;
8
7
  getBySlug(slug: string): Promise<Product>;
9
8
  fetchReviews(status: ReviewStatusParams): Promise<ReviewWithProductData[]>;
10
9
  cleanShoppingCountFromIds(): Promise<void>;
11
10
  findCatalog(params: FindRepositoryParams<Product>): Promise<RepositoryFindResult<Product>>;
12
- fetchPaginatedReviews(): Promise<ReviewWithProductData[]>;
13
11
  }
14
12
  export {};
@@ -0,0 +1 @@
1
+ export * from './sequences-firestore.repository';
@@ -0,0 +1,7 @@
1
+ import { Sequence, SequenceRepository } from '../../../../../domain';
2
+ import { FirestoreConstructorParams } from '../../mixins';
3
+ declare const SequenceFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("../..").FirestoreRepository<Sequence> & import("../../../../../domain").CrudRepository<Sequence, import("../../../../../domain").CrudParams<Sequence>> & import("../..").FirestoreHelpers, [FirestoreConstructorParams<Sequence>, ...any[]]>;
4
+ export declare class SequenceFirestoreRepository extends SequenceFirestoreRepository_base implements SequenceRepository {
5
+ constructor({ firestore, interceptors }: Pick<FirestoreConstructorParams<Sequence>, 'firestore' | 'interceptors'>);
6
+ }
7
+ export {};
@@ -1,4 +1,5 @@
1
- export * from './users';
2
1
  export * from './catalog';
3
- export * from './shopping';
2
+ export * from './general';
4
3
  export * from './shop-settings';
4
+ export * from './shopping';
5
+ export * from './users';
@@ -5,6 +5,7 @@ export * from './checkout-firestore.repository';
5
5
  export * from './checkout-subscription-firestore.repository';
6
6
  export * from './coupon-firestore.repository';
7
7
  export * from './legacy-order-firestore.repository';
8
+ export * from './order-blocked-firestore.repository';
8
9
  export * from './order-firestore.repository';
9
10
  export * from './payment-firestore.repository';
10
11
  export * from './subscription-plan-firestore.repository';
@@ -0,0 +1,9 @@
1
+ import { Checkout, OrderBlocked, OrderBlockedRepository, paymentCardInfo } from '../../../../../domain';
2
+ import { FirestoreConstructorParams } from '../../mixins';
3
+ declare const OrderBlockedFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("../..").FirestoreRepository<OrderBlocked> & import("../../../../../domain").CrudRepository<OrderBlocked, import("../../../../../domain").CrudParams<OrderBlocked>> & import("../..").FirestoreHelpers, [FirestoreConstructorParams<OrderBlocked>, ...any[]]>;
4
+ export declare class OrderBlockedFirestoreRepository extends OrderBlockedFirestoreRepository_base implements OrderBlockedRepository {
5
+ constructor({ firestore, interceptors, }: Pick<FirestoreConstructorParams<OrderBlocked>, 'firestore' | 'interceptors'>);
6
+ createBlockedOrderOrPayment(checkout: Checkout, blockType: string, type: string, limiteRange: string, card?: paymentCardInfo): Promise<OrderBlocked>;
7
+ private formatZip;
8
+ }
9
+ export {};
@@ -1,8 +1,8 @@
1
- import { FirebaseStorage } from 'firebase/storage';
1
+ import { Storage } from '@angular/fire/storage';
2
2
  import { FileUploaderService } from '../../../domain';
3
3
  export declare class FirebaseFileUploaderService implements FileUploaderService {
4
4
  private storage;
5
5
  private baseUrl;
6
- constructor(storage: FirebaseStorage, baseUrl: string);
6
+ constructor(storage: Storage, baseUrl: string);
7
7
  upload(path: string, file: Blob | Uint8Array | ArrayBuffer): Promise<string>;
8
8
  }
@@ -7,12 +7,9 @@ export declare enum HasuraGraphQLWhere {
7
7
  LT = "_lt",
8
8
  LTE = "_lte",
9
9
  LIKE = "_like",
10
- ILIKE = "_ilike",
11
10
  NOTLIKE = "_nlike",
12
11
  ISNULL = "_is_null",
13
12
  ISNOTNULL = "_is_null",
14
13
  JSON_CONTAINS = "_contains",
15
- JSON_HAS_KEYS_ANY = "_has_keys_any",
16
- IREGEX = "_iregex",
17
- REGEX = "_regex"
14
+ JSON_HAS_KEYS_ANY = "_has_keys_any"
18
15
  }
@@ -3,6 +3,4 @@ import { ColumnOptions } from '../../types';
3
3
  export declare class FilterOptionHelper {
4
4
  static CheckIfIsFilterOption: <Model extends ModelBaseStructure>(filter: any) => filter is RepositoryFindFieltersOptions<Model, any>;
5
5
  static GetValueFromFilter: <Model extends ModelBaseStructure<Model>>(filter: RepositoryFindFieltersOptions<Model, any>, fieldOption: ColumnOptions<any, any>) => any;
6
- private static buildInsensitiveSentence;
7
- private static removeAccents;
8
6
  }
@@ -12,8 +12,6 @@ export declare class ProductHasuraGraphQLRepository extends ProductHasuraGraphQL
12
12
  find(params?: FindRepositoryParams<ProductHasuraGraphQL>): Promise<RepositoryFindResult<ProductHasuraGraphQL>>;
13
13
  getBySlug(slug: string): Promise<ProductHasuraGraphQL>;
14
14
  update(params: UpdateRepositoryParams<ProductHasuraGraphQL>): Promise<ProductHasuraGraphQL>;
15
- fetchProductReviews(): Promise<ReviewWithProductData[]>;
16
- private getReviewStatus;
17
15
  fetchReviews(status: ReviewStatusParams): Promise<ReviewWithProductData[]>;
18
16
  findCatalog(params: FindRepositoryParams<ProductHasuraGraphQL>, mainGender?: Extract<ProductGender, 'female' | 'male'>): Promise<RepositoryFindResult<ProductHasuraGraphQL>>;
19
17
  private updateCategories;
@@ -1,5 +1,5 @@
1
- import { add, addBusinessDays, addDays, addMonths, addYears, Duration, endOfDay, format, formatISO9075, parseISO, startOfDay, sub } from 'date-fns';
2
- import { chunk, each, get, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, pick, set, sortBy, unset } from 'lodash';
1
+ import { add, addBusinessDays, addDays, addMonths, addYears, Duration, endOfDay, format, formatISO9075, parseISO, startOfDay, sub, subDays } from 'date-fns';
2
+ import { chunk, each, get, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, pick, set, unset } from 'lodash';
3
3
  export type DateDuration = Duration;
4
4
  export * from './decorators';
5
5
  export * from './get';
@@ -10,4 +10,4 @@ export * from './log.utils';
10
10
  export * from './mixins';
11
11
  export * from './parse-datetime';
12
12
  export * from './types';
13
- export { add, addBusinessDays, addDays, addMonths, addYears, chunk, each, endOfDay, format, formatISO9075, get, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, parseISO, pick, set, sortBy, startOfDay, sub, unset, };
13
+ export { add, addDays, addBusinessDays, addMonths, addYears, chunk, each, endOfDay, format, formatISO9075, get, isBoolean, isDate, isEmpty, isInteger, isNil, isNaN, isNumber, isObject, isString, parseISO, now, omit, pick, set, startOfDay, sub, subDays, unset, };
@@ -1,6 +0,0 @@
1
- export declare enum Plans {
2
- SELECT = "SELECT",
3
- PRIME = "PRIME",
4
- SELECT_MENSAL = "SELECT_MENSAL",
5
- PRIME_MENSAL = "PRIME_MENSAL"
6
- }
@@ -1 +0,0 @@
1
- export * from './plan.type';
@@ -1,2 +0,0 @@
1
- import { Plans } from '../enums';
2
- export type Plan = `${Plans}`;