@sales-planner/shared 0.10.0 → 0.11.0

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 (41) hide show
  1. package/README.md +15 -4
  2. package/dist/dto/categories.d.ts +20 -0
  3. package/dist/dto/categories.d.ts.map +1 -0
  4. package/dist/dto/categories.js +2 -0
  5. package/dist/dto/groups.d.ts +20 -0
  6. package/dist/dto/groups.d.ts.map +1 -0
  7. package/dist/dto/groups.js +2 -0
  8. package/dist/dto/index.d.ts +4 -0
  9. package/dist/dto/index.d.ts.map +1 -1
  10. package/dist/dto/index.js +4 -0
  11. package/dist/dto/skus.d.ts +12 -0
  12. package/dist/dto/skus.d.ts.map +1 -1
  13. package/dist/dto/statuses.d.ts +20 -0
  14. package/dist/dto/statuses.d.ts.map +1 -0
  15. package/dist/dto/statuses.js +2 -0
  16. package/dist/dto/suppliers.d.ts +16 -0
  17. package/dist/dto/suppliers.d.ts.map +1 -0
  18. package/dist/dto/suppliers.js +2 -0
  19. package/dist/entities/categories.d.ts +4 -0
  20. package/dist/entities/categories.d.ts.map +1 -0
  21. package/dist/entities/categories.js +2 -0
  22. package/dist/entities/groups.d.ts +4 -0
  23. package/dist/entities/groups.d.ts.map +1 -0
  24. package/dist/entities/groups.js +2 -0
  25. package/dist/entities/index.d.ts +4 -0
  26. package/dist/entities/index.d.ts.map +1 -1
  27. package/dist/entities/index.js +4 -0
  28. package/dist/entities/skus.d.ts +3 -0
  29. package/dist/entities/skus.d.ts.map +1 -1
  30. package/dist/entities/statuses.d.ts +4 -0
  31. package/dist/entities/statuses.d.ts.map +1 -0
  32. package/dist/entities/statuses.js +2 -0
  33. package/dist/entities/suppliers.d.ts +4 -0
  34. package/dist/entities/suppliers.d.ts.map +1 -0
  35. package/dist/entities/suppliers.js +2 -0
  36. package/dist/metadata.d.ts +4 -0
  37. package/dist/metadata.d.ts.map +1 -1
  38. package/dist/metadata.js +118 -10
  39. package/dist/responses/export.d.ts +19 -0
  40. package/dist/responses/export.d.ts.map +1 -1
  41. package/package.json +1 -1
package/README.md CHANGED
@@ -53,23 +53,30 @@ export type CreateUserRequest = CreateUserDto;
53
53
  ```typescript
54
54
  import type {
55
55
  // Entities
56
- User, Tenant, Shop, Sku, Brand, SalesHistory,
57
- Role, UserRole, ApiKey, Marketplace,
56
+ User, Tenant, Shop, Sku, Brand, Category, Group, Status,
57
+ SalesHistory, Role, UserRole, ApiKey, Marketplace,
58
58
 
59
59
  // Request types (HTTP layer)
60
60
  CreateUserRequest, UpdateUserRequest,
61
61
  CreateSkuRequest, UpdateSkuRequest,
62
62
  CreateBrandRequest, UpdateBrandRequest,
63
+ CreateCategoryRequest, UpdateCategoryRequest,
64
+ CreateGroupRequest, UpdateGroupRequest,
65
+ CreateStatusRequest, UpdateStatusRequest,
63
66
  CreateSalesHistoryRequest, UpdateSalesHistoryRequest,
64
67
 
65
68
  // DTO types (Service layer)
66
69
  CreateUserDto, UpdateUserDto,
67
70
  CreateSkuDto, UpdateSkuDto,
68
71
  CreateBrandDto, UpdateBrandDto,
72
+ CreateCategoryDto, UpdateCategoryDto,
73
+ CreateGroupDto, UpdateGroupDto,
74
+ CreateStatusDto, UpdateStatusDto,
69
75
  CreateSalesHistoryDto, UpdateSalesHistoryDto,
70
76
 
71
77
  // Import types
72
- ImportSkuItem, ImportBrandItem, ImportSalesHistoryItem, ImportMarketplaceItem,
78
+ ImportSkuItem, ImportBrandItem, ImportCategoryItem, ImportGroupItem, ImportStatusItem,
79
+ ImportSalesHistoryItem, ImportMarketplaceItem,
73
80
 
74
81
  // Query types
75
82
  ShopContextParams, PeriodQuery,
@@ -77,7 +84,8 @@ import type {
77
84
  // Response types
78
85
  UserWithRolesAndTenants, TenantWithShopAndApiKey,
79
86
  ImportResult, DeleteDataResult,
80
- SkuExportItem, BrandExportItem, SalesHistoryExportItem
87
+ SkuExportItem, BrandExportItem, CategoryExportItem, GroupExportItem, StatusExportItem,
88
+ SalesHistoryExportItem
81
89
  } from '@sales-planner/shared';
82
90
  ```
