@infrab4a/connect 5.3.0-beta.31 → 5.3.0-beta.33

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 (30) hide show
  1. package/index.cjs.js +296 -65
  2. package/index.esm.js +288 -66
  3. package/package.json +1 -1
  4. package/src/domain/shop-settings/models/shop-configs.d.ts +3 -12
  5. package/src/domain/shop-settings/models/types/antifraud-config.type.d.ts +21 -0
  6. package/src/domain/shop-settings/models/types/index.d.ts +1 -0
  7. package/src/domain/shop-settings/models/types/limit-orders.type.d.ts +3 -2
  8. package/src/domain/shopping/helpers/antifraud-enabled.helper.d.ts +8 -0
  9. package/src/domain/shopping/helpers/antifraud-volume-limits.helper.d.ts +6 -0
  10. package/src/domain/shopping/helpers/index.d.ts +2 -0
  11. package/src/domain/shopping/index.d.ts +1 -0
  12. package/src/domain/shopping/models/campaign-hashtag-posts.d.ts +23 -0
  13. package/src/domain/shopping/models/campaign-hashtag.d.ts +12 -10
  14. package/src/domain/shopping/models/coupons/coupon.d.ts +1 -0
  15. package/src/domain/shopping/models/index.d.ts +2 -0
  16. package/src/domain/shopping/models/pending-order.d.ts +21 -0
  17. package/src/domain/shopping/models/shipping-method.d.ts +1 -0
  18. package/src/domain/shopping/repositories/campaign-hashtag-posts.repository.d.ts +4 -0
  19. package/src/domain/shopping/repositories/index.d.ts +2 -0
  20. package/src/domain/shopping/repositories/pending-order.repository.d.ts +4 -0
  21. package/src/domain/shopping/services/antifraud-bankslip.service.d.ts +3 -1
  22. package/src/domain/shopping/services/antifraud-card.service.d.ts +6 -6
  23. package/src/domain/shopping/services/antifraud-glampoints.service.d.ts +4 -2
  24. package/src/domain/shopping/services/antifraud-pix.service.d.ts +4 -2
  25. package/src/domain/shopping/types/antifraud-card-validation.type.d.ts +40 -0
  26. package/src/domain/shopping/types/antifraud-volume-limits.type.d.ts +24 -0
  27. package/src/domain/shopping/types/index.d.ts +2 -0
  28. package/src/infra/firebase/firestore/repositories/shopping/campaign-hashtag-posts-firestore.repository.d.ts +8 -0
  29. package/src/infra/firebase/firestore/repositories/shopping/index.d.ts +2 -0
  30. package/src/infra/firebase/firestore/repositories/shopping/pending-order-firestore.repository.d.ts +7 -0
