@infrab4a/connect 4.21.3 → 4.22.0-beta.1

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 (83) hide show
  1. package/index.cjs.js +887 -243
  2. package/index.esm.js +866 -248
  3. package/package.json +1 -1
  4. package/src/domain/catalog/models/types/index.d.ts +0 -1
  5. package/src/domain/catalog/repositories/product.repository.d.ts +1 -2
  6. package/src/domain/general/models/index.d.ts +1 -0
  7. package/src/domain/general/models/sequences.d.ts +9 -0
  8. package/src/domain/general/repositories/index.d.ts +1 -0
  9. package/src/domain/general/repositories/sequences.repository.d.ts +4 -0
  10. package/src/domain/shopping/enums/antifraud-providers.enum.d.ts +6 -0
  11. package/src/domain/shopping/enums/business-unit.enum.d.ts +4 -0
  12. package/src/domain/shopping/enums/index.d.ts +6 -0
  13. package/src/domain/shopping/enums/order-blocked.enum.d.ts +5 -0
  14. package/src/domain/shopping/enums/pagarme-payment-status.enum.d.ts +10 -0
  15. package/src/domain/shopping/enums/payment-methods.enum.d.ts +6 -0
  16. package/src/domain/shopping/enums/payment-providers.enum.d.ts +5 -0
  17. package/src/domain/shopping/factories/adyen-payment-method.factory.d.ts +9 -0
  18. package/src/domain/shopping/factories/antifraud-provider.factory.d.ts +15 -0
  19. package/src/domain/shopping/factories/base-payment-method.factory.d.ts +7 -0
  20. package/src/domain/shopping/factories/glampoints-payment-method.factory.d.ts +8 -0
  21. package/src/domain/shopping/factories/index.d.ts +5 -0
  22. package/src/domain/shopping/factories/pagarme-payment-method.factory.d.ts +11 -0
  23. package/src/domain/shopping/factories/payment-provider.factory.d.ts +15 -0
  24. package/src/domain/shopping/index.d.ts +4 -0
  25. package/src/domain/shopping/interfaces/antifraud-method-factory.interface.d.ts +11 -0
  26. package/src/domain/shopping/interfaces/antifraud-provider.interface.d.ts +5 -0
  27. package/src/domain/shopping/interfaces/index.d.ts +7 -0
  28. package/src/domain/shopping/interfaces/payment-method-factory.interface.d.ts +14 -0
  29. package/src/domain/shopping/interfaces/payment-provider-bank-slip.interface.d.ts +7 -0
  30. package/src/domain/shopping/interfaces/payment-provider-card.interface.d.ts +13 -0
  31. package/src/domain/shopping/interfaces/payment-provider-glampoints.interface.d.ts +9 -0
  32. package/src/domain/shopping/interfaces/payment-provider-pix.interface.d.ts +5 -0
  33. package/src/domain/shopping/models/index.d.ts +1 -0
  34. package/src/domain/shopping/models/order-blocked.d.ts +4 -6
  35. package/src/domain/shopping/models/order.d.ts +2 -2
  36. package/src/domain/shopping/models/payment-transaction.d.ts +67 -0
  37. package/src/domain/shopping/models/payment.d.ts +10 -63
  38. package/src/domain/shopping/models/types/index.d.ts +4 -4
  39. package/src/domain/shopping/services/antifraud-bankslip.service.d.ts +9 -0
  40. package/src/domain/shopping/services/antifraud-card.service.d.ts +18 -0
  41. package/src/domain/shopping/services/antifraud-glampoints.service.d.ts +6 -0
  42. package/src/domain/shopping/services/antifraud-pix.service.d.ts +6 -0
  43. package/src/domain/shopping/services/glampoints-payment.service.d.ts +13 -0
  44. package/src/domain/shopping/services/index.d.ts +5 -0
  45. package/src/domain/shopping/types/adyen-card.type.d.ts +3 -0
  46. package/src/domain/shopping/types/adyen-credentials.type.d.ts +6 -0
  47. package/src/domain/shopping/types/antifraud-provider.type.d.ts +2 -0
  48. package/src/domain/shopping/types/base-card.type.d.ts +2 -0
  49. package/src/domain/shopping/types/card-info.type.d.ts +8 -0
  50. package/src/domain/shopping/types/glam-credentials.type.d.ts +6 -0
  51. package/src/domain/shopping/types/index.d.ts +9 -0
  52. package/src/domain/shopping/types/pagarme-card-manual-hash.type.d.ts +6 -0
  53. package/src/domain/shopping/types/pagarme-card.type.d.ts +16 -0
  54. package/src/domain/shopping/types/pagarme-credentials.type.d.ts +7 -0
  55. package/src/domain/shopping/types/payment-card-info.type.d.ts +3 -0
  56. package/src/domain/shopping/types/payment-method.type.d.ts +2 -0
  57. package/src/domain/shopping/types/payment-provider.type.d.ts +2 -0
  58. package/src/errors/business.error.d.ts +7 -0
  59. package/src/errors/fraud-validation.error.d.ts +7 -0
  60. package/src/errors/index.d.ts +8 -2
  61. package/src/errors/payment.error.d.ts +7 -0
  62. package/src/errors/stock-limit.error.d.ts +5 -0
  63. package/src/errors/stock-out.error.d.ts +5 -0
  64. package/src/errors/types/checkout-additional-data-erro.type.d.ts +6 -0
  65. package/src/errors/types/index.d.ts +2 -0
  66. package/src/errors/types/pagarme-erros.type.d.ts +9 -0
  67. package/src/infra/adyen/adapters/adyen-card-payment-axios.adapter.d.ts +17 -0
  68. package/src/infra/adyen/adapters/index.d.ts +1 -0
  69. package/src/infra/adyen/index.d.ts +1 -0
  70. package/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +1 -2
  71. package/src/infra/firebase/firestore/repositories/general/index.d.ts +1 -0
  72. package/src/infra/firebase/firestore/repositories/general/sequences-firestore.repository.d.ts +7 -0
  73. package/src/infra/firebase/firestore/repositories/shopping/index.d.ts +1 -1
  74. package/src/infra/firebase/firestore/repositories/shopping/{order-blocked-firestore.repository.ts.d.ts → order-blocked-firestore.repository.d.ts} +2 -2
  75. package/src/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +1 -2
  76. package/src/infra/index.d.ts +2 -0
  77. package/src/infra/pagarme/adapters/index.d.ts +3 -0
  78. package/src/infra/pagarme/adapters/pagarme-bank-slip-payment-axios.adapter.d.ts +12 -0
  79. package/src/infra/pagarme/adapters/pagarme-card-payment-axios.adapter.d.ts +17 -0
  80. package/src/infra/pagarme/adapters/pagarme-pix-payment-axios.adapter.d.ts +11 -0
  81. package/src/infra/pagarme/index.d.ts +1 -0
  82. package/src/utils/index.d.ts +2 -2
  83. package/src/domain/catalog/models/types/product-variant-report.type.d.ts +0 -46
