@sales-planner/shared 0.14.0 → 0.15.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.
package/README.md CHANGED
@@ -55,7 +55,7 @@ export type CreateUserRequest = CreateUserDto;
55
55
  ```typescript
56
56
  import type {
57
57
  // Entities
58
- User, Tenant, Shop, Sku, Brand, Category, Group, Status, Supplier,
58
+ User, Tenant, Shop, Sku, Brand, Category, Group, Status, Supplier, Warehouse,
59
59
  SalesHistory, Role, UserRole, ApiKey, Marketplace,
60
60
 
61
61
  // Request types (HTTP layer)
@@ -66,6 +66,7 @@ import type {
66
66
  CreateGroupRequest, UpdateGroupRequest,
67
67
  CreateStatusRequest, UpdateStatusRequest,
68
68
  CreateSupplierRequest, UpdateSupplierRequest,
69
+ CreateWarehouseRequest, UpdateWarehouseRequest,
69
70
  CreateSalesHistoryRequest, UpdateSalesHistoryRequest,
70
71
 
71
72
  // DTO types (Service layer)
@@ -76,11 +77,12 @@ import type {
76
77
  CreateGroupDto, UpdateGroupDto,
77
78
  CreateStatusDto, UpdateStatusDto,
78
79
  CreateSupplierDto, UpdateSupplierDto,
80
+ CreateWarehouseDto, UpdateWarehouseDto,
79
81
  CreateSalesHistoryDto, UpdateSalesHistoryDto,
80
82
 
81
83
  // Import types
82
84
  ImportSkuItem, ImportBrandItem, ImportCategoryItem, ImportGroupItem, ImportStatusItem,
83
- ImportSupplierItem, ImportSalesHistoryItem, ImportMarketplaceItem,
85
+ ImportSupplierItem, ImportWarehouseItem, ImportSalesHistoryItem, ImportMarketplaceItem,
84
86
 
85
87
  // Query types
86
88
  ShopContextParams, PaginationQuery, PeriodQuery, SalesHistoryQuery,
@@ -90,7 +92,7 @@ import type {
90
92
  UserWithRolesAndTenants, TenantWithShopAndApiKey,
91
93
  ImportResult, DeleteDataResult,
92
94
  SkuExportItem, BrandExportItem, CategoryExportItem, GroupExportItem, StatusExportItem,
93
- SupplierExportItem, MarketplaceExportItem, SalesHistoryExportItem
95
+ SupplierExportItem, WarehouseExportItem, MarketplaceExportItem, SalesHistoryExportItem
94
96
  } from '@sales-planner/shared';
95
97
  ```
96
98
 
@@ -116,6 +118,7 @@ The API uses **numeric IDs** internally for referential integrity:
116
118
  | `Group` | Product group for classification (shop-scoped) |
117
119
  | `Status` | Product status for classification (shop-scoped) |
118
120
  | `Supplier` | Product supplier (shop-scoped) |
121
+ | `Warehouse` | Storage location (shop-scoped) |
119
122
  | `SalesHistory` | Sales record for a period (uses numeric marketplace_id) |
120
123
  | `Role` | Access role |
121
124
  | `UserRole` | User-role assignment |
@@ -137,13 +140,14 @@ The API uses **numeric IDs** internally for referential integrity:
137
140
  |------|-------------|| `PaginatedResponse<T>` | `{ items: T[]; total: number; limit: number; offset: number }` || `UserWithRolesAndTenants` | User with their roles and tenants |
138
141
  | `TenantWithShopAndApiKey` | Created tenant with shop and API key |
139
142
  | `ImportResult` | `{ created: number; updated: number; errors: string[] }` |
140
- | `DeleteDataResult` | `{ skusDeleted: number; salesHistoryDeleted: number; marketplacesDeleted: number }` |
143
+ | `DeleteDataResult` | `{ skusDeleted, salesHistoryDeleted, marketplacesDeleted, brandsDeleted, categoriesDeleted, groupsDeleted, statusesDeleted, suppliersDeleted, warehousesDeleted: number }` |
141
144
  | `SkuExportItem` | SKU data for export |
142
145
  | `BrandExportItem` | Brand data for export |
143
146
  | `CategoryExportItem` | Category data for export |
144
147
  | `GroupExportItem` | Group data for export |
145
148
  | `StatusExportItem` | Status data for export |
146
149
  | `SupplierExportItem` | Supplier data for export |
150
+ | `WarehouseExportItem` | Warehouse data for export |
147
151
  | `MarketplaceExportItem` | Marketplace data for export |
148
152
  | `SalesHistoryExportItem` | Sales history data for export |
149
153
 
@@ -17,6 +17,7 @@ export * from './categories';
17
17
  export * from './groups';
18
18
  export * from './statuses';
19
19
  export * from './suppliers';
20
+ export * from './warehouses';
20
21
  export * from './sales-history';
21
22
  export * from './marketplaces';
22
23
  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,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,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,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,cAAc,CAAC;AAC7B,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
@@ -33,6 +33,7 @@ __exportStar(require("./categories"), exports);
33
33
  __exportStar(require("./groups"), exports);
