arky-sdk 0.3.133 → 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 "";
@@ -706,13 +694,16 @@ var getBlockObjectValues = (entry, blockKey, locale = "en") => {
706
694
  };
707
695
  var getBlockFromArray = (entry, blockKey, locale = "en") => {
708
696
  if (!entry) {
709
- return [];
697
+ return {};
710
698
  }
711
699
  const values = getBlockValues(entry, blockKey);
700
+ if (!values || !Array.isArray(values)) {
701
+ return {};
702
+ }
712
703
  return values.reduce((acc, current) => {
713
704
  acc[current.key] = unwrapBlock(current, locale);
714
705
  return acc;
715
- });
706
+ }, {});
716
707
  };
717
708
  var getImageUrl = (imageBlock, isBlock = true) => {
718
709
  if (!imageBlock) return null;
@@ -766,9 +757,18 @@ var createCmsApi = (apiConfig) => {
766
757
  );
767
758
  },
768
759
  async getNode(params, options) {
769
- 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
+ }
770
770
  const response = await apiConfig.httpClient.get(
771
- `/v1/businesses/${apiConfig.businessId}/nodes/${formattedId}`,
771
+ `/v1/businesses/${apiConfig.businessId}/nodes/${identifier}`,
772
772
  options
773
773
  );
774
774
  return {
@@ -878,9 +878,16 @@ var createEshopApi = (apiConfig) => {
878
878
  );
879
879
  },
880
880
  async getProduct(params, options) {
881
- 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
+ }
882
889
  return apiConfig.httpClient.get(
883
- `/v1/businesses/${apiConfig.businessId}/products/${formattedId}`,
890
+ `/v1/businesses/${apiConfig.businessId}/products/${identifier}`,
884
891
  options
885
892
  );
886
893
  },
@@ -1061,9 +1068,16 @@ var createReservationApi = (apiConfig) => {
1061
1068
  );
1062
1069
  },
1063
1070
  async getService(params, options) {
1064
- 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
+ }
1065
1079
  return apiConfig.httpClient.get(
1066
- `/v1/businesses/${apiConfig.businessId}/services/${formattedId}`,
1080
+ `/v1/businesses/${apiConfig.businessId}/services/${identifier}`,
1067
1081
  options
1068
1082
  );
1069
1083
  },
@@ -1098,8 +1112,16 @@ var createReservationApi = (apiConfig) => {
1098
1112
  );
1099
1113
  },
1100
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
+ }
1101
1123
  return apiConfig.httpClient.get(
1102
- `/v1/businesses/${apiConfig.businessId}/providers/${params.id}`,
1124
+ `/v1/businesses/${apiConfig.businessId}/providers/${identifier}`,
1103
1125
  options
1104
1126
  );
1105
1127
  },
@@ -1308,6 +1330,103 @@ var createLocationApi = (apiConfig) => {
1308
1330
  };
1309
1331
  };
1310
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
+
1311
1430
  // src/utils/currency.ts
1312
1431
  function getCurrencySymbol(currency) {
1313
1432
  const currencySymbols = {
@@ -1694,7 +1813,7 @@ function nameToKey(name) {
1694
1813
  }
1695
1814
 
1696
1815
  // src/index.ts
1697
- var SDK_VERSION = "0.3.132";
1816
+ var SDK_VERSION = "0.3.135";
1698
1817
  var SUPPORTED_FRAMEWORKS = [
1699
1818
  "astro",
1700
1819
  "react",
@@ -1745,6 +1864,7 @@ async function createArkySDK(config) {
1745
1864
  database: createDatabaseApi(apiConfig),
1746
1865
  featureFlags: createFeatureFlagsApi(apiConfig),
1747
1866
  location: createLocationApi(apiConfig),
1867
+ network: createNetworkApi(apiConfig),
1748
1868
  setBusinessId: (businessId) => {
1749
1869
  apiConfig.businessId = businessId;
1750
1870
  },