@sales-planner/http-client 0.15.0 → 0.16.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 (42) hide show
  1. package/README.md +13 -1
  2. package/dist/clients/api-keys-client.d.ts +5 -2
  3. package/dist/clients/api-keys-client.d.ts.map +1 -1
  4. package/dist/clients/api-keys-client.js +2 -2
  5. package/dist/clients/brands-client.d.ts +16 -18
  6. package/dist/clients/brands-client.d.ts.map +1 -1
  7. package/dist/clients/brands-client.js +37 -4
  8. package/dist/clients/categories-client.d.ts +16 -18
  9. package/dist/clients/categories-client.d.ts.map +1 -1
  10. package/dist/clients/categories-client.js +38 -4
  11. package/dist/clients/crud-client.d.ts +2 -1
  12. package/dist/clients/crud-client.d.ts.map +1 -1
  13. package/dist/clients/crud-client.js +2 -2
  14. package/dist/clients/groups-client.d.ts +16 -18
  15. package/dist/clients/groups-client.d.ts.map +1 -1
  16. package/dist/clients/groups-client.js +38 -4
  17. package/dist/clients/marketplaces-client.d.ts +16 -18
  18. package/dist/clients/marketplaces-client.d.ts.map +1 -1
  19. package/dist/clients/marketplaces-client.js +37 -4
  20. package/dist/clients/roles-client.d.ts +6 -6
  21. package/dist/clients/sales-history-client.d.ts +13 -29
  22. package/dist/clients/sales-history-client.d.ts.map +1 -1
  23. package/dist/clients/sales-history-client.js +5 -5
  24. package/dist/clients/shops-client.d.ts +5 -2
  25. package/dist/clients/shops-client.d.ts.map +1 -1
  26. package/dist/clients/shops-client.js +2 -2
  27. package/dist/clients/statuses-client.d.ts +16 -18
  28. package/dist/clients/statuses-client.d.ts.map +1 -1
  29. package/dist/clients/statuses-client.js +38 -4
  30. package/dist/clients/suppliers-client.d.ts +16 -18
  31. package/dist/clients/suppliers-client.d.ts.map +1 -1
  32. package/dist/clients/suppliers-client.js +37 -4
  33. package/dist/clients/tenants-client.d.ts +5 -2
  34. package/dist/clients/tenants-client.d.ts.map +1 -1
  35. package/dist/clients/tenants-client.js +2 -2
  36. package/dist/clients/user-roles-client.d.ts +4 -2
  37. package/dist/clients/user-roles-client.d.ts.map +1 -1
  38. package/dist/clients/user-roles-client.js +9 -6
  39. package/dist/clients/users-client.d.ts +5 -2
  40. package/dist/clients/users-client.d.ts.map +1 -1
  41. package/dist/clients/users-client.js +2 -2
  42. package/package.json +2 -2
