@nomalism-com/types 0.21.20 → 0.21.22

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 (54) hide show
  1. package/dist/index.min.js +1 -1
  2. package/dist/main.d.ts +45 -1
  3. package/dist/modules/stock/attribute/interfaces.d.ts +51 -0
  4. package/dist/modules/stock/attribute/route.schema.d.ts +5 -0
  5. package/dist/modules/stock/attributeValue/interfaces.d.ts +36 -0
  6. package/dist/modules/stock/attributeValue/route.schema.d.ts +5 -0
  7. package/dist/modules/stock/chat/interfaces.d.ts +2 -2
  8. package/dist/modules/stock/color/interfaces.d.ts +36 -0
  9. package/dist/modules/stock/color/route.schema.d.ts +5 -0
  10. package/dist/modules/stock/composition/interfaces.d.ts +36 -0
  11. package/dist/modules/stock/composition/route.schema.d.ts +5 -0
  12. package/dist/modules/stock/compositionMaterial/interfaces.d.ts +32 -0
  13. package/dist/modules/stock/compositionMaterial/route.schema.d.ts +5 -0
  14. package/dist/modules/stock/maintenance/interface.d.ts +37 -0
  15. package/dist/modules/stock/maintenance/route.schema.d.ts +5 -0
  16. package/dist/modules/stock/maintenanceAssoc/interface.d.ts +35 -0
  17. package/dist/modules/stock/maintenanceAssoc/route.schema.d.ts +5 -0
  18. package/dist/modules/stock/maintenancePreset/interfaces.d.ts +28 -0
  19. package/dist/modules/stock/maintenancePreset/route.schema.d.ts +5 -0
  20. package/dist/modules/stock/maintenancePresetAssoc/interfaces.d.ts +31 -0
  21. package/dist/modules/stock/maintenancePresetAssoc/route.schema.d.ts +4 -0
  22. package/dist/modules/stock/maintenanceType/interface.d.ts +32 -0
  23. package/dist/modules/stock/maintenanceType/route.schema.d.ts +5 -0
  24. package/dist/modules/stock/primaryColor/interface.d.ts +32 -0
  25. package/dist/modules/stock/primaryColor/route.schema.d.ts +5 -0
  26. package/dist/modules/stock/product/interface.d.ts +13 -1
  27. package/dist/modules/stock/productAttribute/interface.d.ts +36 -0
  28. package/dist/modules/stock/productAttribute/route.schema.d.ts +5 -0
  29. package/dist/modules/stock/productCategory/interface.d.ts +32 -0
  30. package/dist/modules/stock/productCategory/route.schema.d.ts +5 -0
  31. package/dist/modules/stock/productColor/interface.d.ts +36 -0
  32. package/dist/modules/stock/productColor/route.schema.d.ts +5 -0
  33. package/dist/modules/stock/productName/interface.d.ts +32 -0
  34. package/dist/modules/stock/productName/route.schema.d.ts +5 -0
  35. package/dist/modules/stock/productNamePreset/interface.d.ts +32 -0
  36. package/dist/modules/stock/productNamePreset/route.schema.d.ts +5 -0
  37. package/dist/modules/stock/productPart/interface.d.ts +40 -0
  38. package/dist/modules/stock/productPart/route.schema.d.ts +5 -0
  39. package/dist/modules/stock/productSubCategory/interface.d.ts +38 -0
  40. package/dist/modules/stock/productSubCategory/route.schema.d.ts +5 -0
  41. package/dist/modules/stock/productUse/interface.d.ts +32 -0
  42. package/dist/modules/stock/productUse/route.schema.d.ts +5 -0
  43. package/dist/modules/stock/productUseAssoc/interface.d.ts +34 -0
  44. package/dist/modules/stock/productUseAssoc/route.schema.d.ts +5 -0
  45. package/dist/modules/stock/similarProduct/interface.d.ts +38 -0
  46. package/dist/modules/stock/similarProduct/route.schema.d.ts +5 -0
  47. package/dist/modules/stock/typeOfInventory/interface.d.ts +34 -0
  48. package/dist/modules/stock/typeOfInventory/route.schema.d.ts +5 -0
  49. package/dist/modules/supply/cabideProduct/interface.d.ts +19 -3
  50. package/dist/modules/user/purchaseConditions/interface.d.ts +9 -6
  51. package/dist/modules/user/purchaseConditions/route.schema.d.ts +1 -1
  52. package/dist/shared/entities/index.d.ts +20 -0
  53. package/dist/shared/entities/stock.d.ts +201 -0
  54. package/package.json +3 -3
