@sales-planner/http-client 0.6.0 → 0.7.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 +26 -4
- package/dist/clients/brands-client.d.ts +22 -0
- package/dist/clients/brands-client.d.ts.map +1 -0
- package/dist/clients/brands-client.js +30 -0
- package/dist/clients/sales-planner-client.d.ts +11 -0
- package/dist/clients/sales-planner-client.d.ts.map +1 -1
- package/dist/clients/sales-planner-client.js +12 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -47,6 +47,11 @@ const skus = await client.skus.getSkus({ tenantId, shopId });
|
|
|
47
47
|
await client.skus.importSkusJson(items, { tenantId, shopId });
|
|
48
48
|
const csv = await client.skus.exportSkusCsv({ tenantId, shopId });
|
|
49
49
|
|
|
50
|
+
// Brands with import/export
|
|
51
|
+
const brands = await client.brands.getBrands({ tenantId, shopId });
|
|
52
|
+
await client.brands.importBrandsJson(items, { tenantId, shopId });
|
|
53
|
+
const brandsCsv = await client.brands.exportBrandsCsv({ tenantId, shopId });
|
|
54
|
+
|
|
50
55
|
// Sales History
|
|
51
56
|
const history = await client.salesHistory.getSalesHistory(
|
|
52
57
|
{ tenantId, shopId },
|
|
@@ -75,7 +80,7 @@ const skus = await client.getSkus({ tenantId, shopId });
|
|
|
75
80
|
|
|
76
81
|
## Import/Export Pattern
|
|
77
82
|
|
|
78
|
-
Resources that support bulk operations (SKUs, Sales History, Marketplaces) follow a consistent pattern:
|
|
83
|
+
Resources that support bulk operations (SKUs, Brands, Sales History, Marketplaces) follow a consistent pattern:
|
|
79
84
|
|
|
80
85
|
```typescript
|
|
81
86
|
// Import from JSON
|
|
@@ -95,8 +100,16 @@ const result = await client.skus.importSkusCsv(csvContent, { tenantId, shopId })
|
|
|
95
100
|
// Export to CSV
|
|
96
101
|
const csv = await client.skus.exportSkusCsv({ tenantId, shopId });
|
|
97
102
|
|
|
98
|
-
// Get example templates
|
|
103
|
+
// Get example templates (no auth required)
|
|
99
104
|
const exampleCsv = await client.skus.getSkusExampleCsv();
|
|
105
|
+
|
|
106
|
+
// Same pattern works for brands
|
|
107
|
+
const brandResult = await client.brands.importBrandsJson(
|
|
108
|
+
[{ code: 'apple', title: 'Apple' }],
|
|
109
|
+
{ tenantId, shopId }
|
|
110
|
+
);
|
|
111
|
+
const brandsCsv = await client.brands.exportBrandsCsv({ tenantId, shopId });
|
|
112
|
+
const brandExample = await client.brands.getBrandsExampleCsv();
|
|
100
113
|
```
|
|
101
114
|
|
|
102
115
|
## Error Handling
|
|
@@ -155,6 +168,13 @@ try {
|
|
|
155
168
|
- `exportSkusJson(ctx)`, `exportSkusCsv(ctx)` - Requires read access
|
|
156
169
|
- `getSkusExampleJson()`, `getSkusExampleCsv()` - Get import format examples (no auth required)
|
|
157
170
|
|
|
171
|
+
### Brands
|
|
172
|
+
- `getBrands(ctx)`, `getBrand(id, ctx)` - Requires read access (viewer or higher)
|
|
173
|
+
- `createBrand(dto, ctx)`, `updateBrand(id, dto, ctx)`, `deleteBrand(id, ctx)` - Requires write access (editor or higher)
|
|
174
|
+
- `importBrandsJson(items, ctx)`, `importBrandsCsv(csvContent, ctx)` - Requires write access (bulk upsert by code)
|
|
175
|
+
- `exportBrandsJson(ctx)`, `exportBrandsCsv(ctx)` - Requires read access
|
|
176
|
+
- `getBrandsExampleJson()`, `getBrandsExampleCsv()` - Get import format examples (no auth required)
|
|
177
|
+
|
|
158
178
|
### Sales History
|
|
159
179
|
- `getSalesHistory(ctx, query?)`, `getSalesHistoryItem(id, ctx)` - Requires read access (viewer or higher)
|
|
160
180
|
- `createSalesHistory(dto, ctx)`, `updateSalesHistory(id, dto, ctx)`, `deleteSalesHistory(id, ctx)` - Requires write access (editor or higher)
|
|
@@ -195,10 +215,12 @@ All entity types, DTOs, and response types are exported:
|
|
|
195
215
|
|
|
196
216
|
```typescript
|
|
197
217
|
import type {
|
|
198
|
-
User, Tenant, Shop, Sku, SalesHistory,
|
|
218
|
+
User, Tenant, Shop, Sku, Brand, SalesHistory,
|
|
199
219
|
CreateUserDto, CreateTenantDto, CreateShopDto,
|
|
220
|
+
CreateSkuRequest, CreateBrandRequest,
|
|
200
221
|
ShopContextParams, PeriodQuery,
|
|
201
|
-
UserWithRolesAndTenants, ImportResult
|
|
222
|
+
UserWithRolesAndTenants, ImportResult,
|
|
223
|
+
SkuExportItem, BrandExportItem
|
|
202
224
|
} from '@sales-planner/http-client';
|
|
203
225
|
```
|
|
204
226
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Brand, CreateBrandRequest, UpdateBrandDto, ImportResult, ShopContextParams } from '@sales-planner/shared';
|
|
2
|
+
import { ImportExportBaseClient } from './import-export-base-client.js';
|
|
3
|
+
export interface ImportBrandItem {
|
|
4
|
+
code: string;
|
|
5
|
+
title: string;
|
|
6
|
+
}
|
|
7
|
+
export interface BrandExportItem {
|
|
8
|
+
code: string;
|
|
9
|
+
title: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class BrandsClient extends ImportExportBaseClient {
|
|
12
|
+
getBrands(ctx: ShopContextParams): Promise<Brand[]>;
|
|
13
|
+
getBrand(id: number, ctx: ShopContextParams): Promise<Brand>;
|
|
14
|
+
createBrand(dto: CreateBrandRequest, ctx: ShopContextParams): Promise<Brand>;
|
|
15
|
+
updateBrand(id: number, dto: UpdateBrandDto, ctx: ShopContextParams): Promise<Brand>;
|
|
16
|
+
deleteBrand(id: number, ctx: ShopContextParams): Promise<void>;
|
|
17
|
+
importBrandsJson(items: ImportBrandItem[], ctx: ShopContextParams): Promise<ImportResult>;
|
|
18
|
+
importBrandsCsv(csvContent: string, ctx: ShopContextParams): Promise<ImportResult>;
|
|
19
|
+
exportBrandsJson(ctx: ShopContextParams): Promise<BrandExportItem[]>;
|
|
20
|
+
exportBrandsCsv(ctx: ShopContextParams): Promise<string>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=brands-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brands-client.d.ts","sourceRoot":"","sources":["../../src/clients/brands-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,MAAM,WAAW,eAAe;IAC9B,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,qBAAa,YAAa,SAAQ,sBAAsB;IAChD,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAInD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5D,WAAW,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5E,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;IAIpF,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzF,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAIlF,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAIpE,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAG/D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ImportExportBaseClient } from './import-export-base-client.js';
|
|
2
|
+
export class BrandsClient extends ImportExportBaseClient {
|
|
3
|
+
async getBrands(ctx) {
|
|
4
|
+
return this.request('GET', '/brands', { params: ctx });
|
|
5
|
+
}
|
|
6
|
+
async getBrand(id, ctx) {
|
|
7
|
+
return this.request('GET', `/brands/${id}`, { params: ctx });
|
|
8
|
+
}
|
|
9
|
+
async createBrand(dto, ctx) {
|
|
10
|
+
return this.request('POST', '/brands', { body: dto, params: ctx });
|
|
11
|
+
}
|
|
12
|
+
async updateBrand(id, dto, ctx) {
|
|
13
|
+
return this.request('PUT', `/brands/${id}`, { body: dto, params: ctx });
|
|
14
|
+
}
|
|
15
|
+
async deleteBrand(id, ctx) {
|
|
16
|
+
return this.request('DELETE', `/brands/${id}`, { params: ctx });
|
|
17
|
+
}
|
|
18
|
+
async importBrandsJson(items, ctx) {
|
|
19
|
+
return this.request('POST', '/brands/import/json', { body: items, params: ctx });
|
|
20
|
+
}
|
|
21
|
+
async importBrandsCsv(csvContent, ctx) {
|
|
22
|
+
return this.uploadCsv('/brands/import/csv', csvContent, ctx);
|
|
23
|
+
}
|
|
24
|
+
async exportBrandsJson(ctx) {
|
|
25
|
+
return this.request('GET', '/brands/export/json', { params: ctx });
|
|
26
|
+
}
|
|
27
|
+
async exportBrandsCsv(ctx) {
|
|
28
|
+
return this.requestText('GET', '/brands/export/csv', { params: ctx });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -4,6 +4,7 @@ import { UsersClient } from './users-client.js';
|
|
|
4
4
|
import { TenantsClient } from './tenants-client.js';
|
|
5
5
|
import { ShopsClient } from './shops-client.js';
|
|
6
6
|
import { SkusClient } from './skus-client.js';
|
|
7
|
+
import { BrandsClient } from './brands-client.js';
|
|
7
8
|
import { SalesHistoryClient } from './sales-history-client.js';
|
|
8
9
|
import { MarketplacesClient } from './marketplaces-client.js';
|
|
9
10
|
import { RolesClient } from './roles-client.js';
|
|
@@ -16,6 +17,7 @@ export declare class SalesPlannerClient {
|
|
|
16
17
|
readonly tenants: TenantsClient;
|
|
17
18
|
readonly shops: ShopsClient;
|
|
18
19
|
readonly skus: SkusClient;
|
|
20
|
+
readonly brands: BrandsClient;
|
|
19
21
|
readonly salesHistory: SalesHistoryClient;
|
|
20
22
|
readonly marketplaces: MarketplacesClient;
|
|
21
23
|
readonly roles: RolesClient;
|
|
@@ -50,6 +52,15 @@ export declare class SalesPlannerClient {
|
|
|
50
52
|
exportSkusCsv: (ctx: Parameters<SkusClient["exportSkusCsv"]>[0]) => Promise<string>;
|
|
51
53
|
getSkusExampleJson: () => Promise<import("@sales-planner/shared").ImportSkuItem[]>;
|
|
52
54
|
getSkusExampleCsv: () => Promise<string>;
|
|
55
|
+
getBrands: (ctx: Parameters<BrandsClient["getBrands"]>[0]) => Promise<import("@sales-planner/shared").Brand[]>;
|
|
56
|
+
getBrand: (id: number, ctx: Parameters<BrandsClient["getBrand"]>[1]) => Promise<import("@sales-planner/shared").Brand>;
|
|
57
|
+
createBrand: (dto: Parameters<BrandsClient["createBrand"]>[0], ctx: Parameters<BrandsClient["createBrand"]>[1]) => Promise<import("@sales-planner/shared").Brand>;
|
|
58
|
+
updateBrand: (id: number, dto: Parameters<BrandsClient["updateBrand"]>[1], ctx: Parameters<BrandsClient["updateBrand"]>[2]) => Promise<import("@sales-planner/shared").Brand>;
|
|
59
|
+
deleteBrand: (id: number, ctx: Parameters<BrandsClient["deleteBrand"]>[1]) => Promise<void>;
|
|
60
|
+
importBrandsJson: (items: Parameters<BrandsClient["importBrandsJson"]>[0], ctx: Parameters<BrandsClient["importBrandsJson"]>[1]) => Promise<import("@sales-planner/shared").ImportResult>;
|
|
61
|
+
importBrandsCsv: (csvContent: Parameters<BrandsClient["importBrandsCsv"]>[0], ctx: Parameters<BrandsClient["importBrandsCsv"]>[1]) => Promise<import("@sales-planner/shared").ImportResult>;
|
|
62
|
+
exportBrandsJson: (ctx: Parameters<BrandsClient["exportBrandsJson"]>[0]) => Promise<import("./brands-client.js").BrandExportItem[]>;
|
|
63
|
+
exportBrandsCsv: (ctx: Parameters<BrandsClient["exportBrandsCsv"]>[0]) => Promise<string>;
|
|
53
64
|
getSalesHistory: (ctx: Parameters<SalesHistoryClient["getSalesHistory"]>[0], query?: Parameters<SalesHistoryClient["getSalesHistory"]>[1]) => Promise<import("@sales-planner/shared").SalesHistory[]>;
|
|
54
65
|
getSalesHistoryItem: (id: number, ctx: Parameters<SalesHistoryClient["getSalesHistoryItem"]>[1]) => Promise<import("@sales-planner/shared").SalesHistory>;
|
|
55
66
|
createSalesHistory: (dto: Parameters<SalesHistoryClient["createSalesHistory"]>[0], ctx: Parameters<SalesHistoryClient["createSalesHistory"]>[1]) => Promise<import("@sales-planner/shared").SalesHistory>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sales-planner-client.d.ts","sourceRoot":"","sources":["../../src/clients/sales-planner-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;IAGxB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;gBAEpB,MAAM,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"sales-planner-client.d.ts","sourceRoot":"","sources":["../../src/clients/sales-planner-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { UsersClient } from './users-client.js';
|
|
|
4
4
|
import { TenantsClient } from './tenants-client.js';
|
|
5
5
|
import { ShopsClient } from './shops-client.js';
|
|
6
6
|
import { SkusClient } from './skus-client.js';
|
|
7
|
+
import { BrandsClient } from './brands-client.js';
|
|
7
8
|
import { SalesHistoryClient } from './sales-history-client.js';
|
|
8
9
|
import { MarketplacesClient } from './marketplaces-client.js';
|
|
9
10
|
import { RolesClient } from './roles-client.js';
|
|
@@ -17,6 +18,7 @@ export class SalesPlannerClient {
|
|
|
17
18
|
tenants;
|
|
18
19
|
shops;
|
|
19
20
|
skus;
|
|
21
|
+
brands;
|
|
20
22
|
salesHistory;
|
|
21
23
|
marketplaces;
|
|
22
24
|
roles;
|
|
@@ -29,6 +31,7 @@ export class SalesPlannerClient {
|
|
|
29
31
|
this.tenants = new TenantsClient(config);
|
|
30
32
|
this.shops = new ShopsClient(config);
|
|
31
33
|
this.skus = new SkusClient(config);
|
|
34
|
+
this.brands = new BrandsClient(config);
|
|
32
35
|
this.salesHistory = new SalesHistoryClient(config);
|
|
33
36
|
this.marketplaces = new MarketplacesClient(config);
|
|
34
37
|
this.roles = new RolesClient(config);
|
|
@@ -64,6 +67,15 @@ export class SalesPlannerClient {
|
|
|
64
67
|
exportSkusCsv = (ctx) => this.skus.exportSkusCsv(ctx);
|
|
65
68
|
getSkusExampleJson = () => this.skus.getSkusExampleJson();
|
|
66
69
|
getSkusExampleCsv = () => this.skus.getSkusExampleCsv();
|
|
70
|
+
getBrands = (ctx) => this.brands.getBrands(ctx);
|
|
71
|
+
getBrand = (id, ctx) => this.brands.getBrand(id, ctx);
|
|
72
|
+
createBrand = (dto, ctx) => this.brands.createBrand(dto, ctx);
|
|
73
|
+
updateBrand = (id, dto, ctx) => this.brands.updateBrand(id, dto, ctx);
|
|
74
|
+
deleteBrand = (id, ctx) => this.brands.deleteBrand(id, ctx);
|
|
75
|
+
importBrandsJson = (items, ctx) => this.brands.importBrandsJson(items, ctx);
|
|
76
|
+
importBrandsCsv = (csvContent, ctx) => this.brands.importBrandsCsv(csvContent, ctx);
|
|
77
|
+
exportBrandsJson = (ctx) => this.brands.exportBrandsJson(ctx);
|
|
78
|
+
exportBrandsCsv = (ctx) => this.brands.exportBrandsCsv(ctx);
|
|
67
79
|
getSalesHistory = (ctx, query) => this.salesHistory.getSalesHistory(ctx, query);
|
|
68
80
|
getSalesHistoryItem = (id, ctx) => this.salesHistory.getSalesHistoryItem(id, ctx);
|
|
69
81
|
createSalesHistory = (dto, ctx) => this.salesHistory.createSalesHistory(dto, ctx);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sales-planner/http-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "HTTP client for Sales Planner API",
|
|
5
5
|
"author": "Damir Manapov",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"README.md"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@sales-planner/shared": "0.
|
|
27
|
+
"@sales-planner/shared": "0.6.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"typescript": "^5.7.3"
|