@sales-planner/react 0.2.0 → 0.2.2
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 +167 -30
- package/dist/admin.d.ts +57 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +266 -0
- package/dist/coded-entities.d.ts +14 -0
- package/dist/coded-entities.d.ts.map +1 -1
- package/dist/create-coded-entity-hooks.d.ts +4 -0
- package/dist/create-coded-entity-hooks.d.ts.map +1 -1
- package/dist/create-coded-entity-hooks.js +20 -0
- package/dist/create-shop-scoped-hooks.d.ts +4 -0
- package/dist/create-shop-scoped-hooks.d.ts.map +1 -1
- package/dist/create-shop-scoped-hooks.js +20 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/keys.d.ts +15 -0
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js +17 -0
- package/dist/shop-scoped-entities.d.ts +14 -0
- package/dist/shop-scoped-entities.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -84,46 +84,183 @@ function ImportSuppliers() {
|
|
|
84
84
|
}
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
##
|
|
87
|
+
## API Reference
|
|
88
88
|
|
|
89
|
-
###
|
|
89
|
+
### Provider
|
|
90
|
+
|
|
91
|
+
| Export | Description |
|
|
92
|
+
| --- | --- |
|
|
93
|
+
| `SalesPlannerProvider` | React context provider — accepts `config` and `children` |
|
|
94
|
+
| `useSalesPlannerClient()` | Returns the underlying `SalesPlannerClient` for direct API access |
|
|
95
|
+
| `ClientConfig` | Type — `{ baseUrl: string; apiKey?: string }` |
|
|
96
|
+
|
|
97
|
+
### Coded entity hooks
|
|
90
98
|
|
|
91
99
|
`brands`, `categories`, `groups`, `statuses`, `suppliers`, `warehouses`, `marketplaces`, `skus` — each provides:
|
|
92
100
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
| Hook | Kind | Description |
|
|
102
|
+
| --- | --- | --- |
|
|
103
|
+
| `.useList(ctx, query?)` | query | Paginated list |
|
|
104
|
+
| `.useById(ctx, id)` | query | Single entity by ID |
|
|
105
|
+
| `.useByCode(ctx, code)` | query | Lookup by code |
|
|
106
|
+
| `.useExportJson(ctx)` | query | JSON export (`enabled: false`, manual trigger) |
|
|
107
|
+
| `.useExportCsv(ctx)` | query | CSV export (`enabled: false`, manual trigger) |
|
|
108
|
+
| `.useExampleJson()` | query | Example JSON (public, `staleTime: Infinity`) |
|
|
109
|
+
| `.useExampleCsv()` | query | Example CSV (public, `staleTime: Infinity`) |
|
|
110
|
+
| `.useCreate(ctx)` | mutation | Create entity |
|
|
111
|
+
| `.useUpdate(ctx)` | mutation | Update entity (`{ id, data }`) |
|
|
112
|
+
| `.useDelete(ctx)` | mutation | Delete entity by ID |
|
|
113
|
+
| `.useImportJson(ctx)` | mutation | Bulk import from JSON |
|
|
114
|
+
| `.useImportCsv(ctx)` | mutation | Bulk import from CSV |
|
|
115
|
+
|
|
116
|
+
`ctx` is `ShopContext` — `{ shopId: number; tenantId: number }`.
|
|
117
|
+
|
|
118
|
+
### Shop-scoped entity hooks
|
|
119
|
+
|
|
120
|
+
`salesHistory`, `leftovers`, `seasonalCoefficients`, `skuCompetitorMappings`, `competitorProducts`, `competitorSales` — same as coded entities **without** `.useByCode`.
|
|
121
|
+
|
|
122
|
+
### Specialized hooks
|
|
123
|
+
|
|
124
|
+
| Hook | Kind | Description |
|
|
125
|
+
| --- | --- | --- |
|
|
126
|
+
| `useMe(options?)` | query | Current user with roles and tenants |
|
|
127
|
+
| `useEntitiesMetadata(options?)` | query | Entity field metadata (`staleTime: Infinity`) |
|
|
128
|
+
| `useSkuMetrics(ctx, query?, options?)` | query | Paginated SKU metrics |
|
|
129
|
+
| `useSkuMetricsById(ctx, id, options?)` | query | Single SKU metric |
|
|
130
|
+
| `useSkuMetricsByAbcClass(ctx, 'A'\|'B'\|'C', options?)` | query | SKU metrics filtered by ABC class |
|
|
131
|
+
| `useSkuMetricsExportCsv(ctx, options?)` | query | CSV export (`enabled: false`, manual trigger) |
|
|
132
|
+
| `useComputedViews(ctx, options?)` | query | List materialized views |
|
|
133
|
+
| `useRefreshAllViews(ctx, options?)` | mutation | Refresh all views (auto-invalidates `skuMetrics`) |
|
|
134
|
+
|
|
135
|
+
### Admin hooks
|
|
136
|
+
|
|
137
|
+
#### Tenants
|
|
138
|
+
|
|
139
|
+
| Hook | Kind | Description |
|
|
140
|
+
| --- | --- | --- |
|
|
141
|
+
| `useTenants(query?)` | query | Paginated list (filterable by `owner_id`) |
|
|
142
|
+
| `useTenantById(id)` | query | Single tenant |
|
|
143
|
+
| `useCreateTenant()` | mutation | Create tenant (SysAdmin) |
|
|
144
|
+
| `useCreateTenantWithShopAndUser()` | mutation | Create tenant + shop + user + API key (SysAdmin) |
|
|
145
|
+
| `useUpdateTenant()` | mutation | Update tenant (`{ id, data }`) |
|
|
146
|
+
| `useDeleteTenant()` | mutation | Delete tenant (SysAdmin) |
|
|
147
|
+
|
|
148
|
+
#### Users
|
|
149
|
+
|
|
150
|
+
| Hook | Kind | Description |
|
|
151
|
+
| --- | --- | --- |
|
|
152
|
+
| `useUsers(query?)` | query | Paginated list (filterable by `tenantId`) |
|
|
153
|
+
| `useUserById(id)` | query | Single user |
|
|
154
|
+
| `useCreateUser()` | mutation | Create user |
|
|
155
|
+
| `useDeleteUser()` | mutation | Delete user |
|
|
156
|
+
|
|
157
|
+
#### Shops
|
|
158
|
+
|
|
159
|
+
| Hook | Kind | Description |
|
|
160
|
+
| --- | --- | --- |
|
|
161
|
+
| `useShops(query?)` | query | Paginated list (filterable by `tenantId`) |
|
|
162
|
+
| `useShopById(id)` | query | Single shop |
|
|
163
|
+
| `useCreateShop()` | mutation | Create shop |
|
|
164
|
+
| `useUpdateShop()` | mutation | Update shop (`{ id, data }`) |
|
|
165
|
+
|
|
166
|
+
#### Roles (predefined, read-only)
|
|
167
|
+
|
|
168
|
+
| Hook | Kind | Description |
|
|
169
|
+
| --- | --- | --- |
|
|
170
|
+
| `useRoles(query?)` | query | Paginated list |
|
|
171
|
+
| `useRoleById(id)` | query | Single role |
|
|
172
|
+
|
|
173
|
+
#### User Roles
|
|
174
|
+
|
|
175
|
+
| Hook | Kind | Description |
|
|
176
|
+
| --- | --- | --- |
|
|
177
|
+
| `useUserRoles(query?)` | query | Paginated list (filterable by `userId`, `roleId`, `tenantId`) |
|
|
178
|
+
| `useUserRoleById(id)` | query | Single user-role assignment |
|
|
179
|
+
| `useCreateUserRole()` | mutation | Assign role to user |
|
|
180
|
+
| `useDeleteUserRole()` | mutation | Remove role from user |
|
|
181
|
+
|
|
182
|
+
#### User Shops
|
|
183
|
+
|
|
184
|
+
| Hook | Kind | Description |
|
|
185
|
+
| --- | --- | --- |
|
|
186
|
+
| `useUserShops(query?)` | query | List (filterable by `userId`, `shopId`, `tenantId`) |
|
|
187
|
+
| `useUserShopById(id)` | query | Single user-shop assignment |
|
|
188
|
+
| `useCreateUserShop()` | mutation | Assign user to shop |
|
|
189
|
+
| `useDeleteUserShop()` | mutation | Remove user from shop |
|
|
190
|
+
|
|
191
|
+
#### API Keys
|
|
192
|
+
|
|
193
|
+
| Hook | Kind | Description |
|
|
194
|
+
| --- | --- | --- |
|
|
195
|
+
| `useApiKeys(query?)` | query | Paginated list (filterable by `user_id`) |
|
|
196
|
+
| `useCreateApiKey()` | mutation | Create API key |
|
|
197
|
+
| `useRevokeApiKey()` | mutation | Revoke (delete) API key |
|
|
198
|
+
|
|
199
|
+
### Utilities
|
|
200
|
+
|
|
201
|
+
| Export | Description |
|
|
202
|
+
| --- | --- |
|
|
203
|
+
| `queryKeys` | Query key factory for custom cache management |
|
|
204
|
+
| `ShopContext` | Type — `{ shopId: number; tenantId: number }` |
|
|
205
|
+
| `toShopContextParams(ctx)` | Converts `ShopContext` to `ShopContextParams` |
|
|
206
|
+
| `createCodedEntityHooks(name, accessor)` | Factory — build your own coded entity hook set |
|
|
207
|
+
| `createShopScopedHooks(name, accessor)` | Factory — build your own shop-scoped hook set |
|
|
208
|
+
|
|
209
|
+
### Query keys
|
|
103
210
|
|
|
104
|
-
|
|
211
|
+
All keys start with `'sales-planner'`. Use `queryKeys` for custom invalidation:
|
|
105
212
|
|
|
106
|
-
|
|
213
|
+
```tsx
|
|
214
|
+
import { queryKeys } from '@sales-planner/react';
|
|
215
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
216
|
+
|
|
217
|
+
const qc = useQueryClient();
|
|
107
218
|
|
|
108
|
-
|
|
219
|
+
// Invalidate all SKU queries
|
|
220
|
+
qc.invalidateQueries({ queryKey: queryKeys.entity('skus', ctx) });
|
|
221
|
+
```
|
|
109
222
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
223
|
+
Available keys:
|
|
224
|
+
|
|
225
|
+
| Key | Arguments | Purpose |
|
|
226
|
+
| --- | --- | --- |
|
|
227
|
+
| `queryKeys.me()` | — | Current user |
|
|
228
|
+
| `queryKeys.metadata()` | — | Entity metadata |
|
|
229
|
+
| `queryKeys.tenants(query?)` | pagination + owner_id | Tenants list |
|
|
230
|
+
| `queryKeys.tenantDetail(id)` | id | Single tenant |
|
|
231
|
+
| `queryKeys.users(query?)` | pagination + tenantId | Users list |
|
|
232
|
+
| `queryKeys.userDetail(id)` | id | Single user |
|
|
233
|
+
| `queryKeys.shops(query?)` | pagination + tenantId | Shops list |
|
|
234
|
+
| `queryKeys.shopDetail(id)` | id | Single shop |
|
|
235
|
+
| `queryKeys.roles(query?)` | pagination | Roles list |
|
|
236
|
+
| `queryKeys.roleDetail(id)` | id | Single role |
|
|
237
|
+
| `queryKeys.userRoles(query?)` | userId, roleId, tenantId | User-role assignments |
|
|
238
|
+
| `queryKeys.userRoleDetail(id)` | id | Single user-role |
|
|
239
|
+
| `queryKeys.userShops(query?)` | userId, shopId, tenantId | User-shop assignments |
|
|
240
|
+
| `queryKeys.userShopDetail(id)` | id | Single user-shop |
|
|
241
|
+
| `queryKeys.apiKeys(query?)` | pagination + user_id | API keys list |
|
|
242
|
+
| `queryKeys.apiKeyDetail(id)` | id | Single API key |
|
|
243
|
+
| `queryKeys.entity(name, ctx)` | entity name, shop context | Root key for a data entity |
|
|
244
|
+
| `queryKeys.entityList(name, ctx, query?)` | entity, ctx, pagination | Paginated list |
|
|
245
|
+
| `queryKeys.entityDetail(name, ctx, id)` | entity, ctx, id | Single entity |
|
|
246
|
+
| `queryKeys.entityByCode(name, ctx, code)` | entity, ctx, code | Code lookup |
|
|
247
|
+
| `queryKeys.entityExport(name, ctx, format)` | entity, ctx, `'json'\|'csv'` | Export |
|
|
248
|
+
| `queryKeys.entityExample(name, format)` | entity, `'json'\|'csv'` | Example (no ctx — public) |
|
|
249
|
+
| `queryKeys.skuMetrics(ctx)` | ctx | SKU metrics root |
|
|
250
|
+
| `queryKeys.skuMetricsList(ctx, query?)` | ctx, pagination | SKU metrics list |
|
|
251
|
+
| `queryKeys.skuMetricsDetail(ctx, id)` | ctx, id | Single SKU metric |
|
|
252
|
+
| `queryKeys.skuMetricsAbc(ctx, class)` | ctx, `'A'\|'B'\|'C'` | ABC class filter |
|
|
253
|
+
| `queryKeys.computed(ctx)` | ctx | Computed views root |
|
|
118
254
|
|
|
119
255
|
## Cache Invalidation
|
|
120
256
|
|
|
121
|
-
All mutations automatically invalidate related query caches.
|
|
257
|
+
All mutations automatically invalidate their related query caches. `useRefreshAllViews` additionally invalidates `skuMetrics`.
|
|
122
258
|
|
|
123
|
-
|
|
124
|
-
import { queryKeys } from '@sales-planner/react';
|
|
125
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
259
|
+
## Related Packages
|
|
126
260
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
261
|
+
- `@sales-planner/shared` — TypeScript types
|
|
262
|
+
- `@sales-planner/http-client` — HTTP client (included as dependency)
|
|
263
|
+
|
|
264
|
+
## License
|
|
265
|
+
|
|
266
|
+
MIT
|
package/dist/admin.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { Tenant, CreateTenantRequest, UpdateTenantRequest, CreateTenantWithShopRequest, TenantWithShopAndApiKey, PaginatedResponse, PaginationQuery, User, CreateUserRequest, Shop, CreateShopRequest, UpdateShopRequest, Role, UserRoleResponse, CreateUserRoleRequest, GetUserRolesQuery, UserShop, CreateUserShopRequest, GetUserShopsQuery, ApiKey, CreateApiKeyRequest } from '@sales-planner/shared';
|
|
3
|
+
interface GetTenantsQuery extends PaginationQuery {
|
|
4
|
+
owner_id?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function useTenants(query?: GetTenantsQuery, options?: Omit<UseQueryOptions<PaginatedResponse<Tenant>>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<PaginatedResponse<Tenant>, Error>;
|
|
7
|
+
export declare function useTenantById(id: number, options?: Omit<UseQueryOptions<Tenant>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<Tenant, Error>;
|
|
8
|
+
export declare function useCreateTenant(options?: Omit<UseMutationOptions<Tenant, Error, CreateTenantRequest>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<Tenant, Error, CreateTenantRequest, unknown>;
|
|
9
|
+
export declare function useCreateTenantWithShopAndUser(options?: Omit<UseMutationOptions<TenantWithShopAndApiKey, Error, CreateTenantWithShopRequest>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<TenantWithShopAndApiKey, Error, import("@sales-planner/shared").CreateTenantWithShopDto, unknown>;
|
|
10
|
+
export declare function useUpdateTenant(options?: Omit<UseMutationOptions<Tenant, Error, {
|
|
11
|
+
id: number;
|
|
12
|
+
data: UpdateTenantRequest;
|
|
13
|
+
}>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<Tenant, Error, {
|
|
14
|
+
id: number;
|
|
15
|
+
data: UpdateTenantRequest;
|
|
16
|
+
}, unknown>;
|
|
17
|
+
export declare function useDeleteTenant(options?: Omit<UseMutationOptions<void, Error, number>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<void, Error, number, unknown>;
|
|
18
|
+
interface GetUsersQuery extends PaginationQuery {
|
|
19
|
+
tenantId?: number;
|
|
20
|
+
}
|
|
21
|
+
export declare function useUsers(query?: GetUsersQuery, options?: Omit<UseQueryOptions<PaginatedResponse<User>>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<PaginatedResponse<User>, Error>;
|
|
22
|
+
export declare function useUserById(id: number, options?: Omit<UseQueryOptions<User>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<User, Error>;
|
|
23
|
+
export declare function useCreateUser(options?: Omit<UseMutationOptions<User, Error, CreateUserRequest>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<User, Error, import("@sales-planner/shared").CreateUserDto, unknown>;
|
|
24
|
+
export declare function useDeleteUser(options?: Omit<UseMutationOptions<void, Error, number>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<void, Error, number, unknown>;
|
|
25
|
+
interface GetShopsQuery extends PaginationQuery {
|
|
26
|
+
tenantId?: number;
|
|
27
|
+
}
|
|
28
|
+
export declare function useShops(query?: GetShopsQuery, options?: Omit<UseQueryOptions<PaginatedResponse<Shop>>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<PaginatedResponse<Shop>, Error>;
|
|
29
|
+
export declare function useShopById(id: number, options?: Omit<UseQueryOptions<Shop>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<Shop, Error>;
|
|
30
|
+
export declare function useCreateShop(options?: Omit<UseMutationOptions<Shop, Error, CreateShopRequest>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<Shop, Error, import("@sales-planner/shared").CreateShopDto, unknown>;
|
|
31
|
+
export declare function useUpdateShop(options?: Omit<UseMutationOptions<Shop, Error, {
|
|
32
|
+
id: number;
|
|
33
|
+
data: UpdateShopRequest;
|
|
34
|
+
}>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<Shop, Error, {
|
|
35
|
+
id: number;
|
|
36
|
+
data: UpdateShopRequest;
|
|
37
|
+
}, unknown>;
|
|
38
|
+
export declare function useRoles(query?: PaginationQuery, options?: Omit<UseQueryOptions<PaginatedResponse<Role>>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<PaginatedResponse<Role>, Error>;
|
|
39
|
+
export declare function useRoleById(id: number, options?: Omit<UseQueryOptions<Role>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<Role, Error>;
|
|
40
|
+
interface GetUserRolesQueryWithPagination extends GetUserRolesQuery, PaginationQuery {
|
|
41
|
+
}
|
|
42
|
+
export declare function useUserRoles(query?: GetUserRolesQueryWithPagination, options?: Omit<UseQueryOptions<PaginatedResponse<UserRoleResponse>>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<PaginatedResponse<UserRoleResponse>, Error>;
|
|
43
|
+
export declare function useUserRoleById(id: number, options?: Omit<UseQueryOptions<UserRoleResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<UserRoleResponse, Error>;
|
|
44
|
+
export declare function useCreateUserRole(options?: Omit<UseMutationOptions<UserRoleResponse, Error, CreateUserRoleRequest>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<UserRoleResponse, Error, import("@sales-planner/shared").CreateUserRoleDto, unknown>;
|
|
45
|
+
export declare function useDeleteUserRole(options?: Omit<UseMutationOptions<void, Error, number>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<void, Error, number, unknown>;
|
|
46
|
+
export declare function useUserShops(query?: GetUserShopsQuery, options?: Omit<UseQueryOptions<UserShop[]>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<UserShop[], Error>;
|
|
47
|
+
export declare function useUserShopById(id: number, options?: Omit<UseQueryOptions<UserShop>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<UserShop, Error>;
|
|
48
|
+
export declare function useCreateUserShop(options?: Omit<UseMutationOptions<UserShop, Error, CreateUserShopRequest>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<UserShop, Error, import("@sales-planner/shared").CreateUserShopDto, unknown>;
|
|
49
|
+
export declare function useDeleteUserShop(options?: Omit<UseMutationOptions<void, Error, number>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<void, Error, number, unknown>;
|
|
50
|
+
interface GetApiKeysQuery extends PaginationQuery {
|
|
51
|
+
user_id?: number;
|
|
52
|
+
}
|
|
53
|
+
export declare function useApiKeys(query?: GetApiKeysQuery, options?: Omit<UseQueryOptions<PaginatedResponse<ApiKey>>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<PaginatedResponse<ApiKey>, Error>;
|
|
54
|
+
export declare function useCreateApiKey(options?: Omit<UseMutationOptions<ApiKey, Error, CreateApiKeyRequest>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<ApiKey, Error, import("@sales-planner/shared").CreateApiKeyDto, unknown>;
|
|
55
|
+
export declare function useRevokeApiKey(options?: Omit<UseMutationOptions<void, Error, number>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<void, Error, number, unknown>;
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|
package/dist/admin.js
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
|
|
2
|
+
import { useSalesPlannerClient } from './provider.js';
|
|
3
|
+
import { queryKeys } from './keys.js';
|
|
4
|
+
export function useTenants(query, options) {
|
|
5
|
+
const client = useSalesPlannerClient();
|
|
6
|
+
return useQuery({
|
|
7
|
+
queryKey: queryKeys.tenants(query),
|
|
8
|
+
queryFn: () => client.tenants.getAll(query),
|
|
9
|
+
...options,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export function useTenantById(id, options) {
|
|
13
|
+
const client = useSalesPlannerClient();
|
|
14
|
+
return useQuery({
|
|
15
|
+
queryKey: queryKeys.tenantDetail(id),
|
|
16
|
+
queryFn: () => client.tenants.getById(id),
|
|
17
|
+
...options,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
export function useCreateTenant(options) {
|
|
21
|
+
const client = useSalesPlannerClient();
|
|
22
|
+
const qc = useQueryClient();
|
|
23
|
+
return useMutation({
|
|
24
|
+
mutationFn: (request) => client.tenants.create(request),
|
|
25
|
+
onSuccess: () => {
|
|
26
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'tenants'] });
|
|
27
|
+
},
|
|
28
|
+
...options,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export function useCreateTenantWithShopAndUser(options) {
|
|
32
|
+
const client = useSalesPlannerClient();
|
|
33
|
+
const qc = useQueryClient();
|
|
34
|
+
return useMutation({
|
|
35
|
+
mutationFn: (request) => client.tenants.createWithShopAndUser(request),
|
|
36
|
+
onSuccess: () => {
|
|
37
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'tenants'] });
|
|
38
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'shops'] });
|
|
39
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'users'] });
|
|
40
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'api-keys'] });
|
|
41
|
+
},
|
|
42
|
+
...options,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
export function useUpdateTenant(options) {
|
|
46
|
+
const client = useSalesPlannerClient();
|
|
47
|
+
const qc = useQueryClient();
|
|
48
|
+
return useMutation({
|
|
49
|
+
mutationFn: ({ id, data }) => client.tenants.update(id, data),
|
|
50
|
+
onSuccess: () => {
|
|
51
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'tenants'] });
|
|
52
|
+
},
|
|
53
|
+
...options,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export function useDeleteTenant(options) {
|
|
57
|
+
const client = useSalesPlannerClient();
|
|
58
|
+
const qc = useQueryClient();
|
|
59
|
+
return useMutation({
|
|
60
|
+
mutationFn: (id) => client.tenants.delete(id),
|
|
61
|
+
onSuccess: () => {
|
|
62
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'tenants'] });
|
|
63
|
+
},
|
|
64
|
+
...options,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
export function useUsers(query, options) {
|
|
68
|
+
const client = useSalesPlannerClient();
|
|
69
|
+
return useQuery({
|
|
70
|
+
queryKey: queryKeys.users(query),
|
|
71
|
+
queryFn: () => client.users.getAll(query),
|
|
72
|
+
...options,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
export function useUserById(id, options) {
|
|
76
|
+
const client = useSalesPlannerClient();
|
|
77
|
+
return useQuery({
|
|
78
|
+
queryKey: queryKeys.userDetail(id),
|
|
79
|
+
queryFn: () => client.users.getById(id),
|
|
80
|
+
...options,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
export function useCreateUser(options) {
|
|
84
|
+
const client = useSalesPlannerClient();
|
|
85
|
+
const qc = useQueryClient();
|
|
86
|
+
return useMutation({
|
|
87
|
+
mutationFn: (request) => client.users.create(request),
|
|
88
|
+
onSuccess: () => {
|
|
89
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'users'] });
|
|
90
|
+
},
|
|
91
|
+
...options,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
export function useDeleteUser(options) {
|
|
95
|
+
const client = useSalesPlannerClient();
|
|
96
|
+
const qc = useQueryClient();
|
|
97
|
+
return useMutation({
|
|
98
|
+
mutationFn: (id) => client.users.delete(id),
|
|
99
|
+
onSuccess: () => {
|
|
100
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'users'] });
|
|
101
|
+
},
|
|
102
|
+
...options,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
export function useShops(query, options) {
|
|
106
|
+
const client = useSalesPlannerClient();
|
|
107
|
+
return useQuery({
|
|
108
|
+
queryKey: queryKeys.shops(query),
|
|
109
|
+
queryFn: () => client.shops.getAll(query),
|
|
110
|
+
...options,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
export function useShopById(id, options) {
|
|
114
|
+
const client = useSalesPlannerClient();
|
|
115
|
+
return useQuery({
|
|
116
|
+
queryKey: queryKeys.shopDetail(id),
|
|
117
|
+
queryFn: () => client.shops.getById(id),
|
|
118
|
+
...options,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
export function useCreateShop(options) {
|
|
122
|
+
const client = useSalesPlannerClient();
|
|
123
|
+
const qc = useQueryClient();
|
|
124
|
+
return useMutation({
|
|
125
|
+
mutationFn: (request) => client.shops.create(request),
|
|
126
|
+
onSuccess: () => {
|
|
127
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'shops'] });
|
|
128
|
+
},
|
|
129
|
+
...options,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
export function useUpdateShop(options) {
|
|
133
|
+
const client = useSalesPlannerClient();
|
|
134
|
+
const qc = useQueryClient();
|
|
135
|
+
return useMutation({
|
|
136
|
+
mutationFn: ({ id, data }) => client.shops.update(id, data),
|
|
137
|
+
onSuccess: () => {
|
|
138
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'shops'] });
|
|
139
|
+
},
|
|
140
|
+
...options,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
// ── Roles ──
|
|
144
|
+
export function useRoles(query, options) {
|
|
145
|
+
const client = useSalesPlannerClient();
|
|
146
|
+
return useQuery({
|
|
147
|
+
queryKey: queryKeys.roles(query),
|
|
148
|
+
queryFn: () => client.roles.getAll(query),
|
|
149
|
+
...options,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
export function useRoleById(id, options) {
|
|
153
|
+
const client = useSalesPlannerClient();
|
|
154
|
+
return useQuery({
|
|
155
|
+
queryKey: queryKeys.roleDetail(id),
|
|
156
|
+
queryFn: () => client.roles.getById(id),
|
|
157
|
+
...options,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
export function useUserRoles(query, options) {
|
|
161
|
+
const client = useSalesPlannerClient();
|
|
162
|
+
return useQuery({
|
|
163
|
+
queryKey: queryKeys.userRoles(query),
|
|
164
|
+
queryFn: () => client.userRoles.getAll(query),
|
|
165
|
+
...options,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
export function useUserRoleById(id, options) {
|
|
169
|
+
const client = useSalesPlannerClient();
|
|
170
|
+
return useQuery({
|
|
171
|
+
queryKey: queryKeys.userRoleDetail(id),
|
|
172
|
+
queryFn: () => client.userRoles.getById(id),
|
|
173
|
+
...options,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
export function useCreateUserRole(options) {
|
|
177
|
+
const client = useSalesPlannerClient();
|
|
178
|
+
const qc = useQueryClient();
|
|
179
|
+
return useMutation({
|
|
180
|
+
mutationFn: (request) => client.userRoles.create(request),
|
|
181
|
+
onSuccess: () => {
|
|
182
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'user-roles'] });
|
|
183
|
+
},
|
|
184
|
+
...options,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
export function useDeleteUserRole(options) {
|
|
188
|
+
const client = useSalesPlannerClient();
|
|
189
|
+
const qc = useQueryClient();
|
|
190
|
+
return useMutation({
|
|
191
|
+
mutationFn: (id) => client.userRoles.delete(id),
|
|
192
|
+
onSuccess: () => {
|
|
193
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'user-roles'] });
|
|
194
|
+
},
|
|
195
|
+
...options,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
// ── User Shops ──
|
|
199
|
+
export function useUserShops(query, options) {
|
|
200
|
+
const client = useSalesPlannerClient();
|
|
201
|
+
return useQuery({
|
|
202
|
+
queryKey: queryKeys.userShops(query),
|
|
203
|
+
queryFn: () => client.userShops.getAll(query),
|
|
204
|
+
...options,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
export function useUserShopById(id, options) {
|
|
208
|
+
const client = useSalesPlannerClient();
|
|
209
|
+
return useQuery({
|
|
210
|
+
queryKey: queryKeys.userShopDetail(id),
|
|
211
|
+
queryFn: () => client.userShops.getById(id),
|
|
212
|
+
...options,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
export function useCreateUserShop(options) {
|
|
216
|
+
const client = useSalesPlannerClient();
|
|
217
|
+
const qc = useQueryClient();
|
|
218
|
+
return useMutation({
|
|
219
|
+
mutationFn: (request) => client.userShops.create(request),
|
|
220
|
+
onSuccess: () => {
|
|
221
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'user-shops'] });
|
|
222
|
+
},
|
|
223
|
+
...options,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
export function useDeleteUserShop(options) {
|
|
227
|
+
const client = useSalesPlannerClient();
|
|
228
|
+
const qc = useQueryClient();
|
|
229
|
+
return useMutation({
|
|
230
|
+
mutationFn: (id) => client.userShops.delete(id),
|
|
231
|
+
onSuccess: () => {
|
|
232
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'user-shops'] });
|
|
233
|
+
},
|
|
234
|
+
...options,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
export function useApiKeys(query, options) {
|
|
238
|
+
const client = useSalesPlannerClient();
|
|
239
|
+
return useQuery({
|
|
240
|
+
queryKey: queryKeys.apiKeys(query),
|
|
241
|
+
queryFn: () => client.apiKeys.getAll(query),
|
|
242
|
+
...options,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
export function useCreateApiKey(options) {
|
|
246
|
+
const client = useSalesPlannerClient();
|
|
247
|
+
const qc = useQueryClient();
|
|
248
|
+
return useMutation({
|
|
249
|
+
mutationFn: (request) => client.apiKeys.create(request),
|
|
250
|
+
onSuccess: () => {
|
|
251
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'api-keys'] });
|
|
252
|
+
},
|
|
253
|
+
...options,
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
export function useRevokeApiKey(options) {
|
|
257
|
+
const client = useSalesPlannerClient();
|
|
258
|
+
const qc = useQueryClient();
|
|
259
|
+
return useMutation({
|
|
260
|
+
mutationFn: (id) => client.apiKeys.delete(id),
|
|
261
|
+
onSuccess: () => {
|
|
262
|
+
qc.invalidateQueries({ queryKey: ['sales-planner', 'api-keys'] });
|
|
263
|
+
},
|
|
264
|
+
...options,
|
|
265
|
+
});
|
|
266
|
+
}
|
package/dist/coded-entities.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export declare const brands: {
|
|
|
5
5
|
useByCode: (ctx: import("./keys.js").ShopContext, code: string, options?: Omit<import("@tanstack/react-query").UseQueryOptions<Brand, Error, Brand, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<Brand, Error>;
|
|
6
6
|
useExportJson: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
7
7
|
useExportCsv: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
8
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
9
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
8
10
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Brand, Error, import("@sales-planner/shared").CodedTitledItem, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<Brand, Error, import("@sales-planner/shared").CodedTitledItem, unknown>;
|
|
9
11
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Brand, Error, {
|
|
10
12
|
id: number;
|
|
@@ -23,6 +25,8 @@ export declare const categories: {
|
|
|
23
25
|
useByCode: (ctx: import("./keys.js").ShopContext, code: string, options?: Omit<import("@tanstack/react-query").UseQueryOptions<Category, Error, Category, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<Category, Error>;
|
|
24
26
|
useExportJson: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
25
27
|
useExportCsv: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
28
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
29
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
26
30
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Category, Error, import("@sales-planner/shared").CodedTitledItem, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<Category, Error, import("@sales-planner/shared").CodedTitledItem, unknown>;
|
|
27
31
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Category, Error, {
|
|
28
32
|
id: number;
|
|
@@ -41,6 +45,8 @@ export declare const groups: {
|
|
|
41
45
|
useByCode: (ctx: import("./keys.js").ShopContext, code: string, options?: Omit<import("@tanstack/react-query").UseQueryOptions<Group, Error, Group, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<Group, Error>;
|
|
42
46
|
useExportJson: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
43
47
|
useExportCsv: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
48
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
49
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
44
50
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Group, Error, import("@sales-planner/shared").CodedTitledItem, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<Group, Error, import("@sales-planner/shared").CodedTitledItem, unknown>;
|
|
45
51
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Group, Error, {
|
|
46
52
|
id: number;
|
|
@@ -59,6 +65,8 @@ export declare const statuses: {
|
|
|
59
65
|
useByCode: (ctx: import("./keys.js").ShopContext, code: string, options?: Omit<import("@tanstack/react-query").UseQueryOptions<Status, Error, Status, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<Status, Error>;
|
|
60
66
|
useExportJson: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
61
67
|
useExportCsv: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
68
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
69
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
62
70
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Status, Error, import("@sales-planner/shared").CodedTitledItem, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<Status, Error, import("@sales-planner/shared").CodedTitledItem, unknown>;
|
|
63
71
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Status, Error, {
|
|
64
72
|
id: number;
|
|
@@ -77,6 +85,8 @@ export declare const suppliers: {
|
|
|
77
85
|
useByCode: (ctx: import("./keys.js").ShopContext, code: string, options?: Omit<import("@tanstack/react-query").UseQueryOptions<Supplier, Error, Supplier, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<Supplier, Error>;
|
|
78
86
|
useExportJson: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
79
87
|
useExportCsv: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
88
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
89
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
80
90
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Supplier, Error, import("@sales-planner/shared").CodedTitledItem, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<Supplier, Error, import("@sales-planner/shared").CodedTitledItem, unknown>;
|
|
81
91
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Supplier, Error, {
|
|
82
92
|
id: number;
|
|
@@ -95,6 +105,8 @@ export declare const warehouses: {
|
|
|
95
105
|
useByCode: (ctx: import("./keys.js").ShopContext, code: string, options?: Omit<import("@tanstack/react-query").UseQueryOptions<Warehouse, Error, Warehouse, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<Warehouse, Error>;
|
|
96
106
|
useExportJson: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
97
107
|
useExportCsv: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
108
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
109
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
98
110
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Warehouse, Error, import("@sales-planner/shared").CodedTitledItem, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<Warehouse, Error, import("@sales-planner/shared").CodedTitledItem, unknown>;
|
|
99
111
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Warehouse, Error, {
|
|
100
112
|
id: number;
|
|
@@ -113,6 +125,8 @@ export declare const marketplaces: {
|
|
|
113
125
|
useByCode: (ctx: import("./keys.js").ShopContext, code: string, options?: Omit<import("@tanstack/react-query").UseQueryOptions<Marketplace, Error, Marketplace, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<Marketplace, Error>;
|
|
114
126
|
useExportJson: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
115
127
|
useExportCsv: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
128
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<import("@sales-planner/shared").CodedTitledItem[], Error, import("@sales-planner/shared").CodedTitledItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<import("@sales-planner/shared").CodedTitledItem[], Error>;
|
|
129
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
116
130
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Marketplace, Error, import("@sales-planner/shared").CodedTitledItem, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<Marketplace, Error, import("@sales-planner/shared").CodedTitledItem, unknown>;
|
|
117
131
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Marketplace, Error, {
|
|
118
132
|
id: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coded-entities.d.ts","sourceRoot":"","sources":["../src/coded-entities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAKL,QAAQ,EAKR,KAAK,EAKL,MAAM,EAKN,QAAQ,EAKR,SAAS,EAKT,WAAW,EAKZ,MAAM,uBAAuB,CAAC;AAG/B,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"coded-entities.d.ts","sourceRoot":"","sources":["../src/coded-entities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAKL,QAAQ,EAKR,KAAK,EAKL,MAAM,EAKN,QAAQ,EAKR,SAAS,EAKT,WAAW,EAKZ,MAAM,uBAAuB,CAAC;AAG/B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;CAMS,CAAC;AAE7B,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;CAMa,CAAC;AAErC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;CAMS,CAAC;AAE7B,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;CAMW,CAAC;AAEjC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;CAMY,CAAC;AAEnC,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;CAMa,CAAC;AAErC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAMe,CAAC"}
|
|
@@ -13,6 +13,8 @@ type CodedEntityClientLike<TEntity, TCreate, TUpdate, TImport, TExport> = {
|
|
|
13
13
|
importCsv(ctx: ShopContextParams, csvContent: string): Promise<ImportResult>;
|
|
14
14
|
exportJson(ctx: ShopContextParams): Promise<TExport[]>;
|
|
15
15
|
exportCsv(ctx: ShopContextParams): Promise<string>;
|
|
16
|
+
getExampleJson(): Promise<TImport[]>;
|
|
17
|
+
getExampleCsv(): Promise<string>;
|
|
16
18
|
};
|
|
17
19
|
/**
|
|
18
20
|
* Creates a set of React Query hooks for a coded entity (brands, categories, etc.)
|
|
@@ -23,6 +25,8 @@ export declare function createCodedEntityHooks<TEntity, TCreate, TUpdate, TImpor
|
|
|
23
25
|
useByCode: (ctx: ShopContext, code: string, options?: Omit<UseQueryOptions<TEntity>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<import("@tanstack/react-query").NoInfer<TEntity>, Error>;
|
|
24
26
|
useExportJson: (ctx: ShopContext, options?: Omit<UseQueryOptions<TExport[]>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<TExport[], Error>;
|
|
25
27
|
useExportCsv: (ctx: ShopContext, options?: Omit<UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
28
|
+
useExampleJson: (options?: Omit<UseQueryOptions<TImport[]>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<TImport[], Error>;
|
|
29
|
+
useExampleCsv: (options?: Omit<UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
26
30
|
useCreate: (ctx: ShopContext, options?: Omit<UseMutationOptions<TEntity, Error, TCreate>, "mutationFn">) => import("@tanstack/react-query").UseMutationResult<TEntity, Error, TCreate, unknown>;
|
|
27
31
|
useUpdate: (ctx: ShopContext, options?: Omit<UseMutationOptions<TEntity, Error, {
|
|
28
32
|
id: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-coded-entity-hooks.d.ts","sourceRoot":"","sources":["../src/create-coded-entity-hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,KAAK,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI;IACxE,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/E,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5E,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-coded-entity-hooks.d.ts","sourceRoot":"","sources":["../src/create-coded-entity-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,12 +102,32 @@ export function createCodedEntityHooks(entityName, getClient) {
|
|
|
102
102
|
...options,
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
|
+
function useExampleJson(options) {
|
|
106
|
+
const client = useSalesPlannerClient();
|
|
107
|
+
return useQuery({
|
|
108
|
+
queryKey: queryKeys.entityExample(entityName, 'json'),
|
|
109
|
+
queryFn: () => getClient(client).getExampleJson(),
|
|
110
|
+
staleTime: Number.POSITIVE_INFINITY,
|
|
111
|
+
...options,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
function useExampleCsv(options) {
|
|
115
|
+
const client = useSalesPlannerClient();
|
|
116
|
+
return useQuery({
|
|
117
|
+
queryKey: queryKeys.entityExample(entityName, 'csv'),
|
|
118
|
+
queryFn: () => getClient(client).getExampleCsv(),
|
|
119
|
+
staleTime: Number.POSITIVE_INFINITY,
|
|
120
|
+
...options,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
105
123
|
return {
|
|
106
124
|
useList,
|
|
107
125
|
useById,
|
|
108
126
|
useByCode,
|
|
109
127
|
useExportJson,
|
|
110
128
|
useExportCsv,
|
|
129
|
+
useExampleJson,
|
|
130
|
+
useExampleCsv,
|
|
111
131
|
useCreate,
|
|
112
132
|
useUpdate,
|
|
113
133
|
useDelete,
|
|
@@ -12,6 +12,8 @@ type ShopScopedClientLike<TEntity, TCreate, TUpdate, TImport, TExport, TImportRe
|
|
|
12
12
|
importCsv(ctx: ShopContextParams, csvContent: string): Promise<TImportResult>;
|
|
13
13
|
exportJson(ctx: ShopContextParams, query?: TQuery): Promise<TExport[]>;
|
|
14
14
|
exportCsv(ctx: ShopContextParams, query?: TQuery): Promise<string>;
|
|
15
|
+
getExampleJson(): Promise<TImport[]>;
|
|
16
|
+
getExampleCsv(): Promise<string>;
|
|
15
17
|
};
|
|
16
18
|
/**
|
|
17
19
|
* Creates a set of React Query hooks for a shop-scoped entity
|
|
@@ -22,6 +24,8 @@ export declare function createShopScopedHooks<TEntity, TCreate, TUpdate, TImport
|
|
|
22
24
|
useById: (ctx: ShopContext, id: number, options?: Omit<UseQueryOptions<TEntity>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<import("@tanstack/react-query").NoInfer<TEntity>, Error>;
|
|
23
25
|
useExportJson: (ctx: ShopContext, query?: TQuery, options?: Omit<UseQueryOptions<TExport[]>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<TExport[], Error>;
|
|
24
26
|
useExportCsv: (ctx: ShopContext, query?: TQuery, options?: Omit<UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
27
|
+
useExampleJson: (options?: Omit<UseQueryOptions<TImport[]>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<TImport[], Error>;
|
|
28
|
+
useExampleCsv: (options?: Omit<UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
25
29
|
useCreate: (ctx: ShopContext, options?: Omit<UseMutationOptions<TEntity, Error, TCreate>, "mutationFn">) => import("@tanstack/react-query").UseMutationResult<TEntity, Error, TCreate, unknown>;
|
|
26
30
|
useUpdate: (ctx: ShopContext, options?: Omit<UseMutationOptions<TEntity, Error, {
|
|
27
31
|
id: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-shop-scoped-hooks.d.ts","sourceRoot":"","sources":["../src/create-shop-scoped-hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,KAAK,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI;IAC9F,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/E,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7E,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-shop-scoped-hooks.d.ts","sourceRoot":"","sources":["../src/create-shop-scoped-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,11 +95,31 @@ export function createShopScopedHooks(entityName, getClient) {
|
|
|
95
95
|
...options,
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
|
+
function useExampleJson(options) {
|
|
99
|
+
const client = useSalesPlannerClient();
|
|
100
|
+
return useQuery({
|
|
101
|
+
queryKey: queryKeys.entityExample(entityName, 'json'),
|
|
102
|
+
queryFn: () => getClient(client).getExampleJson(),
|
|
103
|
+
staleTime: Number.POSITIVE_INFINITY,
|
|
104
|
+
...options,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function useExampleCsv(options) {
|
|
108
|
+
const client = useSalesPlannerClient();
|
|
109
|
+
return useQuery({
|
|
110
|
+
queryKey: queryKeys.entityExample(entityName, 'csv'),
|
|
111
|
+
queryFn: () => getClient(client).getExampleCsv(),
|
|
112
|
+
staleTime: Number.POSITIVE_INFINITY,
|
|
113
|
+
...options,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
98
116
|
return {
|
|
99
117
|
useList,
|
|
100
118
|
useById,
|
|
101
119
|
useExportJson,
|
|
102
120
|
useExportCsv,
|
|
121
|
+
useExampleJson,
|
|
122
|
+
useExampleCsv,
|
|
103
123
|
useCreate,
|
|
104
124
|
useUpdate,
|
|
105
125
|
useDelete,
|
package/dist/index.d.ts
CHANGED
|
@@ -19,4 +19,5 @@ export { skuCompetitorMappings } from './shop-scoped-entities.js';
|
|
|
19
19
|
export { competitorProducts } from './shop-scoped-entities.js';
|
|
20
20
|
export { competitorSales } from './shop-scoped-entities.js';
|
|
21
21
|
export { useMe, useEntitiesMetadata, useSkuMetrics, useSkuMetricsById, useSkuMetricsByAbcClass, useSkuMetricsExportCsv, useComputedViews, useRefreshAllViews, } from './specialized.js';
|
|
22
|
+
export { useTenants, useTenantById, useCreateTenant, useCreateTenantWithShopAndUser, useUpdateTenant, useDeleteTenant, useUsers, useUserById, useCreateUser, useDeleteUser, useShops, useShopById, useCreateShop, useUpdateShop, useRoles, useRoleById, useUserRoles, useUserRoleById, useCreateUserRole, useDeleteUserRole, useUserShops, useUserShopById, useCreateUserShop, useDeleteUserShop, useApiKeys, useCreateApiKey, useRevokeApiKey, } from './admin.js';
|
|
22
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC5E,YAAY,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EACL,KAAK,EACL,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC5E,YAAY,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EACL,KAAK,EACL,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAEL,UAAU,EACV,aAAa,EACb,eAAe,EACf,8BAA8B,EAC9B,eAAe,EACf,eAAe,EAEf,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EAEb,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EAEb,QAAQ,EACR,WAAW,EAEX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EAEjB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EAEjB,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -23,3 +23,19 @@ export { competitorProducts } from './shop-scoped-entities.js';
|
|
|
23
23
|
export { competitorSales } from './shop-scoped-entities.js';
|
|
24
24
|
// ── Specialized hooks ──
|
|
25
25
|
export { useMe, useEntitiesMetadata, useSkuMetrics, useSkuMetricsById, useSkuMetricsByAbcClass, useSkuMetricsExportCsv, useComputedViews, useRefreshAllViews, } from './specialized.js';
|
|
26
|
+
// ── Admin hooks ──
|
|
27
|
+
export {
|
|
28
|
+
// Tenants
|
|
29
|
+
useTenants, useTenantById, useCreateTenant, useCreateTenantWithShopAndUser, useUpdateTenant, useDeleteTenant,
|
|
30
|
+
// Users
|
|
31
|
+
useUsers, useUserById, useCreateUser, useDeleteUser,
|
|
32
|
+
// Shops
|
|
33
|
+
useShops, useShopById, useCreateShop, useUpdateShop,
|
|
34
|
+
// Roles
|
|
35
|
+
useRoles, useRoleById,
|
|
36
|
+
// User Roles
|
|
37
|
+
useUserRoles, useUserRoleById, useCreateUserRole, useDeleteUserRole,
|
|
38
|
+
// User Shops
|
|
39
|
+
useUserShops, useUserShopById, useCreateUserShop, useDeleteUserShop,
|
|
40
|
+
// API Keys
|
|
41
|
+
useApiKeys, useCreateApiKey, useRevokeApiKey, } from './admin.js';
|
package/dist/keys.d.ts
CHANGED
|
@@ -13,11 +13,26 @@ export declare function toShopContextParams(ctx: ShopContext): ShopContextParams
|
|
|
13
13
|
export declare const queryKeys: {
|
|
14
14
|
readonly me: () => readonly ["sales-planner", "me"];
|
|
15
15
|
readonly metadata: () => readonly ["sales-planner", "metadata"];
|
|
16
|
+
readonly tenants: (query?: Record<string, unknown>) => readonly ["sales-planner", "tenants", Record<string, unknown>];
|
|
17
|
+
readonly tenantDetail: (id: number) => readonly ["sales-planner", "tenants", number];
|
|
18
|
+
readonly users: (query?: Record<string, unknown>) => readonly ["sales-planner", "users", Record<string, unknown>];
|
|
19
|
+
readonly userDetail: (id: number) => readonly ["sales-planner", "users", number];
|
|
20
|
+
readonly shops: (query?: Record<string, unknown>) => readonly ["sales-planner", "shops", Record<string, unknown>];
|
|
21
|
+
readonly shopDetail: (id: number) => readonly ["sales-planner", "shops", number];
|
|
22
|
+
readonly roles: (query?: Record<string, unknown>) => readonly ["sales-planner", "roles", Record<string, unknown>];
|
|
23
|
+
readonly roleDetail: (id: number) => readonly ["sales-planner", "roles", number];
|
|
24
|
+
readonly userRoles: (query?: Record<string, unknown>) => readonly ["sales-planner", "user-roles", Record<string, unknown>];
|
|
25
|
+
readonly userRoleDetail: (id: number) => readonly ["sales-planner", "user-roles", number];
|
|
26
|
+
readonly userShops: (query?: Record<string, unknown>) => readonly ["sales-planner", "user-shops", Record<string, unknown>];
|
|
27
|
+
readonly userShopDetail: (id: number) => readonly ["sales-planner", "user-shops", number];
|
|
28
|
+
readonly apiKeys: (query?: Record<string, unknown>) => readonly ["sales-planner", "api-keys", Record<string, unknown>];
|
|
29
|
+
readonly apiKeyDetail: (id: number) => readonly ["sales-planner", "api-keys", number];
|
|
16
30
|
readonly entity: (entity: string, ctx: ShopContext) => readonly ["sales-planner", string, number, number];
|
|
17
31
|
readonly entityList: (entity: string, ctx: ShopContext, query?: Record<string, unknown>) => readonly ["sales-planner", string, number, number, "list", Record<string, unknown>];
|
|
18
32
|
readonly entityDetail: (entity: string, ctx: ShopContext, id: number) => readonly ["sales-planner", string, number, number, number];
|
|
19
33
|
readonly entityByCode: (entity: string, ctx: ShopContext, code: string) => readonly ["sales-planner", string, number, number, "code", string];
|
|
20
34
|
readonly entityExport: (entity: string, ctx: ShopContext, format: "json" | "csv") => readonly ["sales-planner", string, number, number, "export", "json" | "csv"];
|
|
35
|
+
readonly entityExample: (entity: string, format: "json" | "csv") => readonly ["sales-planner", string, "example", "json" | "csv"];
|
|
21
36
|
readonly skuMetrics: (ctx: ShopContext) => readonly ["sales-planner", "sku-metrics", number, number];
|
|
22
37
|
readonly skuMetricsList: (ctx: ShopContext, query?: Record<string, unknown>) => readonly ["sales-planner", "sku-metrics", number, number, "list", Record<string, unknown>];
|
|
23
38
|
readonly skuMetricsDetail: (ctx: ShopContext, id: number) => readonly ["sales-planner", "sku-metrics", number, number, number];
|
package/dist/keys.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,CAEvE;AAED;;GAEG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,CAEvE;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;;;+BAKF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACtB,MAAM;6BAET,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;8BACtB,MAAM;6BAEP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;8BACtB,MAAM;6BAEP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;8BACtB,MAAM;iCAEH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;kCAEtB,MAAM;iCAEP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;kCAEtB,MAAM;+BAET,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACtB,MAAM;8BAGR,MAAM,OAAO,WAAW;kCAGpB,MAAM,OAAO,WAAW,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oCAGvD,MAAM,OAAO,WAAW,MAAM,MAAM;oCAGpC,MAAM,OAAO,WAAW,QAAQ,MAAM;oCAGtC,MAAM,OAAO,WAAW,UAAU,MAAM,GAAG,KAAK;qCAG/C,MAAM,UAAU,MAAM,GAAG,KAAK;+BAGpC,WAAW;mCAEP,WAAW,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;qCAE1C,WAAW,MAAM,MAAM;kCAC1B,WAAW,YAAY,MAAM;6BAGlC,WAAW;CACnB,CAAC"}
|
package/dist/keys.js
CHANGED
|
@@ -7,11 +7,28 @@ export function toShopContextParams(ctx) {
|
|
|
7
7
|
export const queryKeys = {
|
|
8
8
|
me: () => ['sales-planner', 'me'],
|
|
9
9
|
metadata: () => ['sales-planner', 'metadata'],
|
|
10
|
+
// ── Admin resources (no shop context) ──
|
|
11
|
+
tenants: (query) => ['sales-planner', 'tenants', query ?? {}],
|
|
12
|
+
tenantDetail: (id) => ['sales-planner', 'tenants', id],
|
|
13
|
+
users: (query) => ['sales-planner', 'users', query ?? {}],
|
|
14
|
+
userDetail: (id) => ['sales-planner', 'users', id],
|
|
15
|
+
shops: (query) => ['sales-planner', 'shops', query ?? {}],
|
|
16
|
+
shopDetail: (id) => ['sales-planner', 'shops', id],
|
|
17
|
+
roles: (query) => ['sales-planner', 'roles', query ?? {}],
|
|
18
|
+
roleDetail: (id) => ['sales-planner', 'roles', id],
|
|
19
|
+
userRoles: (query) => ['sales-planner', 'user-roles', query ?? {}],
|
|
20
|
+
userRoleDetail: (id) => ['sales-planner', 'user-roles', id],
|
|
21
|
+
userShops: (query) => ['sales-planner', 'user-shops', query ?? {}],
|
|
22
|
+
userShopDetail: (id) => ['sales-planner', 'user-shops', id],
|
|
23
|
+
apiKeys: (query) => ['sales-planner', 'api-keys', query ?? {}],
|
|
24
|
+
apiKeyDetail: (id) => ['sales-planner', 'api-keys', id],
|
|
25
|
+
// ── Data entities (shop-scoped) ──
|
|
10
26
|
entity: (entity, ctx) => ['sales-planner', entity, ctx.shopId, ctx.tenantId],
|
|
11
27
|
entityList: (entity, ctx, query) => [...queryKeys.entity(entity, ctx), 'list', query ?? {}],
|
|
12
28
|
entityDetail: (entity, ctx, id) => [...queryKeys.entity(entity, ctx), id],
|
|
13
29
|
entityByCode: (entity, ctx, code) => [...queryKeys.entity(entity, ctx), 'code', code],
|
|
14
30
|
entityExport: (entity, ctx, format) => [...queryKeys.entity(entity, ctx), 'export', format],
|
|
31
|
+
entityExample: (entity, format) => ['sales-planner', entity, 'example', format],
|
|
15
32
|
skuMetrics: (ctx) => ['sales-planner', 'sku-metrics', ctx.shopId, ctx.tenantId],
|
|
16
33
|
skuMetricsList: (ctx, query) => [...queryKeys.skuMetrics(ctx), 'list', query ?? {}],
|
|
17
34
|
skuMetricsDetail: (ctx, id) => [...queryKeys.skuMetrics(ctx), id],
|
|
@@ -5,6 +5,8 @@ export declare const skus: {
|
|
|
5
5
|
useByCode: (ctx: import("./keys.js").ShopContext, code: string, options?: Omit<import("@tanstack/react-query").UseQueryOptions<Sku, Error, Sku, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<Sku, Error>;
|
|
6
6
|
useExportJson: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<SkuExportItem[], Error, SkuExportItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<SkuExportItem[], Error>;
|
|
7
7
|
useExportCsv: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
8
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<ImportSkuItem[], Error, ImportSkuItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<ImportSkuItem[], Error>;
|
|
9
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
8
10
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Sku, Error, CreateSkuRequest, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<Sku, Error, CreateSkuRequest, unknown>;
|
|
9
11
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Sku, Error, {
|
|
10
12
|
id: number;
|
|
@@ -22,6 +24,8 @@ export declare const salesHistory: {
|
|
|
22
24
|
useById: (ctx: import("./keys.js").ShopContext, id: number, options?: Omit<import("@tanstack/react-query").UseQueryOptions<SalesHistory, Error, SalesHistory, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<SalesHistory, Error>;
|
|
23
25
|
useExportJson: (ctx: import("./keys.js").ShopContext, query?: SalesHistoryQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<SalesHistoryExportItem[], Error, SalesHistoryExportItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<SalesHistoryExportItem[], Error>;
|
|
24
26
|
useExportCsv: (ctx: import("./keys.js").ShopContext, query?: SalesHistoryQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
27
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<ImportSalesHistoryItem[], Error, ImportSalesHistoryItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<ImportSalesHistoryItem[], Error>;
|
|
28
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
25
29
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<SalesHistory, Error, CreateSalesHistoryRequest, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<SalesHistory, Error, CreateSalesHistoryRequest, unknown>;
|
|
26
30
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<SalesHistory, Error, {
|
|
27
31
|
id: number;
|
|
@@ -39,6 +43,8 @@ export declare const leftovers: {
|
|
|
39
43
|
useById: (ctx: import("./keys.js").ShopContext, id: number, options?: Omit<import("@tanstack/react-query").UseQueryOptions<Leftover, Error, Leftover, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<Leftover, Error>;
|
|
40
44
|
useExportJson: (ctx: import("./keys.js").ShopContext, query?: LeftoverQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<LeftoverExportItem[], Error, LeftoverExportItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<LeftoverExportItem[], Error>;
|
|
41
45
|
useExportCsv: (ctx: import("./keys.js").ShopContext, query?: LeftoverQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
46
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<ImportLeftoverItem[], Error, ImportLeftoverItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<ImportLeftoverItem[], Error>;
|
|
47
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
42
48
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Leftover, Error, CreateLeftoverRequest, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<Leftover, Error, CreateLeftoverRequest, unknown>;
|
|
43
49
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<Leftover, Error, {
|
|
44
50
|
id: number;
|
|
@@ -56,6 +62,8 @@ export declare const seasonalCoefficients: {
|
|
|
56
62
|
useById: (ctx: import("./keys.js").ShopContext, id: number, options?: Omit<import("@tanstack/react-query").UseQueryOptions<SeasonalCoefficient, Error, SeasonalCoefficient, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<SeasonalCoefficient, Error>;
|
|
57
63
|
useExportJson: (ctx: import("./keys.js").ShopContext, query?: PaginationQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<SeasonalCoefficientExportItem[], Error, SeasonalCoefficientExportItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<SeasonalCoefficientExportItem[], Error>;
|
|
58
64
|
useExportCsv: (ctx: import("./keys.js").ShopContext, query?: PaginationQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
65
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<ImportSeasonalCoefficientItem[], Error, ImportSeasonalCoefficientItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<ImportSeasonalCoefficientItem[], Error>;
|
|
66
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
59
67
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<SeasonalCoefficient, Error, CreateSeasonalCoefficientRequest, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<SeasonalCoefficient, Error, CreateSeasonalCoefficientRequest, unknown>;
|
|
60
68
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<SeasonalCoefficient, Error, {
|
|
61
69
|
id: number;
|
|
@@ -73,6 +81,8 @@ export declare const skuCompetitorMappings: {
|
|
|
73
81
|
useById: (ctx: import("./keys.js").ShopContext, id: number, options?: Omit<import("@tanstack/react-query").UseQueryOptions<SkuCompetitorMapping, Error, SkuCompetitorMapping, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<SkuCompetitorMapping, Error>;
|
|
74
82
|
useExportJson: (ctx: import("./keys.js").ShopContext, query?: PaginationQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<SkuCompetitorMappingExportItem[], Error, SkuCompetitorMappingExportItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<SkuCompetitorMappingExportItem[], Error>;
|
|
75
83
|
useExportCsv: (ctx: import("./keys.js").ShopContext, query?: PaginationQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
84
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<ImportSkuCompetitorMappingItem[], Error, ImportSkuCompetitorMappingItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<ImportSkuCompetitorMappingItem[], Error>;
|
|
85
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
76
86
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<SkuCompetitorMapping, Error, CreateSkuCompetitorMappingRequest, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<SkuCompetitorMapping, Error, CreateSkuCompetitorMappingRequest, unknown>;
|
|
77
87
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<SkuCompetitorMapping, Error, {
|
|
78
88
|
id: number;
|
|
@@ -90,6 +100,8 @@ export declare const competitorProducts: {
|
|
|
90
100
|
useById: (ctx: import("./keys.js").ShopContext, id: number, options?: Omit<import("@tanstack/react-query").UseQueryOptions<CompetitorProduct, Error, CompetitorProduct, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<CompetitorProduct, Error>;
|
|
91
101
|
useExportJson: (ctx: import("./keys.js").ShopContext, query?: CompetitorProductQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<CompetitorProductExportItem[], Error, CompetitorProductExportItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<CompetitorProductExportItem[], Error>;
|
|
92
102
|
useExportCsv: (ctx: import("./keys.js").ShopContext, query?: CompetitorProductQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
103
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<ImportCompetitorProductItem[], Error, ImportCompetitorProductItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<ImportCompetitorProductItem[], Error>;
|
|
104
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
93
105
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<CompetitorProduct, Error, CreateCompetitorProductRequest, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<CompetitorProduct, Error, CreateCompetitorProductRequest, unknown>;
|
|
94
106
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<CompetitorProduct, Error, {
|
|
95
107
|
id: number;
|
|
@@ -107,6 +119,8 @@ export declare const competitorSales: {
|
|
|
107
119
|
useById: (ctx: import("./keys.js").ShopContext, id: number, options?: Omit<import("@tanstack/react-query").UseQueryOptions<CompetitorSale, Error, CompetitorSale, readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<CompetitorSale, Error>;
|
|
108
120
|
useExportJson: (ctx: import("./keys.js").ShopContext, query?: CompetitorSaleQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<CompetitorSaleExportItem[], Error, CompetitorSaleExportItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<CompetitorSaleExportItem[], Error>;
|
|
109
121
|
useExportCsv: (ctx: import("./keys.js").ShopContext, query?: CompetitorSaleQuery | undefined, options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
122
|
+
useExampleJson: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<ImportCompetitorSaleItem[], Error, ImportCompetitorSaleItem[], readonly unknown[]>, "queryKey" | "queryFn"> | undefined) => import("@tanstack/react-query").UseQueryResult<ImportCompetitorSaleItem[], Error>;
|
|
123
|
+
useExampleCsv: (options?: Omit<import("@tanstack/react-query").UseQueryOptions<string>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<string, Error>;
|
|
110
124
|
useCreate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<CompetitorSale, Error, CreateCompetitorSaleRequest, unknown>, "mutationFn"> | undefined) => import("@tanstack/react-query").UseMutationResult<CompetitorSale, Error, CreateCompetitorSaleRequest, unknown>;
|
|
111
125
|
useUpdate: (ctx: import("./keys.js").ShopContext, options?: Omit<import("@tanstack/react-query").UseMutationOptions<CompetitorSale, Error, {
|
|
112
126
|
id: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shop-scoped-entities.d.ts","sourceRoot":"","sources":["../src/shop-scoped-entities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,GAAG,EACH,gBAAgB,EAEhB,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,yBAAyB,EAEzB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,QAAQ,EACR,qBAAqB,EAErB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,gCAAgC,EAEhC,6BAA6B,EAC7B,6BAA6B,EAC7B,oBAAoB,EACpB,iCAAiC,EAEjC,8BAA8B,EAC9B,8BAA8B,EAC9B,iBAAiB,EACjB,8BAA8B,EAE9B,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,EACd,2BAA2B,EAE3B,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"shop-scoped-entities.d.ts","sourceRoot":"","sources":["../src/shop-scoped-entities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,GAAG,EACH,gBAAgB,EAEhB,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,yBAAyB,EAEzB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,QAAQ,EACR,qBAAqB,EAErB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,gCAAgC,EAEhC,6BAA6B,EAC7B,6BAA6B,EAC7B,oBAAoB,EACpB,iCAAiC,EAEjC,8BAA8B,EAC9B,8BAA8B,EAC9B,iBAAiB,EACjB,8BAA8B,EAE9B,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,EACd,2BAA2B,EAE3B,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;CAMO,CAAC;AAEzB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;CAQgB,CAAC;AAE1C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;CAQY,CAAC;AAEnC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;CAQwB,CAAC;AAE1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;CAQ0B,CAAC;AAE7D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;CAQsB,CAAC;AAEtD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;CAQmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sales-planner/react",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "React hooks for Sales Planner API powered by TanStack Query",
|
|
5
5
|
"author": "Damir Manapov",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"README.md"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@sales-planner/http-client": "0.19.
|
|
29
|
-
"@sales-planner/shared": "0.17.
|
|
28
|
+
"@sales-planner/http-client": "0.19.3",
|
|
29
|
+
"@sales-planner/shared": "0.17.3"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"@tanstack/react-query": ">=5.0.0",
|