@sales-planner/shared 0.11.0 → 0.12.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
@@ -1,6 +1,6 @@
1
1
  # @sales-planner/shared
2
2
 
3
- Shared types and DTOs for the Sales Planner API.
3
+ Shared types, DTOs, and entities for the Sales Planner API. This package provides the single source of truth for all TypeScript types used across the API and HTTP client.
4
4
 
5
5
  > **For the HTTP client**: Use `@sales-planner/http-client` - it includes this package as a dependency.
6
6
 
@@ -25,6 +25,7 @@ The package provides two type variants for each operation:
25
25
  export interface CreateSkuRequest {
26
26
  code: string;
27
27
  title: string;
28
+ title2?: string; // optional extended title
28
29
  // shop_id, tenant_id omitted - injected by API
29
30
  }
30
31
  ```
@@ -34,6 +35,7 @@ export interface CreateSkuRequest {
34
35
  export interface CreateSkuDto {
35
36
  code: string;
36
37
  title: string;
38
+ title2?: string;
37
39
  shop_id: number;
38
40
  tenant_id: number;
39
41
  }
@@ -53,7 +55,7 @@ export type CreateUserRequest = CreateUserDto;
53
55
  ```typescript
54
56
  import type {
55
57
  // Entities
56
- User, Tenant, Shop, Sku, Brand, Category, Group, Status,
58
+ User, Tenant, Shop, Sku, Brand, Category, Group, Status, Supplier,
57
59
  SalesHistory, Role, UserRole, ApiKey, Marketplace,
58
60
 
59
61
  // Request types (HTTP layer)
@@ -63,6 +65,7 @@ import type {
63
65
  CreateCategoryRequest, UpdateCategoryRequest,
64
66
  CreateGroupRequest, UpdateGroupRequest,
65
67
  CreateStatusRequest, UpdateStatusRequest,
68
+ CreateSupplierRequest, UpdateSupplierRequest,
66
69
  CreateSalesHistoryRequest, UpdateSalesHistoryRequest,
67
70
 
68
71
  // DTO types (Service layer)
@@ -72,11 +75,12 @@ import type {
72
75
  CreateCategoryDto, UpdateCategoryDto,
73
76
  CreateGroupDto, UpdateGroupDto,
74
77
  CreateStatusDto, UpdateStatusDto,
78
+ CreateSupplierDto, UpdateSupplierDto,
75
79
  CreateSalesHistoryDto, UpdateSalesHistoryDto,
76
80
 
77
81
  // Import types
78
82
  ImportSkuItem, ImportBrandItem, ImportCategoryItem, ImportGroupItem, ImportStatusItem,
79
- ImportSalesHistoryItem, ImportMarketplaceItem,
83
+ ImportSupplierItem, ImportSalesHistoryItem, ImportMarketplaceItem,
80
84
 
81
85
  // Query types
82
86
  ShopContextParams, PeriodQuery,
@@ -85,7 +89,7 @@ import type {
85
89
  UserWithRolesAndTenants, TenantWithShopAndApiKey,
86
90
  ImportResult, DeleteDataResult,
87
91
  SkuExportItem, BrandExportItem, CategoryExportItem, GroupExportItem, StatusExportItem,
88
- SalesHistoryExportItem
92
+ SupplierExportItem, MarketplaceExportItem, SalesHistoryExportItem
89
93
  } from '@sales-planner/shared';
90
94
  ```
91
95
 
@@ -110,6 +114,7 @@ The API uses **numeric IDs** internally for referential integrity:
110
114
  | `Category` | Product category for classification (shop-scoped) |
111
115
  | `Group` | Product group for classification (shop-scoped) |
112
116
  | `Status` | Product status for classification (shop-scoped) |
117
+ | `Supplier` | Product supplier (shop-scoped) |
113
118
  | `SalesHistory` | Sales record for a period (uses numeric marketplace_id) |
114
119
  | `Role` | Access role |
115
120
  | `UserRole` | User-role assignment |
@@ -130,7 +135,15 @@ The API uses **numeric IDs** internally for referential integrity:
130
135
  | `UserWithRolesAndTenants` | User with their roles and tenants |
131
136
  | `TenantWithShopAndApiKey` | Created tenant with shop and API key |
132
137
  | `ImportResult` | `{ created: number; updated: number; errors: string[] }` |
133
- | `DeleteDataResult` | `{ deletedSkus: number; deletedSalesHistory: number }` |
138
+ | `DeleteDataResult` | `{ skusDeleted: number; salesHistoryDeleted: number; marketplacesDeleted: number }` |
139
+ | `SkuExportItem` | SKU data for export |
140
+ | `BrandExportItem` | Brand data for export |
141
+ | `CategoryExportItem` | Category data for export |
142
+ | `GroupExportItem` | Group data for export |
143
+ | `StatusExportItem` | Status data for export |
144
+ | `SupplierExportItem` | Supplier data for export |
145
+ | `MarketplaceExportItem` | Marketplace data for export |
146
+ | `SalesHistoryExportItem` | Sales history data for export |
134
147
 
135
148
  ## Related Packages
136
149
 
@@ -1,32 +1,40 @@
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
+ title2?: string;
5
+ category_id?: number;
6
+ group_id?: number;
7
+ status_id?: number;
8
+ supplier_id?: number;
7
9
  }
8
10
  export interface CreateSkuDto {
9
11
  code: string;
10
12
  title: string;
13
+ title2?: string | null;
11
14
  shop_id: number;
12
15
  tenant_id: number;
13
- category_code?: string;
14
- group_code?: string;
15
- status_code?: string;
16
+ category_id?: number | null;
17
+ group_id?: number | null;
18
+ status_id?: number | null;
19
+ supplier_id?: number | null;
16
20
  }
17
21
  export interface UpdateSkuDto {
18
22
  code?: string;
19
23
  title?: string;
20
- category_code?: string;
21
- group_code?: string;
22
- status_code?: string;
24
+ title2?: string | null;
25
+ category_id?: number | null;
26
+ group_id?: number | null;
27
+ status_id?: number | null;
28
+ supplier_id?: number | null;
23
29
  }
24
30
  export type UpdateSkuRequest = UpdateSkuDto;
25
31
  export interface ImportSkuItem {
26
32
  code: string;
27
33
  title: string;
28
- category_code?: string;
29
- group_code?: string;
30
- status_code?: string;
34
+ title2?: string;
35
+ category?: string;
36
+ group?: string;
37
+ status?: string;
38
+ supplier?: string;
31
39
  }
32
40
  //# 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;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"}
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,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AACD,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAE5C,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"}
@@ -13,4 +13,8 @@ export interface UpdateSupplierDto {
13
13
  title?: string;
14
14
  }
15
15
  export type UpdateSupplierRequest = UpdateSupplierDto;
16
+ export interface ImportSupplierItem {
17
+ code: string;
18
+ title: string;
19
+ }
16
20
  //# sourceMappingURL=suppliers.d.ts.map
@@ -1 +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"}
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;AAEtD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -18,4 +18,5 @@ export interface CreateTenantWithShopDto {
18
18
  userEmail: string;
19
19
  userName: string;
20
20
  }
21
+ export type CreateTenantWithShopRequest = CreateTenantWithShopDto;
21
22
  //# sourceMappingURL=tenants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenants.d.ts","sourceRoot":"","sources":["../../src/dto/tenants.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AACD,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"tenants.d.ts","sourceRoot":"","sources":["../../src/dto/tenants.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AACD,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,MAAM,2BAA2B,GAAG,uBAAuB,CAAC"}
@@ -1,7 +1,9 @@
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
+ title2?: string | null;
4
+ category_id?: number | null;
5
+ group_id?: number | null;
6
+ status_id?: number | null;
7
+ supplier_id?: number | null;
6
8
  }
7
9
  //# 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;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
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,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B"}
package/dist/metadata.js CHANGED
@@ -141,32 +141,32 @@ exports.ENTITIES_METADATA = {
141
141
  example: 'iPhone 15 Pro',
142
142
  },
143
143
  {
144
- name: 'category_code',
144
+ name: 'category',
145
145
  type: 'string',
146
- description: 'Product category code',
146
+ description: 'Product category code (auto-creates if missing)',
147
147
  required: false,
148
148
  example: 'electronics',
149
149
  },
150
150
  {
151
- name: 'group_code',
151
+ name: 'group',
152
152
  type: 'string',
153
- description: 'Product group code',
153
+ description: 'Product group code (auto-creates if missing)',
154
154
  required: false,
155
155
  example: 'smartphones',
156
156
  },
157
157
  {
158
- name: 'status_code',
158
+ name: 'status',
159
159
  type: 'string',
160
- description: 'Product status code',
160
+ description: 'Product status code (auto-creates if missing)',
161
161
  required: false,
162
162
  example: 'active',
163
163
  },
164
164
  {
165
- name: 'supplier_code',
165
+ name: 'supplier',
166
166
  type: 'string',
167
- description: 'Product supplier code',
167
+ description: 'Product supplier code (auto-creates if missing)',
168
168
  required: false,
169
- example: 'acme-corp',
169
+ example: 'apple-inc',
170
170
  },
171
171
  ],
172
172
  },
package/dist/query.d.ts CHANGED
@@ -6,8 +6,26 @@ export interface ShopContextParams {
6
6
  tenant_id: number;
7
7
  [key: string]: string | number | undefined;
8
8
  }
9
+ export interface PaginationQuery {
10
+ limit?: number;
11
+ offset?: number;
12
+ }
9
13
  export interface PeriodQuery {
10
14
  period_from?: string;
11
15
  period_to?: string;
12
16
  }
17
+ export interface GetUserRolesQuery {
18
+ userId?: number;
19
+ roleId?: number;
20
+ tenantId?: number;
21
+ }
22
+ /**
23
+ * Paginated response wrapper
24
+ */
25
+ export interface PaginatedResponse<T> {
26
+ items: T[];
27
+ total: number;
28
+ limit: number;
29
+ offset: number;
30
+ }
13
31
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,9 +1,11 @@
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
+ title2?: string;
5
+ category?: string;
6
+ group?: string;
7
+ status?: string;
8
+ supplier?: string;
7
9
  }
8
10
  export interface BrandExportItem {
9
11
  code: 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;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"}
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,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,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"}
@@ -1,10 +1,18 @@
1
1
  export interface ImportResult {
2
2
  created: number;
3
3
  updated: number;
4
- skus_created?: number;
5
- marketplaces_created?: number;
6
4
  errors: string[];
7
5
  }
6
+ export interface SkuImportResult extends ImportResult {
7
+ categories_created: number;
8
+ groups_created: number;
9
+ statuses_created: number;
10
+ suppliers_created: number;
11
+ }
12
+ export interface SalesHistoryImportResult extends ImportResult {
13
+ skus_created: number;
14
+ marketplaces_created: number;
15
+ }
8
16
  export interface DeleteDataResult {
9
17
  skusDeleted: number;
10
18
  salesHistoryDeleted: number;
@@ -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,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;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;CAC7B"}
@@ -2,6 +2,7 @@
2
2
  * API response types
3
3
  */
4
4
  export * from './users';
5
+ export * from './user-roles';
5
6
  export * from './tenants';
6
7
  export * from './import';
7
8
  export * from './export';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/responses/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/responses/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -18,6 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  __exportStar(require("./users"), exports);
21
+ __exportStar(require("./user-roles"), exports);
21
22
  __exportStar(require("./tenants"), exports);
22
23
  __exportStar(require("./import"), exports);
23
24
  __exportStar(require("./export"), exports);
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Response type for user-roles API endpoints
3
+ * Note: This is different from UserRole in users.ts which is used for /me endpoint
4
+ */
5
+ export interface UserRoleResponse {
6
+ id: number;
7
+ user_id: number;
8
+ role_id: number;
9
+ tenant_id: number | null;
10
+ shop_id: number | null;
11
+ }
12
+ //# sourceMappingURL=user-roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-roles.d.ts","sourceRoot":"","sources":["../../src/responses/user-roles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sales-planner/shared",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "Shared types and DTOs for Sales Planner API",
5
5
  "author": "Damir Manapov",
6
6
  "license": "MIT",