@webiny/sdk 6.3.0-beta.2 → 6.3.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/CmsSdk.d.ts +8 -8
  2. package/CmsSdk.js.map +1 -1
  3. package/FileManagerSdk.d.ts +12 -12
  4. package/FileManagerSdk.js.map +1 -1
  5. package/LanguagesSdk.d.ts +2 -2
  6. package/LanguagesSdk.js.map +1 -1
  7. package/TasksSdk.d.ts +6 -6
  8. package/TasksSdk.js +1 -1
  9. package/TasksSdk.js.map +1 -1
  10. package/TenantManagerSdk.d.ts +6 -6
  11. package/TenantManagerSdk.js.map +1 -1
  12. package/errors.d.ts +10 -3
  13. package/errors.js +14 -2
  14. package/errors.js.map +1 -1
  15. package/index.d.ts +1 -1
  16. package/index.js +1 -1
  17. package/index.js.map +1 -1
  18. package/methods/cms/cmsTypes.d.ts +16 -0
  19. package/methods/cms/cmsTypes.js.map +1 -1
  20. package/methods/cms/createEntry.d.ts +3 -14
  21. package/methods/cms/createEntry.js +15 -13
  22. package/methods/cms/createEntry.js.map +1 -1
  23. package/methods/cms/deleteEntryRevision.d.ts +2 -3
  24. package/methods/cms/deleteEntryRevision.js +11 -14
  25. package/methods/cms/deleteEntryRevision.js.map +1 -1
  26. package/methods/cms/getEntry.d.ts +3 -18
  27. package/methods/cms/getEntry.js +17 -19
  28. package/methods/cms/getEntry.js.map +1 -1
  29. package/methods/cms/listEntries.d.ts +3 -19
  30. package/methods/cms/listEntries.js +19 -18
  31. package/methods/cms/listEntries.js.map +1 -1
  32. package/methods/cms/publishEntryRevision.d.ts +3 -14
  33. package/methods/cms/publishEntryRevision.js +15 -14
  34. package/methods/cms/publishEntryRevision.js.map +1 -1
  35. package/methods/cms/schemas.d.ts +43 -0
  36. package/methods/cms/schemas.js +50 -0
  37. package/methods/cms/schemas.js.map +1 -0
  38. package/methods/cms/unpublishEntryRevision.d.ts +3 -14
  39. package/methods/cms/unpublishEntryRevision.js +15 -14
  40. package/methods/cms/unpublishEntryRevision.js.map +1 -1
  41. package/methods/cms/updateEntryRevision.d.ts +3 -15
  42. package/methods/cms/updateEntryRevision.js +16 -14
  43. package/methods/cms/updateEntryRevision.js.map +1 -1
  44. package/methods/executeGraphQL.d.ts +2 -2
  45. package/methods/executeGraphQL.js +2 -2
  46. package/methods/executeGraphQL.js.map +1 -1
  47. package/methods/fileManager/completeMultiPartUpload.d.ts +3 -2
  48. package/methods/fileManager/completeMultiPartUpload.js +4 -7
  49. package/methods/fileManager/completeMultiPartUpload.js.map +1 -1
  50. package/methods/fileManager/createFile.d.ts +3 -2
  51. package/methods/fileManager/createFile.js +7 -16
  52. package/methods/fileManager/createFile.js.map +1 -1
  53. package/methods/fileManager/createFiles.d.ts +2 -2
  54. package/methods/fileManager/createFiles.js +4 -4
  55. package/methods/fileManager/createFiles.js.map +1 -1
  56. package/methods/fileManager/createMultiPartUpload.d.ts +3 -2
  57. package/methods/fileManager/createMultiPartUpload.js +4 -7
  58. package/methods/fileManager/createMultiPartUpload.js.map +1 -1
  59. package/methods/fileManager/deleteFile.d.ts +3 -2
  60. package/methods/fileManager/deleteFile.js +4 -7
  61. package/methods/fileManager/deleteFile.js.map +1 -1
  62. package/methods/fileManager/getFile.d.ts +3 -3
  63. package/methods/fileManager/getFile.js +13 -10
  64. package/methods/fileManager/getFile.js.map +1 -1
  65. package/methods/fileManager/getPresignedPostPayload.d.ts +3 -2
  66. package/methods/fileManager/getPresignedPostPayload.js +4 -7
  67. package/methods/fileManager/getPresignedPostPayload.js.map +1 -1
  68. package/methods/fileManager/getPresignedPostPayloads.d.ts +3 -2
  69. package/methods/fileManager/getPresignedPostPayloads.js +4 -7
  70. package/methods/fileManager/getPresignedPostPayloads.js.map +1 -1
  71. package/methods/fileManager/listFiles.d.ts +3 -3
  72. package/methods/fileManager/listFiles.js +13 -10
  73. package/methods/fileManager/listFiles.js.map +1 -1
  74. package/methods/fileManager/listTags.d.ts +3 -2
  75. package/methods/fileManager/listTags.js +3 -7
  76. package/methods/fileManager/listTags.js.map +1 -1
  77. package/methods/fileManager/schemas.d.ts +18 -0
  78. package/methods/fileManager/schemas.js +22 -0
  79. package/methods/fileManager/schemas.js.map +1 -0
  80. package/methods/fileManager/updateFile.d.ts +2 -3
  81. package/methods/fileManager/updateFile.js +11 -14
  82. package/methods/fileManager/updateFile.js.map +1 -1
  83. package/methods/fileManager/utils/uploadLargeFile.js +4 -8
  84. package/methods/fileManager/utils/uploadLargeFile.js.map +1 -1
  85. package/methods/languages/listLanguages.d.ts +3 -2
  86. package/methods/languages/listLanguages.js +3 -7
  87. package/methods/languages/listLanguages.js.map +1 -1
  88. package/methods/tasks/abortTask.d.ts +2 -3
  89. package/methods/tasks/abortTask.js +10 -13
  90. package/methods/tasks/abortTask.js.map +1 -1
  91. package/methods/tasks/listDefinitions.d.ts +3 -2
  92. package/methods/tasks/listDefinitions.js +3 -7
  93. package/methods/tasks/listDefinitions.js.map +1 -1
  94. package/methods/tasks/listLogs.d.ts +2 -3
  95. package/methods/tasks/listLogs.js +10 -10
  96. package/methods/tasks/listLogs.js.map +1 -1
  97. package/methods/tasks/listTasks.d.ts +3 -2
  98. package/methods/tasks/listTasks.js +3 -7
  99. package/methods/tasks/listTasks.js.map +1 -1
  100. package/methods/tasks/schemas.d.ts +14 -0
  101. package/methods/tasks/schemas.js +16 -0
  102. package/methods/tasks/schemas.js.map +1 -0
  103. package/methods/tasks/triggerTask.d.ts +2 -3
  104. package/methods/tasks/triggerTask.js +10 -13
  105. package/methods/tasks/triggerTask.js.map +1 -1
  106. package/methods/tenantManager/createTenant.d.ts +2 -3
  107. package/methods/tenantManager/createTenant.js +9 -12
  108. package/methods/tenantManager/createTenant.js.map +1 -1
  109. package/methods/tenantManager/disableTenant.d.ts +2 -3
  110. package/methods/tenantManager/disableTenant.js +9 -12
  111. package/methods/tenantManager/disableTenant.js.map +1 -1
  112. package/methods/tenantManager/enableTenant.d.ts +2 -3
  113. package/methods/tenantManager/enableTenant.js +9 -12
  114. package/methods/tenantManager/enableTenant.js.map +1 -1
  115. package/methods/tenantManager/getCurrentTenant.d.ts +3 -2
  116. package/methods/tenantManager/getCurrentTenant.js +3 -7
  117. package/methods/tenantManager/getCurrentTenant.js.map +1 -1
  118. package/methods/tenantManager/installTenant.d.ts +2 -3
  119. package/methods/tenantManager/installTenant.js +9 -12
  120. package/methods/tenantManager/installTenant.js.map +1 -1
  121. package/methods/tenantManager/schemas.d.ts +17 -0
  122. package/methods/tenantManager/schemas.js +20 -0
  123. package/methods/tenantManager/schemas.js.map +1 -0
  124. package/package.json +5 -13
  125. package/utils/createMethod.d.ts +19 -0
  126. package/utils/createMethod.js +27 -0
  127. package/utils/createMethod.js.map +1 -0
  128. package/utils/transformFieldErrors.d.ts +15 -0
  129. package/utils/transformFieldErrors.js +36 -0
  130. package/utils/transformFieldErrors.js.map +1 -0
  131. package/utils/validateParams.d.ts +10 -0
  132. package/utils/validateParams.js +23 -0
  133. package/utils/validateParams.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["Result","createTenant","config","fetchFn","params","data","executeGraphQL","query","result","input","isFail","fail","error","responseData","value","tenantManager","GraphQLError","message","code","ok"],"sources":["createTenant.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, GraphQLError, NetworkError } from \"../../errors.js\";\nimport type { CreateTenantInput } from \"./tenantManagerTypes.js\";\n\nexport interface CreateTenantParams {\n data: CreateTenantInput;\n}\n\n/**\n * Creates a new tenant in the system.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for creating the tenant\n * @param params.data - The tenant data to create\n * @returns Result containing true on success or an error\n */\nexport async function createTenant(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: CreateTenantParams\n): Promise<Result<boolean, HttpError | GraphQLError | NetworkError>> {\n const { data } = params;\n\n const { executeGraphQL } = await import(\"../executeGraphQL.js\");\n\n const query = `\n mutation CreateTenant($input: CreateTenantInput!) {\n tenantManager {\n createTenant(input: $input) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { input: data });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.tenantManager.createTenant.error) {\n const { GraphQLError } = await import(\"../../errors.js\");\n return Result.fail(\n new GraphQLError(\n responseData.tenantManager.createTenant.error.message,\n responseData.tenantManager.createTenant.error.code\n )\n );\n }\n\n return Result.ok(responseData.tenantManager.createTenant.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAQf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,YAAYA,CAC9BC,MAAoB,EACpBC,OAAqB,EACrBC,MAA0B,EACuC;EACjE,MAAM;IAAEC;EAAK,CAAC,GAAGD,MAAM;EAEvB,MAAM;IAAEE;EAAe,CAAC,GAAG,MAAM,MAAM,uBAAuB,CAAC;EAE/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMF,cAAc,CAACJ,MAAM,EAAEC,OAAO,EAAEI,KAAK,EAAE;IAAEE,KAAK,EAAEJ;EAAK,CAAC,CAAC;EAE5E,IAAIG,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOV,MAAM,CAACW,IAAI,CAACH,MAAM,CAACI,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGL,MAAM,CAACM,KAAK;EAEjC,IAAID,YAAY,CAACE,aAAa,CAACd,YAAY,CAACW,KAAK,EAAE;IAC/C,MAAM;MAAEI;IAAa,CAAC,GAAG,MAAM,MAAM,kBAAkB,CAAC;IACxD,OAAOhB,MAAM,CAACW,IAAI,CACd,IAAIK,YAAY,CACZH,YAAY,CAACE,aAAa,CAACd,YAAY,CAACW,KAAK,CAACK,OAAO,EACrDJ,YAAY,CAACE,aAAa,CAACd,YAAY,CAACW,KAAK,CAACM,IAClD,CACJ,CAAC;EACL;EAEA,OAAOlB,MAAM,CAACmB,EAAE,CAACN,YAAY,CAACE,aAAa,CAACd,YAAY,CAACI,IAAI,CAAC;AAClE","ignoreList":[]}