@@ -1,5 +1,7 @@
1
1
  import * as IShared from "../../../shared/interface";
2
- import { Product, UnitOfMeasure, ProductImage, VatTax, VatTaxZone, ProductVirtuals, ProductBaseVirtuals, ProductPromotionVirtuals, CabideProduct, Cabide } from "../../../shared/entities";
2
+ import { Attribute, Product, ProductName, UnitOfMeasure, ProductSubCategory, ProductCategory, TypeOfInventory, ProductImage, VatTax, VatTaxZone, ProductVirtuals, ProductBaseVirtuals, ProductPromotionVirtuals, CabideProduct, Cabide } from "../../../shared/entities";
3
+ import * as IProductPart from "../productPart/interface";
4
+ import * as IProductAttribute from "../productAttribute/interface";
3
5
  import * as IDocumentLine from "../../supply/documentLine/interfaces";
4
6
  export type Entity = Product;
5
7
  export declare const Route = "product";
@@ -18,11 +20,19 @@ export interface IEntityFromCabide extends Pick<Entity, "id" | "cabide_product_c
18
20
  export interface IEntityWithStock extends Entity {
19
21
  unit_of_measure_quantity: UnitOfMeasure;
20
22
  unit_of_measure_weight: UnitOfMeasure;
23
+ name: ProductName | null;
24
+ product_sub_category: ProductSubCategory & {
25
+ product_category: ProductCategory & {
26
+ attributes: Attribute[];
27
+ };
28
+ };
29
+ type_of_inventory: TypeOfInventory;
21
30
  vat_tax: VatTax & {
22
31
  vat_tax_zones: VatTaxZone[];
23
32
  };
24
33
  promotions: IProductPromotionVirtuals[];
25
34
  product_images: ProductImage[];
35
+ product_parts: IProductPart.IFindByRefProduct[];
26
36
  cabide_product: (CabideProduct & {
27
37
  cabide: Cabide;
28
38
  }) | null;
@@ -230,8 +240,10 @@ export interface IFindForMobileResponse {
230
240
  dnt_come_anymore: boolean;
231
241
  thumbnail: string | null;
232
242
  cabide_product_color: string | null;
243
+ product_attributes: IProductAttribute.IFindDetailedResponse[];
233
244
  virtual: Pick<IProductVirtuals, "reference" | "designation" | "price_sale" | "there_is_no_more" | "available" | "ordered_quantity" | "prison" | "reserved" | "total"> | null;
234
245
  unit_of_measure_quantity: Pick<UnitOfMeasure, "notation" | "integer_only">;
246
+ product_parts: IProductPart.IFindByRefProduct[];
235
247
  origin_cabide_product: Pick<CabideProduct, "preco_final_1" | "preco_final_2"> | null;
236
248
  promotions: IDocumentLine.IPromotions[];
237
249
  }
@@ -0,0 +1,36 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { ProductAttribute, Attribute } from '../../../shared/entities';
3
+ export type Entity = ProductAttribute;
4
+ export declare const Route = "product_attribute";
5
+ export declare const UpperName = "ProductAttribute";
6
+ export declare const LowerName: string;
7
+ export interface IFindDetailedResponse extends Entity {
8
+ attribute: Attribute;
9
+ }
10
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, 'attribute'>;
11
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
12
+ export type IFindRequest = Record<string, unknown>;
13
+ export type IFindResponse = Omit<IFindDetailedResponse, 'attribute'>;
14
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
15
+ }
16
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, 'attribute'>>;
17
+ export interface ICreateRequest {
18
+ product_id: string;
19
+ value: string;
20
+ attribute_id: string;
21
+ }
22
+ export interface IUpdateRequest {
23
+ product_id?: string;
24
+ value?: string;
25
+ attribute_id?: string;
26
+ }
27
+ export interface IRepository {
28
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
29
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
30
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
31
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
32
+ create(data: ICreateRequest): Promise<IFindDetailedResponse>;
33
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<IFindDetailedResponse | null>;
34
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<IFindDetailedResponse | null>;
35
+ }
36
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -0,0 +1,32 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { ProductCategory } from '../../../shared/entities';
3
+ export type Entity = ProductCategory;
4
+ export declare const Route = "product_category";
5
+ export declare const UpperName = "ProductCategory";
6
+ export declare const LowerName: string;
7
+ type IFindDetailedResponse = Entity;
8
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, ''>;
9
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
10
+ export type IFindRequest = Record<string, unknown>;
11
+ export type IFindResponse = Omit<IFindDetailedResponse, ''>;
12
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
13
+ }
14
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, ''>>;
15
+ export interface ICreateRequest {
16
+ name: string;
17
+ }
18
+ export interface IUpdateRequest {
19
+ name?: string;
20
+ }
21
+ export interface IRepository {
22
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
23
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
24
+ findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
25
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
26
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
27
+ create(data: ICreateRequest): Promise<Entity>;
28
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<Entity | null>;
29
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
30
+ }
31
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
32
+ export {};
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -0,0 +1,36 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { ProductColor, Color } from '../../../shared/entities';
3
+ export type Entity = ProductColor;
4
+ export declare const Route = "product_color";
5
+ export declare const UpperName = "ProductColor";
6
+ export declare const LowerName: string;
7
+ interface IFindDetailedResponse extends Entity {
8
+ color: Color;
9
+ }
10
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, 'color'>;
11
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
12
+ export type IFindRequest = Record<string, unknown>;
13
+ export type IFindResponse = Omit<IFindDetailedResponse, 'color'>;
14
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
15
+ }
16
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, 'color'>>;
17
+ export interface ICreateRequest {
18
+ product_id: string;
19
+ color_id: string;
20
+ multimedia_id: string;
21
+ }
22
+ export interface IUpdateRequest {
23
+ color_id?: string;
24
+ multimedia_id?: string;
25
+ }
26
+ export interface IRepository {
27
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
28
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
29
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
30
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
31
+ create(data: ICreateRequest): Promise<IFindByOwnerIdResponse>;
32
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<IFindByOwnerIdResponse | null>;
33
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<IFindByOwnerIdResponse | null>;
34
+ }
35
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
36
+ export {};
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -0,0 +1,32 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { ProductName } from '../../../shared/entities';
3
+ export type Entity = ProductName;
4
+ export declare const Route = "product_name";
5
+ export declare const UpperName = "ProductName";
6
+ export declare const LowerName: string;
7
+ type IFindDetailedResponse = Entity;
8
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, ''>;
9
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
10
+ export type IFindRequest = Record<string, unknown>;
11
+ export type IFindResponse = Omit<IFindDetailedResponse, ''>;
12
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
13
+ }
14
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, ''>>;
15
+ export interface ICreateRequest {
16
+ name: string;
17
+ }
18
+ export interface IUpdateRequest {
19
+ name?: string;
20
+ }
21
+ export interface IRepository {
22
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
23
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
24
+ findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
25
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
26
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
27
+ create(data: ICreateRequest): Promise<Entity>;
28
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<Entity | null>;
29
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
30
+ }
31
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
32
+ export {};
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -0,0 +1,32 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { ProductNamePreset } from '../../../shared/entities';
3
+ export type Entity = ProductNamePreset;
4
+ export declare const Route = "product_name_preset";
5
+ export declare const UpperName = "ProductNamePreset";
6
+ export declare const LowerName: string;
7
+ type IFindDetailedResponse = Entity;
8
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, ''>;
9
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
10
+ export type IFindRequest = Record<string, unknown>;
11
+ export type IFindResponse = Omit<IFindDetailedResponse, ''>;
12
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
13
+ }
14
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, ''>>;
15
+ export interface ICreateRequest {
16
+ name: string;
17
+ }
18
+ export interface IUpdateRequest {
19
+ name?: string;
20
+ }
21
+ export interface IRepository {
22
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
23
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
24
+ findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
25
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
26
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
27
+ create(data: ICreateRequest): Promise<Entity>;
28
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<Entity | null>;
29
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
30
+ }
31
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
32
+ export {};
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -0,0 +1,40 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { ProductPart } from '../../../shared/entities';
3
+ import * as IComposition from '../composition/interfaces';
4
+ import * as IMaintenanceAssoc from '../maintenanceAssoc/interface';
5
+ export type Entity = ProductPart;
6
+ export declare const Route = "product_part";
7
+ export declare const UpperName = "ProductPart";
8
+ export declare const LowerName: string;
9
+ interface IFindDetailedResponse extends Entity {
10
+ compositions: IComposition.IFindDetailedResponse[];
11
+ maintenance_assocs: IMaintenanceAssoc.IFindDetailedResponse[];
12
+ }
13
+ export type IFindByRefProduct = Omit<IFindDetailedResponse, 'maintenance_assocs'>;
14
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, 'compositions' | 'maintenance_assocs'>;
15
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
16
+ export type IFindRequest = Record<string, unknown>;
17
+ export type IFindResponse = Omit<IFindDetailedResponse, 'compositions' | 'maintenance_assocs'>;
18
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
19
+ }
20
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, 'compositions' | 'maintenance_assocs'>>;
21
+ export interface ICreateRequest {
22
+ name: string;
23
+ product_id: string;
24
+ }
25
+ export interface IUpdateRequest {
26
+ name?: string;
27
+ product_id?: string;
28
+ }
29
+ export interface IRepository {
30
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
31
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
32
+ findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
33
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
34
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
35
+ create(data: ICreateRequest): Promise<IFindByOwnerIdResponse>;
36
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<IFindByOwnerIdResponse | null>;
37
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<void>;
38
+ }
39
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
40
+ export {};
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -0,0 +1,38 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { ProductCategory, ProductSubCategory } from '../../../shared/entities';
3
+ export type Entity = ProductSubCategory;
4
+ export declare const Route = "product_sub_category";
5
+ export declare const UpperName = "ProductSubCategory";
6
+ export declare const LowerName: string;
7
+ interface IFindDetailedResponse extends Entity {
8
+ product_category: ProductCategory;
9
+ }
10
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, 'product_category'>;
11
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, 'product_category'>;
12
+ export type IFindRequest = Record<string, unknown>;
13
+ export type IFindResponse = Omit<IFindDetailedResponse, ''>;
14
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
15
+ }
16
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, 'product_category'>>;
17
+ export interface ICreateRequest {
18
+ name: string;
19
+ product_category_id: string;
20
+ external_id?: string | null;
21
+ }
22
+ export interface IUpdateRequest {
23
+ name?: string;
24
+ product_category_id?: string;
25
+ external_id?: string | null;
26
+ }
27
+ export interface IRepository {
28
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
29
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
30
+ findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
31
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
32
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
33
+ create(data: ICreateRequest): Promise<IFindResponse>;
34
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<IFindResponse | null>;
35
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<void>;
36
+ }
37
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
38
+ export {};
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -0,0 +1,32 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { ProductUse } from '../../../shared/entities';
3
+ export type Entity = ProductUse;
4
+ export declare const Route = "product_use";
5
+ export declare const UpperName = "ProductUse";
6
+ export declare const LowerName: string;
7
+ type IFindDetailedResponse = Entity;
8
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, ''>;
9
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
10
+ export type IFindRequest = Record<string, unknown>;
11
+ export type IFindResponse = Omit<IFindDetailedResponse, ''>;
12
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
13
+ }
14
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, ''>>;
15
+ export interface ICreateRequest {
16
+ name: string;
17
+ }
18
+ export interface IUpdateRequest {
19
+ name?: string;
20
+ }
21
+ export interface IRepository {
22
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
23
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
24
+ findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
25
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
26
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
27
+ create(data: ICreateRequest): Promise<Entity>;
28
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<Entity | null>;
29
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
30
+ }
31
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
32
+ export {};
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -0,0 +1,34 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { ProductUseAssoc, ProductUse } from '../../../shared/entities';
3
+ export type Entity = ProductUseAssoc;
4
+ export declare const Route = "product_use_assoc";
5
+ export declare const UpperName = "ProductUseAssoc";
6
+ export declare const LowerName: string;
7
+ interface IFindDetailedResponse extends Entity {
8
+ product_use: ProductUse;
9
+ }
10
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, 'product_use'>;
11
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
12
+ export type IFindRequest = Record<string, unknown>;
13
+ export type IFindResponse = Omit<IFindDetailedResponse, 'product_use'>;
14
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
15
+ }
16
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, 'product_use'>>;
17
+ export interface ICreateRequest {
18
+ product_use_id: string;
19
+ product_id: string;
20
+ }
21
+ export interface IUpdateRequest {
22
+ product_use_id: string;
23
+ }
24
+ export interface IRepository {
25
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
26
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
27
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
28
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
29
+ create(data: ICreateRequest): Promise<IFindByOwnerIdResponse>;
30
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<IFindByOwnerIdResponse | null>;
31
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<void>;
32
+ }
33
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
34
+ export {};
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -0,0 +1,38 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { SimilarProduct } from '../../../shared/entities';
3
+ export type Entity = SimilarProduct;
4
+ export declare const Route = "similar_product";
5
+ export declare const UpperName = "SimilarProduct";
6
+ export declare const LowerName: string;
7
+ type IFindDetailedResponse = Entity;
8
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, ''>;
9
+ export interface IFindByOwnerIdResponse extends Entity {
10
+ similar_product: {
11
+ reference: string;
12
+ thumbnail: string | null;
13
+ };
14
+ }
15
+ export type IFindRequest = Record<string, unknown>;
16
+ export type IFindResponse = Omit<IFindDetailedResponse, ''>;
17
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
18
+ }
19
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, ''>>;
20
+ export interface ICreateRequest {
21
+ product_id: string;
22
+ similar_product_id: string;
23
+ }
24
+ export interface IUpdateRequest {
25
+ product_id: string;
26
+ similar_product_id: string;
27
+ }
28
+ export interface IRepository {
29
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
30
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
31
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
32
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
33
+ create(data: ICreateRequest): Promise<IFindByOwnerIdResponse>;
34
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<IFindByOwnerIdResponse | null>;
35
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<IFindByOwnerIdResponse | null>;
36
+ }
37
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
38
+ export {};
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -0,0 +1,34 @@
1
+ import * as IShared from '../../../shared/interface';
2
+ import { TypeOfInventory } from '../../../shared/entities';
3
+ export type Entity = TypeOfInventory;
4
+ export declare const Route = "type_of_inventory";
5
+ export declare const UpperName = "TypeOfInventory";
6
+ export declare const LowerName: string;
7
+ type IFindDetailedResponse = Entity;
8
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, ''>;
9
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
10
+ export type IFindRequest = Record<string, unknown>;
11
+ export type IFindResponse = Omit<IFindDetailedResponse, ''>;
12
+ export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
13
+ }
14
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, ''>>;
15
+ export interface ICreateRequest {
16
+ name: string;
17
+ saft_code: string;
18
+ }
19
+ export interface IUpdateRequest {
20
+ name?: string;
21
+ saft_code?: string;
22
+ }
23
+ export interface IRepository {
24
+ findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
25
+ findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise<IFindByOwnerIdResponse[]>;
26
+ findMinified(params?: IShared.IFindMinifiedRequest): Promise<IShared.IFindMinifiedResponse[]>;
27
+ find(selector: IFindRequest): Promise<IFindResponse[]>;
28
+ findPaginated(selector: IFindPaginatedRequest): Promise<IFindWithPaginationResponse>;
29
+ create(data: ICreateRequest): Promise<Entity>;
30
+ update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise<Entity | null>;
31
+ deleteOne(selector: IShared.IFindByIdRequest): Promise<Entity | null>;
32
+ }
33
+ export type IController = IShared.IEntityWithUserToken<IRepository>;
34
+ export {};
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ export declare const createBody: joi.ObjectSchema<any>;
3
+ export declare const updateBody: joi.ObjectSchema<any>;
4
+ export declare const findQuery: joi.ObjectSchema<any>;
5
+ export declare const findWithPaginationQuery: joi.ObjectSchema<any>;
@@ -1,6 +1,7 @@
1
- import { CabideProduct } from "../../../shared/entities";
2
- import * as IShared from "../../../shared/interface";
3
- import * as Product from "../../stock/product/interface";
1
+ import { CabideProduct } from '../../../shared/entities';
2
+ import * as IShared from '../../../shared/interface';
3
+ import * as Attribute from '../../stock/attribute/interfaces';
4
+ import * as Product from '../../stock/product/interface';
4
5
  export type Entity = CabideProduct;