@@ -55,6 +55,7 @@ export declare class Coupon extends BaseModel<Coupon> {
55
55
  personEmail?: string;
56
56
  influencerEmail?: string;
57
57
  plan?: ClubeDaMensPlan;
58
+ freeShipping?: boolean;
58
59
  productsCategories: string[];
59
60
  minSubTotalValue?: number;
60
61
  active?: Boolean;
@@ -1,12 +1,14 @@
1
1
  export * from './buy-2-win';
2
2
  export * from './campaign-dashboard';
3
3
  export * from './campaign-hashtag';
4
+ export * from './campaign-hashtag-posts';
4
5
  export * from './checkout';
5
6
  export * from './coupons';
6
7
  export * from './enums';
7
8
  export * from './line-item';
8
9
  export * from './order';
9
10
  export * from './order-blocked';
11
+ export * from './pending-order';
10
12
  export * from './payment';
11
13
  export * from './payment-transaction';
12
14
  export * from './recurrence';
@@ -0,0 +1,21 @@
1
+ import { BaseModel, GenericIdentifier } from '../../generic/model/base.model';
2
+ export type PendingOrderProduct = {
3
+ barra: string;
4
+ brindesite: boolean;
5
+ desconto: number;
6
+ item: string;
7
+ preco: number;
8
+ quantidade: number;
9
+ };
10
+ /**
11
+ * Queue document for millenium shop-order send/retry.
12
+ * Firestore collection remains `transId` (see PendingOrderFirestoreRepository).
13
+ */
14
+ export declare class PendingOrder extends BaseModel<PendingOrder> {
15
+ id: string;
16
+ errorMessage?: string[];
17
+ products?: PendingOrderProduct[];
18
+ isReshipment?: boolean;
19
+ static get identifiersFields(): GenericIdentifier[];
20
+ get firstErrorMessage(): string | null;
21
+ }
@@ -9,6 +9,7 @@ export declare class ShippingMethod extends BaseModel<ShippingMethod> {
9
9
  ShippingCompanyId?: number;
10
10
  ShippingCompanyName: string;
11
11
  ShippingPrice: number;
12
+ ShippingOriginalPrice?: number;
12
13
  State?: string;
13
14
  ZipEnd?: number;
14
15
  ZipStart?: number;
@@ -0,0 +1,4 @@
1
+ import { CrudRepository } from '../../generic/repository/crud.repository';
2
+ import { CampaignHashtagPosts } from '../models/campaign-hashtag-posts';
3
+ export interface CampaignHashtagPostsRepository extends CrudRepository<CampaignHashtagPosts> {
4
+ }
@@ -1,11 +1,13 @@
1
1
  export * from './buy-2-win.repository';
2
2
  export * from './campaign-dashboard.repository';
3
3
  export * from './campaign-hashtag.repository';
4
+ export * from './campaign-hashtag-posts.repository';
4
5
  export * from './checkout.repository';
5
6
  export * from './coupon.repository';
6
7
  export * from './legacy-order.repository';
7
8
  export * from './order-blocked.repository';
8
9
  export * from './order.repository';
10
+ export * from './pending-order.repository';
9
11
  export * from './payment.repository';
10
12
  export * from './recurrence';
11
13
  export * from './subscription';
@@ -0,0 +1,4 @@
1
+ import { CrudRepository } from '../../generic/repository/crud.repository';
2
+ import { PendingOrder } from '../models/pending-order';
3
+ export interface PendingOrderRepository extends CrudRepository<PendingOrder> {
4
+ }
@@ -1,9 +1,11 @@
1
+ import { ShopConfigsRepository } from '../../shop-settings';
1
2
  import { AntifraudProvider } from '../interfaces';
2
3
  import { Checkout } from '../models';
3
4
  import { OrderBlockedRepository } from '../repositories';
4
5
  export declare class AntifraudBankSlipService implements AntifraudProvider {
5
6
  private orderBlockedRepository;
7
+ private readonly shopConfigsRepository?;
6
8
  private MAX_ORDER_VALUE;
7
- constructor(orderBlockedRepository: OrderBlockedRepository);
9
+ constructor(orderBlockedRepository: OrderBlockedRepository, shopConfigsRepository?: ShopConfigsRepository);
8
10
  validate(checkout: Checkout): Promise<Boolean>;
9
11
  }
@@ -1,17 +1,17 @@
1
+ import { ShopConfigsRepository } from '../../shop-settings';
2
+ import { DEFAULT_ANTIFRAUD_VOLUME_LIMITS, resolveAntifraudVolumeLimits } from '../helpers';
1
3
  import { AntifraudProvider } from '../interfaces';
2
4
  import { Checkout } from '../models';
3
5
  import { OrderBlockedRepository, OrderRepository } from '../repositories';
4
6
  import { PaymentCardInfo } from '../types';
7
+ export { DEFAULT_ANTIFRAUD_VOLUME_LIMITS, resolveAntifraudVolumeLimits };
5
8
  export declare class AntifraudCardService implements AntifraudProvider {
6
9
  private readonly orderRepository;
7
10
  private readonly orderBlockedRepository;
8
- private LIMIT_ORDERS_DAY;
9
- private LIMIT_ORDERS_WEEK;
10
- private LIMIT_BLOCKED_ORDERS_DAY;
11
- constructor(orderRepository: OrderRepository, orderBlockedRepository: OrderBlockedRepository);
11
+ private readonly shopConfigsRepository?;
12
+ constructor(orderRepository: OrderRepository, orderBlockedRepository: OrderBlockedRepository, shopConfigsRepository?: ShopConfigsRepository);
12
13
  validate(checkout: Checkout, card: PaymentCardInfo): Promise<Boolean>;
13
- private setLimitsByUserType;
14
- private getLimitsByUserType;
14
+ private loadResolvedLimits;
15
15
  private validateBlockedOrderAttempts;
16
16
  private validateDayAndWeekOrderLimits;
17
17
  private verifyBlockedOrderAttempts;
@@ -1,6 +1,8 @@
1
+ import { ShopConfigsRepository } from '../../shop-settings';
1
2
  import { AntifraudProvider } from '../interfaces';
2
3
  import { Checkout } from '../models';
3
4
  export declare class AntifraudGlampointsService implements AntifraudProvider {
4
- constructor();
5
- validate(_checkout: Checkout): Promise<Boolean>;
5
+ private readonly shopConfigsRepository?;
6
+ constructor(shopConfigsRepository?: ShopConfigsRepository);
7
+ validate(checkout: Checkout): Promise<Boolean>;
6
8
  }
@@ -1,6 +1,8 @@
1
+ import { ShopConfigsRepository } from '../../shop-settings';
1
2
  import { AntifraudProvider } from '../interfaces';
2
3
  import { Checkout } from '../models';
3
4
  export declare class AntifraudPixService implements AntifraudProvider {
4
- constructor();
5
- validate(_checkout: Checkout): Promise<boolean>;
5
+ private readonly shopConfigsRepository?;
6
+ constructor(shopConfigsRepository?: ShopConfigsRepository);
7
+ validate(checkout: Checkout): Promise<boolean>;
6
8
  }
@@ -0,0 +1,40 @@
1
+ import { Checkout } from '../models';
2
+ import { PaymentCardInfo } from './payment-card-info.type';
3
+ import { AntifraudRuntimeLimitOrders } from './antifraud-volume-limits.type';
4
+ export type AntifraudValidationParams = {
5
+ cpf: string;
6
+ email: string;
7
+ phone: string;
8
+ zip: string;
9
+ card: PaymentCardInfo;
10
+ };
11
+ export type AntifraudDateRange = {
12
+ firstDate: number;
13
+ lastDate: number;
14
+ };
15
+ export type AntifraudOrderCounts = {
16
+ cpf: number;
17
+ email: number;
18
+ phone: number;
19
+ zip: number;
20
+ card?: number;
21
+ };
22
+ export type AntifraudBlockedOrderRecordParams = {
23
+ checkout: Checkout;
24
+ card: PaymentCardInfo | null;
25
+ reason: string;
26
+ key: string;
27
+ period: string;
28
+ };
29
+ export type AntifraudOrderLimitCheckParams = {
30
+ checkout: Checkout;
31
+ orderCounts: AntifraudOrderCounts;
32
+ limit: AntifraudRuntimeLimitOrders;
33
+ period: string;
34
+ };
35
+ export type AntifraudOrderFieldQueryParams = {
36
+ property: string;
37
+ field: string;
38
+ value: unknown;
39
+ range: AntifraudDateRange;
40
+ };
@@ -0,0 +1,24 @@
1
+ /** Limites resolvidos em runtime (zip semanal pode ser Infinity). */
2
+ export type AntifraudRuntimeLimitOrders = {
3
+ cpf: number;
4
+ email: number;
5
+ phone: number;
6
+ zip: number;
7
+ card: number;
8
+ };
9
+ export type ResolvedAntifraudVolumeLimits = {
10
+ enabled: boolean;
11
+ source: 'config' | 'fallback';
12
+ day: {
13
+ subscriber: AntifraudRuntimeLimitOrders;
14
+ nonSubscriber: AntifraudRuntimeLimitOrders;
15
+ };
16
+ week: {
17
+ subscriber: AntifraudRuntimeLimitOrders;
18
+ nonSubscriber: AntifraudRuntimeLimitOrders;
19
+ };
20
+ blockedAttemptsDay: {
21
+ subscriber: number;
22
+ nonSubscriber: number;
23
+ };
24
+ };
@@ -1,6 +1,8 @@
1
1
  export * from './adyen-card.type';
2
2
  export * from './adyen-credentials.type';
3
+ export * from './antifraud-card-validation.type';
3
4
  export * from './antifraud-provider.type';
5
+ export * from './antifraud-volume-limits.type';
4
6
  export * from './card-info.type';
5
7
  export * from './checkout-paylod-request.type';
6
8
  export * from './checkout-response.type';
@@ -0,0 +1,8 @@
1
+ import { CampaignHashtagPosts } from '../../../../../domain/shopping/models/campaign-hashtag-posts';
2
+ import { CampaignHashtagPostsRepository } from '../../../../../domain/shopping/repositories/campaign-hashtag-posts.repository';
3
+ import { FirestoreConstructorParams } from '../../mixins';
4
+ declare const CampaignHashtagPostsFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("../..").FirestoreRepository<CampaignHashtagPosts> & import("../../../../..").CrudRepository<CampaignHashtagPosts, import("../../../../..").CrudParams<CampaignHashtagPosts>> & import("../..").FirestoreHelpers, [FirestoreConstructorParams<CampaignHashtagPosts>, ...any[]]>;
5
+ export declare class CampaignHashtagPostsFirestoreRepository extends CampaignHashtagPostsFirestoreRepository_base implements CampaignHashtagPostsRepository {
6
+ constructor({ firestore, interceptors, cache, }: Pick<FirestoreConstructorParams<CampaignHashtagPosts>, 'firestore' | 'interceptors' | 'cache'>);
7
+ }
8
+ export {};
@@ -1,6 +1,7 @@
1
1
  export * from './buy-2-win-firestore.repository';
2
2
  export * from './campaign-dashboard-firestore.repository';
3
3
  export * from './campaign-hashtag-firestore.repository';
4
+ export * from './campaign-hashtag-posts-firestore.repository';
4
5
  export * from './checkout-firestore.repository';
5
6
  export * from './checkout-subscription-firestore.repository';
6
7
  export * from './coupon-firestore.repository';
@@ -8,6 +9,7 @@ export * from './legacy-order-firestore.repository';
8
9
  export * from './order-blocked-firestore.repository';
9
10
  export * from './order-firestore.repository';
10
11
  export * from './payment-firestore.repository';
12
+ export * from './pending-order-firestore.repository';
11
13
  export * from './shopping-recurrence-edition-firestore.repository';
12
14
  export * from './shopping-recurrence-error-log-firestore.repository';
13
15
  export * from './shopping-recurrence-firestore.repository';
@@ -0,0 +1,7 @@
1
+ import { PendingOrder, PendingOrderRepository } from '../../../../../domain';
2
+ import { FirestoreConstructorParams } from '../../mixins';
3
+ declare const PendingOrderFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("../..").FirestoreRepository<PendingOrder> & import("../../../../../domain").CrudRepository<PendingOrder, import("../../../../../domain").CrudParams<PendingOrder>> & import("../..").FirestoreHelpers, [FirestoreConstructorParams<PendingOrder>, ...any[]]>;
4
+ export declare class PendingOrderFirestoreRepository extends PendingOrderFirestoreRepository_base implements PendingOrderRepository {
5
+ constructor({ firestore, interceptors, cache, }: Pick<FirestoreConstructorParams<PendingOrder>, 'firestore' | 'interceptors' | 'cache'>);
6
+ }
7
+ export {};