1
+ {"version":3,"names":["Result","createMethod","createTenantSchema","executeGraphQL","ApiError","createTenant","config","fetchFn","data","query","result","input","isFail","fail","error","responseData","value","tenantManager","message","code","ok"],"sources":["createTenant.ts"],"sourcesContent":["import { Result } from \"../../Result.js\";\nimport type { CreateTenantInput } from \"./tenantManagerTypes.js\";\nimport { createMethod } from \"../../utils/createMethod.js\";\nimport { createTenantSchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface CreateTenantParams {\n data: CreateTenantInput;\n}\n\n/**\n * Creates a new tenant in the system.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for creating the tenant\n * @param params.data - The tenant data to create\n * @returns Result containing true on success or an error\n */\nexport const createTenant = createMethod(createTenantSchema, async (config, fetchFn, { data }) => {\n const query = `\n mutation CreateTenant($input: CreateTenantInput!) {\n tenantManager {\n createTenant(input: $input) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { input: data });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.tenantManager.createTenant.error) {\n return Result.fail(\n new ApiError(\n responseData.tenantManager.createTenant.error.message,\n responseData.tenantManager.createTenant.error.code\n )\n );\n }\n\n return Result.ok(responseData.tenantManager.createTenant.data as boolean);\n});\n"],"mappings":"AAAA,SAASA,MAAM;AAEf,SAASC,YAAY;AACrB,SAASC,kBAAkB;AAC3B,SAASC,cAAc;AACvB,SAASC,QAAQ;AAMjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGJ,YAAY,CAACC,kBAAkB,EAAE,OAAOI,MAAM,EAAEC,OAAO,EAAE;EAAEC;AAAK,CAAC,KAAK;EAC9F,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMP,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAEE,KAAK,EAAE;IAAEE,KAAK,EAAEH;EAAK,CAAC,CAAC;EAE5E,IAAIE,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOZ,MAAM,CAACa,IAAI,CAACH,MAAM,CAACI,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGL,MAAM,CAACM,KAAK;EAEjC,IAAID,YAAY,CAACE,aAAa,CAACZ,YAAY,CAACS,KAAK,EAAE;IAC/C,OAAOd,MAAM,CAACa,IAAI,CACd,IAAIT,QAAQ,CACRW,YAAY,CAACE,aAAa,CAACZ,YAAY,CAACS,KAAK,CAACI,OAAO,EACrDH,YAAY,CAACE,aAAa,CAACZ,YAAY,CAACS,KAAK,CAACK,IAClD,CACJ,CAAC;EACL;EAEA,OAAOnB,MAAM,CAACoB,EAAE,CAACL,YAAY,CAACE,aAAa,CAACZ,YAAY,CAACG,IAAe,CAAC;AAC7E,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,5 @@
1
- import type { WebinyConfig } from "../../types.js";
2
1
  import { Result } from "../../Result.js";
3
- import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
2
+ import { ApiError } from "../../errors.js";
4
3
  export interface DisableTenantParams {
5
4
  tenantId: string;
6
5
  }
@@ -13,4 +12,4 @@ export interface DisableTenantParams {
13
12
  * @param params.tenantId - ID of the tenant to disable
14
13
  * @returns Result containing true on success or an error
15
14
  */
16
- export declare function disableTenant(config: WebinyConfig, fetchFn: typeof fetch, params: DisableTenantParams): Promise<Result<boolean, HttpError | GraphQLError | NetworkError>>;
15
+ export declare const disableTenant: (config: import("../../types.js").WebinyConfig, fetchFn: typeof fetch, params: unknown) => Promise<Result<boolean, import("../../errors.js").HttpError | ApiError | import("../../errors.js").NetworkError | import("../../errors.js").ValidationError>>;
@@ -1,4 +1,8 @@
1
1
  import { Result } from "../../Result.js";
2
+ import { createMethod } from "../../utils/createMethod.js";
3
+ import { disableTenantSchema } from "./schemas.js";
4
+ import { executeGraphQL } from "../executeGraphQL.js";
5
+ import { ApiError } from "../../errors.js";
2
6
  /**
3
7
  * Disables a tenant, preventing access to its resources.
4
8
  *
@@ -8,13 +12,9 @@ import { Result } from "../../Result.js";
8
12
  * @param params.tenantId - ID of the tenant to disable
9
13
  * @returns Result containing true on success or an error
10
14
  */
11
- export async function disableTenant(config, fetchFn, params) {
12
- const {
13
- tenantId
14
- } = params;
15
- const {
16
- executeGraphQL
17
- } = await import("../executeGraphQL.js");
15
+ export const disableTenant = createMethod(disableTenantSchema, async (config, fetchFn, {
16
+ tenantId
17
+ }) => {
18
18
  const query = `
19
19
  mutation DisableTenant($tenantId: ID!) {
20
20
  tenantManager {
@@ -36,12 +36,9 @@ export async function disableTenant(config, fetchFn, params) {
36
36
  }
37
37
  const responseData = result.value;
38
38
  if (responseData.tenantManager.disableTenant.error) {
39
- const {
40
- GraphQLError
41
- } = await import("../../errors.js");
42
- return Result.fail(new GraphQLError(responseData.tenantManager.disableTenant.error.message, responseData.tenantManager.disableTenant.error.code));
39
+ return Result.fail(new ApiError(responseData.tenantManager.disableTenant.error.message, responseData.tenantManager.disableTenant.error.code));
43
40
  }
44
41
  return Result.ok(responseData.tenantManager.disableTenant.data);
45
- }
42
+ });
46
43
 
47
44
  //# sourceMappingURL=disableTenant.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","disableTenant","config","fetchFn","params","tenantId","executeGraphQL","query","result","isFail","fail","error","responseData","value","tenantManager","GraphQLError","message","code","ok","data"],"sources":["disableTenant.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, GraphQLError, NetworkError } from \"../../errors.js\";\n\nexport interface DisableTenantParams {\n tenantId: string;\n}\n\n/**\n * Disables a tenant, preventing access to its resources.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for disabling the tenant\n * @param params.tenantId - ID of the tenant to disable\n * @returns Result containing true on success or an error\n */\nexport async function disableTenant(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: DisableTenantParams\n): Promise<Result<boolean, HttpError | GraphQLError | NetworkError>> {\n const { tenantId } = params;\n\n const { executeGraphQL } = await import(\"../executeGraphQL.js\");\n\n const query = `\n mutation DisableTenant($tenantId: ID!) {\n tenantManager {\n disableTenant(tenantId: $tenantId) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { tenantId });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.tenantManager.disableTenant.error) {\n const { GraphQLError } = await import(\"../../errors.js\");\n return Result.fail(\n new GraphQLError(\n responseData.tenantManager.disableTenant.error.message,\n responseData.tenantManager.disableTenant.error.code\n )\n );\n }\n\n return Result.ok(responseData.tenantManager.disableTenant.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAOf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,aAAaA,CAC/BC,MAAoB,EACpBC,OAAqB,EACrBC,MAA2B,EACsC;EACjE,MAAM;IAAEC;EAAS,CAAC,GAAGD,MAAM;EAE3B,MAAM;IAAEE;EAAe,CAAC,GAAG,MAAM,MAAM,uBAAuB,CAAC;EAE/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMF,cAAc,CAACJ,MAAM,EAAEC,OAAO,EAAEI,KAAK,EAAE;IAAEF;EAAS,CAAC,CAAC;EAEzE,IAAIG,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOT,MAAM,CAACU,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,aAAa,CAACb,aAAa,CAACU,KAAK,EAAE;IAChD,MAAM;MAAEI;IAAa,CAAC,GAAG,MAAM,MAAM,kBAAkB,CAAC;IACxD,OAAOf,MAAM,CAACU,IAAI,CACd,IAAIK,YAAY,CACZH,YAAY,CAACE,aAAa,CAACb,aAAa,CAACU,KAAK,CAACK,OAAO,EACtDJ,YAAY,CAACE,aAAa,CAACb,aAAa,CAACU,KAAK,CAACM,IACnD,CACJ,CAAC;EACL;EAEA,OAAOjB,MAAM,CAACkB,EAAE,CAACN,YAAY,CAACE,aAAa,CAACb,aAAa,CAACkB,IAAI,CAAC;AACnE","ignoreList":[]}
1
+ {"version":3,"names":["Result","createMethod","disableTenantSchema","executeGraphQL","ApiError","disableTenant","config","fetchFn","tenantId","query","result","isFail","fail","error","responseData","value","tenantManager","message","code","ok","data"],"sources":["disableTenant.ts"],"sourcesContent":["import { Result } from \"../../Result.js\";\nimport { createMethod } from \"../../utils/createMethod.js\";\nimport { disableTenantSchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface DisableTenantParams {\n tenantId: string;\n}\n\n/**\n * Disables a tenant, preventing access to its resources.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for disabling the tenant\n * @param params.tenantId - ID of the tenant to disable\n * @returns Result containing true on success or an error\n */\nexport const disableTenant = createMethod(\n disableTenantSchema,\n async (config, fetchFn, { tenantId }) => {\n const query = `\n mutation DisableTenant($tenantId: ID!) {\n tenantManager {\n disableTenant(tenantId: $tenantId) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { tenantId });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.tenantManager.disableTenant.error) {\n return Result.fail(\n new ApiError(\n responseData.tenantManager.disableTenant.error.message,\n responseData.tenantManager.disableTenant.error.code\n )\n );\n }\n\n return Result.ok(responseData.tenantManager.disableTenant.data as boolean);\n }\n);\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,YAAY;AACrB,SAASC,mBAAmB;AAC5B,SAASC,cAAc;AACvB,SAASC,QAAQ;AAMjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAGJ,YAAY,CACrCC,mBAAmB,EACnB,OAAOI,MAAM,EAAEC,OAAO,EAAE;EAAEC;AAAS,CAAC,KAAK;EACrC,MAAMC,KAAK,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAEG,MAAMC,MAAM,GAAG,MAAMP,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAEE,KAAK,EAAE;IAAED;EAAS,CAAC,CAAC;EAEzE,IAAIE,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOX,MAAM,CAACY,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,aAAa,CAACX,aAAa,CAACQ,KAAK,EAAE;IAChD,OAAOb,MAAM,CAACY,IAAI,CACd,IAAIR,QAAQ,CACRU,YAAY,CAACE,aAAa,CAACX,aAAa,CAACQ,KAAK,CAACI,OAAO,EACtDH,YAAY,CAACE,aAAa,CAACX,aAAa,CAACQ,KAAK,CAACK,IACnD,CACJ,CAAC;EACL;EAEA,OAAOlB,MAAM,CAACmB,EAAE,CAACL,YAAY,CAACE,aAAa,CAACX,aAAa,CAACe,IAAe,CAAC;AAC9E,CACJ,CAAC","ignoreList":[]}
@@ -1,6 +1,5 @@
1
- import type { WebinyConfig } from "../../types.js";
2
1
  import { Result } from "../../Result.js";
3
- import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
2
+ import { ApiError } from "../../errors.js";
4
3
  export interface EnableTenantParams {
5
4
  tenantId: string;
6
5
  }
@@ -13,4 +12,4 @@ export interface EnableTenantParams {
13
12
  * @param params.tenantId - ID of the tenant to enable
14
13
  * @returns Result containing true on success or an error
15
14
  */
16
- export declare function enableTenant(config: WebinyConfig, fetchFn: typeof fetch, params: EnableTenantParams): Promise<Result<boolean, HttpError | GraphQLError | NetworkError>>;
15
+ export declare const enableTenant: (config: import("../../types.js").WebinyConfig, fetchFn: typeof fetch, params: unknown) => Promise<Result<boolean, import("../../errors.js").HttpError | ApiError | import("../../errors.js").NetworkError | import("../../errors.js").ValidationError>>;
@@ -1,4 +1,8 @@
1
1
  import { Result } from "../../Result.js";
2
+ import { createMethod } from "../../utils/createMethod.js";
3
+ import { enableTenantSchema } from "./schemas.js";
4
+ import { executeGraphQL } from "../executeGraphQL.js";
5
+ import { ApiError } from "../../errors.js";
2
6
  /**
3
7
  * Re-enables a previously disabled tenant.
4
8
  *
@@ -8,13 +12,9 @@ import { Result } from "../../Result.js";
8
12
  * @param params.tenantId - ID of the tenant to enable
9
13
  * @returns Result containing true on success or an error
10
14
  */
11
- export async function enableTenant(config, fetchFn, params) {
12
- const {
13
- tenantId
14
- } = params;
15
- const {
16
- executeGraphQL
17
- } = await import("../executeGraphQL.js");
15
+ export const enableTenant = createMethod(enableTenantSchema, async (config, fetchFn, {
16
+ tenantId
17
+ }) => {
18
18
  const query = `
19
19
  mutation EnableTenant($tenantId: ID!) {
20
20
  tenantManager {
@@ -36,12 +36,9 @@ export async function enableTenant(config, fetchFn, params) {
36
36
  }
37
37
  const responseData = result.value;
38
38
  if (responseData.tenantManager.enableTenant.error) {
39
- const {
40
- GraphQLError
41
- } = await import("../../errors.js");
42
- return Result.fail(new GraphQLError(responseData.tenantManager.enableTenant.error.message, responseData.tenantManager.enableTenant.error.code));
39
+ return Result.fail(new ApiError(responseData.tenantManager.enableTenant.error.message, responseData.tenantManager.enableTenant.error.code));
43
40
  }
44
41
  return Result.ok(responseData.tenantManager.enableTenant.data);
45
- }
42
+ });
46
43
 
47
44
  //# sourceMappingURL=enableTenant.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","enableTenant","config","fetchFn","params","tenantId","executeGraphQL","query","result","isFail","fail","error","responseData","value","tenantManager","GraphQLError","message","code","ok","data"],"sources":["enableTenant.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, GraphQLError, NetworkError } from \"../../errors.js\";\n\nexport interface EnableTenantParams {\n tenantId: string;\n}\n\n/**\n * Re-enables a previously disabled tenant.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for enabling the tenant\n * @param params.tenantId - ID of the tenant to enable\n * @returns Result containing true on success or an error\n */\nexport async function enableTenant(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: EnableTenantParams\n): Promise<Result<boolean, HttpError | GraphQLError | NetworkError>> {\n const { tenantId } = params;\n\n const { executeGraphQL } = await import(\"../executeGraphQL.js\");\n\n const query = `\n mutation EnableTenant($tenantId: ID!) {\n tenantManager {\n enableTenant(tenantId: $tenantId) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { tenantId });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.tenantManager.enableTenant.error) {\n const { GraphQLError } = await import(\"../../errors.js\");\n return Result.fail(\n new GraphQLError(\n responseData.tenantManager.enableTenant.error.message,\n responseData.tenantManager.enableTenant.error.code\n )\n );\n }\n\n return Result.ok(responseData.tenantManager.enableTenant.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAOf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,YAAYA,CAC9BC,MAAoB,EACpBC,OAAqB,EACrBC,MAA0B,EACuC;EACjE,MAAM;IAAEC;EAAS,CAAC,GAAGD,MAAM;EAE3B,MAAM;IAAEE;EAAe,CAAC,GAAG,MAAM,MAAM,uBAAuB,CAAC;EAE/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMF,cAAc,CAACJ,MAAM,EAAEC,OAAO,EAAEI,KAAK,EAAE;IAAEF;EAAS,CAAC,CAAC;EAEzE,IAAIG,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOT,MAAM,CAACU,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,aAAa,CAACb,YAAY,CAACU,KAAK,EAAE;IAC/C,MAAM;MAAEI;IAAa,CAAC,GAAG,MAAM,MAAM,kBAAkB,CAAC;IACxD,OAAOf,MAAM,CAACU,IAAI,CACd,IAAIK,YAAY,CACZH,YAAY,CAACE,aAAa,CAACb,YAAY,CAACU,KAAK,CAACK,OAAO,EACrDJ,YAAY,CAACE,aAAa,CAACb,YAAY,CAACU,KAAK,CAACM,IAClD,CACJ,CAAC;EACL;EAEA,OAAOjB,MAAM,CAACkB,EAAE,CAACN,YAAY,CAACE,aAAa,CAACb,YAAY,CAACkB,IAAI,CAAC;AAClE","ignoreList":[]}
1
+ {"version":3,"names":["Result","createMethod","enableTenantSchema","executeGraphQL","ApiError","enableTenant","config","fetchFn","tenantId","query","result","isFail","fail","error","responseData","value","tenantManager","message","code","ok","data"],"sources":["enableTenant.ts"],"sourcesContent":["import { Result } from \"../../Result.js\";\nimport { createMethod } from \"../../utils/createMethod.js\";\nimport { enableTenantSchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface EnableTenantParams {\n tenantId: string;\n}\n\n/**\n * Re-enables a previously disabled tenant.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for enabling the tenant\n * @param params.tenantId - ID of the tenant to enable\n * @returns Result containing true on success or an error\n */\nexport const enableTenant = createMethod(\n enableTenantSchema,\n async (config, fetchFn, { tenantId }) => {\n const query = `\n mutation EnableTenant($tenantId: ID!) {\n tenantManager {\n enableTenant(tenantId: $tenantId) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { tenantId });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.tenantManager.enableTenant.error) {\n return Result.fail(\n new ApiError(\n responseData.tenantManager.enableTenant.error.message,\n responseData.tenantManager.enableTenant.error.code\n )\n );\n }\n\n return Result.ok(responseData.tenantManager.enableTenant.data as boolean);\n }\n);\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,YAAY;AACrB,SAASC,kBAAkB;AAC3B,SAASC,cAAc;AACvB,SAASC,QAAQ;AAMjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGJ,YAAY,CACpCC,kBAAkB,EAClB,OAAOI,MAAM,EAAEC,OAAO,EAAE;EAAEC;AAAS,CAAC,KAAK;EACrC,MAAMC,KAAK,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAEG,MAAMC,MAAM,GAAG,MAAMP,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAEE,KAAK,EAAE;IAAED;EAAS,CAAC,CAAC;EAEzE,IAAIE,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOX,MAAM,CAACY,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,aAAa,CAACX,YAAY,CAACQ,KAAK,EAAE;IAC/C,OAAOb,MAAM,CAACY,IAAI,CACd,IAAIR,QAAQ,CACRU,YAAY,CAACE,aAAa,CAACX,YAAY,CAACQ,KAAK,CAACI,OAAO,EACrDH,YAAY,CAACE,aAAa,CAACX,YAAY,CAACQ,KAAK,CAACK,IAClD,CACJ,CAAC;EACL;EAEA,OAAOlB,MAAM,CAACmB,EAAE,CAACL,YAAY,CAACE,aAAa,CAACX,YAAY,CAACe,IAAe,CAAC;AAC7E,CACJ,CAAC","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { WebinyConfig } from "../../types.js";
2
2
  import { Result } from "../../Result.js";
3
- import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
3
+ import type { HttpError, NetworkError } from "../../errors.js";
4
+ import { ApiError } from "../../errors.js";
4
5
  export interface Tenant {
5
6
  id: string;
6
7
  values: Record<string, unknown>;
@@ -12,4 +13,4 @@ export interface Tenant {
12
13
  * @param fetchFn - Fetch function to use for HTTP requests
13
14
  * @returns Result containing the current tenant or an error
14
15
  */
15
- export declare function getCurrentTenant(config: WebinyConfig, fetchFn: typeof fetch): Promise<Result<Tenant, HttpError | GraphQLError | NetworkError>>;
16
+ export declare function getCurrentTenant(config: WebinyConfig, fetchFn: typeof fetch): Promise<Result<Tenant, HttpError | ApiError | NetworkError>>;
@@ -1,4 +1,6 @@
1
1
  import { Result } from "../../Result.js";
2
+ import { executeGraphQL } from "../executeGraphQL.js";
3
+ import { ApiError } from "../../errors.js";
2
4
  /**
3
5
  * Returns the current tenant for the authenticated context.
4
6
  *
@@ -7,9 +9,6 @@ import { Result } from "../../Result.js";
7
9
  * @returns Result containing the current tenant or an error
8
10
  */
9
11
  export async function getCurrentTenant(config, fetchFn) {
10
- const {
11
- executeGraphQL
12
- } = await import("../executeGraphQL.js");
13
12
  const query = `
14
13
  query GetCurrentTenant {
15
14
  tenantManager {
@@ -32,10 +31,7 @@ export async function getCurrentTenant(config, fetchFn) {
32
31
  }
33
32
  const responseData = result.value;
34
33
  if (responseData.tenantManager.getCurrentTenant.error) {
35
- const {
36
- GraphQLError
37
- } = await import("../../errors.js");
38
- return Result.fail(new GraphQLError(responseData.tenantManager.getCurrentTenant.error.message, responseData.tenantManager.getCurrentTenant.error.code));
34
+ return Result.fail(new ApiError(responseData.tenantManager.getCurrentTenant.error.message, responseData.tenantManager.getCurrentTenant.error.code));
39
35
  }
40
36
  return Result.ok(responseData.tenantManager.getCurrentTenant.data);
41
37
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Result","getCurrentTenant","config","fetchFn","executeGraphQL","query","result","isFail","fail","error","responseData","value","tenantManager","GraphQLError","message","code","ok","data"],"sources":["getCurrentTenant.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, GraphQLError, NetworkError } from \"../../errors.js\";\n\nexport interface Tenant {\n id: string;\n values: Record<string, unknown>;\n}\n\n/**\n * Returns the current tenant for the authenticated context.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @returns Result containing the current tenant or an error\n */\nexport async function getCurrentTenant(\n config: WebinyConfig,\n fetchFn: typeof fetch\n): Promise<Result<Tenant, HttpError | GraphQLError | NetworkError>> {\n const { executeGraphQL } = await import(\"../executeGraphQL.js\");\n\n const query = `\n query GetCurrentTenant {\n tenantManager {\n getCurrentTenant {\n data {\n id\n values\n }\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, {});\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.tenantManager.getCurrentTenant.error) {\n const { GraphQLError } = await import(\"../../errors.js\");\n return Result.fail(\n new GraphQLError(\n responseData.tenantManager.getCurrentTenant.error.message,\n responseData.tenantManager.getCurrentTenant.error.code\n )\n );\n }\n\n return Result.ok(responseData.tenantManager.getCurrentTenant.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAQf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,gBAAgBA,CAClCC,MAAoB,EACpBC,OAAqB,EAC2C;EAChE,MAAM;IAAEC;EAAe,CAAC,GAAG,MAAM,MAAM,uBAAuB,CAAC;EAE/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMF,cAAc,CAACF,MAAM,EAAEC,OAAO,EAAEE,KAAK,EAAE,CAAC,CAAC,CAAC;EAE/D,IAAIC,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOP,MAAM,CAACQ,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,aAAa,CAACX,gBAAgB,CAACQ,KAAK,EAAE;IACnD,MAAM;MAAEI;IAAa,CAAC,GAAG,MAAM,MAAM,kBAAkB,CAAC;IACxD,OAAOb,MAAM,CAACQ,IAAI,CACd,IAAIK,YAAY,CACZH,YAAY,CAACE,aAAa,CAACX,gBAAgB,CAACQ,KAAK,CAACK,OAAO,EACzDJ,YAAY,CAACE,aAAa,CAACX,gBAAgB,CAACQ,KAAK,CAACM,IACtD,CACJ,CAAC;EACL;EAEA,OAAOf,MAAM,CAACgB,EAAE,CAACN,YAAY,CAACE,aAAa,CAACX,gBAAgB,CAACgB,IAAI,CAAC;AACtE","ignoreList":[]}
1
+ {"version":3,"names":["Result","executeGraphQL","ApiError","getCurrentTenant","config","fetchFn","query","result","isFail","fail","error","responseData","value","tenantManager","message","code","ok","data"],"sources":["getCurrentTenant.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, NetworkError } from \"../../errors.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface Tenant {\n id: string;\n values: Record<string, unknown>;\n}\n\n/**\n * Returns the current tenant for the authenticated context.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @returns Result containing the current tenant or an error\n */\nexport async function getCurrentTenant(\n config: WebinyConfig,\n fetchFn: typeof fetch\n): Promise<Result<Tenant, HttpError | ApiError | NetworkError>> {\n const query = `\n query GetCurrentTenant {\n tenantManager {\n getCurrentTenant {\n data {\n id\n values\n }\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, {});\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.tenantManager.getCurrentTenant.error) {\n return Result.fail(\n new ApiError(\n responseData.tenantManager.getCurrentTenant.error.message,\n responseData.tenantManager.getCurrentTenant.error.code\n )\n );\n }\n\n return Result.ok(responseData.tenantManager.getCurrentTenant.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAEf,SAASC,cAAc;AACvB,SAASC,QAAQ;AAOjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,gBAAgBA,CAClCC,MAAoB,EACpBC,OAAqB,EACuC;EAC5D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMN,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAEC,KAAK,EAAE,CAAC,CAAC,CAAC;EAE/D,IAAIC,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOR,MAAM,CAACS,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,aAAa,CAACV,gBAAgB,CAACO,KAAK,EAAE;IACnD,OAAOV,MAAM,CAACS,IAAI,CACd,IAAIP,QAAQ,CACRS,YAAY,CAACE,aAAa,CAACV,gBAAgB,CAACO,KAAK,CAACI,OAAO,EACzDH,YAAY,CAACE,aAAa,CAACV,gBAAgB,CAACO,KAAK,CAACK,IACtD,CACJ,CAAC;EACL;EAEA,OAAOf,MAAM,CAACgB,EAAE,CAACL,YAAY,CAACE,aAAa,CAACV,gBAAgB,CAACc,IAAI,CAAC;AACtE","ignoreList":[]}
@@ -1,6 +1,5 @@
1
- import type { WebinyConfig } from "../../types.js";
2
1
  import { Result } from "../../Result.js";
3
- import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
2
+ import { ApiError } from "../../errors.js";
4
3
  export interface InstallTenantParams {
5
4
  tenantId: string;
6
5
  }
@@ -13,4 +12,4 @@ export interface InstallTenantParams {
13
12
  * @param params.tenantId - ID of the tenant to install
14
13
  * @returns Result containing true on success or an error
15
14
  */
16
- export declare function installTenant(config: WebinyConfig, fetchFn: typeof fetch, params: InstallTenantParams): Promise<Result<boolean, HttpError | GraphQLError | NetworkError>>;
15
+ export declare const installTenant: (config: import("../../types.js").WebinyConfig, fetchFn: typeof fetch, params: unknown) => Promise<Result<boolean, import("../../errors.js").HttpError | ApiError | import("../../errors.js").NetworkError | import("../../errors.js").ValidationError>>;
@@ -1,4 +1,8 @@
1
1
  import { Result } from "../../Result.js";
2
+ import { createMethod } from "../../utils/createMethod.js";
3
+ import { installTenantSchema } from "./schemas.js";
4
+ import { executeGraphQL } from "../executeGraphQL.js";
5
+ import { ApiError } from "../../errors.js";
2
6
  /**
3
7
  * Installs and provisions a tenant with default settings and configurations.
4
8
  *
@@ -8,13 +12,9 @@ import { Result } from "../../Result.js";
8
12
  * @param params.tenantId - ID of the tenant to install
9
13
  * @returns Result containing true on success or an error
10
14
  */
11
- export async function installTenant(config, fetchFn, params) {
12
- const {
13
- tenantId
14
- } = params;
15
- const {
16
- executeGraphQL
17
- } = await import("../executeGraphQL.js");
15
+ export const installTenant = createMethod(installTenantSchema, async (config, fetchFn, {
16
+ tenantId
17
+ }) => {
18
18
  const query = `
19
19
  mutation InstallTenant($tenantId: ID!) {
20
20
  tenantManager {
@@ -36,12 +36,9 @@ export async function installTenant(config, fetchFn, params) {
36
36
  }
37
37
  const responseData = result.value;
38
38
  if (responseData.tenantManager.installTenant.error) {
39
- const {
40
- GraphQLError
41
- } = await import("../../errors.js");
42
- return Result.fail(new GraphQLError(responseData.tenantManager.installTenant.error.message, responseData.tenantManager.installTenant.error.code));
39
+ return Result.fail(new ApiError(responseData.tenantManager.installTenant.error.message, responseData.tenantManager.installTenant.error.code));
43
40
  }
44
41
  return Result.ok(responseData.tenantManager.installTenant.data);
45
- }
42
+ });
46
43
 
47
44
  //# sourceMappingURL=installTenant.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","installTenant","config","fetchFn","params","tenantId","executeGraphQL","query","result","isFail","fail","error","responseData","value","tenantManager","GraphQLError","message","code","ok","data"],"sources":["installTenant.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, GraphQLError, NetworkError } from \"../../errors.js\";\n\nexport interface InstallTenantParams {\n tenantId: string;\n}\n\n/**\n * Installs and provisions a tenant with default settings and configurations.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for installing the tenant\n * @param params.tenantId - ID of the tenant to install\n * @returns Result containing true on success or an error\n */\nexport async function installTenant(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: InstallTenantParams\n): Promise<Result<boolean, HttpError | GraphQLError | NetworkError>> {\n const { tenantId } = params;\n\n const { executeGraphQL } = await import(\"../executeGraphQL.js\");\n\n const query = `\n mutation InstallTenant($tenantId: ID!) {\n tenantManager {\n installTenant(tenantId: $tenantId) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { tenantId });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.tenantManager.installTenant.error) {\n const { GraphQLError } = await import(\"../../errors.js\");\n return Result.fail(\n new GraphQLError(\n responseData.tenantManager.installTenant.error.message,\n responseData.tenantManager.installTenant.error.code\n )\n );\n }\n\n return Result.ok(responseData.tenantManager.installTenant.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAOf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,aAAaA,CAC/BC,MAAoB,EACpBC,OAAqB,EACrBC,MAA2B,EACsC;EACjE,MAAM;IAAEC;EAAS,CAAC,GAAGD,MAAM;EAE3B,MAAM;IAAEE;EAAe,CAAC,GAAG,MAAM,MAAM,uBAAuB,CAAC;EAE/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMF,cAAc,CAACJ,MAAM,EAAEC,OAAO,EAAEI,KAAK,EAAE;IAAEF;EAAS,CAAC,CAAC;EAEzE,IAAIG,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOT,MAAM,CAACU,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,aAAa,CAACb,aAAa,CAACU,KAAK,EAAE;IAChD,MAAM;MAAEI;IAAa,CAAC,GAAG,MAAM,MAAM,kBAAkB,CAAC;IACxD,OAAOf,MAAM,CAACU,IAAI,CACd,IAAIK,YAAY,CACZH,YAAY,CAACE,aAAa,CAACb,aAAa,CAACU,KAAK,CAACK,OAAO,EACtDJ,YAAY,CAACE,aAAa,CAACb,aAAa,CAACU,KAAK,CAACM,IACnD,CACJ,CAAC;EACL;EAEA,OAAOjB,MAAM,CAACkB,EAAE,CAACN,YAAY,CAACE,aAAa,CAACb,aAAa,CAACkB,IAAI,CAAC;AACnE","ignoreList":[]}
1
+ {"version":3,"names":["Result","createMethod","installTenantSchema","executeGraphQL","ApiError","installTenant","config","fetchFn","tenantId","query","result","isFail","fail","error","responseData","value","tenantManager","message","code","ok","data"],"sources":["installTenant.ts"],"sourcesContent":["import { Result } from \"../../Result.js\";\nimport { createMethod } from \"../../utils/createMethod.js\";\nimport { installTenantSchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface InstallTenantParams {\n tenantId: string;\n}\n\n/**\n * Installs and provisions a tenant with default settings and configurations.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for installing the tenant\n * @param params.tenantId - ID of the tenant to install\n * @returns Result containing true on success or an error\n */\nexport const installTenant = createMethod(\n installTenantSchema,\n async (config, fetchFn, { tenantId }) => {\n const query = `\n mutation InstallTenant($tenantId: ID!) {\n tenantManager {\n installTenant(tenantId: $tenantId) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { tenantId });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.tenantManager.installTenant.error) {\n return Result.fail(\n new ApiError(\n responseData.tenantManager.installTenant.error.message,\n responseData.tenantManager.installTenant.error.code\n )\n );\n }\n\n return Result.ok(responseData.tenantManager.installTenant.data as boolean);\n }\n);\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,YAAY;AACrB,SAASC,mBAAmB;AAC5B,SAASC,cAAc;AACvB,SAASC,QAAQ;AAMjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAGJ,YAAY,CACrCC,mBAAmB,EACnB,OAAOI,MAAM,EAAEC,OAAO,EAAE;EAAEC;AAAS,CAAC,KAAK;EACrC,MAAMC,KAAK,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAEG,MAAMC,MAAM,GAAG,MAAMP,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAEE,KAAK,EAAE;IAAED;EAAS,CAAC,CAAC;EAEzE,IAAIE,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOX,MAAM,CAACY,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,aAAa,CAACX,aAAa,CAACQ,KAAK,EAAE;IAChD,OAAOb,MAAM,CAACY,IAAI,CACd,IAAIR,QAAQ,CACRU,YAAY,CAACE,aAAa,CAACX,aAAa,CAACQ,KAAK,CAACI,OAAO,EACtDH,YAAY,CAACE,aAAa,CAACX,aAAa,CAACQ,KAAK,CAACK,IACnD,CACJ,CAAC;EACL;EAEA,OAAOlB,MAAM,CAACmB,EAAE,CAACL,YAAY,CAACE,aAAa,CAACX,aAAa,CAACe,IAAe,CAAC;AAC9E,CACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ export declare const createTenantSchema: z.ZodObject<{
3
+ data: z.ZodObject<{
4
+ id: z.ZodOptional<z.ZodString>;
5
+ name: z.ZodString;
6
+ description: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strip>;
8
+ }, z.core.$strip>;
9
+ export declare const disableTenantSchema: z.ZodObject<{
10
+ tenantId: z.ZodString;
11
+ }, z.core.$strip>;
12
+ export declare const enableTenantSchema: z.ZodObject<{
13
+ tenantId: z.ZodString;
14
+ }, z.core.$strip>;
15
+ export declare const installTenantSchema: z.ZodObject<{
16
+ tenantId: z.ZodString;
17
+ }, z.core.$strip>;
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ const tenantId = z.string().min(1, "tenantId is required");
3
+ export const createTenantSchema = z.object({
4
+ data: z.object({
5
+ id: z.string().optional(),
6
+ name: z.string().min(1, "name is required"),
7
+ description: z.string().optional()
8
+ })
9
+ });
10
+ export const disableTenantSchema = z.object({
11
+ tenantId
12
+ });
13
+ export const enableTenantSchema = z.object({
14
+ tenantId
15
+ });
16
+ export const installTenantSchema = z.object({
17
+ tenantId
18
+ });
19
+
20
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["z","tenantId","string","min","createTenantSchema","object","data","id","optional","name","description","disableTenantSchema","enableTenantSchema","installTenantSchema"],"sources":["schemas.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst tenantId = z.string().min(1, \"tenantId is required\");\n\nexport const createTenantSchema = z.object({\n data: z.object({\n id: z.string().optional(),\n name: z.string().min(1, \"name is required\"),\n description: z.string().optional()\n })\n});\n\nexport const disableTenantSchema = z.object({ tenantId });\nexport const enableTenantSchema = z.object({ tenantId });\nexport const installTenantSchema = z.object({ tenantId });\n"],"mappings":"AAAA,SAASA,CAAC,QAAQ,KAAK;AAEvB,MAAMC,QAAQ,GAAGD,CAAC,CAACE,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;AAE1D,OAAO,MAAMC,kBAAkB,GAAGJ,CAAC,CAACK,MAAM,CAAC;EACvCC,IAAI,EAAEN,CAAC,CAACK,MAAM,CAAC;IACXE,EAAE,EAAEP,CAAC,CAACE,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;IACzBC,IAAI,EAAET,CAAC,CAACE,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAC3CO,WAAW,EAAEV,CAAC,CAACE,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC;EACrC,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,MAAMG,mBAAmB,GAAGX,CAAC,CAACK,MAAM,CAAC;EAAEJ;AAAS,CAAC,CAAC;AACzD,OAAO,MAAMW,kBAAkB,GAAGZ,CAAC,CAACK,MAAM,CAAC;EAAEJ;AAAS,CAAC,CAAC;AACxD,OAAO,MAAMY,mBAAmB,GAAGb,CAAC,CAACK,MAAM,CAAC;EAAEJ;AAAS,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "@webiny/sdk",
3
- "version": "6.3.0-beta.2",
3
+ "version": "6.3.0-beta.3",
4
4
  "type": "module",
5
- "main": "index.js",
6
5
  "repository": {
7
6
  "type": "git",
8
7
  "url": "https://github.com/webiny/webiny-js.git"
@@ -12,26 +11,19 @@
12
11
  },
13
12
  "dependencies": {
14
13
  "p-map": "7.0.4",
15
- "p-retry": "8.0.0"
14
+ "p-retry": "8.0.0",
15
+ "zod": "4.3.6"
16
16
  },
17
17
  "author": "Webiny",
18
18
  "license": "MIT",
19
19
  "devDependencies": {
20
- "@webiny/build-tools": "6.3.0-beta.2",
20
+ "@webiny/build-tools": "6.3.0-beta.3",
21
21
  "typescript": "6.0.3",
22
22
  "vitest": "4.1.5"
23
23
  },
24
- "adio": {
25
- "ignore": {
26
- "dependencies": [
27
- "p-retry",
28
- "p-map"
29
- ]
30
- }
31
- },
32
24
  "publishConfig": {
33
25
  "access": "public",
34
26
  "directory": "dist"
35
27
  },
36
- "gitHead": "c5ae1dbcb99bf7457449ef67aef19c5b4b1ffc4c"
28
+ "gitHead": "e154ec3326903876c357d35422dc60d29e061419"
37
29
  }
@@ -0,0 +1,19 @@
1
+ import type { ZodType } from "zod";
2
+ import type { WebinyConfig } from "../types.js";
3
+ import type { Result } from "../Result.js";
4
+ import type { ValidationError } from "../errors.js";
5
+ /**
6
+ * Creates an SDK method that validates params against a Zod schema before running
7
+ * the handler. If validation fails a ValidationError is returned immediately, with
8
+ * no network request made.
9
+ *
10
+ * The handler receives the already-validated params object. Runtime type safety is
11
+ * guaranteed by the Zod schema; TypeScript inference covers TResult and TError from
12
+ * the handler's return type.
13
+ *
14
+ * Use this for methods whose params can be fully described by a Zod schema (scalars,
15
+ * plain objects, arrays of primitives). Do NOT use it for methods whose params include
16
+ * runtime-only types that Zod cannot validate — e.g. File, Buffer, Blob, AbortSignal,
17
+ * callback functions. Those methods stay as plain async functions.
18
+ */
19
+ export declare const createMethod: <TResult, TError>(schema: ZodType, handler: (config: WebinyConfig, fetchFn: typeof fetch, params: any) => Promise<Result<TResult, TError>>) => ((config: WebinyConfig, fetchFn: typeof fetch, params: unknown) => Promise<Result<TResult, TError | ValidationError>>);
@@ -0,0 +1,27 @@
1
+ import { parseParams } from "./validateParams.js";
2
+
3
+ /**
4
+ * Creates an SDK method that validates params against a Zod schema before running
5
+ * the handler. If validation fails a ValidationError is returned immediately, with
6
+ * no network request made.
7
+ *
8
+ * The handler receives the already-validated params object. Runtime type safety is
9
+ * guaranteed by the Zod schema; TypeScript inference covers TResult and TError from
10
+ * the handler's return type.
11
+ *
12
+ * Use this for methods whose params can be fully described by a Zod schema (scalars,
13
+ * plain objects, arrays of primitives). Do NOT use it for methods whose params include
14
+ * runtime-only types that Zod cannot validate — e.g. File, Buffer, Blob, AbortSignal,
15
+ * callback functions. Those methods stay as plain async functions.
16
+ */
17
+ export const createMethod = (schema, handler) => {
18
+ return (config, fetchFn, params) => {
19
+ const parsed = parseParams(schema, params);
20
+ if (!parsed.ok) {
21
+ return Promise.resolve(parsed.result);
22
+ }
23
+ return handler(config, fetchFn, parsed.data);
24
+ };
25
+ };
26
+
27
+ //# sourceMappingURL=createMethod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseParams","createMethod","schema","handler","config","fetchFn","params","parsed","ok","Promise","resolve","result","data"],"sources":["createMethod.ts"],"sourcesContent":["import type { ZodType } from \"zod\";\nimport type { WebinyConfig } from \"../types.js\";\nimport type { Result } from \"../Result.js\";\nimport type { ValidationError } from \"../errors.js\";\nimport { parseParams } from \"./validateParams.js\";\n\n/**\n * Creates an SDK method that validates params against a Zod schema before running\n * the handler. If validation fails a ValidationError is returned immediately, with\n * no network request made.\n *\n * The handler receives the already-validated params object. Runtime type safety is\n * guaranteed by the Zod schema; TypeScript inference covers TResult and TError from\n * the handler's return type.\n *\n * Use this for methods whose params can be fully described by a Zod schema (scalars,\n * plain objects, arrays of primitives). Do NOT use it for methods whose params include\n * runtime-only types that Zod cannot validate — e.g. File, Buffer, Blob, AbortSignal,\n * callback functions. Those methods stay as plain async functions.\n */\nexport const createMethod = <TResult, TError>(\n schema: ZodType,\n handler: (\n config: WebinyConfig,\n fetchFn: typeof fetch,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params: any\n ) => Promise<Result<TResult, TError>>\n): ((\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: unknown\n) => Promise<Result<TResult, TError | ValidationError>>) => {\n return (config, fetchFn, params) => {\n const parsed = parseParams(schema, params);\n if (!parsed.ok) {\n return Promise.resolve(parsed.result);\n }\n return handler(config, fetchFn, parsed.data) as Promise<\n Result<TResult, TError | ValidationError>\n >;\n };\n};\n"],"mappings":"AAIA,SAASA,WAAW;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGA,CACxBC,MAAe,EACfC,OAKqC,KAKmB;EACxD,OAAO,CAACC,MAAM,EAAEC,OAAO,EAAEC,MAAM,KAAK;IAChC,MAAMC,MAAM,GAAGP,WAAW,CAACE,MAAM,EAAEI,MAAM,CAAC;IAC1C,IAAI,CAACC,MAAM,CAACC,EAAE,EAAE;MACZ,OAAOC,OAAO,CAACC,OAAO,CAACH,MAAM,CAACI,MAAM,CAAC;IACzC;IACA,OAAOR,OAAO,CAACC,MAAM,EAAEC,OAAO,EAAEE,MAAM,CAACK,IAAI,CAAC;EAGhD,CAAC;AACL,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Transforms GraphQL field-selection and where-variable error messages into
3
+ * user-friendly equivalents that avoid exposing internal GraphQL type names
4
+ * (e.g. "FmFile", "FmFileListWhereInput").
5
+ *
6
+ * Uses global regex replaces rather than string splitting so that error messages
7
+ * containing "; " internally (e.g. where-variable errors) are handled correctly
8
+ * alongside multiple errors that are joined with "; ".
9
+ *
10
+ * The regex patterns target error message formats defined by the GraphQL
11
+ * specification, so they are stable across spec-compliant server implementations.
12
+ */
13
+ export declare const transformFieldErrors: (message: string, fields: string[]) => string;
14
+ /** Single-message variant used by FileManager methods. */
15
+ export declare const transformFieldError: (message: string, fields: string[]) => string;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Transforms GraphQL field-selection and where-variable error messages into
3
+ * user-friendly equivalents that avoid exposing internal GraphQL type names
4
+ * (e.g. "FmFile", "FmFileListWhereInput").
5
+ *
6
+ * Uses global regex replaces rather than string splitting so that error messages
7
+ * containing "; " internally (e.g. where-variable errors) are handled correctly
8
+ * alongside multiple errors that are joined with "; ".
9
+ *
10
+ * The regex patterns target error message formats defined by the GraphQL
11
+ * specification, so they are stable across spec-compliant server implementations.
12
+ */
13
+ export const transformFieldErrors = (message, fields) => {
14
+ let result = message;
15
+
16
+ // "Cannot query field "X" on type "Y"." — field does not exist in the selection
17
+ result = result.replace(/Cannot query field "([^"]+)" on type [^.]+\./g, (_match, fieldName) => {
18
+ const fullPath = fields.find(f => f.split(".").includes(fieldName));
19
+ return fullPath ? `Unknown field: "${fullPath}" — "${fieldName}" does not exist.` : _match;
20
+ });
21
+
22
+ // 'Field "X" of type "Y" must have a selection of subfields.' — object used as a leaf
23
+ result = result.replace(/Field "([^"]+)" of type "[^"]+" must have a selection of subfields[^.]*\./g, (_match, fieldName) => {
24
+ const fullPath = fields.find(f => f.split(".").includes(fieldName));
25
+ return fullPath ? `Field "${fullPath}" is an object type and requires sub-field selection.` : _match;
26
+ });
27
+
28
+ // 'Variable "$where" got invalid value ... Field "X" is not defined by type "Y".' — unknown where filter key or operator
29
+ result = result.replace(/Variable "\$where" got invalid value.*?Field "([^"]+)" is not defined by type "[^"]+"\./gs, (_match, fieldName) => `Unknown filter field: "${fieldName}".`);
30
+ return result;
31
+ };
32
+
33
+ /** Single-message variant used by FileManager methods. */
34
+ export const transformFieldError = (message, fields) => transformFieldErrors(message, fields);
35
+
36
+ //# sourceMappingURL=transformFieldErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["transformFieldErrors","message","fields","result","replace","_match","fieldName","fullPath","find","f","split","includes","transformFieldError"],"sources":["transformFieldErrors.ts"],"sourcesContent":["/**\n * Transforms GraphQL field-selection and where-variable error messages into\n * user-friendly equivalents that avoid exposing internal GraphQL type names\n * (e.g. \"FmFile\", \"FmFileListWhereInput\").\n *\n * Uses global regex replaces rather than string splitting so that error messages\n * containing \"; \" internally (e.g. where-variable errors) are handled correctly\n * alongside multiple errors that are joined with \"; \".\n *\n * The regex patterns target error message formats defined by the GraphQL\n * specification, so they are stable across spec-compliant server implementations.\n */\nexport const transformFieldErrors = (message: string, fields: string[]): string => {\n let result = message;\n\n // \"Cannot query field \"X\" on type \"Y\".\" — field does not exist in the selection\n result = result.replace(\n /Cannot query field \"([^\"]+)\" on type [^.]+\\./g,\n (_match, fieldName) => {\n const fullPath = fields.find(f => f.split(\".\").includes(fieldName));\n return fullPath\n ? `Unknown field: \"${fullPath}\" — \"${fieldName}\" does not exist.`\n : _match;\n }\n );\n\n // 'Field \"X\" of type \"Y\" must have a selection of subfields.' — object used as a leaf\n result = result.replace(\n /Field \"([^\"]+)\" of type \"[^\"]+\" must have a selection of subfields[^.]*\\./g,\n (_match, fieldName) => {\n const fullPath = fields.find(f => f.split(\".\").includes(fieldName));\n return fullPath\n ? `Field \"${fullPath}\" is an object type and requires sub-field selection.`\n : _match;\n }\n );\n\n // 'Variable \"$where\" got invalid value ... Field \"X\" is not defined by type \"Y\".' — unknown where filter key or operator\n result = result.replace(\n /Variable \"\\$where\" got invalid value.*?Field \"([^\"]+)\" is not defined by type \"[^\"]+\"\\./gs,\n (_match, fieldName) => `Unknown filter field: \"${fieldName}\".`\n );\n\n return result;\n};\n\n/** Single-message variant used by FileManager methods. */\nexport const transformFieldError = (message: string, fields: string[]): string =>\n transformFieldErrors(message, fields);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAGA,CAACC,OAAe,EAAEC,MAAgB,KAAa;EAC/E,IAAIC,MAAM,GAAGF,OAAO;;EAEpB;EACAE,MAAM,GAAGA,MAAM,CAACC,OAAO,CACnB,+CAA+C,EAC/C,CAACC,MAAM,EAAEC,SAAS,KAAK;IACnB,MAAMC,QAAQ,GAAGL,MAAM,CAACM,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,QAAQ,CAACL,SAAS,CAAC,CAAC;IACnE,OAAOC,QAAQ,GACT,mBAAmBA,QAAQ,QAAQD,SAAS,mBAAmB,GAC/DD,MAAM;EAChB,CACJ,CAAC;;EAED;EACAF,MAAM,GAAGA,MAAM,CAACC,OAAO,CACnB,4EAA4E,EAC5E,CAACC,MAAM,EAAEC,SAAS,KAAK;IACnB,MAAMC,QAAQ,GAAGL,MAAM,CAACM,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,QAAQ,CAACL,SAAS,CAAC,CAAC;IACnE,OAAOC,QAAQ,GACT,UAAUA,QAAQ,uDAAuD,GACzEF,MAAM;EAChB,CACJ,CAAC;;EAED;EACAF,MAAM,GAAGA,MAAM,CAACC,OAAO,CACnB,2FAA2F,EAC3F,CAACC,MAAM,EAAEC,SAAS,KAAK,0BAA0BA,SAAS,IAC9D,CAAC;EAED,OAAOH,MAAM;AACjB,CAAC;;AAED;AACA,OAAO,MAAMS,mBAAmB,GAAGA,CAACX,OAAe,EAAEC,MAAgB,KACjEF,oBAAoB,CAACC,OAAO,EAAEC,MAAM,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { ZodType } from "zod";
2
+ import { Result } from "../Result.js";
3
+ import { ValidationError } from "../errors.js";
4
+ export declare const parseParams: <T>(schema: ZodType<T>, params: unknown) => {
5
+ ok: true;
6
+ data: T;
7
+ } | {
8
+ ok: false;
9
+ result: ReturnType<typeof Result.fail<ValidationError>>;
10
+ };
@@ -0,0 +1,23 @@
1
+ import { Result } from "../Result.js";
2
+ import { ValidationError } from "../errors.js";
3
+ const formatZodError = error => {
4
+ return error.issues.map(issue => {
5
+ const path = issue.path.join(".");
6
+ return path ? `"${path}": ${issue.message}` : issue.message;
7
+ }).join("; ");
8
+ };
9
+ export const parseParams = (schema, params) => {
10
+ const parsed = schema.safeParse(params);
11
+ if (!parsed.success) {
12
+ return {
13
+ ok: false,
14
+ result: Result.fail(new ValidationError(formatZodError(parsed.error)))
15
+ };
16
+ }
17
+ return {
18
+ ok: true,
19
+ data: parsed.data
20
+ };
21
+ };
22
+
23
+ //# sourceMappingURL=validateParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Result","ValidationError","formatZodError","error","issues","map","issue","path","join","message","parseParams","schema","params","parsed","safeParse","success","ok","result","fail","data"],"sources":["validateParams.ts"],"sourcesContent":["import type { ZodType, ZodError } from \"zod\";\nimport { Result } from \"../Result.js\";\nimport { ValidationError } from \"../errors.js\";\n\nconst formatZodError = (error: ZodError): string => {\n return error.issues\n .map(issue => {\n const path = issue.path.join(\".\");\n return path ? `\"${path}\": ${issue.message}` : issue.message;\n })\n .join(\"; \");\n};\n\nexport const parseParams = <T>(\n schema: ZodType<T>,\n params: unknown\n):\n | { ok: true; data: T }\n | { ok: false; result: ReturnType<typeof Result.fail<ValidationError>> } => {\n const parsed = schema.safeParse(params);\n if (!parsed.success) {\n return {\n ok: false,\n result: Result.fail(new ValidationError(formatZodError(parsed.error)))\n };\n }\n return { ok: true, data: parsed.data };\n};\n"],"mappings":"AACA,SAASA,MAAM;AACf,SAASC,eAAe;AAExB,MAAMC,cAAc,GAAIC,KAAe,IAAa;EAChD,OAAOA,KAAK,CAACC,MAAM,CACdC,GAAG,CAACC,KAAK,IAAI;IACV,MAAMC,IAAI,GAAGD,KAAK,CAACC,IAAI,CAACC,IAAI,CAAC,GAAG,CAAC;IACjC,OAAOD,IAAI,GAAG,IAAIA,IAAI,MAAMD,KAAK,CAACG,OAAO,EAAE,GAAGH,KAAK,CAACG,OAAO;EAC/D,CAAC,CAAC,CACDD,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,OAAO,MAAME,WAAW,GAAGA,CACvBC,MAAkB,EAClBC,MAAe,KAG6D;EAC5E,MAAMC,MAAM,GAAGF,MAAM,CAACG,SAAS,CAACF,MAAM,CAAC;EACvC,IAAI,CAACC,MAAM,CAACE,OAAO,EAAE;IACjB,OAAO;MACHC,EAAE,EAAE,KAAK;MACTC,MAAM,EAAEjB,MAAM,CAACkB,IAAI,CAAC,IAAIjB,eAAe,CAACC,cAAc,CAACW,MAAM,CAACV,KAAK,CAAC,CAAC;IACzE,CAAC;EACL;EACA,OAAO;IAAEa,EAAE,EAAE,IAAI;IAAEG,IAAI,EAAEN,MAAM,CAACM;EAAK,CAAC;AAC1C,CAAC","ignoreList":[]}