83
91
 
@@ -99,6 +107,9 @@ The API uses **numeric IDs** internally for referential integrity:
99
107
  | `Shop` | Store within a tenant |
100
108
  | `Sku` | Stock keeping unit (product variant) |
101
109
  | `Brand` | Product brand (shop-scoped) |
110
+ | `Category` | Product category for classification (shop-scoped) |
111
+ | `Group` | Product group for classification (shop-scoped) |
112
+ | `Status` | Product status for classification (shop-scoped) |
102
113
  | `SalesHistory` | Sales record for a period (uses numeric marketplace_id) |
103
114
  | `Role` | Access role |
104
115
  | `UserRole` | User-role assignment |
@@ -0,0 +1,20 @@
1
+ export interface CreateCategoryRequest {
2
+ code: string;
3
+ title: string;
4
+ }
5
+ export interface CreateCategoryDto {
6
+ code: string;
7
+ title: string;
8
+ shop_id: number;
9
+ tenant_id: number;
10
+ }
11
+ export interface UpdateCategoryDto {
12
+ code?: string;
13
+ title?: string;
14
+ }
15
+ export type UpdateCategoryRequest = UpdateCategoryDto;
16
+ export interface ImportCategoryItem {
17
+ code: string;
18
+ title: string;
19
+ }
20
+ //# sourceMappingURL=categories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/dto/categories.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ export interface CreateGroupRequest {
2
+ code: string;
3
+ title: string;
4
+ }
5
+ export interface CreateGroupDto {
6
+ code: string;
7
+ title: string;
8
+ shop_id: number;
9
+ tenant_id: number;
10
+ }
11
+ export interface UpdateGroupDto {
12
+ code?: string;
13
+ title?: string;
14
+ }
15
+ export type UpdateGroupRequest = UpdateGroupDto;
16
+ export interface ImportGroupItem {
17
+ code: string;
18
+ title: string;
19
+ }
20
+ //# sourceMappingURL=groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/dto/groups.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -12,6 +12,10 @@ export * from './tenants';
12
12
  export * from './shops';
13
13
  export * from './skus';
14
14
  export * from './brands';
15
+ export * from './categories';
16
+ export * from './groups';
17
+ export * from './statuses';
18
+ export * from './suppliers';
15
19
  export * from './sales-history';
16
20
  export * from './marketplaces';
17
21
  export * from './api-keys';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
package/dist/dto/index.js CHANGED
@@ -28,6 +28,10 @@ __exportStar(require("./tenants"), exports);
28
28
  __exportStar(require("./shops"), exports);
29
29
  __exportStar(require("./skus"), exports);
30
30
  __exportStar(require("./brands"), exports);
31
+ __exportStar(require("./categories"), exports);
32
+ __exportStar(require("./groups"), exports);
33
+ __exportStar(require("./statuses"), exports);
34
+ __exportStar(require("./suppliers"), exports);
31
35
  __exportStar(require("./sales-history"), exports);