@@ -0,0 +1,16 @@
1
+ import { BaseCard } from './base-card.type';
2
+ export interface PagarMeCard extends BaseCard {
3
+ object: string;
4
+ id: string;
5
+ date_created: string;
6
+ date_updated: string;
7
+ brand: string;
8
+ holder_name: string;
9
+ first_digits: string;
10
+ last_digits: string;
11
+ country: string;
12
+ fingerprint: string;
13
+ customer: string;
14
+ valid: boolean;
15
+ expiration_date: string;
16
+ }
@@ -0,0 +1,7 @@
1
+ export type PagarmeCredentials = {
2
+ URL: string;
3
+ URL_POSTBACK: string;
4
+ API_KEY: string;
5
+ SUBSCRIPTION_API_KEY: string;
6
+ SHOP_API_KEY: string;
7
+ };
@@ -1,4 +1,7 @@
1
1
  export type PaymentCardInfo = {
2
2
  cardId: string;
3
+ cardCvv?: string;
3
4
  installments: number;
5
+ cpf?: string;
6
+ fingerprint?: string;
4
7
  };
@@ -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}`;
@@ -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,10 @@
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';
10
+ export * from './types';
@@ -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,5 @@
1
+ import { BusinessError } from './business.error';
2
+ import { checkoutAdditionalDataError } from './types';
3
+ export declare class StockLimitError extends BusinessError {
4
+ constructor(message: string, additionalData: checkoutAdditionalDataError);
5
+ }
@@ -0,0 +1,5 @@
1
+ import { BusinessError } from './business.error';
2
+ import { checkoutAdditionalDataError } from './types';
3
+ export declare class StockOutError extends BusinessError {
4
+ constructor(message: string, additionalData?: checkoutAdditionalDataError);
5
+ }
@@ -0,0 +1,6 @@
1
+ export type checkoutAdditionalDataError = {
2
+ checkoutId?: string;
3
+ userEmail?: string;
4
+ info?: any;
5
+ paymentId?: string | number;
6
+ };
@@ -0,0 +1,2 @@
1
+ export * from './checkout-additional-data-erro.type';
2
+ export * from './pagarme-erros.type';
@@ -0,0 +1,9 @@
1
+ export type PagarMeError = {
2
+ errors: {
3
+ message: string;
4
+ parameter_name: string;
5
+ type: string;
6
+ }[];
7
+ method: string;
8
+ url: string;
9
+ };
@@ -0,0 +1,17 @@
1
+ import { BusinessUnitEnum } from '../../../domain';
2
+ import { PaymentProviderCard } from '../../../domain/shopping/interfaces';
3
+ import { Checkout, Payment, PaymentTransaction } from '../../../domain/shopping/models';
4
+ import { OrderBlockedRepository, PaymentRepository } from '../../../domain/shopping/repositories';
5
+ import { AdyenCard, AdyenCredentials, PaymentCardInfo } from '../../../domain/shopping/types';
6
+ export declare class AdyenCardAxiosAdapter implements PaymentProviderCard<AdyenCard> {
7
+ private credentials;
8
+ private paymentRepository;
9
+ private orderBlockedRepository;
10
+ constructor(credentials: AdyenCredentials, paymentRepository: PaymentRepository, orderBlockedRepository: OrderBlockedRepository);
11
+ createCardHash(bu: BusinessUnitEnum): Promise<string>;
12
+ pay(checkout: Checkout, card: PaymentCardInfo): Promise<Payment>;
13
+ private createCardPayment;
14
+ addCard(): Promise<AdyenCard>;
15
+ getCardByToken(token: string): Promise<AdyenCard>;
16
+ createTransaction(info: any): Promise<PaymentTransaction>;
17
+ }
@@ -0,0 +1 @@
1
+ export * from './adyen-card-payment-axios.adapter';
@@ -0,0 +1 @@
1
+ export * from './adapters';
@@ -1,4 +1,4 @@
1
- import { FindRepositoryParams, PaginatedReviewFilters, Product, ProductRepository, ProductVariantReport, RepositoryFindResult, ReviewStatusParams, ReviewWithProductData } from '../../../../../domain';
1
+ import { FindRepositoryParams, PaginatedReviewFilters, 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 {
@@ -10,6 +10,5 @@ export declare class ProductFirestoreRepository extends ProductFirestoreReposito
10
10
  cleanShoppingCountFromIds(): Promise<void>;
11
11
  findCatalog(params: FindRepositoryParams<Product>): Promise<RepositoryFindResult<Product>>;
12
12
  fetchPaginatedReviews(): Promise<ReviewWithProductData[]>;
13
- productVariantFullReport(): Promise<ProductVariantReport[]>;
14
13
  }
15
14
  export {};
@@ -1 +1,2 @@
1
1
  export * from './log-firestore.repository';
2
+ 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 {};
@@ -5,7 +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.ts';
8
+ export * from './order-blocked-firestore.repository';
9
9
  export * from './order-firestore.repository';
10
10
  export * from './payment-firestore.repository';
11
11
  export * from './subscription-plan-firestore.repository';
@@ -1,9 +1,9 @@
1
- import { Checkout, OrderBlocked, OrderBlockedRepository, PaymentCardInfo } from '../../../../../domain';
1
+ import { Checkout, OrderBlocked, OrderBlockedRepository, OrderBlockedType, PaymentCardInfo } from '../../../../../domain';
2
2
  import { FirestoreConstructorParams } from '../../mixins';
3
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
4
  export declare class OrderBlockedFirestoreRepository extends OrderBlockedFirestoreRepository_base implements OrderBlockedRepository {
5
5
  constructor({ firestore, interceptors, }: Pick<FirestoreConstructorParams<OrderBlocked>, 'firestore' | 'interceptors'>);
6
- createBlockedOrderOrPayment(checkout: Checkout, blockType: string, type: string, limiteRange: string, card?: PaymentCardInfo): Promise<OrderBlocked>;
6
+ createBlockedOrderOrPayment(checkout: Checkout, blockType: string, type: OrderBlockedType, limiteRange: string, card?: PaymentCardInfo): Promise<OrderBlocked>;
7
7
  private formatZip;
8
8
  }
9
9
  export {};
@@ -1,4 +1,4 @@
1
- import { CreateRepositoryParams, FindRepositoryParams, GetRepositoryParams, ProductGender, ProductRepository, ProductVariantReport, RepositoryFindResult, ReviewStatusParams, ReviewWithProductData, UpdateRepositoryParams } from '../../../../domain';
1
+ import { CreateRepositoryParams, FindRepositoryParams, GetRepositoryParams, ProductGender, ProductRepository, RepositoryFindResult, ReviewStatusParams, ReviewWithProductData, UpdateRepositoryParams } from '../../../../domain';
2
2
  import { HasuraConstructorParams } from '../../mixins';
3
3
  import { ProductHasuraGraphQL } from '../../models';
4
4
  declare const ProductHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("../../types").GraphQLRepository<ProductHasuraGraphQL> & import("../../../../domain").CrudRepository<ProductHasuraGraphQL, import("../../../../domain").CrudParams<ProductHasuraGraphQL>> & import("../../../../domain").UpdateRepository<ProductHasuraGraphQL, import("../../../../domain").RepositoryUpdateParams<ProductHasuraGraphQL>> & {
@@ -27,6 +27,5 @@ export declare class ProductHasuraGraphQLRepository extends ProductHasuraGraphQL
27
27
  private getReviewByAuthorAndEmail;
28
28
  private bindReviewToModel;
29
29
  private bindReviewToHasura;
30
- productVariantFullReport(): Promise<ProductVariantReport[]>;
31
30
  }
32
31
  export {};
@@ -1,4 +1,6 @@
1
+ export * from './adyen';
1
2
  export * from './elasticsearch';
2
3
  export * from './firebase';
3
4
  export * from './hasura-graphql';
5
+ export * from './pagarme';
4
6
  export * from './vertex-ai';
@@ -0,0 +1,3 @@
1
+ export * from './pagarme-bank-slip-payment-axios.adapter';
2
+ export * from './pagarme-card-payment-axios.adapter';
3
+ export * from './pagarme-pix-payment-axios.adapter';
@@ -0,0 +1,12 @@
1
+ import { PaymentProviderBankSlip } from '../../../domain/shopping/interfaces';
2
+ import { Checkout, Payment, PaymentTransaction } from '../../../domain/shopping/models';
3
+ import { PaymentRepository } from '../../../domain/shopping/repositories';
4
+ import { PagarmeCredentials } from '../../../domain/shopping/types';
5
+ export declare class PagarmeBankSlipAxiosAdapter implements PaymentProviderBankSlip {
6
+ private credentials;
7
+ private paymentRepository;
8
+ constructor(credentials: PagarmeCredentials, paymentRepository: PaymentRepository);
9
+ pay(checkout: Checkout): Promise<Payment>;
10
+ getBoletoTransaction(paymentId: number): Promise<PaymentTransaction>;
11
+ private createBoletoPayment;
12
+ }
@@ -0,0 +1,17 @@
1
+ import { BusinessUnitEnum } from '../../../domain/shopping/enums';
2
+ import { PaymentProviderCard } from '../../../domain/shopping/interfaces';
3
+ import { Checkout, Payment, PaymentTransaction } from '../../../domain/shopping/models';
4
+ import { OrderBlockedRepository, PaymentRepository } from '../../../domain/shopping/repositories';
5
+ import { CardInfo, PagarMeCard, PagarmeCredentials, PaymentCardInfo } from '../../../domain/shopping/types';
6
+ export declare class PagarmeCardAxiosAdapter implements PaymentProviderCard<PagarMeCard> {
7
+ private credentials;
8
+ private paymentRepository;
9
+ private orderBlockedRepository;
10
+ constructor(credentials: PagarmeCredentials, paymentRepository: PaymentRepository, orderBlockedRepository: OrderBlockedRepository);
11
+ pay(checkout: Checkout, card: PaymentCardInfo): Promise<Payment>;
12
+ addCard(card: CardInfo): Promise<PagarMeCard>;
13
+ createCardHash<PagarMeCardManualHash>(bu: BusinessUnitEnum): Promise<PagarMeCardManualHash>;
14
+ getCardByToken(id: string): Promise<PagarMeCard>;
15
+ createTransaction(info: any): Promise<PaymentTransaction>;
16
+ private createCardPayment;
17
+ }
@@ -0,0 +1,11 @@
1
+ import { PaymentProviderPix } from '../../../domain/shopping/interfaces';
2
+ import { Checkout, Payment } from '../../../domain/shopping/models';
3
+ import { PaymentRepository } from '../../../domain/shopping/repositories';
4
+ import { PagarmeCredentials } from '../../../domain/shopping/types';
5
+ export declare class PagarmePixAxiosAdapter 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 @@
1
+ export * from './adapters';
@@ -1,4 +1,4 @@
1
- import { add, addBusinessDays, addDays, addMonths, addYears, Duration, endOfDay, format, formatISO9075, parseISO, startOfDay, sub } from 'date-fns';
1
+ import { add, addBusinessDays, addDays, addMonths, addYears, Duration, endOfDay, format, formatISO9075, parseISO, startOfDay, sub, subDays } from 'date-fns';
2
2
  import { chunk, each, get, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, pick, set, sortBy, unset } from 'lodash';
3
3
  export type DateDuration = Duration;
4
4
  export * from './decorators';
@@ -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, 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, subDays, unset, };
@@ -1,46 +0,0 @@
1
- export type ProductVariantReport = {
2
- id: number;
3
- name?: string;
4
- description?: string;
5
- slug?: string;
6
- sku?: string;
7
- ean?: string;
8
- cest?: string;
9
- ncm?: string;
10
- has_variants?: boolean;
11
- is_variant?: boolean;
12
- grade: any;
13
- type?: string;
14
- is_kit?: boolean;
15
- tags?: string[];
16
- published?: boolean;
17
- stock?: number;
18
- brand?: string;
19
- brand_description?: string;
20
- images?: string[];
21
- miniatures?: string[];
22
- video?: string;
23
- weight?: number;
24
- cost_price?: number;
25
- full_price?: number;
26
- price?: number;
27
- subscriber_discount_percentage?: number;
28
- subscriber_price?: number;
29
- how_to_use?: string;
30
- who_must_use?: string;
31
- differentials?: string;
32
- ingredients?: string;
33
- purpose?: string;
34
- filters: string[];
35
- category_id?: number;
36
- outlet?: boolean;
37
- label?: string;
38
- group?: number;
39
- validity?: boolean;
40
- gender?: string;
41
- shopping_count?: number;
42
- rating?: number;
43
- reviews_total?: number;
44
- created_at?: Date;
45
- updated_at?: Date;
46
- };