@spscommerce/asst-api 4.3.0 → 4.4.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.
@@ -1,5 +1,7 @@
1
1
  import {
2
2
  attrProdTypeSchema,
3
+ catalogBriefResponseSchema,
4
+ catalogCreateResponseSchema,
3
5
  companyBriefByOrgSchema,
4
6
  external_exports,
5
7
  importErrorsSchema,
@@ -20,11 +22,23 @@ import {
20
22
  tradingPartnerAccessByCompanyIdSchema,
21
23
  userAccountSchema,
22
24
  vendorPartnerAttGroupsSchema
23
- } from "./chunk-NUUQDRHD.js";
25
+ } from "./chunk-YT2B4UAK.js";
26
+
27
+ // lib/util.ts
28
+ function getCompanyTypeSearchParams({
29
+ params,
30
+ companyType
31
+ }) {
32
+ const merged = {
33
+ ...params ?? {},
34
+ ...companyType ? { companyType } : {}
35
+ };
36
+ return Object.keys(merged).length > 0 ? merged : void 0;
37
+ }
24
38
 
25
39
  // lib/imports/index.ts
26
40
  var BASE_URL = "imports";
27
- function createImportsApi(client) {
41
+ function createImportsApi(client, companyType) {
28
42
  async function getImportErrors(importId, params, signal) {
29
43
  const data = await client.get(`${BASE_URL}/${importId}/errors`, { searchParams: params, signal }).json();
30
44
  return importErrorsSchema.parse(data);
@@ -37,22 +51,28 @@ function createImportsApi(client) {
37
51
  return importSchema.parse(data);
38
52
  }
39
53
  async function getImportsStatus(signal) {
40
- const data = await client.get(`${BASE_URL}/status`, { signal }).json();
54
+ const data = await client.get(`${BASE_URL}/status`, {
55
+ signal,
56
+ searchParams: getCompanyTypeSearchParams({ companyType })
57
+ }).json();
41
58
  return external_exports.array(importsStatusSchema).parse(data);
42
59
  }
43
60
  async function uploadImport(file) {
44
61
  await client.post(`${BASE_URL}`, { body: file });
45
62
  }
46
63
  async function getVendorPartnerGroups(signal) {
47
- const data = await client.get(`${BASE_URL}/template/vendor-partner-groups`, { signal }).json();
64
+ const data = await client.get(`${BASE_URL}/template/vendor-partner-groups`, {
65
+ signal,
66
+ searchParams: getCompanyTypeSearchParams({ companyType })
67
+ }).json();
48
68
  return external_exports.array(vendorPartnerAttGroupsSchema).parse(data);
49
69
  }
50
70
  async function generateImportTemplate(params) {
51
71
  const response = await client.get(`${BASE_URL}/template/generate`, {
52
- searchParams: params,
53
72
  headers: {
54
73
  Accept: "application/octet-stream"
55
74
  },
75
+ searchParams: getCompanyTypeSearchParams({ params, companyType }),
56
76
  timeout: false
57
77
  });
58
78
  const disposition = response.headers.get("content-disposition") || "";
@@ -82,7 +102,7 @@ function createImportsApi(client) {
82
102
  // lib/exports/index.ts
83
103
  var BASE_URL2 = "exports";
84
104
  var BASE_URL_V2 = "v2/exports";
85
- function createExportsApi(client) {
105
+ function createExportsApi(client, companyType) {
86
106
  async function createExport(data, params) {
87
107
  await client.post(`${BASE_URL_V2}/add`, {
88
108
  json: data,
@@ -96,7 +116,7 @@ function createExportsApi(client) {
96
116
  availableAttributes: params.availableAttributes?.join(",") ?? ""
97
117
  };
98
118
  const response = await client.get(`${BASE_URL2}/spreadsheet/by-item`, {
99
- searchParams,
119
+ searchParams: getCompanyTypeSearchParams({ params: searchParams, companyType }),
100
120
  headers: {
101
121
  Accept: "application/octet-stream"
102
122
  },
@@ -174,9 +194,10 @@ var retailerTradingPartnerStages = external_exports.array(
174
194
 
175
195
  // lib/tradingPartnerSettings/index.ts
176
196
  var BASE_URL5 = "trading-partner-settings";
177
- function createTradingPartnerSettingsApi(client) {
197
+ function createTradingPartnerSettingsApi(client, companyType) {
178
198
  async function getRetailerStages(signal) {
179
199
  const data = await client.get(`${BASE_URL5}/stages/retailer-configured`, {
200
+ searchParams: getCompanyTypeSearchParams({ companyType }),
180
201
  signal
181
202
  }).json();
182
203
  return retailerTradingPartnerStages.parse(data);
@@ -238,11 +259,41 @@ function createCategoriesApi(client) {
238
259
  const data = await client.post(`${BASE_URL6}/item-hierarchy`, { json: { itemIds } }).json();
239
260
  return itemHierarchyResponseSchema.parse(data);
240
261
  }
262
+ async function createCatalog(params, signal) {
263
+ const data = await client.post("category", {
264
+ json: params,
265
+ signal
266
+ }).json();
267
+ return catalogCreateResponseSchema.parse(data);
268
+ }
269
+ async function searchCatalogsByCompany(params, signal) {
270
+ const url = "category/brief/CATALOG/search";
271
+ const searchParams = new URLSearchParams();
272
+ if (params.ownerCompanyIds?.length) {
273
+ for (const id of params.ownerCompanyIds) {
274
+ searchParams.append("ownerCompanyIds", id.toString());
275
+ }
276
+ }
277
+ if (params.searchTerms) {
278
+ searchParams.set("searchTerms", params.searchTerms);
279
+ }
280
+ const data = await client.get(url, {
281
+ searchParams,
282
+ signal
283
+ }).json();
284
+ return external_exports.array(catalogBriefResponseSchema).parse(data);
285
+ }
286
+ async function createCategoryHierarchy(searchParams) {
287
+ return await client.post(`${BASE_URL6}/hierarchy`, { searchParams }).json();
288
+ }
241
289
  return {
242
290
  getCatalogs,
243
291
  getProductCodes,
244
292
  getSelectionCodes,
245
- getItemHierarchy
293
+ getItemHierarchy,
294
+ createCatalog,
295
+ searchCatalogsByCompany,
296
+ createCategoryHierarchy
246
297
  };
247
298
  }
248
299
 
@@ -284,10 +335,14 @@ function createWhoAmIApi(client) {
284
335
 
285
336
  // lib/companyFeatures/index.ts
286
337
  var BASE_URL10 = "feature";
287
- function createCompanyFeaturesApi(client) {
338
+ function createCompanyFeaturesApi(client, companyType) {
339
+ function getSearchParams() {
340
+ return companyType && { companyType };
341
+ }
288
342
  async function checkIfStageItemSetupIsEnabled(signal) {
289
343
  const data = await client.get(`${BASE_URL10}/isphaseditemsetupenabled`, {
290
- signal
344
+ signal,
345
+ searchParams: getSearchParams()
291
346
  }).json();
292
347
  return external_exports.boolean().parse(data);
293
348
  }
@@ -319,27 +374,35 @@ function createFeatureFlagsApi(client) {
319
374
  }).json();
320
375
  return external_exports.boolean().parse(data);
321
376
  }
377
+ async function checkIfItemMatchEnabled(flagOptions = {}) {
378
+ const { companyId, signal } = flagOptions;
379
+ const path = companyId ? `${BASE_URL11}/enable-item-match-section/${companyId}/` : `${BASE_URL11}/enable-item-match-section/`;
380
+ const data = await client.get(path, {
381
+ signal
382
+ }).json();
383
+ return external_exports.boolean().parse(data);
384
+ }
322
385
  return {
323
386
  checkEnableItemsLevelMSIS,
324
387
  checkIfEnabledForPackagingHierarchies,
325
- checkIfEnabledForItemUomConversionRules
388
+ checkIfEnabledForItemUomConversionRules,
389
+ checkIfItemMatchEnabled
326
390
  };
327
391
  }
328
392
 
329
393
  // lib/items/v1/index.ts
330
394
  var BASE_URL12 = "items";
331
- function createItemsApi(client) {
332
- function createQueryParameterString(params = {}) {
333
- const searchParams = new URLSearchParams();
334
- const { limit, offset, applicationType, url } = params ?? {};
335
- if (limit) searchParams.append("limit", limit.toString());
336
- if (offset) searchParams.append("offset", offset.toString());
337
- if (applicationType) searchParams.append("application", applicationType);
338
- const queryParameterString = searchParams.toString();
339
- return url ? `${queryParameterString}&${url}` : queryParameterString;
395
+ function createItemsApi(client, companyType) {
396
+ function getCoalescedParams(params = {}) {
397
+ const queryParams = {};
398
+ if (params.limit !== void 0) queryParams.limit = params.limit.toString();
399
+ if (params.offset !== void 0) queryParams.offset = params.offset.toString();
400
+ if (params.applicationType) queryParams.application = params.applicationType;
401
+ if (params.url) queryParams.url = params.url;
402
+ return Object.keys(queryParams).length > 0 ? queryParams : void 0;
340
403
  }
341
404
  async function searchItems(params, signal) {
342
- const searchParams = createQueryParameterString(params);
405
+ const searchParams = getCompanyTypeSearchParams({ params: getCoalescedParams(params), companyType });
343
406
  const data = await client.get(`${BASE_URL12}`, { searchParams, signal }).json();
344
407
  return itemSearchViewSchema.parse(data);
345
408
  }
@@ -350,6 +413,7 @@ function createItemsApi(client) {
350
413
  async function updateItem(itemId, item) {
351
414
  await client.put(`${BASE_URL12}/details/${itemId}`, {
352
415
  json: { ...item },
416
+ searchParams: getCompanyTypeSearchParams({ companyType }),
353
417
  timeout: 45e3
354
418
  }).json();
355
419
  }
@@ -364,7 +428,9 @@ function createItemsApi(client) {
364
428
  await client.delete(`${BASE_URL12}`, { searchParams: params });
365
429
  }
366
430
  async function getItemInfoId(spsItemId, signal) {
367
- const data = await client.get(`${BASE_URL12}/${spsItemId}/itemInfoId`, { signal }).json();
431
+ const data = await client.get(`${BASE_URL12}/${spsItemId}/itemInfoId`, { searchParams: getCompanyTypeSearchParams({
432
+ companyType
433
+ }), signal }).json();
368
434
  return external_exports.number().parse(data);
369
435
  }
370
436
  async function getSpsItemId(itemInfoId, signal) {
@@ -372,7 +438,10 @@ function createItemsApi(client) {
372
438
  return spsItemIdResponseSchema.parse(data);
373
439
  }
374
440
  async function getItemStatus(itemIds) {
375
- const data = await client.post(`${BASE_URL12}/status`, { json: { itemIds } }).json();
441
+ const data = await client.post(`${BASE_URL12}/status`, {
442
+ json: { itemIds },
443
+ searchParams: getCompanyTypeSearchParams({ companyType })
444
+ }).json();
376
445
  return itemStatusResponseSchema.parse(data);
377
446
  }
378
447
  return {
@@ -389,9 +458,12 @@ function createItemsApi(client) {
389
458
 
390
459
  // lib/items/v2/index.ts
391
460
  var BASE_URL13 = "v2/items";
392
- function createItemsApiV2(client) {
461
+ function createItemsApiV2(client, companyType) {
393
462
  async function getItemStatus(itemIds) {
394
- const data = await client.post(`${BASE_URL13}/status`, { json: { itemIds } }).json();
463
+ const data = await client.post(`${BASE_URL13}/status`, {
464
+ json: { itemIds },
465
+ searchParams: getCompanyTypeSearchParams({ companyType })
466
+ }).json();
395
467
  return itemStatusV2ResponseSchema.parse(data);
396
468
  }
397
469
  return {
@@ -401,9 +473,10 @@ function createItemsApiV2(client) {
401
473
 
402
474
  // lib/errors/v1/index.ts
403
475
  var BASE_URL14 = "errors";
404
- function createErrorsApi(client) {
476
+ function createErrorsApi(client, companyType) {
405
477
  async function getInvalidItemErrorDetails(itemInfoId, signal) {
406
478
  const data = await client.get(`${BASE_URL14}/items/${itemInfoId}`, {
479
+ searchParams: getCompanyTypeSearchParams({ companyType }),
407
480
  signal
408
481
  }).json();
409
482
  return itemErrorDetailsResultSchema.parse(data);
@@ -415,23 +488,31 @@ function createErrorsApi(client) {
415
488
 
416
489
  // lib/errors/v2/index.ts
417
490
  var BASE_URL15 = "errors/v2";
418
- function createErrorsApiV2(client) {
491
+ function createErrorsApiV2(client, companyType) {
419
492
  async function getItemErrorSummary(params, signal) {
420
493
  const searchParams = new URLSearchParams();
421
- if (params.searchField) searchParams.append("searchField", params.searchField);
494
+ if (params.searchField)
495
+ searchParams.append("searchField", params.searchField);
422
496
  if (params.searchText) searchParams.append("searchText", params.searchText);
423
497
  if (params.tradingPartnerIds) {
424
- params.tradingPartnerIds.forEach((id) => searchParams.append("tradingPartnerIds", id.toString()));
498
+ params.tradingPartnerIds.forEach(
499
+ (id) => searchParams.append("tradingPartnerIds", id.toString())
500
+ );
425
501
  }
426
502
  if (params.offset) searchParams.append("offset", params.offset.toString());
427
503
  if (params.limit) searchParams.append("limit", params.limit.toString());
428
- if (params.docInEventId) searchParams.append("docInEventId", params.docInEventId);
504
+ if (params.docInEventId)
505
+ searchParams.append("docInEventId", params.docInEventId);
429
506
  if (params.importId) searchParams.append("importId", params.importId);
507
+ if (companyType) searchParams.append("companyType", companyType);
430
508
  const data = await client.get(`${BASE_URL15}/summary`, { signal, searchParams }).json();
431
509
  return itemErrorSummaryResultV2Schema.parse(data);
432
510
  }
433
511
  async function getItemErrorDetails(itemInfoId, signal) {
434
- const data = await client.get(`${BASE_URL15}/items/${itemInfoId}`, { signal }).json();
512
+ const data = await client.get(`${BASE_URL15}/items/${itemInfoId}`, {
513
+ searchParams: getCompanyTypeSearchParams({ companyType }),
514
+ signal
515
+ }).json();
435
516
  return itemErrorDetailsResultV2Schema.parse(data);
436
517
  }
437
518
  return {
@@ -470,9 +551,20 @@ var FlattenedItemIdentifierKeysSchema = external_exports.enum(
470
551
  FlattenedItemIdentifierKeys
471
552
  );
472
553
 
554
+ // lib/uniqueCriteria/models/UniqueCriteriaOptionsSchema.ts
555
+ var uniqueCriteriaOptions = external_exports.object({
556
+ name: external_exports.string(),
557
+ value: external_exports.string()
558
+ });
559
+ var uniqueCriteriaOptionsSchema = external_exports.array(uniqueCriteriaOptions);
560
+
473
561
  // lib/uniqueCriteria/index.ts
474
562
  var BASE_URL16 = "uniquecriteria";
475
563
  function createUniqueCriteriaApi(client) {
564
+ async function getUniqueCriteriaOptions() {
565
+ const data = await client.get(`${BASE_URL16}`).json();
566
+ return uniqueCriteriaOptionsSchema.parse(data);
567
+ }
476
568
  async function getUniqueCriteriaByOrg(params, signal) {
477
569
  const data = await client.get(`${BASE_URL16}/org`, {
478
570
  searchParams: params,
@@ -487,7 +579,11 @@ function createUniqueCriteriaApi(client) {
487
579
  }).json();
488
580
  return external_exports.array(FlattenedItemIdentifierKeysSchema).parse(data);
489
581
  }
490
- return { getUniqueCriteriaByOrg, getProductUniqueCriteriaByOrg };
582
+ return {
583
+ getUniqueCriteriaOptions,
584
+ getUniqueCriteriaByOrg,
585
+ getProductUniqueCriteriaByOrg
586
+ };
491
587
  }
492
588
 
493
589
  // lib/companies/index.ts
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  external_exports
3
- } from "./chunk-L4AWOEED.js";
3
+ } from "./chunk-YT2B4UAK.js";
4
4
 
5
5
  // lib/asstClient.ts
6
6
  import ky from "ky";
@@ -4227,6 +4227,34 @@ var itemHierarchyResponseSchema = external_exports.object({
4227
4227
  )
4228
4228
  });
4229
4229
 
4230
+ // lib/categories/models/CatalogManagement.ts
4231
+ var catalogCreateRequestSchema = external_exports.object({
4232
+ categoryName: external_exports.string(),
4233
+ categoryCompanyId: external_exports.number(),
4234
+ categoryTypeId: external_exports.number(),
4235
+ categoryDescription: external_exports.string().optional()
4236
+ });
4237
+ var catalogCreateResponseSchema = external_exports.object({
4238
+ categoryId: external_exports.number()
4239
+ });
4240
+ var catalogSearchParamsSchema = external_exports.object({
4241
+ ownerCompanyIds: external_exports.array(external_exports.number()).optional(),
4242
+ searchTerms: external_exports.string().optional(),
4243
+ categoryType: external_exports.literal("CATALOG")
4244
+ });
4245
+ var catalogBriefResponseSchema = external_exports.object({
4246
+ categoryId: external_exports.number(),
4247
+ categoryName: external_exports.string(),
4248
+ categoryDescription: external_exports.string(),
4249
+ categoryDescriptionExt: external_exports.string(),
4250
+ ownerCompanyId: external_exports.string(),
4251
+ categoryTypeId: external_exports.number(),
4252
+ createdAt: external_exports.string(),
4253
+ modifiedAt: external_exports.string(),
4254
+ createdBy: external_exports.string(),
4255
+ modifiedBy: external_exports.string()
4256
+ });
4257
+
4230
4258
  // lib/locale/models/Locale.ts
4231
4259
  var localeSchema = external_exports.object({
4232
4260
  localeCode: external_exports.string(),
@@ -4827,6 +4855,9 @@ var companyBriefByOrgSchema = external_exports.object({
4827
4855
  dc4Id: external_exports.number()
4828
4856
  });
4829
4857
 
4858
+ // lib/companies/models/CompanyType.ts
4859
+ var companyTypeSchema = external_exports.enum(["SUPPLIER", "RETAILER"]);
4860
+
4830
4861
  export {
4831
4862
  external_exports,
4832
4863
  importDetailSchema,
@@ -4849,6 +4880,8 @@ export {
4849
4880
  itemCategorySchema,
4850
4881
  itemCategoriesSearchSchema,
4851
4882
  itemHierarchyResponseSchema,
4883
+ catalogCreateResponseSchema,
4884
+ catalogBriefResponseSchema,
4852
4885
  localeSchema,
4853
4886
  spreadsheetTemplateCompanySchema,
4854
4887
  spreadsheetTemplateSchema,