32
36
  __exportStar(require("./marketplaces"), exports);
33
37
  __exportStar(require("./api-keys"), exports);
@@ -1,20 +1,32 @@
1
1
  export interface CreateSkuRequest {
2
2
  code: string;
3
3
  title: string;
4
+ category_code?: string;
5
+ group_code?: string;
6
+ status_code?: string;
4
7
  }
5
8
  export interface CreateSkuDto {
6
9
  code: string;
7
10
  title: string;
8
11
  shop_id: number;
9
12
  tenant_id: number;
13
+ category_code?: string;
14
+ group_code?: string;
15
+ status_code?: string;
10
16
  }
11
17
  export interface UpdateSkuDto {
12
18
  code?: string;
13
19
  title?: string;
20
+ category_code?: string;
21
+ group_code?: string;
22
+ status_code?: string;
14
23
  }
15
24
  export type UpdateSkuRequest = UpdateSkuDto;
16
25
  export interface ImportSkuItem {
17
26
  code: string;
18
27
  title: string;
28
+ category_code?: string;
29
+ group_code?: string;
30
+ status_code?: string;
19
31
  }
20
32
  //# sourceMappingURL=skus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skus.d.ts","sourceRoot":"","sources":["../../src/dto/skus.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"skus.d.ts","sourceRoot":"","sources":["../../src/dto/skus.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,20 @@
1
+ export interface CreateStatusRequest {
2
+ code: string;
3
+ title: string;
4
+ }
5
+ export interface CreateStatusDto {
6
+ code: string;
7
+ title: string;
8
+ shop_id: number;
9
+ tenant_id: number;
10
+ }
11
+ export interface UpdateStatusDto {
12
+ code?: string;
13
+ title?: string;
14
+ }
15
+ export type UpdateStatusRequest = UpdateStatusDto;
16
+ export interface ImportStatusItem {
17
+ code: string;
18
+ title: string;
19
+ }
20
+ //# sourceMappingURL=statuses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statuses.d.ts","sourceRoot":"","sources":["../../src/dto/statuses.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,16 @@
1
+ export interface CreateSupplierRequest {
2
+ code: string;
3
+ title: string;
4
+ }
5
+ export interface CreateSupplierDto {
6
+ code: string;
7
+ title: string;
8
+ shop_id: number;
9
+ tenant_id: number;
10
+ }
11
+ export interface UpdateSupplierDto {
12
+ code?: string;
13
+ title?: string;
14
+ }
15
+ export type UpdateSupplierRequest = UpdateSupplierDto;
16
+ //# sourceMappingURL=suppliers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../src/dto/suppliers.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import type { ShopScopedEntity } from './base';
2
+ export interface Category extends ShopScopedEntity {
3
+ }
4
+ //# sourceMappingURL=categories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/entities/categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,WAAW,QAAS,SAAQ,gBAAgB;CAAG"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import type { ShopScopedEntity } from './base';
2
+ export interface Group extends ShopScopedEntity {
3
+ }
4
+ //# sourceMappingURL=groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/entities/groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,WAAW,KAAM,SAAQ,gBAAgB;CAAG"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -7,6 +7,10 @@ export * from './tenants';
7
7
  export * from './shops';
8
8
  export * from './skus';
9
9
  export * from './brands';
10
+ export * from './categories';
11
+ export * from './groups';
12
+ export * from './statuses';
13
+ export * from './suppliers';
10
14
  export * from './marketplaces';
11
15
  export * from './sales-history';
12
16
  export * from './roles';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -23,6 +23,10 @@ __exportStar(require("./tenants"), exports);
23
23
  __exportStar(require("./shops"), exports);
24
24
  __exportStar(require("./skus"), exports);
25
25
  __exportStar(require("./brands"), exports);
26
+ __exportStar(require("./categories"), exports);
27
+ __exportStar(require("./groups"), exports);
28
+ __exportStar(require("./statuses"), exports);
29
+ __exportStar(require("./suppliers"), exports);
26
30
  __exportStar(require("./marketplaces"), exports);