34
34
  __exportStar(require("./statuses"), exports);
35
35
  __exportStar(require("./suppliers"), exports);
36
+ __exportStar(require("./warehouses"), exports);
36
37
  __exportStar(require("./sales-history"), exports);
37
38
  __exportStar(require("./marketplaces"), exports);
38
39
  __exportStar(require("./api-keys"), exports);
@@ -0,0 +1,7 @@
1
+ import type { CodedTitledItem, CodedTitledShopScopedCreateDto, CodedTitledUpdateDto } from './base';
2
+ export type CreateWarehouseRequest = CodedTitledItem;
3
+ export type CreateWarehouseDto = CodedTitledShopScopedCreateDto;
4
+ export type UpdateWarehouseDto = CodedTitledUpdateDto;
5
+ export type UpdateWarehouseRequest = CodedTitledUpdateDto;
6
+ export type ImportWarehouseItem = CodedTitledItem;
7
+ //# sourceMappingURL=warehouses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warehouses.d.ts","sourceRoot":"","sources":["../../src/dto/warehouses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAGpG,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAAC;AACrD,MAAM,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACtD,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAC1D,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -11,6 +11,7 @@ export * from './categories';
11
11
  export * from './groups';
12
12
  export * from './statuses';
13
13
  export * from './suppliers';
14
+ export * from './warehouses';
14
15
  export * from './marketplaces';
15
16
  export * from './sales-history';
16
17
  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,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"}
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,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -27,6 +27,7 @@ __exportStar(require("./categories"), exports);
27
27
  __exportStar(require("./groups"), exports);
28
28
  __exportStar(require("./statuses"), exports);
29
29
  __exportStar(require("./suppliers"), exports);
30
+ __exportStar(require("./warehouses"), exports);
30
31
  __exportStar(require("./marketplaces"), exports);
31
32
  __exportStar(require("./sales-history"), exports);
32
33
  __exportStar(require("./roles"), exports);
@@ -0,0 +1,4 @@
1
+ import type { CodedShopScopedEntity } from './base';
2
+ export interface Warehouse extends CodedShopScopedEntity {
3
+ }
4
+ //# sourceMappingURL=warehouses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warehouses.d.ts","sourceRoot":"","sources":["../../src/entities/warehouses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAEpD,MAAM,WAAW,SAAU,SAAQ,qBAAqB;CAAG"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -17,6 +17,7 @@ export interface EntitiesMetadata {
17
17
  groups: EntityMetadata;
18
18
  statuses: EntityMetadata;
19
19
  suppliers: EntityMetadata;
20
+ warehouses: EntityMetadata;
20
21
  marketplaces: EntityMetadata;
21
22
  skus: EntityMetadata;
22
23
  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,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"}
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,UAAU,EAAE,cAAc,CAAC;IAC3B,YAAY,EAAE,cAAc,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,cAAc,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,EAAE,gBA+N/B,CAAC"}
package/dist/metadata.js CHANGED
@@ -102,6 +102,26 @@ exports.ENTITIES_METADATA = {
102
102
  },
103
103
  ],
104
104
  },
105
+ warehouses: {
106
+ name: 'Warehouses',
107
+ description: 'Storage locations for inventory',
108
+ fields: [
109
+ {
110
+ name: 'code',
111
+ type: 'string',
112
+ description: 'Unique warehouse identifier',
113
+ required: true,
114
+ example: 'main-warehouse',
115
+ },
116
+ {
117
+ name: 'title',
118
+ type: 'string',
119
+ description: 'Warehouse display name',
120
+ required: true,
121
+ example: 'Main Warehouse',
122
+ },
123
+ ],
124
+ },
105
125
  marketplaces: {
106
126
  name: 'Marketplaces',
107
127
  description: 'Sales channels where products are sold',
@@ -13,6 +13,7 @@ export type CategoryExportItem = CodedTitledItem;
13
13
  export type GroupExportItem = CodedTitledItem;
14
14
  export type StatusExportItem = CodedTitledItem;
15
15
  export type SupplierExportItem = CodedTitledItem;
16
+ export type WarehouseExportItem = CodedTitledItem;
16
17
  export type MarketplaceExportItem = CodedTitledItem;
17
18
  export interface SalesHistoryExportItem {
18
19
  marketplace: string;
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/responses/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAEpD,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,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAElD,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAEpD,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -17,5 +17,11 @@ export interface DeleteDataResult {
17
17
  skusDeleted: number;
18
18
  salesHistoryDeleted: number;
19
19
  marketplacesDeleted: number;
20
+ brandsDeleted: number;
21
+ categoriesDeleted: number;
22
+ groupsDeleted: number;
23
+ statusesDeleted: number;
24
+ suppliersDeleted: number;
25
+ warehousesDeleted: number;
20
26
  }
21
27
  //# sourceMappingURL=import.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/responses/import.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;CAC7B"}
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/responses/import.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sales-planner/shared",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "Shared types and DTOs for Sales Planner API",
5
5
  "author": "Damir Manapov",
6
6
  "license": "MIT",