@nomalism-com/types 0.37.7 → 0.37.8
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/dist/index.cjs +2 -4
- package/dist/index.js +2 -4
- package/dist/modules/supply/documentSet/interface.d.ts +0 -2
- package/dist/shared/entities/stock.d.ts +0 -1
- package/package.json +4 -1
- package/.editorconfig +0 -9
- package/.prettierrc +0 -7
- package/eslint.config.mjs +0 -39
- package/package-lock.json +0 -4327
- package/src/index.ts +0 -3
- package/src/main.ts +0 -672
- package/src/modules/document/billOfLading/interfaces.ts +0 -26
- package/src/modules/document/billOfLading/route.schema.ts +0 -32
- package/src/modules/document/inventario/interface.ts +0 -19
- package/src/modules/document/inventario/route.schema.ts +0 -16
- package/src/modules/document/materialEntrance/interfaces.ts +0 -207
- package/src/modules/document/materialEntrance/route.schema.ts +0 -53
- package/src/modules/document/order/interfaces.ts +0 -172
- package/src/modules/document/order/route.schema.ts +0 -61
- package/src/modules/document/productionOrder/interfaces.ts +0 -12
- package/src/modules/document/productionOrder/route.schema.ts +0 -13
- package/src/modules/document/proforma/interfaces.ts +0 -15
- package/src/modules/document/proforma/route.schema.ts +0 -14
- package/src/modules/document/propostaFornecedor/interfaces.ts +0 -17
- package/src/modules/document/propostaFornecedor/route.schema.ts +0 -21
- package/src/modules/document/propostaSheets/interface.ts +0 -113
- package/src/modules/document/propostaSheets/route.schema.ts +0 -45
- package/src/modules/document/providerCreditNoteFromReturn/interfaces.ts +0 -48
- package/src/modules/document/providerCreditNoteFromReturn/route.schema.ts +0 -41
- package/src/modules/document/providerFinancialCreditNote/interfaces.ts +0 -36
- package/src/modules/document/providerFinancialCreditNote/route.schema.ts +0 -40
- package/src/modules/document/providerServiceInvoice/interfaces.ts +0 -20
- package/src/modules/document/providerServiceInvoice/route.schema.ts +0 -26
- package/src/modules/document/purchase/interfaces.ts +0 -112
- package/src/modules/document/purchase/route.schema.ts +0 -51
- package/src/modules/document/quebra/interfaces.ts +0 -46
- package/src/modules/document/quebra/route.schema.ts +0 -25
- package/src/modules/document/returnToProvider/interface.ts +0 -59
- package/src/modules/document/returnToProvider/route.schema.ts +0 -27
- package/src/modules/document/transformado/interfaces.ts +0 -31
- package/src/modules/document/transformado/route.schema.ts +0 -26
- package/src/modules/document/upfrontReturn/interfaces.ts +0 -17
- package/src/modules/document/upfrontReturn/route.schema.ts +0 -11
- package/src/modules/documentManagement/multimedia/interfaces.ts +0 -22
- package/src/modules/documentManagement/multimedia/route.schema.ts +0 -9
- package/src/modules/integration/emailLog/interfaces.ts +0 -111
- package/src/modules/integration/emailLog/route.schema.ts +0 -18
- package/src/modules/integration/emailTemplate/interfaces.ts +0 -55
- package/src/modules/integration/emailTemplate/route.schema.ts +0 -95
- package/src/modules/integration/emailTemplateAttachment/interfaces.ts +0 -22
- package/src/modules/integration/emailTemplateAttachment/route.schema.ts +0 -12
- package/src/modules/integration/emailVerification/interfaces.ts +0 -30
- package/src/modules/integration/emailVerification/route.schema.ts +0 -34
- package/src/modules/integration/googleFilePermission/interfaces.ts +0 -32
- package/src/modules/integration/googleFilePermission/route.schema.ts +0 -15
- package/src/modules/integration/googleSheets/interfaces.ts +0 -98
- package/src/modules/integration/googleSheets/route.schema.ts +0 -52
- package/src/modules/integration/observation/interfaces.ts +0 -61
- package/src/modules/integration/observation/route.schema.ts +0 -40
- package/src/modules/integration/observationType/interfaces.ts +0 -37
- package/src/modules/integration/observationType/route.schema.ts +0 -17
- package/src/modules/integration/projectInfo/interfaces.ts +0 -26
- package/src/modules/integration/projectInfo/route.schema.ts +0 -18
- package/src/modules/integration/settings/interfaces.ts +0 -31
- package/src/modules/integration/settings/route.schema.ts +0 -24
- package/src/modules/print/npc/interfaces.ts +0 -34
- package/src/modules/print/npc/route.schema.ts +0 -21
- package/src/modules/print/printer/interfaces.ts +0 -47
- package/src/modules/print/printer/route.schema.ts +0 -60
- package/src/modules/print/schedulePrintJob/interfaces.ts +0 -48
- package/src/modules/print/schedulePrintJob/route.schema.ts +0 -39
- package/src/modules/stock/chat/interfaces.ts +0 -82
- package/src/modules/stock/chat/route.schema.ts +0 -28
- package/src/modules/stock/chatRapidMessage/interface.ts +0 -31
- package/src/modules/stock/chatRapidMessage/route.schema.ts +0 -18
- package/src/modules/stock/dashboard/interface.ts +0 -25
- package/src/modules/stock/dashboard/route.schema.ts +0 -11
- package/src/modules/stock/file/interface.ts +0 -37
- package/src/modules/stock/file/route.schema.ts +0 -37
- package/src/modules/stock/location/interface.ts +0 -77
- package/src/modules/stock/location/route.schema.ts +0 -57
- package/src/modules/stock/prison/interface.ts +0 -70
- package/src/modules/stock/prison/route.schema.ts +0 -50
- package/src/modules/stock/productGoogleSheets/interface.ts +0 -339
- package/src/modules/stock/productGoogleSheets/route.schema.ts +0 -146
- package/src/modules/stock/productImage/interface.ts +0 -69
- package/src/modules/stock/productImage/route.schema.ts +0 -52
- package/src/modules/stock/promotion/interface.ts +0 -61
- package/src/modules/stock/promotion/route.schema.ts +0 -39
- package/src/modules/stock/promotionAssoc/interface.ts +0 -62
- package/src/modules/stock/promotionAssoc/route.schema.ts +0 -35
- package/src/modules/stock/queryList/interfaces.ts +0 -56
- package/src/modules/stock/queryList/route.schema.ts +0 -37
- package/src/modules/stock/queryParameter/interfaces.ts +0 -72
- package/src/modules/stock/queryParameter/route.schema.ts +0 -36
- package/src/modules/stock/recurrentTasks/interface.ts +0 -12
- package/src/modules/stock/returnReason/interfaces.ts +0 -23
- package/src/modules/stock/returnReason/route.schema.ts +0 -14
- package/src/modules/stock/savedEmPicking/interfaces.ts +0 -37
- package/src/modules/stock/savedEmPicking/route.schema.ts +0 -113
- package/src/modules/stock/savedProviderProposal/interfaces.ts +0 -32
- package/src/modules/stock/savedProviderProposal/route.schema.ts +0 -16
- package/src/modules/stock/sideMenu/interface.ts +0 -48
- package/src/modules/stock/sideMenu/route.schema.ts +0 -20
- package/src/modules/stock/stockMovement/interface.ts +0 -78
- package/src/modules/stock/stockMovement/route.schema.ts +0 -34
- package/src/modules/stock/tag/interface.ts +0 -36
- package/src/modules/stock/tag/route.schema.ts +0 -30
- package/src/modules/stock/task/interface.ts +0 -126
- package/src/modules/stock/task/route.schema.ts +0 -48
- package/src/modules/stock/taskMessage/interface.ts +0 -18
- package/src/modules/stock/taskMessage/route.schema.ts +0 -19
- package/src/modules/stock/taskRead/interface.ts +0 -17
- package/src/modules/stock/taskRead/route.schema.ts +0 -18
- package/src/modules/stock/typeOfLocation/interface.ts +0 -51
- package/src/modules/stock/typeOfLocation/route.schema.ts +0 -29
- package/src/modules/stock/unitOfMeasure/interface.ts +0 -64
- package/src/modules/stock/unitOfMeasure/route.schema.ts +0 -41
- package/src/modules/stock/vatTax/interface.ts +0 -55
- package/src/modules/stock/vatTax/route.schema.ts +0 -33
- package/src/modules/stock/vatTaxZone/interface.ts +0 -63
- package/src/modules/stock/vatTaxZone/route.schema.ts +0 -42
- package/src/modules/stock/vatValidation/interfaces.ts +0 -10
- package/src/modules/stock/vatValidation/route.schema.ts +0 -8
- package/src/modules/stock/workflow/interfaces.ts +0 -64
- package/src/modules/stock/workflow/route.schema.ts +0 -28
- package/src/modules/supply/batch/interface.ts +0 -0
- package/src/modules/supply/documentHeader/interfaces.ts +0 -497
- package/src/modules/supply/documentHeader/route.schema.ts +0 -371
- package/src/modules/supply/documentHeaderHistory/interfaces.ts +0 -15
- package/src/modules/supply/documentLine/interfaces.ts +0 -210
- package/src/modules/supply/documentLine/route.schema.ts +0 -108
- package/src/modules/supply/documentLineAssoc/interfaces.ts +0 -52
- package/src/modules/supply/documentLineAssoc/route.schema.ts +0 -16
- package/src/modules/supply/documentLineMT/interface.ts +0 -27
- package/src/modules/supply/documentLineMT/route.schema.ts +0 -18
- package/src/modules/supply/documentLineNote/interfaces.ts +0 -53
- package/src/modules/supply/documentLineNote/route.schema.ts +0 -19
- package/src/modules/supply/documentLineRM/interface.ts +0 -34
- package/src/modules/supply/documentLineRM/route.schema.ts +0 -25
- package/src/modules/supply/documentSet/interface.ts +0 -31
- package/src/modules/supply/documentSet/route.schema.ts +0 -20
- package/src/modules/supply/documentType/interfaces.ts +0 -214
- package/src/modules/supply/documentType/route.schema.ts +0 -75
- package/src/modules/supply/externalDocumentHeader/interface.ts +0 -120
- package/src/modules/supply/externalDocumentHeader/route.schema.ts +0 -79
- package/src/modules/supply/externalDocumentType/interface.ts +0 -14
- package/src/modules/supply/orderManagement/interface.ts +0 -49
- package/src/modules/supply/orderManagement/route.schema.ts +0 -0
- package/src/modules/supply/payment/interface.ts +0 -229
- package/src/modules/supply/payment/route.schema.ts +0 -122
- package/src/modules/supply/preSale/interface.ts +0 -92
- package/src/modules/supply/preSale/route.schema.ts +0 -75
- package/src/modules/supply/preSaleProduct/interface.ts +0 -16
- package/src/modules/supply/preSaleProduct/route.schema.ts +0 -7
- package/src/modules/supply/schedule/interface.ts +0 -47
- package/src/modules/supply/schedule/route.schema.ts +0 -14
- package/src/modules/supply/startDocumentHeaderLastUpdate/interface.ts +0 -15
- package/src/modules/tickets/channel/interfaces.ts +0 -35
- package/src/modules/tickets/channel/route.schema.ts +0 -24
- package/src/modules/tickets/clt/interfaces.ts +0 -26
- package/src/modules/tickets/clt/route.schema.ts +0 -24
- package/src/modules/tickets/language/interfaces.ts +0 -25
- package/src/modules/tickets/language/route.schema.ts +0 -28
- package/src/modules/tickets/tickets/interfaces.ts +0 -80
- package/src/modules/tickets/tickets/route.schema.ts +0 -19
- package/src/modules/user/bankData/interface.ts +0 -64
- package/src/modules/user/bankData/route.schema.ts +0 -40
- package/src/modules/user/chatSubscribers/interfaces.ts +0 -34
- package/src/modules/user/chatSubscribers/route.schema.ts +0 -12
- package/src/modules/user/clientType/interface.ts +0 -47
- package/src/modules/user/clientType/route.schema.ts +0 -31
- package/src/modules/user/clients/interface.ts +0 -138
- package/src/modules/user/clients/route.schema.ts +0 -87
- package/src/modules/user/commissioner/interface.ts +0 -110
- package/src/modules/user/commissioner/route.schema.ts +0 -65
- package/src/modules/user/country/interface.ts +0 -54
- package/src/modules/user/country/route.schema.ts +0 -36
- package/src/modules/user/deliveryMethods/interfaces.ts +0 -28
- package/src/modules/user/deliveryMethods/route.schema.ts +0 -15
- package/src/modules/user/favorites/interfaces.ts +0 -28
- package/src/modules/user/favorites/route.schema.ts +0 -19
- package/src/modules/user/groupPermissions/interface.ts +0 -32
- package/src/modules/user/groupPermissions/route.schema.ts +0 -11
- package/src/modules/user/language/interface.ts +0 -47
- package/src/modules/user/language/route.schema.ts +0 -28
- package/src/modules/user/maturityDates/interfaces.ts +0 -31
- package/src/modules/user/maturityDates/route.schema.ts +0 -18
- package/src/modules/user/password/interfaces.ts +0 -21
- package/src/modules/user/password/route.schema.ts +0 -22
- package/src/modules/user/paymentMethods/interfaces.ts +0 -72
- package/src/modules/user/paymentMethods/route.schema.ts +0 -27
- package/src/modules/user/permissions/interface.ts +0 -34
- package/src/modules/user/permissions/route.schema.ts +0 -11
- package/src/modules/user/persona/interface.ts +0 -157
- package/src/modules/user/persona/route.schema.ts +0 -101
- package/src/modules/user/providerType/interface.ts +0 -47
- package/src/modules/user/providerType/route.schema.ts +0 -28
- package/src/modules/user/providers/interface.ts +0 -130
- package/src/modules/user/providers/route.schema.ts +0 -85
- package/src/modules/user/purchaseConditions/interface.ts +0 -58
- package/src/modules/user/purchaseConditions/route.schema.ts +0 -33
- package/src/modules/user/reasonForExemption/interface.ts +0 -53
- package/src/modules/user/reasonForExemption/route.schema.ts +0 -34
- package/src/modules/user/refreshToken/interface.ts +0 -19
- package/src/modules/user/refreshToken/route.schema.ts +0 -10
- package/src/modules/user/segmentsArea/interface.ts +0 -49
- package/src/modules/user/segmentsArea/route.schema.ts +0 -30
- package/src/modules/user/sessions/interface.ts +0 -24
- package/src/modules/user/sessions/route.schema.ts +0 -10
- package/src/modules/user/shippings/interface.ts +0 -57
- package/src/modules/user/shippings/route.schema.ts +0 -35
- package/src/modules/user/storeOperator/interface.ts +0 -42
- package/src/modules/user/storeOperator/route.schema.ts +0 -45
- package/src/modules/user/swift/interface.ts +0 -55
- package/src/modules/user/swift/route.schema.ts +0 -36
- package/src/modules/user/tenant/interface.ts +0 -59
- package/src/modules/user/tenant/route.schema.ts +0 -46
- package/src/modules/user/theme/interfaces.ts +0 -21
- package/src/modules/user/theme/route.schema.ts +0 -19
- package/src/modules/user/userPermissions/interface.ts +0 -28
- package/src/modules/user/userPermissions/route.schema.ts +0 -12
- package/src/modules/user/userPositions/interface.ts +0 -47
- package/src/modules/user/userPositions/route.schema.ts +0 -29
- package/src/modules/user/userTokens/interface.ts +0 -41
- package/src/modules/user/userTokens/route.schema.ts +0 -17
- package/src/modules/user/users/interface.ts +0 -177
- package/src/modules/user/users/route.schema.ts +0 -58
- package/src/modules/user/vehicles/interfaces.ts +0 -31
- package/src/modules/user/vehicles/route.schema.ts +0 -17
- package/src/modules/user/zipCode/interfaces.ts +0 -27
- package/src/modules/user/zipCode/route.schema.ts +0 -26
- package/src/modules/view/adminPanel/interfaces.ts +0 -180
- package/src/modules/view/errorLog/interfaces.ts +0 -36
- package/src/modules/view/errorLog/route.schema.ts +0 -25
- package/src/shared/entities/documentManagement.ts +0 -16
- package/src/shared/entities/integration.ts +0 -136
- package/src/shared/entities/print.ts +0 -49
- package/src/shared/entities/stock.ts +0 -1248
- package/src/shared/entities/tickets.ts +0 -82
- package/src/shared/entities/user.ts +0 -540
- package/src/shared/errors/documentManagementErrors.ts +0 -13
- package/src/shared/errors/integrationErrors.ts +0 -44
- package/src/shared/errors/stockErrors.ts +0 -267
- package/src/shared/errors/userErrors.ts +0 -108
- package/src/shared/errors/viewErrors.ts +0 -6
- package/src/shared/interface.ts +0 -548
- package/src/shared/messages.ts +0 -141
- package/tsconfig.json +0 -20
- package/tsup.config.ts +0 -10
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { IProductState } from './../../stock/productGoogleSheets/interface';
|
|
2
|
-
import * as IShared from '../../../shared/interface';
|
|
3
|
-
import { PreSale, PreSaleProduct } from '../../../shared/entities/stock';
|
|
4
|
-
import * as DocumentLine from '../documentLine/interfaces';
|
|
5
|
-
|
|
6
|
-
export type Entity = PreSale;
|
|
7
|
-
export const Route = 'pre_sale';
|
|
8
|
-
export const UpperName = 'PreSale';
|
|
9
|
-
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
10
|
-
|
|
11
|
-
export type IFindRequest = Record<string, unknown>;
|
|
12
|
-
|
|
13
|
-
export type IFindResponse = Entity;
|
|
14
|
-
|
|
15
|
-
export interface IFindResponseWithCount extends Entity {
|
|
16
|
-
count_products: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface IPreSaleProduct {
|
|
20
|
-
id: string;
|
|
21
|
-
reference: string;
|
|
22
|
-
designation: string;
|
|
23
|
-
price_sale: number;
|
|
24
|
-
thumbnail: string | null;
|
|
25
|
-
measure: string;
|
|
26
|
-
state: IProductState;
|
|
27
|
-
location: string | null;
|
|
28
|
-
promotions: DocumentLine.IPromotions[];
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface IEntityExtended extends Entity {
|
|
32
|
-
lines: {
|
|
33
|
-
pre_sale_product: PreSaleProduct;
|
|
34
|
-
product: IPreSaleProduct;
|
|
35
|
-
}[];
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export interface IPreSaleFindByUser {
|
|
39
|
-
created_by: string;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export interface IPreSaleData {
|
|
43
|
-
id: string;
|
|
44
|
-
quantity: number;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export interface IUpdateRequest {
|
|
48
|
-
barcode?: string;
|
|
49
|
-
product?: IPreSaleData | null;
|
|
50
|
-
updated_by?: string;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export interface IUpdatePreSaleQuantityRequest {
|
|
54
|
-
quantity: number;
|
|
55
|
-
updated_by?: string;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export interface IRemovePreSaleProductRequest {
|
|
59
|
-
pre_sale_product_id: string;
|
|
60
|
-
updated_by?: string;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export interface ICreateRequest {
|
|
64
|
-
product: IPreSaleData;
|
|
65
|
-
created_by?: string;
|
|
66
|
-
updated_by?: string;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export interface IImportToClientProposalRequest {
|
|
70
|
-
pre_sale_id: string;
|
|
71
|
-
document_header_id: string;
|
|
72
|
-
updated_by?: string;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export interface IRepository {
|
|
76
|
-
find(selector: IPreSaleFindByUser): Promise<IFindResponseWithCount[]>;
|
|
77
|
-
findById(selector: IShared.IFindByIdRequest): Promise<IEntityExtended | null>;
|
|
78
|
-
findPending(): Promise<IEntityExtended[]>;
|
|
79
|
-
create(data: ICreateRequest): Promise<IFindResponse>;
|
|
80
|
-
update: (selector: IShared.IFindByIdRequest, data: IUpdateRequest) => Promise<Entity | null>;
|
|
81
|
-
updatePreSaleQuantity: (
|
|
82
|
-
selector: IShared.IFindByIdRequest,
|
|
83
|
-
data: IUpdatePreSaleQuantityRequest,
|
|
84
|
-
) => Promise<Entity | null>;
|
|
85
|
-
removeProduct: (
|
|
86
|
-
selector: IShared.IFindByIdRequest,
|
|
87
|
-
data: IRemovePreSaleProductRequest,
|
|
88
|
-
) => Promise<void>;
|
|
89
|
-
importToClientProposal: (data: IImportToClientProposalRequest) => Promise<void>;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import joi from 'joi';
|
|
2
|
-
import { messages } from '../../../shared/messages';
|
|
3
|
-
import * as IShared from '../../../shared/interface';
|
|
4
|
-
import {
|
|
5
|
-
ICreateRequest,
|
|
6
|
-
IUpdateRequest,
|
|
7
|
-
IPreSaleData,
|
|
8
|
-
IFindRequest,
|
|
9
|
-
IRemovePreSaleProductRequest,
|
|
10
|
-
IImportToClientProposalRequest,
|
|
11
|
-
IUpdatePreSaleQuantityRequest,
|
|
12
|
-
IPreSaleFindByUser,
|
|
13
|
-
} from './interface';
|
|
14
|
-
|
|
15
|
-
const createProduct = joi.object<IPreSaleData>().keys({
|
|
16
|
-
id: joi.string().uuid().required(),
|
|
17
|
-
quantity: joi.number().positive().required(),
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// create body validation
|
|
21
|
-
const createBodyKeys: IShared.IRouteRequestWithStamps<ICreateRequest> = {
|
|
22
|
-
product: createProduct,
|
|
23
|
-
created_by: joi.string().uuid().optional(),
|
|
24
|
-
updated_by: joi.string().uuid().optional(),
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export const createBody = joi.object().keys(createBodyKeys).messages(messages);
|
|
28
|
-
|
|
29
|
-
// update body validation
|
|
30
|
-
const updateBodyKeys: IShared.IRouteRequestWithStamps<IUpdateRequest> = {
|
|
31
|
-
barcode: joi.string().allow(null).optional(),
|
|
32
|
-
product: createProduct.allow(null),
|
|
33
|
-
updated_by: joi.string().uuid().optional(),
|
|
34
|
-
};
|
|
35
|
-
export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
|
|
36
|
-
// update body validation
|
|
37
|
-
|
|
38
|
-
const updatePreSaleQuantityBodyKeys: IShared.IRouteRequestWithStamps<IUpdatePreSaleQuantityRequest> =
|
|
39
|
-
{
|
|
40
|
-
quantity: joi.number().positive().required(),
|
|
41
|
-
updated_by: joi.string().uuid().optional(),
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export const updatePreSaleQuantityBody = joi
|
|
45
|
-
.object()
|
|
46
|
-
.keys(updatePreSaleQuantityBodyKeys)
|
|
47
|
-
.messages(messages);
|
|
48
|
-
|
|
49
|
-
// remove product body validation
|
|
50
|
-
const removeProductBodyKeys: IShared.IRouteRequestWithStamps<IRemovePreSaleProductRequest> = {
|
|
51
|
-
pre_sale_product_id: joi.string().uuid(),
|
|
52
|
-
updated_by: joi.string().uuid().optional(),
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
export const removeProductBody = joi.object().keys(removeProductBodyKeys).messages(messages);
|
|
56
|
-
|
|
57
|
-
// import into proposal body validation
|
|
58
|
-
const importInToClientProposalBodyKeys: IShared.IRouteRequestWithStamps<IImportToClientProposalRequest> =
|
|
59
|
-
{
|
|
60
|
-
pre_sale_id: joi.string().uuid().required(),
|
|
61
|
-
document_header_id: joi.string().uuid().required(),
|
|
62
|
-
updated_by: joi.string().uuid().optional(),
|
|
63
|
-
};
|
|
64
|
-
export const importInToClientProposalBody = joi
|
|
65
|
-
.object()
|
|
66
|
-
.keys(importInToClientProposalBodyKeys)
|
|
67
|
-
.messages(messages);
|
|
68
|
-
|
|
69
|
-
const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {};
|
|
70
|
-
export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
|
|
71
|
-
|
|
72
|
-
const findByUserParamsKeys: IShared.IRouteRequest<IPreSaleFindByUser> = {
|
|
73
|
-
created_by: joi.string().uuid().required(),
|
|
74
|
-
};
|
|
75
|
-
export const findByUserParams = joi.object().keys(findByUserParamsKeys).messages(messages);
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as IShared from '../../../shared/interface';
|
|
2
|
-
import { PreSaleProduct } from '../../../shared/entities/stock';
|
|
3
|
-
|
|
4
|
-
export type Entity = PreSaleProduct;
|
|
5
|
-
export const Route = 'pre_sale_product';
|
|
6
|
-
export const UpperName = 'PreSaleProduct';
|
|
7
|
-
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
8
|
-
|
|
9
|
-
export type IFindRequest = Record<string, unknown>;
|
|
10
|
-
|
|
11
|
-
export type IFindResponse = Entity;
|
|
12
|
-
|
|
13
|
-
export interface IRepository {
|
|
14
|
-
find(user_id: string): Promise<PreSaleProduct[]>;
|
|
15
|
-
findById(selector: IShared.IFindByIdRequest): Promise<PreSaleProduct | null>;
|
|
16
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import joi from 'joi';
|
|
2
|
-
import { messages } from '../../../shared/messages';
|
|
3
|
-
import * as IShared from '../../../shared/interface';
|
|
4
|
-
import { IFindRequest } from './interface';
|
|
5
|
-
|
|
6
|
-
const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {};
|
|
7
|
-
export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import * as IShared from '../../../shared/interface';
|
|
2
|
-
|
|
3
|
-
export const Route = 'schedule';
|
|
4
|
-
export const UpperName = 'Schedule';
|
|
5
|
-
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
6
|
-
|
|
7
|
-
export const ScheduleTypeEnum: {
|
|
8
|
-
executeEncomendasStock: 'executeEncomendasStock';
|
|
9
|
-
executeEncomendasVA: 'executeEncomendasVA';
|
|
10
|
-
executeAvisoTotal: 'executeAvisoTotal';
|
|
11
|
-
executeAvisoParcial: 'executeAvisoParcial';
|
|
12
|
-
executeReAvisoTotal: 'executeReAvisoTotal';
|
|
13
|
-
sendErroredEmailsSummary: 'sendErroredEmailsSummary';
|
|
14
|
-
retryErroredEmails: 'retryErroredEmails';
|
|
15
|
-
} = {
|
|
16
|
-
executeEncomendasStock: 'executeEncomendasStock',
|
|
17
|
-
executeEncomendasVA: 'executeEncomendasVA',
|
|
18
|
-
executeAvisoTotal: 'executeAvisoTotal',
|
|
19
|
-
executeAvisoParcial: 'executeAvisoParcial',
|
|
20
|
-
executeReAvisoTotal: 'executeReAvisoTotal',
|
|
21
|
-
sendErroredEmailsSummary: 'sendErroredEmailsSummary',
|
|
22
|
-
retryErroredEmails: 'retryErroredEmails',
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export type IScheduleType = (typeof ScheduleTypeEnum)[keyof typeof ScheduleTypeEnum];
|
|
26
|
-
|
|
27
|
-
export const scheduleTypes = Object.keys(ScheduleTypeEnum);
|
|
28
|
-
|
|
29
|
-
export const ScheduleTypeLabel: Record<IScheduleType, string> = {
|
|
30
|
-
executeEncomendasStock: 'Processar encomendas de stock',
|
|
31
|
-
executeEncomendasVA: 'Processar encomendas VA',
|
|
32
|
-
executeAvisoTotal: 'Processar avisos totais',
|
|
33
|
-
executeAvisoParcial: 'Processar avisos parciais',
|
|
34
|
-
executeReAvisoTotal: 'Processar re-avisos totais',
|
|
35
|
-
sendErroredEmailsSummary: 'Enviar sumário de emails c/ erro',
|
|
36
|
-
retryErroredEmails: 'Re-enviar emails c/ erro',
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export interface IRunImmediatelyRequest {
|
|
40
|
-
scheduleType: IScheduleType;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export interface IRepository {
|
|
44
|
-
runImmediately(params: IRunImmediatelyRequest): Promise<void>;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import joi from 'joi';
|
|
2
|
-
|
|
3
|
-
import * as IShared from '../../../shared/interface';
|
|
4
|
-
import { messages } from '../../../shared/messages';
|
|
5
|
-
import { IRunImmediatelyRequest, scheduleTypes } from './interface';
|
|
6
|
-
|
|
7
|
-
// find by google sheet id validation
|
|
8
|
-
const runImmediatelyKeys: IShared.IRouteRequestWithStamps<IRunImmediatelyRequest> = {
|
|
9
|
-
scheduleType: joi
|
|
10
|
-
.string()
|
|
11
|
-
.valid(...scheduleTypes)
|
|
12
|
-
.required(),
|
|
13
|
-
};
|
|
14
|
-
export const runImmediately = joi.object().keys(runImmediatelyKeys).messages(messages);
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import * as IShared from '../../../shared/interface';
|
|
2
|
-
import { StartDocumentHeaderLastUpdateVirtuals } from '../../../shared/entities/stock';
|
|
3
|
-
|
|
4
|
-
export type Entity = StartDocumentHeaderLastUpdateVirtuals;
|
|
5
|
-
export const Route = 'start_document_header_last_update';
|
|
6
|
-
export const UpperName = 'StartDocumentHeaderLastUpdate';
|
|
7
|
-
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
8
|
-
|
|
9
|
-
export interface IRepository {
|
|
10
|
-
findById(
|
|
11
|
-
selector: IShared.IFindByIdRequest,
|
|
12
|
-
): Promise<StartDocumentHeaderLastUpdateVirtuals | null>;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export type IController = IRepository;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Channel } from '../../../shared/entities/tickets';
|
|
2
|
-
import * as IShared from '../../../shared/interface';
|
|
3
|
-
|
|
4
|
-
export type Entity = Channel;
|
|
5
|
-
export const Route = 'channel';
|
|
6
|
-
export const UpperName = 'Channel';
|
|
7
|
-
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
8
|
-
|
|
9
|
-
export interface IChannel {
|
|
10
|
-
id: number;
|
|
11
|
-
name: Record<string, string>;
|
|
12
|
-
text: Record<string, string>;
|
|
13
|
-
color: string;
|
|
14
|
-
text_color: string;
|
|
15
|
-
disabled_color: string;
|
|
16
|
-
last_called: number;
|
|
17
|
-
}
|
|
18
|
-
export interface IFindMinifiedRequest {
|
|
19
|
-
value?: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export type ICreateRequest = Omit<Entity, 'id'>;
|
|
23
|
-
|
|
24
|
-
export type IUpdateRequest = ICreateRequest;
|
|
25
|
-
|
|
26
|
-
export interface IRepository {
|
|
27
|
-
create(data: ICreateRequest): Promise<Entity>;
|
|
28
|
-
find(): Promise<Entity[]>;
|
|
29
|
-
findById(id: IShared.IFindByIdNumberRequest): Promise<Entity | null>;
|
|
30
|
-
findMinified(params?: IFindMinifiedRequest): Promise<Entity[]>;
|
|
31
|
-
update(id: IShared.IFindByIdNumberRequest, data: IUpdateRequest): Promise<void>;
|
|
32
|
-
deleteOne(id: IShared.IFindByIdNumberRequest): Promise<void>;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import joi from 'joi';
|
|
2
|
-
import { messages } from '../../../shared/messages';
|
|
3
|
-
import * as IShared from '../../../shared/interface';
|
|
4
|
-
import { ICreateRequest, IUpdateRequest } from './interfaces';
|
|
5
|
-
|
|
6
|
-
// create body validation
|
|
7
|
-
const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
|
|
8
|
-
order: joi.number().required(),
|
|
9
|
-
color: joi.string().required(),
|
|
10
|
-
disabled_color: joi.string().required(),
|
|
11
|
-
key: joi.string().required(),
|
|
12
|
-
text_color: joi.string().required(),
|
|
13
|
-
};
|
|
14
|
-
export const createBody = joi.object().keys(createBodyKeys).messages(messages);
|
|
15
|
-
|
|
16
|
-
// update body validation
|
|
17
|
-
const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
|
|
18
|
-
order: joi.number().optional(),
|
|
19
|
-
color: joi.string().optional(),
|
|
20
|
-
disabled_color: joi.string().optional(),
|
|
21
|
-
key: joi.string().optional(),
|
|
22
|
-
text_color: joi.string().optional(),
|
|
23
|
-
};
|
|
24
|
-
export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { CLT } from '../../../shared/entities/tickets';
|
|
2
|
-
import * as IShared from '../../../shared/interface';
|
|
3
|
-
|
|
4
|
-
export type Entity = CLT;
|
|
5
|
-
export const Route = 'clt';
|
|
6
|
-
export const UpperName = 'CLT';
|
|
7
|
-
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
8
|
-
|
|
9
|
-
export type ICreateRequest = Omit<Entity, 'id'>;
|
|
10
|
-
|
|
11
|
-
export type IUpdateRequest = ICreateRequest;
|
|
12
|
-
|
|
13
|
-
export interface IFindMinifiedRequest {
|
|
14
|
-
value?: string;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export interface IRepository {
|
|
18
|
-
create(data: ICreateRequest): Promise<Entity>;
|
|
19
|
-
find(): Promise<Entity[]>;
|
|
20
|
-
findById(id: IShared.IFindByIdNumberRequest): Promise<Entity | null>;
|
|
21
|
-
findMinified(params?: IFindMinifiedRequest): Promise<Entity[]>;
|
|
22
|
-
update(id: IShared.IFindByIdNumberRequest, data: IUpdateRequest): Promise<void>;
|
|
23
|
-
deleteOne(id: IShared.IFindByIdNumberRequest): Promise<void>;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import joi from 'joi';
|
|
2
|
-
import { messages } from '../../../shared/messages';
|
|
3
|
-
import * as IShared from '../../../shared/interface';
|
|
4
|
-
import { ICreateRequest, IUpdateRequest } from './interfaces';
|
|
5
|
-
|
|
6
|
-
// create body validation
|
|
7
|
-
const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
|
|
8
|
-
name: joi.string().required(),
|
|
9
|
-
text: joi.string().required(),
|
|
10
|
-
channel_id: joi.number().required(),
|
|
11
|
-
language_id: joi.number().required(),
|
|
12
|
-
translation_id: joi.string().required(),
|
|
13
|
-
};
|
|
14
|
-
export const createBody = joi.object().keys(createBodyKeys).messages(messages);
|
|
15
|
-
|
|
16
|
-
// update body validation
|
|
17
|
-
const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
|
|
18
|
-
name: joi.string().optional(),
|
|
19
|
-
text: joi.string().optional(),
|
|
20
|
-
channel_id: joi.number().optional(),
|
|
21
|
-
language_id: joi.number().optional(),
|
|
22
|
-
translation_id: joi.string().optional(),
|
|
23
|
-
};
|
|
24
|
-
export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Language } from '../../../shared/entities/tickets';
|
|
2
|
-
import * as IShared from '../../../shared/interface';
|
|
3
|
-
|
|
4
|
-
export type Entity = Language;
|
|
5
|
-
export const Route = 'tickets_language';
|
|
6
|
-
export const UpperName = 'TicketsLanguage';
|
|
7
|
-
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
8
|
-
|
|
9
|
-
export type ICreateRequest = Omit<Entity, 'id'>;
|
|
10
|
-
|
|
11
|
-
export type IUpdateRequest = ICreateRequest;
|
|
12
|
-
export interface IFindMinifiedRequest {
|
|
13
|
-
value?: string;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface IRepository {
|
|
17
|
-
create(data: ICreateRequest): Promise<Entity>;
|
|
18
|
-
find(): Promise<Entity[]>;
|
|
19
|
-
findById(id: IShared.IFindByIdNumberRequest): Promise<Entity | null>;
|
|
20
|
-
findMinified(params?: IFindMinifiedRequest): Promise<Entity[]>;
|
|
21
|
-
update(id: IShared.IFindByIdNumberRequest, data: IUpdateRequest): Promise<void>;
|
|
22
|
-
deleteOne(id: IShared.IFindByIdNumberRequest): Promise<void>;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import joi from 'joi';
|
|
2
|
-
import { messages } from '../../../shared/messages';
|
|
3
|
-
import * as IShared from '../../../shared/interface';
|
|
4
|
-
import { ICreateRequest, IUpdateRequest } from './interfaces';
|
|
5
|
-
|
|
6
|
-
// create body validation
|
|
7
|
-
const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
|
|
8
|
-
order: joi.number().required(),
|
|
9
|
-
name: joi.string().required(),
|
|
10
|
-
alpha2: joi.string().required(),
|
|
11
|
-
lang: joi.string().required(),
|
|
12
|
-
voice_name: joi.string().required(),
|
|
13
|
-
ssml: joi.string().required(),
|
|
14
|
-
call_text: joi.string().required(),
|
|
15
|
-
};
|
|
16
|
-
export const createBody = joi.object().keys(createBodyKeys).messages(messages);
|
|
17
|
-
|
|
18
|
-
// update body validation
|
|
19
|
-
const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
|
|
20
|
-
name: joi.string().optional(),
|
|
21
|
-
alpha2: joi.string().optional(),
|
|
22
|
-
lang: joi.string().optional(),
|
|
23
|
-
voice_name: joi.string().optional(),
|
|
24
|
-
ssml: joi.string().optional(),
|
|
25
|
-
call_text: joi.string().optional(),
|
|
26
|
-
order: joi.number().optional(),
|
|
27
|
-
};
|
|
28
|
-
export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { Tickets, Language } from '../../../shared/entities/tickets';
|
|
2
|
-
import { IChannel } from '../channel/interfaces';
|
|
3
|
-
import * as IShared from '../../../shared/interface';
|
|
4
|
-
|
|
5
|
-
export type Entity = Tickets;
|
|
6
|
-
export const Route = 'tickets';
|
|
7
|
-
export const UpperName = 'Tickets';
|
|
8
|
-
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
9
|
-
|
|
10
|
-
export interface ILastTicketCalledToday {
|
|
11
|
-
language: Language;
|
|
12
|
-
text_to_read: string;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface ILastTicketCalledTodayByChannel {
|
|
16
|
-
channel_id: number;
|
|
17
|
-
number: number;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface IRemainingTodayTickets {
|
|
21
|
-
id: string;
|
|
22
|
-
channel_id: number;
|
|
23
|
-
number: number;
|
|
24
|
-
language_id: number;
|
|
25
|
-
text_to_read: string;
|
|
26
|
-
created_at: Date;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface ITicketsFindTodayResponse {
|
|
30
|
-
channels: IChannel[];
|
|
31
|
-
languages: Language[];
|
|
32
|
-
remaining_today_tickets_to_call: IRemainingTodayTickets[];
|
|
33
|
-
last_ticket_called_today: ILastTicketCalledToday | null;
|
|
34
|
-
last_tickets_called_today_by_channel?: ILastTicketCalledTodayByChannel[];
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface ITicketCreateRequest {
|
|
38
|
-
channel_id: number;
|
|
39
|
-
language_id: number;
|
|
40
|
-
created_by: string;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export interface ITicketCreateResponse {
|
|
44
|
-
channel_id: number;
|
|
45
|
-
number: number;
|
|
46
|
-
channel_name: string;
|
|
47
|
-
last_ticket_called_today: ILastTicketCalledToday | null;
|
|
48
|
-
remaining_today_tickets_to_call: IRemainingTodayTickets[];
|
|
49
|
-
last_tickets_called_today_by_channel?: ILastTicketCalledTodayByChannel[];
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface ITicketUpdateRequest {
|
|
53
|
-
id: string;
|
|
54
|
-
who_attended: string;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface ITicketUpdateResponse {
|
|
58
|
-
number: number;
|
|
59
|
-
channel_id: number;
|
|
60
|
-
language: Language;
|
|
61
|
-
text_to_read: string;
|
|
62
|
-
last_ticket_called_today: ILastTicketCalledToday | null;
|
|
63
|
-
remaining_today_tickets_to_call: IRemainingTodayTickets[];
|
|
64
|
-
last_tickets_called_today_by_channel?: ILastTicketCalledTodayByChannel[];
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export interface ITicketUndoResponse {
|
|
68
|
-
last_ticket_called_today: ILastTicketCalledToday | null;
|
|
69
|
-
remaining_today_tickets_to_call: IRemainingTodayTickets[];
|
|
70
|
-
last_tickets_called_today_by_channel?: ILastTicketCalledTodayByChannel[];
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export interface IRepository {
|
|
74
|
-
create(data: ITicketCreateRequest): Promise<ITicketCreateResponse>;
|
|
75
|
-
findToday(): Promise<ITicketsFindTodayResponse>;
|
|
76
|
-
update(data: ITicketUpdateRequest): Promise<ITicketUpdateResponse>;
|
|
77
|
-
undoLastCall(): Promise<ITicketUndoResponse>;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import joi from 'joi';
|
|
2
|
-
import { messages } from '../../../shared/messages';
|
|
3
|
-
import * as IShared from '../../../shared/interface';
|
|
4
|
-
import { ITicketCreateRequest, ITicketUpdateRequest } from './interfaces';
|
|
5
|
-
|
|
6
|
-
// create body validation
|
|
7
|
-
const createBodyKeys: IShared.IRouteRequestWithStamps<ITicketCreateRequest> = {
|
|
8
|
-
channel_id: joi.number().required(),
|
|
9
|
-
language_id: joi.number().required(),
|
|
10
|
-
created_by: joi.string().uuid().required(),
|
|
11
|
-
};
|
|
12
|
-
export const createBody = joi.object().keys(createBodyKeys).messages(messages);
|
|
13
|
-
|
|
14
|
-
// update body validation
|
|
15
|
-
const updateBodyKeys: IShared.IRouteRequest<ITicketUpdateRequest> = {
|
|
16
|
-
id: joi.string().uuid().required(),
|
|
17
|
-
who_attended: joi.string().uuid().required(),
|
|
18
|
-
};
|
|
19
|
-
export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import * as IShared from '../../../shared/interface';
|
|
2
|
-
import { BankData, Country, Swift } from '../../../shared/entities/user';
|
|
3
|
-
|
|
4
|
-
export type Entity = BankData;
|
|
5
|
-
export const Route = 'bank_data';
|
|
6
|
-
export const UpperName = 'BankData';
|
|
7
|
-
export const LowerName = UpperName[0].toLowerCase() + UpperName.substring(1);
|
|
8
|
-
|
|
9
|
-
interface IFindDetailedResponse extends Entity {
|
|
10
|
-
swift: Swift | null;
|
|
11
|
-
country: Country;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
// omit any unnecessary fields
|
|
15
|
-
export type IFindByIdResponse = Omit<IFindDetailedResponse, 'swift' | 'country'>;
|
|
16
|
-
|
|
17
|
-
// omit any unnecessary fields
|
|
18
|
-
export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
|
|
19
|
-
|
|
20
|
-
export type IFindRequest = Record<string, unknown>;
|
|
21
|
-
|
|
22
|
-
// omit any unnecessary fields
|
|
23
|
-
export type IFindResponse = Omit<IFindDetailedResponse, 'swift' | 'country'>;
|
|
24
|
-
|
|
25
|
-
export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {}
|
|
26
|
-
|
|
27
|
-
export type IFindWithPaginationResponse = IShared.IPaginationResponse<
|
|
28
|
-
Omit<IFindDetailedResponse, 'swift' | 'country'>
|
|
29
|
-
>;
|
|
30
|
-
|
|
31
|
-
export interface ICreateRequest {
|
|
32
|
-
// create fields
|
|
33
|
-
provider_id?: string | null;
|
|
34
|
-
client_id?: string | null;
|
|
35
|
-
store_operator_id?: string | null;
|
|
36
|
-
commissioner_id?: string | null;
|
|
37
|
-
iban: string;
|
|
38
|
-
swift_id: string | null;
|
|
39
|
-
country_id: string;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export interface IUpdateRequest {
|
|
43
|
-
// updatable fields
|
|
44
|
-
iban?: string;
|
|
45
|
-
swift_id?: string | null;
|
|
46
|
-
country_id?: string;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export interface IRepository {
|
|
50
|
-
findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
|
|
51
|
-
|
|
52
|
-
findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
|
|
53
|
-
find(selector: IFindRequest): Promise<IFindResponse[]>;
|
|
54
|
-
findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
|
|
55
|
-
|
|
56
|
-
create(data: ICreateRequest): Promise<IFindByOwnerIdResponse>;
|
|
57
|
-
update(
|
|
58
|
-
selector: IShared.IFindByIdRequest,
|
|
59
|
-
data: IUpdateRequest,
|
|
60
|
-
): Promise<IFindByOwnerIdResponse | null>;
|
|
61
|
-
deleteOne(selector: IShared.IFindByIdRequest): Promise<IFindByOwnerIdResponse | null>;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export type IController = IShared.IEntityWithUserToken<IRepository>;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import joi from 'joi';
|
|
2
|
-
import { messages } from '../../../shared/messages';
|
|
3
|
-
import * as IShared from '../../../shared/interface';
|
|
4
|
-
import { IFindRequest, IFindPaginatedRequest, ICreateRequest, IUpdateRequest } from './interface';
|
|
5
|
-
|
|
6
|
-
// create body validation
|
|
7
|
-
const createBodyKeys: IShared.IRouteRequest<ICreateRequest> = {
|
|
8
|
-
provider_id: joi.string(),
|
|
9
|
-
client_id: joi.string(),
|
|
10
|
-
store_operator_id: joi.string(),
|
|
11
|
-
commissioner_id: joi.string(),
|
|
12
|
-
iban: joi.string().required(),
|
|
13
|
-
swift_id: joi.string().allow(null).optional(),
|
|
14
|
-
country_id: joi.string().required(),
|
|
15
|
-
};
|
|
16
|
-
export const createBody = joi
|
|
17
|
-
.object()
|
|
18
|
-
.keys(createBodyKeys)
|
|
19
|
-
.xor('provider_id', 'client_id', 'store_operator_id', 'commissioner_id')
|
|
20
|
-
.messages(messages);
|
|
21
|
-
|
|
22
|
-
// update body validation
|
|
23
|
-
const updateBodyKeys: IShared.IRouteRequest<IUpdateRequest> = {
|
|
24
|
-
iban: joi.string().optional(),
|
|
25
|
-
swift_id: joi.string().allow(null).optional(),
|
|
26
|
-
country_id: joi.string().optional(),
|
|
27
|
-
};
|
|
28
|
-
export const updateBody = joi.object().keys(updateBodyKeys).messages(messages);
|
|
29
|
-
const findQueryKeys: IShared.IRouteRequest<IFindRequest> = {};
|
|
30
|
-
export const findQuery = joi.object().keys(findQueryKeys).messages(messages);
|
|
31
|
-
|
|
32
|
-
// find with pagination query validation
|
|
33
|
-
const findWithPaginationQueryKeys: IShared.IRouteRequest<IFindPaginatedRequest> = {
|
|
34
|
-
per_page: joi.number().integer().positive().default(10).optional(),
|
|
35
|
-
current_page: joi.number().integer().positive().default(1).optional(),
|
|
36
|
-
};
|
|
37
|
-
export const findWithPaginationQuery = joi
|
|
38
|
-
.object()
|
|
39
|
-
.keys(findWithPaginationQueryKeys)
|
|
40
|
-
.messages(messages);
|