27
31
  __exportStar(require("./sales-history"), exports);
28
32
  __exportStar(require("./roles"), exports);
@@ -1,4 +1,7 @@
1
1
  import type { ShopScopedEntity } from './base';
2
2
  export interface Sku extends ShopScopedEntity {
3
+ category_code?: string;
4
+ group_code?: string;
5
+ status_code?: string;
3
6
  }
4
7
  //# sourceMappingURL=skus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skus.d.ts","sourceRoot":"","sources":["../../src/entities/skus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,WAAW,GAAI,SAAQ,gBAAgB;CAAG"}
1
+ {"version":3,"file":"skus.d.ts","sourceRoot":"","sources":["../../src/entities/skus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,WAAW,GAAI,SAAQ,gBAAgB;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,4 @@
1
+ import type { ShopScopedEntity } from './base';
2
+ export interface Status extends ShopScopedEntity {
3
+ }
4
+ //# sourceMappingURL=statuses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statuses.d.ts","sourceRoot":"","sources":["../../src/entities/statuses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,WAAW,MAAO,SAAQ,gBAAgB;CAAG"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import type { ShopScopedEntity } from './base.js';
2
+ export interface Supplier extends ShopScopedEntity {
3
+ }
4
+ //# sourceMappingURL=suppliers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../src/entities/suppliers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,WAAW,QAAS,SAAQ,gBAAgB;CAAG"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -13,6 +13,10 @@ export interface EntityMetadata {
13
13
  }
14
14
  export interface EntitiesMetadata {
15
15
  brands: EntityMetadata;
16
+ categories: EntityMetadata;
17
+ groups: EntityMetadata;
18
+ statuses: EntityMetadata;
19
+ suppliers: EntityMetadata;
16
20
  marketplaces: EntityMetadata;
17
21
  skus: EntityMetadata;
18
22
  salesHistory: EntityMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,cAAc,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,cAAc,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,EAAE,gBA+F/B,CAAC"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,cAAc,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,cAAc,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,EAAE,gBA2M/B,CAAC"}
package/dist/metadata.js CHANGED
@@ -22,6 +22,86 @@ exports.ENTITIES_METADATA = {
22
22
  },
23
23
  ],
24
24
  },
25
+ categories: {
26
+ name: 'Categories',
27
+ description: 'Product categories for classification',
28
+ fields: [
29
+ {
30
+ name: 'code',
31
+ type: 'string',
32
+ description: 'Unique category identifier',
33
+ required: true,
34
+ example: 'electronics',
35
+ },
36
+ {
37
+ name: 'title',
38
+ type: 'string',
39
+ description: 'Category display name',
40
+ required: true,
41
+ example: 'Electronics',
42
+ },
43
+ ],
44
+ },
45
+ groups: {
46
+ name: 'Groups',
47
+ description: 'Product groups for classification',
48
+ fields: [
49
+ {
50
+ name: 'code',
51
+ type: 'string',
52
+ description: 'Unique group identifier',
53
+ required: true,
54
+ example: 'smartphones',
55
+ },
56
+ {
57
+ name: 'title',
58
+ type: 'string',
59
+ description: 'Group display name',
60
+ required: true,
61
+ example: 'Smartphones',
62
+ },
63
+ ],
64
+ },
65
+ statuses: {
66
+ name: 'Statuses',
67
+ description: 'Product statuses for classification',
68
+ fields: [
69
+ {
70
+ name: 'code',
71
+ type: 'string',
72
+ description: 'Unique status identifier',
73
+ required: true,
74
+ example: 'active',
75
+ },
76
+ {
77
+ name: 'title',
78
+ type: 'string',
79
+ description: 'Status display name',
80
+ required: true,
81
+ example: 'Active',
82
+ },
83
+ ],
84
+ },
85
+ suppliers: {
86
+ name: 'Suppliers',
87
+ description: 'Product suppliers and vendors',
88
+ fields: [
89
+ {
90
+ name: 'code',
91
+ type: 'string',
92
+ description: 'Unique supplier identifier',
93
+ required: true,
94
+ example: 'acme-corp',
95
+ },
96
+ {
97
+ name: 'title',
98
+ type: 'string',
99
+ description: 'Supplier display name',
100
+ required: true,
101
+ example: 'ACME Corporation',
102
+ },
103
+ ],
104
+ },
25
105
  marketplaces: {
26
106
  name: 'Marketplaces',
27
107
  description: 'Sales channels where products are sold',
@@ -60,6 +140,34 @@ exports.ENTITIES_METADATA = {
60
140
  required: true,
61
141
  example: 'iPhone 15 Pro',
62
142
  },
143
+ {
144
+ name: 'category_code',
145
+ type: 'string',
146
+ description: 'Product category code',
147
+ required: false,
148
+ example: 'electronics',
149
+ },
150
+ {
151
+ name: 'group_code',
152
+ type: 'string',
153
+ description: 'Product group code',
154
+ required: false,
155
+ example: 'smartphones',
156
+ },
157
+ {
158
+ name: 'status_code',
159
+ type: 'string',
160
+ description: 'Product status code',
161
+ required: false,
162
+ example: 'active',
163
+ },
164
+ {
165
+ name: 'supplier_code',
166
+ type: 'string',
167
+ description: 'Product supplier code',
168
+ required: false,
169
+ example: 'acme-corp',
170
+ },
63
171
  ],
