arky-sdk 0.3.134 → 0.3.135

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/dist/index.cjs CHANGED
@@ -309,7 +309,10 @@ var createBusinessApi = (apiConfig) => {
309
309
  );
310
310
  },
311
311
  async getBusinesses(params, options) {
312
- return apiConfig.httpClient.get(`/v1/businesses`, options);
312
+ return apiConfig.httpClient.get(`/v1/businesses`, {
313
+ ...options,
314
+ params
315
+ });
313
316
  },
314
317
  async getBusinessParents(params, options) {
315
318
  return apiConfig.httpClient.get(
@@ -569,21 +572,6 @@ var createAnalyticsApi = (apiConfig) => {
569
572
  };
570
573
  };
571
574
 
572
- // src/utils/slug.ts
573
- var isUuid = (str) => {
574
- const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
575
- return uuidRegex.test(str);
576
- };
577
- var formatIdOrSlug = (id, apiConfig) => {
578
- if (isUuid(id)) {
579
- return id;
580
- }
581
- if (id.includes(":")) {
582
- return id;
583
- }
584
- return `${apiConfig.businessId}:${apiConfig.locale}:${id}`;
585
- };
586
-
587
575
  // src/utils/blocks.ts
588
576
  function getBlockLabel(block, locale = "en") {
589
577
  if (!block) return "";
@@ -769,9 +757,18 @@ var createCmsApi = (apiConfig) => {
769
757
  );
770
758
  },
771
759
  async getNode(params, options) {
772
- const formattedId = formatIdOrSlug(params.id, apiConfig);
760
+ let identifier;
761
+ if (params.id) {
762
+ identifier = params.id;
763
+ } else if (params.slug) {
764
+ identifier = `${apiConfig.businessId}:${apiConfig.locale}:${params.slug}`;
765
+ } else if (params.key) {
766
+ identifier = `${apiConfig.businessId}:${params.key}`;
767
+ } else {
768
+ throw new Error("GetNodeParams requires id, slug, or key");
769
+ }
773
770
  const response = await apiConfig.httpClient.get(
774
- `/v1/businesses/${apiConfig.businessId}/nodes/${formattedId}`,
771
+ `/v1/businesses/${apiConfig.businessId}/nodes/${identifier}`,
775
772
  options
776
773
  );
777
774
  return {
@@ -881,9 +878,16 @@ var createEshopApi = (apiConfig) => {
881
878
  );
882
879
  },
883
880
  async getProduct(params, options) {
884
- const formattedId = formatIdOrSlug(params.id, apiConfig);
881
+ let identifier;
882
+ if (params.id) {
883
+ identifier = params.id;
884
+ } else if (params.slug) {
885
+ identifier = `${apiConfig.businessId}:${apiConfig.locale}:${params.slug}`;
886
+ } else {
887
+ throw new Error("GetProductParams requires id or slug");
888
+ }
885
889
  return apiConfig.httpClient.get(
886
- `/v1/businesses/${apiConfig.businessId}/products/${formattedId}`,
890
+ `/v1/businesses/${apiConfig.businessId}/products/${identifier}`,
887
891
  options
888
892
  );
889
893
  },
@@ -1064,9 +1068,16 @@ var createReservationApi = (apiConfig) => {
1064
1068
  );
1065
1069
  },
1066
1070
  async getService(params, options) {
1067
- const formattedId = formatIdOrSlug(params.id, apiConfig);
1071
+ let identifier;
1072
+ if (params.id) {
1073
+ identifier = params.id;
1074
+ } else if (params.slug) {
1075
+ identifier = `${apiConfig.businessId}:${apiConfig.locale}:${params.slug}`;
1076
+ } else {
1077
+ throw new Error("GetServiceParams requires id or slug");
1078
+ }
1068
1079
  return apiConfig.httpClient.get(
1069
- `/v1/businesses/${apiConfig.businessId}/services/${formattedId}`,
1080
+ `/v1/businesses/${apiConfig.businessId}/services/${identifier}`,
1070
1081
  options
1071
1082
  );
1072
1083
  },
@@ -1101,8 +1112,16 @@ var createReservationApi = (apiConfig) => {
1101
1112
  );
1102
1113
  },