5
6
  export declare const Route = "cabide_product";
6
7
  export declare const UpperName = "CabideProduct";
@@ -52,11 +53,26 @@ export interface IFindCabideByOwnerResponse extends Entity {
52
53
  reference: string;
53
54
  designation: string;
54
55
  } | null;
56
+ product_sub_category: {
57
+ product_category: {
58
+ attributes: Attribute.Entity[];
59
+ };
60
+ };
61
+ product_parts: {
62
+ id: string;
63
+ _count: {
64
+ compositions: number;
65
+ maintenance_assocs: number;
66
+ };
67
+ }[];
55
68
  cabide_product: {
56
69
  _count: {
57
70
  cabide_order_products: number;
58
71
  };
59
72
  } | null;
73
+ _count: {
74
+ product_attributes: number;
75
+ };
60
76
  };
61
77
  }
62
78
  export interface ICreateProductByCabideProductIdRequest {
@@ -1,28 +1,31 @@
1
- import * as IShared from "../../../shared/interface";
2
- import { PurchaseConditions } from "../../../shared/entities";
1
+ import * as IShared from '../../../shared/interface';
2
+ import { PurchaseConditions, ProductCategory } from '../../../shared/entities';
3
3
  export type Entity = PurchaseConditions;
4
4
  export declare const Route = "purchase_conditions";
5
5
  export declare const UpperName = "PurchaseConditions";
6
6
  export declare const LowerName: string;
7
7
  interface IFindDetailedResponse extends Entity {
8
+ product_category: ProductCategory | null;
8
9
  }
9
- export type IFindByIdResponse = Omit<IFindDetailedResponse, "product_category">;
10
- export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, "">;
10
+ export type IFindByIdResponse = Omit<IFindDetailedResponse, 'product_category'>;
11
+ export type IFindByOwnerIdResponse = Omit<IFindDetailedResponse, ''>;
11
12
  export type IFindRequest = Record<string, unknown>;
12
- export type IFindResponse = Omit<IFindDetailedResponse, "">;
13
+ export type IFindResponse = Omit<IFindDetailedResponse, ''>;
13
14
  export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest {
14
15
  }
15
- export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, "">>;
16
+ export type IFindWithPaginationResponse = IShared.IPaginationResponse<Omit<IFindDetailedResponse, ''>>;
16
17
  export interface ICreateRequest {
17
18
  provider_id: string;
18
19
  discount: string;
19
20
  deadline: string;
20
21
  minimum_quantity: string;
22
+ product_category_id?: string | null;
21
23
  }
22
24
  export interface IUpdateRequest {
23
25
  discount?: string;
24
26
  deadline?: string;
25
27
  minimum_quantity?: string;
28
+ product_category_id?: string | null;
26
29
  }
27
30
  export interface IRepository {
28
31
  findById(selector: IShared.IFindByIdRequest): Promise<IFindByIdResponse | null>;
@@ -1,4 +1,4 @@
1
- import joi from "joi";
1
+ import joi from 'joi';
2
2
  export declare const createBody: joi.ObjectSchema<any>;
3
3
  export declare const updateBody: joi.ObjectSchema<any>;
4
4
  export declare const findQuery: joi.ObjectSchema<any>;