64
172
  },
65
173
  salesHistory: {
@@ -67,11 +175,11 @@ exports.ENTITIES_METADATA = {
67
175
  description: 'Historical sales data by SKU, period, and marketplace',
68
176
  fields: [
69
177
  {
70
- name: 'sku_code',
178
+ name: 'marketplace',
71
179
  type: 'string',
72
- description: 'Product SKU code',
180
+ description: 'Marketplace code where sales occurred',
73
181
  required: true,
74
- example: 'IPHONE-15-PRO',
182
+ example: 'amazon',
75
183
  },
76
184
  {
77
185
  name: 'period',
@@ -80,6 +188,13 @@ exports.ENTITIES_METADATA = {
80
188
  required: true,
81
189
  example: '2024-01',
82
190
  },
191
+ {
192
+ name: 'sku',
193
+ type: 'string',
194
+ description: 'Product SKU code',
195
+ required: true,
196
+ example: 'IPHONE-15-PRO',
197
+ },
83
198
  {
84
199
  name: 'quantity',
85
200
  type: 'number',
@@ -87,13 +202,6 @@ exports.ENTITIES_METADATA = {
87
202
  required: true,
88
203
  example: '150',
89
204
  },
90
- {
91
- name: 'marketplace',
92
- type: 'string',
93
- description: 'Marketplace code where sales occurred',
94
- required: true,
95
- example: 'amazon',
96
- },
97
205
  ],
98
206
  },
99
207
  };
@@ -1,11 +1,30 @@
1
1
  export interface SkuExportItem {
2
2
  code: string;
3
3
  title: string;
4
+ category_code?: string;
5
+ group_code?: string;
6
+ status_code?: string;
4
7
  }
5
8
  export interface BrandExportItem {
6
9
  code: string;
7
10
  title: string;
8
11
  }
12
+ export interface CategoryExportItem {
13
+ code: string;
14
+ title: string;
15
+ }
16
+ export interface GroupExportItem {
17
+ code: string;
18
+ title: string;
19
+ }
20
+ export interface StatusExportItem {
21
+ code: string;
22
+ title: string;
23
+ }
24
+ export interface SupplierExportItem {
25
+ code: string;
26
+ title: string;
27
+ }
9
28
  export interface MarketplaceExportItem {
10
29
  code: string;
11
30
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/responses/export.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/responses/export.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sales-planner/shared",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Shared types and DTOs for Sales Planner API",
5
5
  "author": "Damir Manapov",
6
6
  "license": "MIT",