@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.
- package/index.cjs.js +887 -243
- package/index.esm.js +866 -248
- package/package.json +1 -1
- package/src/domain/catalog/models/types/index.d.ts +0 -1
- package/src/domain/catalog/repositories/product.repository.d.ts +1 -2
- package/src/domain/general/models/index.d.ts +1 -0
- package/src/domain/general/models/sequences.d.ts +9 -0
- package/src/domain/general/repositories/index.d.ts +1 -0
- package/src/domain/general/repositories/sequences.repository.d.ts +4 -0
- package/src/domain/shopping/enums/antifraud-providers.enum.d.ts +6 -0
- package/src/domain/shopping/enums/business-unit.enum.d.ts +4 -0
- package/src/domain/shopping/enums/index.d.ts +6 -0
- package/src/domain/shopping/enums/order-blocked.enum.d.ts +5 -0
- package/src/domain/shopping/enums/pagarme-payment-status.enum.d.ts +10 -0
- package/src/domain/shopping/enums/payment-methods.enum.d.ts +6 -0
- package/src/domain/shopping/enums/payment-providers.enum.d.ts +5 -0
- package/src/domain/shopping/factories/adyen-payment-method.factory.d.ts +9 -0
- package/src/domain/shopping/factories/antifraud-provider.factory.d.ts +15 -0
- package/src/domain/shopping/factories/base-payment-method.factory.d.ts +7 -0
- package/src/domain/shopping/factories/glampoints-payment-method.factory.d.ts +8 -0
- package/src/domain/shopping/factories/index.d.ts +5 -0
- package/src/domain/shopping/factories/pagarme-payment-method.factory.d.ts +11 -0
- package/src/domain/shopping/factories/payment-provider.factory.d.ts +15 -0
- package/src/domain/shopping/index.d.ts +4 -0
- package/src/domain/shopping/interfaces/antifraud-method-factory.interface.d.ts +11 -0
- package/src/domain/shopping/interfaces/antifraud-provider.interface.d.ts +5 -0
- package/src/domain/shopping/interfaces/index.d.ts +7 -0
- package/src/domain/shopping/interfaces/payment-method-factory.interface.d.ts +14 -0
- package/src/domain/shopping/interfaces/payment-provider-bank-slip.interface.d.ts +7 -0
- package/src/domain/shopping/interfaces/payment-provider-card.interface.d.ts +13 -0
- package/src/domain/shopping/interfaces/payment-provider-glampoints.interface.d.ts +9 -0
- package/src/domain/shopping/interfaces/payment-provider-pix.interface.d.ts +5 -0
- package/src/domain/shopping/models/index.d.ts +1 -0
- package/src/domain/shopping/models/order-blocked.d.ts +4 -6
- package/src/domain/shopping/models/order.d.ts +2 -2
- package/src/domain/shopping/models/payment-transaction.d.ts +67 -0
- package/src/domain/shopping/models/payment.d.ts +10 -63
- package/src/domain/shopping/models/types/index.d.ts +4 -4
- package/src/domain/shopping/services/antifraud-bankslip.service.d.ts +9 -0
- package/src/domain/shopping/services/antifraud-card.service.d.ts +18 -0
- package/src/domain/shopping/services/antifraud-glampoints.service.d.ts +6 -0
- package/src/domain/shopping/services/antifraud-pix.service.d.ts +6 -0
- package/src/domain/shopping/services/glampoints-payment.service.d.ts +13 -0
- package/src/domain/shopping/services/index.d.ts +5 -0
- package/src/domain/shopping/types/adyen-card.type.d.ts +3 -0
- package/src/domain/shopping/types/adyen-credentials.type.d.ts +6 -0
- package/src/domain/shopping/types/antifraud-provider.type.d.ts +2 -0
- package/src/domain/shopping/types/base-card.type.d.ts +2 -0
- package/src/domain/shopping/types/card-info.type.d.ts +8 -0
- package/src/domain/shopping/types/glam-credentials.type.d.ts +6 -0
- package/src/domain/shopping/types/index.d.ts +9 -0
- package/src/domain/shopping/types/pagarme-card-manual-hash.type.d.ts +6 -0
- package/src/domain/shopping/types/pagarme-card.type.d.ts +16 -0
- package/src/domain/shopping/types/pagarme-credentials.type.d.ts +7 -0
- package/src/domain/shopping/types/payment-card-info.type.d.ts +3 -0
- package/src/domain/shopping/types/payment-method.type.d.ts +2 -0
- package/src/domain/shopping/types/payment-provider.type.d.ts +2 -0
- package/src/errors/business.error.d.ts +7 -0
- package/src/errors/fraud-validation.error.d.ts +7 -0
- package/src/errors/index.d.ts +8 -2
- package/src/errors/payment.error.d.ts +7 -0
- package/src/errors/stock-limit.error.d.ts +5 -0
- package/src/errors/stock-out.error.d.ts +5 -0
- package/src/errors/types/checkout-additional-data-erro.type.d.ts +6 -0
- package/src/errors/types/index.d.ts +2 -0
- package/src/errors/types/pagarme-erros.type.d.ts +9 -0
- package/src/infra/adyen/adapters/adyen-card-payment-axios.adapter.d.ts +17 -0
- package/src/infra/adyen/adapters/index.d.ts +1 -0
- package/src/infra/adyen/index.d.ts +1 -0
- package/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +1 -2
- package/src/infra/firebase/firestore/repositories/general/index.d.ts +1 -0
- package/src/infra/firebase/firestore/repositories/general/sequences-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/shopping/index.d.ts +1 -1
- package/src/infra/firebase/firestore/repositories/shopping/{order-blocked-firestore.repository.ts.d.ts → order-blocked-firestore.repository.d.ts} +2 -2
- package/src/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +1 -2
- package/src/infra/index.d.ts +2 -0
- package/src/infra/pagarme/adapters/index.d.ts +3 -0
- package/src/infra/pagarme/adapters/pagarme-bank-slip-payment-axios.adapter.d.ts +12 -0
- package/src/infra/pagarme/adapters/pagarme-card-payment-axios.adapter.d.ts +17 -0
- package/src/infra/pagarme/adapters/pagarme-pix-payment-axios.adapter.d.ts +11 -0
- package/src/infra/pagarme/index.d.ts +1 -0
- package/src/utils/index.d.ts +2 -2
- 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
|
+
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
|
+
}
|
package/src/errors/index.d.ts
CHANGED
|
@@ -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 './
|
|
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,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,
|
|
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 {};
|
|
@@ -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
|
|
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:
|
|
6
|
+
createBlockedOrderOrPayment(checkout: Checkout, blockType: string, type: OrderBlockedType, limiteRange: string, card?: PaymentCardInfo): Promise<OrderBlocked>;
|
|
7
7
|
private formatZip;
|
|
8
8
|
}
|
|
9
9
|
export {};
|
package/src/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreateRepositoryParams, FindRepositoryParams, GetRepositoryParams, ProductGender, ProductRepository,
|
|
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 {};
|
package/src/infra/index.d.ts
CHANGED
|
@@ -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';
|
package/src/utils/index.d.ts
CHANGED
|
@@ -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
|
-
};
|