1103
1114
  async getProvider(params, options) {
1115
+ let identifier;
1116
+ if (params.id) {
1117
+ identifier = params.id;
1118
+ } else if (params.slug) {
1119
+ identifier = `${apiConfig.businessId}:${apiConfig.locale}:${params.slug}`;
1120
+ } else {
1121
+ throw new Error("GetProviderParams requires id or slug");
1122
+ }
1104
1123
  return apiConfig.httpClient.get(
1105
- `/v1/businesses/${apiConfig.businessId}/providers/${params.id}`,
1124
+ `/v1/businesses/${apiConfig.businessId}/providers/${identifier}`,
1106
1125
  options
1107
1126
  );
1108
1127
  },
@@ -1311,6 +1330,103 @@ var createLocationApi = (apiConfig) => {
1311
1330
  };
1312
1331
  };
1313
1332
 
1333
+ // src/api/network.ts
1334
+ var createNetworkApi = (apiConfig) => {
1335
+ return {
1336
+ /**
1337
+ * Search services across all businesses that have opted into a network
1338
+ * @param networkKey - The network key (e.g., "delfin")
1339
+ * @param params - Search parameters
1340
+ */
1341
+ async searchServices(networkKey, params, options) {
1342
+ const queryParams = {};
1343
+ if (params?.limit !== void 0) queryParams.limit = params.limit;
1344
+ if (params?.cursor) queryParams.cursor = params.cursor;
1345
+ if (params?.query) queryParams.query = params.query;
1346
+ if (params?.nodeId) queryParams.nodeId = params.nodeId;
1347
+ if (params?.nodeIds && params.nodeIds.length > 0)
1348
+ queryParams.nodeIds = params.nodeIds.join(",");
1349
+ if (params?.statuses && params.statuses.length > 0)
1350
+ queryParams.statuses = params.statuses.join(",");
1351
+ if (params?.sortField) queryParams.sortField = params.sortField;
1352
+ if (params?.sortDirection) queryParams.sortDirection = params.sortDirection;
1353
+ if (params?.createdAtFrom !== void 0)
1354
+ queryParams.createdAtFrom = params.createdAtFrom;
1355
+ if (params?.createdAtTo !== void 0)
1356
+ queryParams.createdAtTo = params.createdAtTo;
1357
+ if (params?.priceFrom !== void 0) queryParams.priceFrom = params.priceFrom;
1358
+ if (params?.priceTo !== void 0) queryParams.priceTo = params.priceTo;
1359
+ if (params?.matchAll !== void 0) queryParams.matchAll = params.matchAll;
1360
+ if (params?.blocks && params.blocks.length > 0)
1361
+ queryParams.blocks = JSON.stringify(params.blocks);
1362
+ return apiConfig.httpClient.get(`/v1/networks/${networkKey}/services`, {
1363
+ ...options,
1364
+ params: queryParams
1365
+ });
1366
+ },
1367
+ /**
1368
+ * Search products across all businesses that have opted into a network
1369
+ * @param networkKey - The network key (e.g., "delfin")
1370
+ * @param params - Search parameters
1371
+ */
1372
+ async searchProducts(networkKey, params, options) {
1373
+ const queryParams = {};
1374
+ if (params?.limit !== void 0) queryParams.limit = params.limit;
1375
+ if (params?.cursor) queryParams.cursor = params.cursor;
1376
+ if (params?.query) queryParams.query = params.query;
1377
+ if (params?.nodeId) queryParams.nodeId = params.nodeId;
1378
+ if (params?.nodeIds && params.nodeIds.length > 0)
1379
+ queryParams.nodeIds = params.nodeIds.join(",");
1380
+ if (params?.statuses && params.statuses.length > 0)
1381
+ queryParams.statuses = params.statuses.join(",");
1382
+ if (params?.sortField) queryParams.sortField = params.sortField;
1383
+ if (params?.sortDirection) queryParams.sortDirection = params.sortDirection;
1384
+ if (params?.createdAtFrom !== void 0)
1385
+ queryParams.createdAtFrom = params.createdAtFrom;
1386
+ if (params?.createdAtTo !== void 0)
1387
+ queryParams.createdAtTo = params.createdAtTo;
1388
+ if (params?.priceFrom !== void 0) queryParams.priceFrom = params.priceFrom;
1389
+ if (params?.priceTo !== void 0) queryParams.priceTo = params.priceTo;
1390
+ if (params?.matchAll !== void 0) queryParams.matchAll = params.matchAll;
1391
+ if (params?.blocks && params.blocks.length > 0)
1392
+ queryParams.blocks = JSON.stringify(params.blocks);
1393
+ return apiConfig.httpClient.get(`/v1/networks/${networkKey}/products`, {
1394
+ ...options,
1395
+ params: queryParams
1396
+ });
1397
+ },
1398
+ /**
1399
+ * Search providers across all businesses that have opted into a network
1400
+ * @param networkKey - The network key (e.g., "delfin")
1401
+ * @param params - Search parameters
1402
+ */
1403
+ async searchProviders(networkKey, params, options) {
1404
+ const queryParams = {};
1405
+ if (params?.limit !== void 0) queryParams.limit = params.limit;
1406
+ if (params?.cursor) queryParams.cursor = params.cursor;
1407
+ if (params?.query) queryParams.query = params.query;
1408
+ if (params?.nodeId) queryParams.nodeId = params.nodeId;
1409
+ if (params?.nodeIds && params.nodeIds.length > 0)
1410
+ queryParams.nodeIds = params.nodeIds.join(",");
1411
+ if (params?.statuses && params.statuses.length > 0)
1412
+ queryParams.statuses = params.statuses.join(",");
1413
+ if (params?.sortField) queryParams.sortField = params.sortField;
1414
+ if (params?.sortDirection) queryParams.sortDirection = params.sortDirection;
1415
+ if (params?.createdAtFrom !== void 0)
1416
+ queryParams.createdAtFrom = params.createdAtFrom;
1417
+ if (params?.createdAtTo !== void 0)
1418
+ queryParams.createdAtTo = params.createdAtTo;
1419
+ if (params?.matchAll !== void 0) queryParams.matchAll = params.matchAll;
1420
+ if (params?.blocks && params.blocks.length > 0)
1421
+ queryParams.blocks = JSON.stringify(params.blocks);
1422
+ return apiConfig.httpClient.get(`/v1/networks/${networkKey}/providers`, {
1423
+ ...options,
1424
+ params: queryParams
1425
+ });
1426
+ }
1427
+ };
1428
+ };
1429
+
1314
1430
  // src/utils/currency.ts
1315
1431
  function getCurrencySymbol(currency) {
1316
1432
  const currencySymbols = {
@@ -1697,7 +1813,7 @@ function nameToKey(name) {
1697
1813
  }
1698
1814
 
1699
1815
  // src/index.ts
1700
- var SDK_VERSION = "0.3.132";
1816
+ var SDK_VERSION = "0.3.135";
1701
1817
  var SUPPORTED_FRAMEWORKS = [
1702
1818
  "astro",
1703
1819
  "react",
@@ -1748,6 +1864,7 @@ async function createArkySDK(config) {
1748
1864
  database: createDatabaseApi(apiConfig),
1749
1865
  featureFlags: createFeatureFlagsApi(apiConfig),
1750
1866
  location: createLocationApi(apiConfig),
1867
+ network: createNetworkApi(apiConfig),
1751
1868
  setBusinessId: (businessId) => {
1752
1869
  apiConfig.businessId = businessId;
1753
1870
  },