package/README.md CHANGED
@@ -70,7 +70,19 @@ All shop-scoped clients (`skus`, `brands`, `categories`, `groups`, `statuses`, `
70
70
  - `importJson(ctx, items)`, `importCsv(ctx, csv)`, `exportJson(ctx)`, `exportCsv(ctx)`
71
71
  - `getExampleJson()`, `getExampleCsv()` (no auth)
72
72
 
73
- System clients: `me`, `users`, `tenants`, `shops`, `roles`, `userRoles`, `apiKeys`, `metadata`
73
+ System clients (`users`, `tenants`, `shops`, `roles`, `userRoles`, `apiKeys`) also return paginated responses:
74
+
75
+ ```typescript
76
+ // All system getAll() methods return PaginatedResponse<T>
77
+ const { items: users, total } = await client.users.getAll();
78
+ const { items: tenants } = await client.tenants.getAll({ limit: 10 });
79
+ const { items: shops } = await client.shops.getAll();
80
+ const { items: roles } = await client.roles.getAll();
81
+ const { items: userRoles } = await client.userRoles.getAll();
82
+ const { items: apiKeys } = await client.apiKeys.getAll();
83
+ ```
84
+
85
+ Other system clients: `me`, `metadata`
74
86
 
75
87
  ## Error Handling
76
88
 
@@ -1,7 +1,10 @@
1
- import type { ApiKey, CreateApiKeyRequest } from '@sales-planner/shared';
1
+ import type { ApiKey, CreateApiKeyRequest, PaginatedResponse, PaginationQuery } from '@sales-planner/shared';
2
2
  import { BaseClient } from './base-client.js';
3
+ export interface GetApiKeysQuery extends PaginationQuery {
4
+ user_id?: number;
5
+ }
3
6
  export declare class ApiKeysClient extends BaseClient {
4
- getAll(userId?: number): Promise<ApiKey[]>;
7
+ getAll(query?: GetApiKeysQuery): Promise<PaginatedResponse<ApiKey>>;
5
8
  create(request: CreateApiKeyRequest): Promise<ApiKey>;
6
9
  delete(id: number): Promise<void>;
7
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys-client.d.ts","sourceRoot":"","sources":["../../src/clients/api-keys-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,aAAc,SAAQ,UAAU;IACrC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI1C,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
1
+ {"version":3,"file":"api-keys-client.d.ts","sourceRoot":"","sources":["../../src/clients/api-keys-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,aAAc,SAAQ,UAAU;IACrC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAInE,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
@@ -1,7 +1,7 @@
1
1
  import { BaseClient } from './base-client.js';
2
2
  export class ApiKeysClient extends BaseClient {
3
- async getAll(userId) {
4
- return this.request('GET', '/api-keys', { params: { user_id: userId } });
3
+ async getAll(query) {
4
+ return this.request('GET', '/api-keys', { params: query });
5
5
  }
6
6
  async create(request) {
7
7
  return this.request('POST', '/api-keys', { body: request });
@@ -1,19 +1,17 @@
1
- import type {
2
- Brand,
3
- CreateBrandRequest,
4
- UpdateBrandRequest,
5
- ImportBrandItem,
6
- BrandExportItem,
7
- } from '@sales-planner/shared';
8
- import type { ClientConfig } from './base-client.js';
9
- import { CodedEntityClient } from './coded-entity-client.js';
10
- export declare class BrandsClient extends CodedEntityClient<
11
- Brand,
12
- CreateBrandRequest,
13
- UpdateBrandRequest,
14
- ImportBrandItem,
15
- BrandExportItem
16
- > {
17
- constructor(config: ClientConfig);
1
+ import type { Brand, CreateBrandRequest, UpdateBrandRequest, ImportBrandItem, BrandExportItem, ImportResult, ShopContextParams } from '@sales-planner/shared';
2
+ import { ImportExportBaseClient } from './import-export-base-client.js';
3
+ export declare class BrandsClient extends ImportExportBaseClient {
4
+ getBrands(ctx: ShopContextParams): Promise<Brand[]>;
5
+ getBrand(ctx: ShopContextParams, id: number): Promise<Brand>;
6
+ getBrandByCode(ctx: ShopContextParams, code: string): Promise<Brand>;
7
+ createBrand(ctx: ShopContextParams, request: CreateBrandRequest): Promise<Brand>;
8
+ updateBrand(ctx: ShopContextParams, id: number, request: UpdateBrandRequest): Promise<Brand>;
9
+ deleteBrand(ctx: ShopContextParams, id: number): Promise<void>;
10
+ importJson(ctx: ShopContextParams, items: ImportBrandItem[]): Promise<ImportResult>;
11
+ importCsv(ctx: ShopContextParams, csvContent: string): Promise<ImportResult>;
12
+ exportJson(ctx: ShopContextParams): Promise<BrandExportItem[]>;
13
+ exportCsv(ctx: ShopContextParams): Promise<string>;
14
+ getExampleJson(): Promise<ImportBrandItem[]>;
15
+ getExampleCsv(): Promise<string>;
18
16
  }
19
- //# sourceMappingURL=brands-client.d.ts.map
17
+ //# sourceMappingURL=brands-client.d.ts.map
@@ -1 +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,kBAAkB,EAClB,eAAe,EACf,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,YAAa,SAAQ,iBAAiB,CACjD,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,CAChB;gBACa,MAAM,EAAE,YAAY;CAGjC"}
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,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,qBAAa,YAAa,SAAQ,sBAAsB;IAChD,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAInD,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5D,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAIpE,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAIhF,WAAW,CACf,GAAG,EAAE,iBAAiB,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,KAAK,CAAC;IAIX,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAInF,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5E,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAI9D,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlD,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAI5C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvC"}
@@ -1,6 +1,39 @@
1
- import { CodedEntityClient } from './coded-entity-client.js';
2
- export class BrandsClient extends CodedEntityClient {
3
- constructor(config) {
4
- super(config, 'brands');
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(ctx, id) {
7
+ return this.request('GET', `/brands/${id}`, { params: ctx });
8
+ }
9
+ async getBrandByCode(ctx, code) {
10
+ return this.request('GET', `/brands/code/${encodeURIComponent(code)}`, { params: ctx });
11
+ }
12
+ async createBrand(ctx, request) {
13
+ return this.request('POST', '/brands', { body: request, params: ctx });
14
+ }
15
+ async updateBrand(ctx, id, request) {
16
+ return this.request('PUT', `/brands/${id}`, { body: request, params: ctx });
17
+ }
18
+ async deleteBrand(ctx, id) {
19
+ return this.request('DELETE', `/brands/${id}`, { params: ctx });
20
+ }
21
+ async importJson(ctx, items) {
22
+ return this.request('POST', '/brands/import/json', { body: items, params: ctx });
23
+ }
24
+ async importCsv(ctx, csvContent) {
25
+ return this.uploadCsv('/brands/import/csv', csvContent, ctx);
26
+ }
27
+ async exportJson(ctx) {
28
+ return this.request('GET', '/brands/export/json', { params: ctx });
29
+ }
30
+ async exportCsv(ctx) {
31
+ return this.requestText('GET', '/brands/export/csv', { params: ctx });
32
+ }
33
+ async getExampleJson() {
34
+ return this.requestPublic('GET', '/brands/examples/json');
35
+ }
36
+ async getExampleCsv() {
37
+ return this.requestTextPublic('GET', '/brands/examples/csv');
5
38
  }
6
39
  }
@@ -1,19 +1,17 @@
1
- import type {
2
- Category,
3
- CreateCategoryRequest,
4
- UpdateCategoryRequest,
5
- ImportCategoryItem,
6
- CategoryExportItem,
7
- } from '@sales-planner/shared';
8
- import type { ClientConfig } from './base-client.js';
9
- import { CodedEntityClient } from './coded-entity-client.js';
10
- export declare class CategoriesClient extends CodedEntityClient<
11
- Category,
12
- CreateCategoryRequest,
13
- UpdateCategoryRequest,
14
- ImportCategoryItem,
15
- CategoryExportItem
16
- > {
17
- constructor(config: ClientConfig);
1
+ import type { Category, CreateCategoryRequest, UpdateCategoryRequest, ImportCategoryItem, CategoryExportItem, ImportResult, ShopContextParams } from '@sales-planner/shared';
2
+ import { ImportExportBaseClient } from './import-export-base-client.js';
3
+ export declare class CategoriesClient extends ImportExportBaseClient {
4
+ getCategories(ctx: ShopContextParams): Promise<Category[]>;
5
+ getCategory(ctx: ShopContextParams, id: number): Promise<Category>;
6
+ getCategoryByCode(ctx: ShopContextParams, code: string): Promise<Category>;
7
+ createCategory(ctx: ShopContextParams, request: CreateCategoryRequest): Promise<Category>;
8
+ updateCategory(ctx: ShopContextParams, id: number, request: UpdateCategoryRequest): Promise<Category>;
9
+ deleteCategory(ctx: ShopContextParams, id: number): Promise<void>;
10
+ importJson(ctx: ShopContextParams, items: ImportCategoryItem[]): Promise<ImportResult>;
11
+ importCsv(ctx: ShopContextParams, csvContent: string): Promise<ImportResult>;
12
+ exportJson(ctx: ShopContextParams): Promise<CategoryExportItem[]>;
13
+ exportCsv(ctx: ShopContextParams): Promise<string>;
14
+ getExampleJson(): Promise<CategoryExportItem[]>;
15
+ getExampleCsv(): Promise<string>;
18
16
  }
19
- //# sourceMappingURL=categories-client.d.ts.map
17
+ //# sourceMappingURL=categories-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"categories-client.d.ts","sourceRoot":"","sources":["../../src/clients/categories-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,gBAAiB,SAAQ,iBAAiB,CACrD,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,CACnB;gBACa,MAAM,EAAE,YAAY;CAGjC"}
1
+ {"version":3,"file":"categories-client.d.ts","sourceRoot":"","sources":["../../src/clients/categories-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,qBAAa,gBAAiB,SAAQ,sBAAsB;IACpD,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI1D,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIlE,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI1E,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIzF,cAAc,CAClB,GAAG,EAAE,iBAAiB,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,QAAQ,CAAC;IAId,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAItF,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5E,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAIjE,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlD,cAAc,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI/C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvC"}
@@ -1,6 +1,40 @@
1
- import { CodedEntityClient } from './coded-entity-client.js';
2
- export class CategoriesClient extends CodedEntityClient {
3
- constructor(config) {
4
- super(config, 'categories');
1
+ import { ImportExportBaseClient } from './import-export-base-client.js';
2
+ export class CategoriesClient extends ImportExportBaseClient {
3
+ async getCategories(ctx) {
4
+ return this.request('GET', '/categories', { params: ctx });
5
+ }
6
+ async getCategory(ctx, id) {
7
+ return this.request('GET', `/categories/${id}`, { params: ctx });
8
+ }
9
+ async getCategoryByCode(ctx, code) {
10
+ return this.request('GET', `/categories/code/${encodeURIComponent(code)}`, { params: ctx });
11
+ }
12
+ async createCategory(ctx, request) {
13
+ return this.request('POST', '/categories', { body: request, params: ctx });
14
+ }
15
+ async updateCategory(ctx, id, request) {
16
+ return this.request('PUT', `/categories/${id}`, { body: request, params: ctx });
17
+ }
18
+ async deleteCategory(ctx, id) {
19
+ return this.request('DELETE', `/categories/${id}`, { params: ctx });
20
+ }
21
+ // Import/Export methods
22
+ async importJson(ctx, items) {
23
+ return this.request('POST', '/categories/import/json', { body: items, params: ctx });
24
+ }
25
+ async importCsv(ctx, csvContent) {
26
+ return this.uploadCsv('/categories/import/csv', csvContent, ctx);
27
+ }
28
+ async exportJson(ctx) {
29
+ return this.request('GET', '/categories/export/json', { params: ctx });
30
+ }
31
+ async exportCsv(ctx) {
32
+ return this.requestText('GET', '/categories/export/csv', { params: ctx });
33
+ }
34
+ async getExampleJson() {
35
+ return this.requestPublic('GET', '/categories/examples/json');
36
+ }
37
+ async getExampleCsv() {
38
+ return this.requestTextPublic('GET', '/categories/examples/csv');
5
39
  }
6
40
  }
@@ -1,3 +1,4 @@
1
+ import type { PaginatedResponse, PaginationQuery } from '@sales-planner/shared';
1
2
  import { BaseClient, type ClientConfig } from './base-client.js';
2
3
  /**
3
4
  * Generic CRUD client for simple resources identified by numeric ID.
@@ -5,7 +6,7 @@ import { BaseClient, type ClientConfig } from './base-client.js';
5
6
  export declare class CrudClient<TEntity, TCreateRequest, TUpdateRequest = TCreateRequest> extends BaseClient {
6
7
  protected readonly resourcePath: string;
7
8
  constructor(config: ClientConfig, resourcePath: string);
8
- getAll(): Promise<TEntity[]>;
9
+ getAll(query?: PaginationQuery): Promise<PaginatedResponse<TEntity>>;
9
10
  getById(id: number): Promise<TEntity>;
10
11
  create(request: TCreateRequest): Promise<TEntity>;
11
12
  update(id: number, request: TUpdateRequest): Promise<TEntity>;
@@ -1 +1 @@
1
- {"version":3,"file":"crud-client.d.ts","sourceRoot":"","sources":["../../src/clients/crud-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjE;;GAEG;AACH,qBAAa,UAAU,CACrB,OAAO,EACP,cAAc,EACd,cAAc,GAAG,cAAc,CAC/B,SAAQ,UAAU;IAGhB,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM;gBADvC,MAAM,EAAE,YAAY,EACD,YAAY,EAAE,MAAM;IAKnC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAI5B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
1
+ {"version":3,"file":"crud-client.d.ts","sourceRoot":"","sources":["../../src/clients/crud-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjE;;GAEG;AACH,qBAAa,UAAU,CACrB,OAAO,EACP,cAAc,EACd,cAAc,GAAG,cAAc,CAC/B,SAAQ,UAAU;IAGhB,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM;gBADvC,MAAM,EAAE,YAAY,EACD,YAAY,EAAE,MAAM;IAKnC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAIpE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
@@ -8,8 +8,8 @@ export class CrudClient extends BaseClient {
8
8
  super(config);
9
9
  this.resourcePath = resourcePath;
10
10
  }
11
- async getAll() {
12
- return this.request('GET', `/${this.resourcePath}`);
11
+ async getAll(query) {
12
+ return this.request('GET', `/${this.resourcePath}`, { params: query });
13
13
  }
14
14
  async getById(id) {
15
15
  return this.request('GET', `/${this.resourcePath}/${id}`);
@@ -1,19 +1,17 @@
1
- import type {
2
- Group,
3
- CreateGroupRequest,
4
- UpdateGroupRequest,
5
- ImportGroupItem,
6
- GroupExportItem,
7
- } from '@sales-planner/shared';
8
- import type { ClientConfig } from './base-client.js';
9
- import { CodedEntityClient } from './coded-entity-client.js';
10
- export declare class GroupsClient extends CodedEntityClient<
11
- Group,
12
- CreateGroupRequest,
13
- UpdateGroupRequest,
14
- ImportGroupItem,
15
- GroupExportItem
16
- > {
17
- constructor(config: ClientConfig);
1
+ import type { Group, CreateGroupRequest, UpdateGroupRequest, ImportGroupItem, GroupExportItem, ImportResult, ShopContextParams } from '@sales-planner/shared';
2
+ import { ImportExportBaseClient } from './import-export-base-client.js';
3
+ export declare class GroupsClient extends ImportExportBaseClient {
4
+ getGroups(ctx: ShopContextParams): Promise<Group[]>;
5
+ getGroup(ctx: ShopContextParams, id: number): Promise<Group>;
6
+ getGroupByCode(ctx: ShopContextParams, code: string): Promise<Group>;
7
+ createGroup(ctx: ShopContextParams, request: CreateGroupRequest): Promise<Group>;
8
+ updateGroup(ctx: ShopContextParams, id: number, request: UpdateGroupRequest): Promise<Group>;
9
+ deleteGroup(ctx: ShopContextParams, id: number): Promise<void>;
10
+ importJson(ctx: ShopContextParams, items: ImportGroupItem[]): Promise<ImportResult>;
11
+ importCsv(ctx: ShopContextParams, csvContent: string): Promise<ImportResult>;
12
+ exportJson(ctx: ShopContextParams): Promise<GroupExportItem[]>;
13
+ exportCsv(ctx: ShopContextParams): Promise<string>;
14
+ getExampleJson(): Promise<GroupExportItem[]>;
15
+ getExampleCsv(): Promise<string>;
18
16
  }
19
- //# sourceMappingURL=groups-client.d.ts.map
17
+ //# sourceMappingURL=groups-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"groups-client.d.ts","sourceRoot":"","sources":["../../src/clients/groups-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,YAAa,SAAQ,iBAAiB,CACjD,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,CAChB;gBACa,MAAM,EAAE,YAAY;CAGjC"}
1
+ {"version":3,"file":"groups-client.d.ts","sourceRoot":"","sources":["../../src/clients/groups-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,qBAAa,YAAa,SAAQ,sBAAsB;IAChD,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAInD,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5D,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAIpE,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAIhF,WAAW,CACf,GAAG,EAAE,iBAAiB,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,KAAK,CAAC;IAIX,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAInF,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5E,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAI9D,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlD,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAI5C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvC"}
@@ -1,6 +1,40 @@
1
- import { CodedEntityClient } from './coded-entity-client.js';
2
- export class GroupsClient extends CodedEntityClient {
3
- constructor(config) {
4
- super(config, 'groups');
1
+ import { ImportExportBaseClient } from './import-export-base-client.js';
2
+ export class GroupsClient extends ImportExportBaseClient {
3
+ async getGroups(ctx) {
4
+ return this.request('GET', '/groups', { params: ctx });
5
+ }
6
+ async getGroup(ctx, id) {
7
+ return this.request('GET', `/groups/${id}`, { params: ctx });
8
+ }
9
+ async getGroupByCode(ctx, code) {
10
+ return this.request('GET', `/groups/code/${encodeURIComponent(code)}`, { params: ctx });
11
+ }
12
+ async createGroup(ctx, request) {
13
+ return this.request('POST', '/groups', { body: request, params: ctx });
14
+ }
15
+ async updateGroup(ctx, id, request) {
16
+ return this.request('PUT', `/groups/${id}`, { body: request, params: ctx });
17
+ }
18
+ async deleteGroup(ctx, id) {
19
+ return this.request('DELETE', `/groups/${id}`, { params: ctx });
20
+ }
21
+ // Import/Export methods
22
+ async importJson(ctx, items) {
23
+ return this.request('POST', '/groups/import/json', { body: items, params: ctx });
24
+ }
25
+ async importCsv(ctx, csvContent) {
26
+ return this.uploadCsv('/groups/import/csv', csvContent, ctx);
27
+ }
28
+ async exportJson(ctx) {
29
+ return this.request('GET', '/groups/export/json', { params: ctx });
30
+ }
31
+ async exportCsv(ctx) {
32
+ return this.requestText('GET', '/groups/export/csv', { params: ctx });
33
+ }
34
+ async getExampleJson() {
35
+ return this.requestPublic('GET', '/groups/examples/json');
36
+ }
37
+ async getExampleCsv() {
38
+ return this.requestTextPublic('GET', '/groups/examples/csv');
5
39
  }
6
40
  }
@@ -1,19 +1,17 @@
1
- import type {
2
- Marketplace,
3
- CreateMarketplaceRequest,
4
- UpdateMarketplaceRequest,
5
- ImportMarketplaceItem,
6
- MarketplaceExportItem,
7
- } from '@sales-planner/shared';
8
- import type { ClientConfig } from './base-client.js';
9
- import { CodedEntityClient } from './coded-entity-client.js';
10
- export declare class MarketplacesClient extends CodedEntityClient<
11
- Marketplace,
12
- CreateMarketplaceRequest,
13
- UpdateMarketplaceRequest,
14
- ImportMarketplaceItem,
15
- MarketplaceExportItem
16
- > {
17
- constructor(config: ClientConfig);
1
+ import type { Marketplace, CreateMarketplaceRequest, UpdateMarketplaceRequest, ImportMarketplaceItem, MarketplaceExportItem, ImportResult, ShopContextParams } from '@sales-planner/shared';
2
+ import { ImportExportBaseClient } from './import-export-base-client.js';
3
+ export declare class MarketplacesClient extends ImportExportBaseClient {
4
+ getMarketplaces(ctx: ShopContextParams): Promise<Marketplace[]>;
5
+ getMarketplace(ctx: ShopContextParams, id: number): Promise<Marketplace>;
6
+ getMarketplaceByCode(ctx: ShopContextParams, code: string): Promise<Marketplace>;
7
+ createMarketplace(ctx: ShopContextParams, request: CreateMarketplaceRequest): Promise<Marketplace>;
8
+ updateMarketplace(ctx: ShopContextParams, id: number, request: UpdateMarketplaceRequest): Promise<Marketplace>;
9
+ deleteMarketplace(ctx: ShopContextParams, id: number): Promise<void>;
10
+ importJson(ctx: ShopContextParams, items: ImportMarketplaceItem[]): Promise<ImportResult>;
11
+ importCsv(ctx: ShopContextParams, csvContent: string): Promise<ImportResult>;
12
+ exportJson(ctx: ShopContextParams): Promise<MarketplaceExportItem[]>;
13
+ exportCsv(ctx: ShopContextParams): Promise<string>;
14
+ getExampleJson(): Promise<ImportMarketplaceItem[]>;
15
+ getExampleCsv(): Promise<string>;
18
16
  }
19
- //# sourceMappingURL=marketplaces-client.d.ts.map
17
+ //# sourceMappingURL=marketplaces-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"marketplaces-client.d.ts","sourceRoot":"","sources":["../../src/clients/marketplaces-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,kBAAmB,SAAQ,iBAAiB,CACvD,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,CACtB;gBACa,MAAM,EAAE,YAAY;CAGjC"}
1
+ {"version":3,"file":"marketplaces-client.d.ts","sourceRoot":"","sources":["../../src/clients/marketplaces-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,qBAAa,kBAAmB,SAAQ,sBAAsB;IACtD,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI/D,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIxE,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIhF,iBAAiB,CACrB,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,WAAW,CAAC;IAIjB,iBAAiB,CACrB,GAAG,EAAE,iBAAiB,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,WAAW,CAAC;IAIjB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzF,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5E,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAIpE,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlD,cAAc,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAIlD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvC"}
@@ -1,6 +1,39 @@
1
- import { CodedEntityClient } from './coded-entity-client.js';
2
- export class MarketplacesClient extends CodedEntityClient {
3
- constructor(config) {
4
- super(config, 'marketplaces');
1
+ import { ImportExportBaseClient } from './import-export-base-client.js';
2
+ export class MarketplacesClient extends ImportExportBaseClient {
3
+ async getMarketplaces(ctx) {
4
+ return this.request('GET', '/marketplaces', { params: ctx });
5
+ }
6
+ async getMarketplace(ctx, id) {
7
+ return this.request('GET', `/marketplaces/${id}`, { params: ctx });
8
+ }
9
+ async getMarketplaceByCode(ctx, code) {
10
+ return this.request('GET', `/marketplaces/code/${encodeURIComponent(code)}`, { params: ctx });
11
+ }
12
+ async createMarketplace(ctx, request) {
13
+ return this.request('POST', '/marketplaces', { body: request, params: ctx });
14
+ }
15
+ async updateMarketplace(ctx, id, request) {
16
+ return this.request('PUT', `/marketplaces/${id}`, { body: request, params: ctx });
17
+ }
18
+ async deleteMarketplace(ctx, id) {
19
+ return this.request('DELETE', `/marketplaces/${id}`, { params: ctx });
20
+ }
21
+ async importJson(ctx, items) {
22
+ return this.request('POST', '/marketplaces/import/json', { body: items, params: ctx });
23
+ }
24
+ async importCsv(ctx, csvContent) {
25
+ return this.uploadCsv('/marketplaces/import/csv', csvContent, ctx);
26
+ }
27
+ async exportJson(ctx) {
28
+ return this.request('GET', '/marketplaces/export/json', { params: ctx });
29
+ }
30
+ async exportCsv(ctx) {
31
+ return this.requestText('GET', '/marketplaces/export/csv', { params: ctx });
32
+ }
33
+ async getExampleJson() {
34
+ return this.requestPublic('GET', '/marketplaces/examples/json');
35
+ }
36
+ async getExampleCsv() {
37
+ return this.requestTextPublic('GET', '/marketplaces/examples/csv');
5
38
  }
6
39
  }
@@ -1,10 +1,10 @@
1
1
  import type { Role, CreateRoleRequest, UpdateRoleRequest } from '@sales-planner/shared';
2
2
  import { BaseClient } from './base-client.js';
3
3
  export declare class RolesClient extends BaseClient {
4
- getRoles(): Promise<Role[]>;
5
- getRole(id: number): Promise<Role>;
6
- createRole(request: CreateRoleRequest): Promise<Role>;
7
- updateRole(id: number, request: UpdateRoleRequest): Promise<Role>;
8
- deleteRole(id: number): Promise<void>;
4
+ getRoles(): Promise<Role[]>;
5
+ getRole(id: number): Promise<Role>;
6
+ createRole(request: CreateRoleRequest): Promise<Role>;
7
+ updateRole(id: number, request: UpdateRoleRequest): Promise<Role>;
8
+ deleteRole(id: number): Promise<void>;
9
9
  }
10
- //# sourceMappingURL=roles-client.d.ts.map
10
+ //# sourceMappingURL=roles-client.d.ts.map
@@ -1,32 +1,16 @@
1
- import type {
2
- SalesHistory,
3
- CreateSalesHistoryRequest,
4
- UpdateSalesHistoryRequest,
5
- ImportSalesHistoryItem,
6
- SalesHistoryExportItem,
7
- SalesHistoryImportResult,
8
- PeriodQuery,
9
- ShopContextParams,
10
- } from '@sales-planner/shared';
1
+ import type { SalesHistory, CreateSalesHistoryRequest, UpdateSalesHistoryRequest, ImportSalesHistoryItem, SalesHistoryExportItem, SalesHistoryImportResult, PeriodQuery, ShopContextParams } from '@sales-planner/shared';
11
2
  import { ImportExportBaseClient } from './import-export-base-client.js';
12
3
  export declare class SalesHistoryClient extends ImportExportBaseClient {
13
- getAll(ctx: ShopContextParams, query?: PeriodQuery): Promise<SalesHistory[]>;
14
- getById(ctx: ShopContextParams, id: number): Promise<SalesHistory>;
15
- create(ctx: ShopContextParams, request: CreateSalesHistoryRequest): Promise<SalesHistory>;
16
- update(
17
- ctx: ShopContextParams,
18
- id: number,
19
- request: UpdateSalesHistoryRequest,
20
- ): Promise<SalesHistory>;
21
- delete(ctx: ShopContextParams, id: number): Promise<void>;
22
- importJson(
23
- ctx: ShopContextParams,
24
- items: ImportSalesHistoryItem[],
25
- ): Promise<SalesHistoryImportResult>;
26
- importCsv(ctx: ShopContextParams, csvContent: string): Promise<SalesHistoryImportResult>;
27
- exportJson(ctx: ShopContextParams, query?: PeriodQuery): Promise<SalesHistoryExportItem[]>;
28
- exportCsv(ctx: ShopContextParams, query?: PeriodQuery): Promise<string>;
29
- getExampleJson(): Promise<ImportSalesHistoryItem[]>;
30
- getExampleCsv(): Promise<string>;
4
+ getSalesHistory(ctx: ShopContextParams, query?: PeriodQuery): Promise<SalesHistory[]>;
5
+ getSalesHistoryItem(ctx: ShopContextParams, id: number): Promise<SalesHistory>;
6
+ createSalesHistory(ctx: ShopContextParams, request: CreateSalesHistoryRequest): Promise<SalesHistory>;
7
+ updateSalesHistory(ctx: ShopContextParams, id: number, request: UpdateSalesHistoryRequest): Promise<SalesHistory>;
8
+ deleteSalesHistory(ctx: ShopContextParams, id: number): Promise<void>;
9
+ importJson(ctx: ShopContextParams, items: ImportSalesHistoryItem[]): Promise<SalesHistoryImportResult>;
10
+ importCsv(ctx: ShopContextParams, csvContent: string): Promise<SalesHistoryImportResult>;
11
+ exportJson(ctx: ShopContextParams, query?: PeriodQuery): Promise<SalesHistoryExportItem[]>;
12
+ exportCsv(ctx: ShopContextParams, query?: PeriodQuery): Promise<string>;
13
+ getExampleJson(): Promise<ImportSalesHistoryItem[]>;
14
+ getExampleCsv(): Promise<string>;
31
15
  }
32
- //# sourceMappingURL=sales-history-client.d.ts.map
16
+ //# sourceMappingURL=sales-history-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sales-history-client.d.ts","sourceRoot":"","sources":["../../src/clients/sales-history-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,qBAAa,kBAAmB,SAAQ,sBAAsB;IACtD,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAI5E,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIlE,MAAM,CACV,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,YAAY,CAAC;IAIlB,MAAM,CACV,GAAG,EAAE,iBAAiB,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,YAAY,CAAC;IAIlB,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,UAAU,CACd,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,sBAAsB,EAAE,GAC9B,OAAO,CAAC,wBAAwB,CAAC;IAI9B,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIxF,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAI1F,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvE,cAAc,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAInD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvC"}
1
+ {"version":3,"file":"sales-history-client.d.ts","sourceRoot":"","sources":["../../src/clients/sales-history-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,qBAAa,kBAAmB,SAAQ,sBAAsB;IACtD,eAAe,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAIrF,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI9E,kBAAkB,CACtB,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,YAAY,CAAC;IAIlB,kBAAkB,CACtB,GAAG,EAAE,iBAAiB,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,YAAY,CAAC;IAIlB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE,UAAU,CACd,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,sBAAsB,EAAE,GAC9B,OAAO,CAAC,wBAAwB,CAAC;IAI9B,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIxF,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAI1F,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvE,cAAc,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAInD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvC"}
@@ -1,18 +1,18 @@
1
1
  import { ImportExportBaseClient } from './import-export-base-client.js';
2
2
  export class SalesHistoryClient extends ImportExportBaseClient {
3
- async getAll(ctx, query) {
3
+ async getSalesHistory(ctx, query) {
4
4
  return this.request('GET', '/sales-history', { params: { ...ctx, ...query } });
5
5
  }
6
- async getById(ctx, id) {
6
+ async getSalesHistoryItem(ctx, id) {
7
7
  return this.request('GET', `/sales-history/${id}`, { params: ctx });
8
8
  }
9
- async create(ctx, request) {
9
+ async createSalesHistory(ctx, request) {
10
10
  return this.request('POST', '/sales-history', { body: request, params: ctx });
11
11
  }
12
- async update(ctx, id, request) {
12
+ async updateSalesHistory(ctx, id, request) {
13
13
  return this.request('PUT', `/sales-history/${id}`, { body: request, params: ctx });
14
14
  }
15
- async delete(ctx, id) {
15
+ async deleteSalesHistory(ctx, id) {
16
16
  return this.request('DELETE', `/sales-history/${id}`, { params: ctx });
17
17
  }
18
18
  async importJson(ctx, items) {
@@ -1,7 +1,10 @@
1
- import type { Shop, CreateShopRequest, UpdateShopRequest, DeleteDataResult } from '@sales-planner/shared';
1
+ import type { Shop, CreateShopRequest, UpdateShopRequest, DeleteDataResult, PaginatedResponse, PaginationQuery } from '@sales-planner/shared';
2
2
  import { BaseClient } from './base-client.js';
3
+ export interface GetShopsQuery extends PaginationQuery {
4
+ tenantId?: number;
5
+ }
3
6
  export declare class ShopsClient extends BaseClient {
4
- getAll(tenantId?: number): Promise<Shop[]>;
7
+ getAll(query?: GetShopsQuery): Promise<PaginatedResponse<Shop>>;
5
8
  getById(id: number): Promise<Shop>;
6
9
  create(request: CreateShopRequest): Promise<Shop>;
7
10
  update(id: number, request: UpdateShopRequest): Promise<Shop>;
@@ -1 +1 @@
1
- {"version":3,"file":"shops-client.d.ts","sourceRoot":"","sources":["../../src/clients/shops-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,WAAY,SAAQ,UAAU;IACnC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAI1C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAGxD"}
1
+ {"version":3,"file":"shops-client.d.ts","sourceRoot":"","sources":["../../src/clients/shops-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAY,SAAQ,UAAU;IACnC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAI/D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAGxD"}
@@ -1,7 +1,7 @@
1
1
  import { BaseClient } from './base-client.js';
2
2
  export class ShopsClient extends BaseClient {
3
- async getAll(tenantId) {
4
- return this.request('GET', '/shops', { params: { tenantId } });
3
+ async getAll(query) {
4
+ return this.request('GET', '/shops', { params: query });
5
5
  }
6
6
  async getById(id) {
7
7
  return this.request('GET', `/shops/${id}`);
@@ -1,19 +1,17 @@
1
- import type {
2
- Status,
3
- CreateStatusRequest,
4
- UpdateStatusRequest,
5
- ImportStatusItem,
6
- StatusExportItem,
7
- } from '@sales-planner/shared';
8
- import type { ClientConfig } from './base-client.js';
9
- import { CodedEntityClient } from './coded-entity-client.js';
10
- export declare class StatusesClient extends CodedEntityClient<
11
- Status,
12
- CreateStatusRequest,
13
- UpdateStatusRequest,
14
- ImportStatusItem,
15
- StatusExportItem
16
- > {
17
- constructor(config: ClientConfig);
1
+ import type { Status, CreateStatusRequest, UpdateStatusRequest, ImportStatusItem, StatusExportItem, ImportResult, ShopContextParams } from '@sales-planner/shared';
2
+ import { ImportExportBaseClient } from './import-export-base-client.js';
3
+ export declare class StatusesClient extends ImportExportBaseClient {
4
+ getStatuses(ctx: ShopContextParams): Promise<Status[]>;
5
+ getStatus(ctx: ShopContextParams, id: number): Promise<Status>;
6
+ getStatusByCode(ctx: ShopContextParams, code: string): Promise<Status>;
7
+ createStatus(ctx: ShopContextParams, request: CreateStatusRequest): Promise<Status>;
8
+ updateStatus(ctx: ShopContextParams, id: number, request: UpdateStatusRequest): Promise<Status>;
9
+ deleteStatus(ctx: ShopContextParams, id: number): Promise<void>;
10
+ importJson(ctx: ShopContextParams, items: ImportStatusItem[]): Promise<ImportResult>;
11
+ importCsv(ctx: ShopContextParams, csvContent: string): Promise<ImportResult>;
12
+ exportJson(ctx: ShopContextParams): Promise<StatusExportItem[]>;
13
+ exportCsv(ctx: ShopContextParams): Promise<string>;
14
+ getExampleJson(): Promise<StatusExportItem[]>;
15
+ getExampleCsv(): Promise<string>;
18
16
  }
19
- //# sourceMappingURL=statuses-client.d.ts.map
17
+ //# sourceMappingURL=statuses-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"statuses-client.d.ts","sourceRoot":"","sources":["../../src/clients/statuses-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,cAAe,SAAQ,iBAAiB,CACnD,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,CACjB;gBACa,MAAM,EAAE,YAAY;CAGjC"}
1
+ {"version":3,"file":"statuses-client.d.ts","sourceRoot":"","sources":["../../src/clients/statuses-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,qBAAa,cAAe,SAAQ,sBAAsB;IAClD,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAItD,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9D,eAAe,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItE,YAAY,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAInF,YAAY,CAChB,GAAG,EAAE,iBAAiB,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC;IAIZ,YAAY,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAIpF,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5E,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI/D,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlD,cAAc,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI7C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvC"}
@@ -1,6 +1,40 @@
1
- import { CodedEntityClient } from './coded-entity-client.js';
2
- export class StatusesClient extends CodedEntityClient {
3
- constructor(config) {
4
- super(config, 'statuses');
1
+ import { ImportExportBaseClient } from './import-export-base-client.js';
2
+ export class StatusesClient extends ImportExportBaseClient {
3
+ async getStatuses(ctx) {
4
+ return this.request('GET', '/statuses', { params: ctx });
5
+ }
6
+ async getStatus(ctx, id) {
7
+ return this.request('GET', `/statuses/${id}`, { params: ctx });
8
+ }
9
+ async getStatusByCode(ctx, code) {
10
+ return this.request('GET', `/statuses/code/${encodeURIComponent(code)}`, { params: ctx });
11
+ }
12
+ async createStatus(ctx, request) {
13
+ return this.request('POST', '/statuses', { body: request, params: ctx });
14
+ }
15
+ async updateStatus(ctx, id, request) {
16
+ return this.request('PUT', `/statuses/${id}`, { body: request, params: ctx });
17
+ }
18
+ async deleteStatus(ctx, id) {
19
+ return this.request('DELETE', `/statuses/${id}`, { params: ctx });
20
+ }
21
+ // Import/Export methods
22
+ async importJson(ctx, items) {
23
+ return this.request('POST', '/statuses/import/json', { body: items, params: ctx });
24
+ }
25
+ async importCsv(ctx, csvContent) {
26
+ return this.uploadCsv('/statuses/import/csv', csvContent, ctx);
27
+ }
28
+ async exportJson(ctx) {
29
+ return this.request('GET', '/statuses/export/json', { params: ctx });
30
+ }
31
+ async exportCsv(ctx) {
32
+ return this.requestText('GET', '/statuses/export/csv', { params: ctx });
33
+ }
34
+ async getExampleJson() {
35
+ return this.requestPublic('GET', '/statuses/examples/json');
36
+ }
37
+ async getExampleCsv() {
38
+ return this.requestTextPublic('GET', '/statuses/examples/csv');
5
39
  }
6
40
  }
@@ -1,19 +1,17 @@
1
- import type {
2
- Supplier,
3
- CreateSupplierRequest,
4
- UpdateSupplierRequest,
5
- ImportSupplierItem,
6
- SupplierExportItem,
7
- } from '@sales-planner/shared';
8
- import type { ClientConfig } from './base-client.js';
9
- import { CodedEntityClient } from './coded-entity-client.js';
10
- export declare class SuppliersClient extends CodedEntityClient<
11
- Supplier,
12
- CreateSupplierRequest,
13
- UpdateSupplierRequest,
14
- ImportSupplierItem,
15
- SupplierExportItem
16
- > {
17
- constructor(config: ClientConfig);
1
+ import type { Supplier, CreateSupplierRequest, UpdateSupplierRequest, ImportSupplierItem, SupplierExportItem, ImportResult, ShopContextParams } from '@sales-planner/shared';
2
+ import { ImportExportBaseClient } from './import-export-base-client.js';
3
+ export declare class SuppliersClient extends ImportExportBaseClient {
4
+ getSuppliers(ctx: ShopContextParams): Promise<Supplier[]>;
5
+ getSupplier(ctx: ShopContextParams, id: number): Promise<Supplier>;
6
+ getSupplierByCode(ctx: ShopContextParams, code: string): Promise<Supplier>;
7
+ createSupplier(ctx: ShopContextParams, request: CreateSupplierRequest): Promise<Supplier>;
8
+ updateSupplier(ctx: ShopContextParams, id: number, request: UpdateSupplierRequest): Promise<Supplier>;
9
+ deleteSupplier(ctx: ShopContextParams, id: number): Promise<void>;
10
+ importJson(ctx: ShopContextParams, items: ImportSupplierItem[]): Promise<ImportResult>;
11
+ importCsv(ctx: ShopContextParams, csvContent: string): Promise<ImportResult>;
12
+ exportJson(ctx: ShopContextParams): Promise<SupplierExportItem[]>;
13
+ exportCsv(ctx: ShopContextParams): Promise<string>;
14
+ getExampleJson(): Promise<SupplierExportItem[]>;
15
+ getExampleCsv(): Promise<string>;
18
16
  }
19
- //# sourceMappingURL=suppliers-client.d.ts.map
17
+ //# sourceMappingURL=suppliers-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"suppliers-client.d.ts","sourceRoot":"","sources":["../../src/clients/suppliers-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,eAAgB,SAAQ,iBAAiB,CACpD,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,CACnB;gBACa,MAAM,EAAE,YAAY;CAGjC"}
1
+ {"version":3,"file":"suppliers-client.d.ts","sourceRoot":"","sources":["../../src/clients/suppliers-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,qBAAa,eAAgB,SAAQ,sBAAsB;IACnD,YAAY,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIzD,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIlE,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI1E,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIzF,cAAc,CAClB,GAAG,EAAE,iBAAiB,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,QAAQ,CAAC;IAId,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAItF,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5E,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAIjE,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlD,cAAc,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI/C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvC"}
@@ -1,6 +1,39 @@
1
- import { CodedEntityClient } from './coded-entity-client.js';
2
- export class SuppliersClient extends CodedEntityClient {
3
- constructor(config) {
4
- super(config, 'suppliers');
1
+ import { ImportExportBaseClient } from './import-export-base-client.js';
2
+ export class SuppliersClient extends ImportExportBaseClient {
3
+ async getSuppliers(ctx) {
4
+ return this.request('GET', '/suppliers', { params: ctx });
5
+ }
6
+ async getSupplier(ctx, id) {
7
+ return this.request('GET', `/suppliers/${id}`, { params: ctx });
8
+ }
9
+ async getSupplierByCode(ctx, code) {
10
+ return this.request('GET', `/suppliers/code/${encodeURIComponent(code)}`, { params: ctx });
11
+ }
12
+ async createSupplier(ctx, request) {
13
+ return this.request('POST', '/suppliers', { params: ctx, body: request });
14
+ }
15
+ async updateSupplier(ctx, id, request) {
16
+ return this.request('PUT', `/suppliers/${id}`, { params: ctx, body: request });
17
+ }
18
+ async deleteSupplier(ctx, id) {
19
+ return this.request('DELETE', `/suppliers/${id}`, { params: ctx });
20
+ }
21
+ async importJson(ctx, items) {
22
+ return this.request('POST', '/suppliers/import/json', { params: ctx, body: items });
23
+ }
24
+ async importCsv(ctx, csvContent) {
25
+ return this.uploadCsv('/suppliers/import/csv', csvContent, ctx);
26
+ }
27
+ async exportJson(ctx) {
28
+ return this.request('GET', '/suppliers/export/json', { params: ctx });
29
+ }
30
+ async exportCsv(ctx) {
31
+ return this.requestText('GET', '/suppliers/export/csv', { params: ctx });
32
+ }
33
+ async getExampleJson() {
34
+ return this.requestPublic('GET', '/suppliers/examples/json');
35
+ }
36
+ async getExampleCsv() {
37
+ return this.requestTextPublic('GET', '/suppliers/examples/csv');
5
38
  }
6
39
  }
@@ -1,7 +1,10 @@
1
- import type { Tenant, CreateTenantRequest, UpdateTenantRequest, CreateTenantWithShopRequest, TenantWithShopAndApiKey } from '@sales-planner/shared';
1
+ import type { Tenant, CreateTenantRequest, UpdateTenantRequest, CreateTenantWithShopRequest, TenantWithShopAndApiKey, PaginatedResponse, PaginationQuery } from '@sales-planner/shared';
2
2
  import { BaseClient } from './base-client.js';
3
+ export interface GetTenantsQuery extends PaginationQuery {
4
+ owner_id?: number;
5
+ }
3
6
  export declare class TenantsClient extends BaseClient {
4
- getAll(): Promise<Tenant[]>;
7
+ getAll(query?: GetTenantsQuery): Promise<PaginatedResponse<Tenant>>;
5
8
  getById(id: number): Promise<Tenant>;
6
9
  create(request: CreateTenantRequest): Promise<Tenant>;
7
10
  createWithShopAndUser(request: CreateTenantWithShopRequest): Promise<TenantWithShopAndApiKey>;
@@ -1 +1 @@
1
- {"version":3,"file":"tenants-client.d.ts","sourceRoot":"","sources":["../../src/clients/tenants-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,aAAc,SAAQ,UAAU;IACrC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpC,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrD,qBAAqB,CACzB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,uBAAuB,CAAC;IAI7B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
1
+ {"version":3,"file":"tenants-client.d.ts","sourceRoot":"","sources":["../../src/clients/tenants-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAc,SAAQ,UAAU;IACrC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAInE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpC,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrD,qBAAqB,CACzB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,uBAAuB,CAAC;IAI7B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
@@ -1,7 +1,7 @@
1
1
  import { BaseClient } from './base-client.js';
2
2
  export class TenantsClient extends BaseClient {
3
- async getAll() {
4
- return this.request('GET', '/tenants');
3
+ async getAll(query) {
4
+ return this.request('GET', '/tenants', { params: query });
5
5
  }
6
6
  async getById(id) {
7
7
  return this.request('GET', `/tenants/${id}`);
@@ -1,7 +1,9 @@
1
- import type { CreateUserRoleRequest, GetUserRolesQuery, UserRoleResponse } from '@sales-planner/shared';
1
+ import type { CreateUserRoleRequest, GetUserRolesQuery, UserRoleResponse, PaginatedResponse, PaginationQuery } from '@sales-planner/shared';
2
2
  import { BaseClient } from './base-client.js';
3
+ export interface GetUserRolesQueryWithPagination extends GetUserRolesQuery, PaginationQuery {
4
+ }
3
5
  export declare class UserRolesClient extends BaseClient {
4
- getAll(query?: GetUserRolesQuery): Promise<UserRoleResponse[]>;
6
+ getAll(query?: GetUserRolesQueryWithPagination): Promise<PaginatedResponse<UserRoleResponse>>;
5
7
  getById(id: number): Promise<UserRoleResponse>;
6
8
  create(request: CreateUserRoleRequest): Promise<UserRoleResponse>;
7
9
  delete(id: number): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"user-roles-client.d.ts","sourceRoot":"","sources":["../../src/clients/user-roles-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,UAAU;IACvC,MAAM,CAAC,KAAK,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAS9D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI9C,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
1
+ {"version":3,"file":"user-roles-client.d.ts","sourceRoot":"","sources":["../../src/clients/user-roles-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,+BAAgC,SAAQ,iBAAiB,EAAE,eAAe;CAAG;AAE9F,qBAAa,eAAgB,SAAQ,UAAU;IACvC,MAAM,CAAC,KAAK,CAAC,EAAE,+BAA+B,GAAG,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAU7F,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI9C,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
@@ -1,15 +1,18 @@
1
1
  import { BaseClient } from './base-client.js';
2
2
  export class UserRolesClient extends BaseClient {
3
3
  async getAll(query) {
4
- const params = new URLSearchParams();
4
+ const params = {};
5
5
  if (query?.userId)
6
- params.append('userId', String(query.userId));
6
+ params.userId = query.userId;
7
7
  if (query?.roleId)
8
- params.append('roleId', String(query.roleId));
8
+ params.roleId = query.roleId;
9
9
  if (query?.tenantId)
10
- params.append('tenantId', String(query.tenantId));
11
- const queryString = params.toString();
12
- return this.request('GET', `/user-roles${queryString ? `?${queryString}` : ''}`);
10
+ params.tenantId = query.tenantId;
11
+ if (query?.limit)
12
+ params.limit = query.limit;
13
+ if (query?.offset)
14
+ params.offset = query.offset;
15
+ return this.request('GET', '/user-roles', { params });
13
16
  }
14
17
  async getById(id) {
15
18
  return this.request('GET', `/user-roles/${id}`);
@@ -1,7 +1,10 @@
1
- import type { User, CreateUserRequest } from '@sales-planner/shared';
1
+ import type { User, CreateUserRequest, PaginatedResponse, PaginationQuery } from '@sales-planner/shared';
2
2
  import { BaseClient } from './base-client.js';
3
+ export interface GetUsersQuery extends PaginationQuery {
4
+ tenantId?: number;
5
+ }
3
6
  export declare class UsersClient extends BaseClient {
4
- getAll(): Promise<User[]>;
7
+ getAll(query?: GetUsersQuery): Promise<PaginatedResponse<User>>;
5
8
  getById(id: number): Promise<User>;
6
9
  create(request: CreateUserRequest): Promise<User>;
7
10
  delete(id: number): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"users-client.d.ts","sourceRoot":"","sources":["../../src/clients/users-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,WAAY,SAAQ,UAAU;IACnC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAIzB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
1
+ {"version":3,"file":"users-client.d.ts","sourceRoot":"","sources":["../../src/clients/users-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAY,SAAQ,UAAU;IACnC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAI/D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
@@ -1,7 +1,7 @@
1
1
  import { BaseClient } from './base-client.js';
2
2
  export class UsersClient extends BaseClient {
3
- async getAll() {
4
- return this.request('GET', '/users');
3
+ async getAll(query) {
4
+ return this.request('GET', '/users', { params: query });
5
5
  }
6
6
  async getById(id) {
7
7
  return this.request('GET', `/users/${id}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sales-planner/http-client",
3
- "version": "0.15.0",
3
+ "version": "0.16.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.13.0"
27
+ "@sales-planner/shared": "0.14.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "typescript": "^5.7.3"