@webiny/sdk 6.3.0 → 6.4.0-beta.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.
- package/BaseError.js +8 -7
- package/BaseError.js.map +1 -1
- package/CmsSdk.js +34 -33
- package/CmsSdk.js.map +1 -1
- package/FileManagerSdk.js +50 -49
- package/FileManagerSdk.js.map +1 -1
- package/LanguagesSdk.js +10 -9
- package/LanguagesSdk.js.map +1 -1
- package/Result.js +40 -134
- package/Result.js.map +1 -1
- package/TasksSdk.js +26 -25
- package/TasksSdk.js.map +1 -1
- package/TenantManagerSdk.js +26 -25
- package/TenantManagerSdk.js.map +1 -1
- package/Webiny.js +24 -26
- package/Webiny.js.map +1 -1
- package/errors.js +31 -48
- package/errors.js.map +1 -1
- package/index.js +1 -21
- package/methods/cms/cmsTypes.js +0 -3
- package/methods/cms/createEntry.js +14 -39
- package/methods/cms/createEntry.js.map +1 -1
- package/methods/cms/deleteEntryRevision.js +12 -30
- package/methods/cms/deleteEntryRevision.js.map +1 -1
- package/methods/cms/getEntry.js +15 -36
- package/methods/cms/getEntry.js.map +1 -1
- package/methods/cms/listEntries.js +22 -51
- package/methods/cms/listEntries.js.map +1 -1
- package/methods/cms/publishEntryRevision.js +14 -33
- package/methods/cms/publishEntryRevision.js.map +1 -1
- package/methods/cms/schemas.js +39 -35
- package/methods/cms/schemas.js.map +1 -1
- package/methods/cms/unpublishEntryRevision.js +14 -33
- package/methods/cms/unpublishEntryRevision.js.map +1 -1
- package/methods/cms/updateEntryRevision.js +15 -42
- package/methods/cms/updateEntryRevision.js.map +1 -1
- package/methods/executeGraphQL.js +38 -41
- package/methods/executeGraphQL.js.map +1 -1
- package/methods/fileManager/buildFieldsSelection.js +25 -67
- package/methods/fileManager/buildFieldsSelection.js.map +1 -1
- package/methods/fileManager/completeMultiPartUpload.js +12 -29
- package/methods/fileManager/completeMultiPartUpload.js.map +1 -1
- package/methods/fileManager/createFile.js +61 -125
- package/methods/fileManager/createFile.js.map +1 -1
- package/methods/fileManager/createFiles.js +41 -76
- package/methods/fileManager/createFiles.js.map +1 -1
- package/methods/fileManager/createMultiPartUpload.js +12 -29
- package/methods/fileManager/createMultiPartUpload.js.map +1 -1
- package/methods/fileManager/deleteFile.js +11 -26
- package/methods/fileManager/deleteFile.js.map +1 -1
- package/methods/fileManager/fileManagerTypes.js +19 -18
- package/methods/fileManager/fileManagerTypes.js.map +1 -1
- package/methods/fileManager/getFile.js +15 -30
- package/methods/fileManager/getFile.js.map +1 -1
- package/methods/fileManager/getPresignedPostPayload.js +17 -40
- package/methods/fileManager/getPresignedPostPayload.js.map +1 -1
- package/methods/fileManager/getPresignedPostPayloads.js +17 -32
- package/methods/fileManager/getPresignedPostPayloads.js.map +1 -1
- package/methods/fileManager/listFiles.js +22 -45
- package/methods/fileManager/listFiles.js.map +1 -1
- package/methods/fileManager/listTags.js +11 -25
- package/methods/fileManager/listTags.js.map +1 -1
- package/methods/fileManager/schemas.js +15 -14
- package/methods/fileManager/schemas.js.map +1 -1
- package/methods/fileManager/updateFile.js +12 -29
- package/methods/fileManager/updateFile.js.map +1 -1
- package/methods/fileManager/utils/fileTypeDetection.js +10 -12
- package/methods/fileManager/utils/fileTypeDetection.js.map +1 -1
- package/methods/fileManager/utils/uploadLargeFile.js +86 -165
- package/methods/fileManager/utils/uploadLargeFile.js.map +1 -1
- package/methods/fileManager/utils/uploadToS3.js +41 -94
- package/methods/fileManager/utils/uploadToS3.js.map +1 -1
- package/methods/languages/listLanguages.js +8 -11
- package/methods/languages/listLanguages.js.map +1 -1
- package/methods/tasks/abortTask.js +11 -17
- package/methods/tasks/abortTask.js.map +1 -1
- package/methods/tasks/listDefinitions.js +8 -11
- package/methods/tasks/listDefinitions.js.map +1 -1
- package/methods/tasks/listLogs.js +10 -15
- package/methods/tasks/listLogs.js.map +1 -1
- package/methods/tasks/listTasks.js +8 -11
- package/methods/tasks/listTasks.js.map +1 -1
- package/methods/tasks/schemas.js +11 -10
- package/methods/tasks/schemas.js.map +1 -1
- package/methods/tasks/taskTypes.js +0 -3
- package/methods/tasks/triggerTask.js +11 -17
- package/methods/tasks/triggerTask.js.map +1 -1
- package/methods/tenantManager/createTenant.js +10 -24
- package/methods/tenantManager/createTenant.js.map +1 -1
- package/methods/tenantManager/disableTenant.js +10 -24
- package/methods/tenantManager/disableTenant.js.map +1 -1
- package/methods/tenantManager/enableTenant.js +10 -24
- package/methods/tenantManager/enableTenant.js.map +1 -1
- package/methods/tenantManager/getCurrentTenant.js +8 -18
- package/methods/tenantManager/getCurrentTenant.js.map +1 -1
- package/methods/tenantManager/installTenant.js +10 -24
- package/methods/tenantManager/installTenant.js.map +1 -1
- package/methods/tenantManager/schemas.js +13 -12
- package/methods/tenantManager/schemas.js.map +1 -1
- package/methods/tenantManager/tenantManagerTypes.js +0 -3
- package/package.json +5 -5
- package/types.js +0 -3
- package/utils/createMethod.js +6 -24
- package/utils/createMethod.js.map +1 -1
- package/utils/platform.js +3 -2
- package/utils/platform.js.map +1 -1
- package/utils/transformFieldErrors.js +14 -33
- package/utils/transformFieldErrors.js.map +1 -1
- package/utils/validateParams.js +13 -16
- package/utils/validateParams.js.map +1 -1
- package/index.js.map +0 -1
- package/methods/cms/cmsTypes.js.map +0 -1
- package/methods/tasks/taskTypes.js.map +0 -1
- package/methods/tenantManager/tenantManagerTypes.js.map +0 -1
- package/types.js.map +0 -1
|
@@ -3,19 +3,8 @@ import { createMethod } from "../../utils/createMethod.js";
|
|
|
3
3
|
import { createTenantSchema } from "./schemas.js";
|
|
4
4
|
import { executeGraphQL } from "../executeGraphQL.js";
|
|
5
5
|
import { ApiError } from "../../errors.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
* @param config - SDK configuration
|
|
10
|
-
* @param fetchFn - Fetch function to use for HTTP requests
|
|
11
|
-
* @param params - Parameters for creating the tenant
|
|
12
|
-
* @param params.data - The tenant data to create
|
|
13
|
-
* @returns Result containing true on success or an error
|
|
14
|
-
*/
|
|
15
|
-
export const createTenant = createMethod(createTenantSchema, async (config, fetchFn, {
|
|
16
|
-
data
|
|
17
|
-
}) => {
|
|
18
|
-
const query = `
|
|
6
|
+
const createTenant = createMethod(createTenantSchema, async (config, fetchFn, { data })=>{
|
|
7
|
+
const query = `
|
|
19
8
|
mutation CreateTenant($input: CreateTenantInput!) {
|
|
20
9
|
tenantManager {
|
|
21
10
|
createTenant(input: $input) {
|
|
@@ -28,17 +17,14 @@ export const createTenant = createMethod(createTenantSchema, async (config, fetc
|
|
|
28
17
|
}
|
|
29
18
|
}
|
|
30
19
|
`;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (responseData.tenantManager.createTenant.error) {
|
|
39
|
-
return Result.fail(new ApiError(responseData.tenantManager.createTenant.error.message, responseData.tenantManager.createTenant.error.code));
|
|
40
|
-
}
|
|
41
|
-
return Result.ok(responseData.tenantManager.createTenant.data);
|
|
20
|
+
const result = await executeGraphQL(config, fetchFn, query, {
|
|
21
|
+
input: data
|
|
22
|
+
});
|
|
23
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
24
|
+
const responseData = result.value;
|
|
25
|
+
if (responseData.tenantManager.createTenant.error) return Result.fail(new ApiError(responseData.tenantManager.createTenant.error.message, responseData.tenantManager.createTenant.error.code));
|
|
26
|
+
return Result.ok(responseData.tenantManager.createTenant.data);
|
|
42
27
|
});
|
|
28
|
+
export { createTenant };
|
|
43
29
|
|
|
44
30
|
//# sourceMappingURL=createTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"methods/tenantManager/createTenant.js","sources":["../../../src/methods/tenantManager/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"],"names":["createTenant","createMethod","createTenantSchema","config","fetchFn","data","query","result","executeGraphQL","Result","responseData","ApiError"],"mappings":";;;;;AAoBO,MAAMA,eAAeC,aAAaC,oBAAoB,OAAOC,QAAQC,SAAS,EAAEC,IAAI,EAAE;IACzF,MAAMC,QAAQ,CAAC;;;;;;;;;;;;IAYf,CAAC;IAED,MAAMC,SAAS,MAAMC,eAAeL,QAAQC,SAASE,OAAO;QAAE,OAAOD;IAAK;IAE1E,IAAIE,OAAO,MAAM,IACb,OAAOE,OAAO,IAAI,CAACF,OAAO,KAAK;IAGnC,MAAMG,eAAeH,OAAO,KAAK;IAEjC,IAAIG,aAAa,aAAa,CAAC,YAAY,CAAC,KAAK,EAC7C,OAAOD,OAAO,IAAI,CACd,IAAIE,SACAD,aAAa,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EACrDA,aAAa,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI;IAK9D,OAAOD,OAAO,EAAE,CAACC,aAAa,aAAa,CAAC,YAAY,CAAC,IAAI;AACjE"}
|
|
@@ -3,19 +3,8 @@ import { createMethod } from "../../utils/createMethod.js";
|
|
|
3
3
|
import { disableTenantSchema } from "./schemas.js";
|
|
4
4
|
import { executeGraphQL } from "../executeGraphQL.js";
|
|
5
5
|
import { ApiError } from "../../errors.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
* @param config - SDK configuration
|
|
10
|
-
* @param fetchFn - Fetch function to use for HTTP requests
|
|
11
|
-
* @param params - Parameters for disabling the tenant
|
|
12
|
-
* @param params.tenantId - ID of the tenant to disable
|
|
13
|
-
* @returns Result containing true on success or an error
|
|
14
|
-
*/
|
|
15
|
-
export const disableTenant = createMethod(disableTenantSchema, async (config, fetchFn, {
|
|
16
|
-
tenantId
|
|
17
|
-
}) => {
|
|
18
|
-
const query = `
|
|
6
|
+
const disableTenant = createMethod(disableTenantSchema, async (config, fetchFn, { tenantId })=>{
|
|
7
|
+
const query = `
|
|
19
8
|
mutation DisableTenant($tenantId: ID!) {
|
|
20
9
|
tenantManager {
|
|
21
10
|
disableTenant(tenantId: $tenantId) {
|
|
@@ -28,17 +17,14 @@ export const disableTenant = createMethod(disableTenantSchema, async (config, fe
|
|
|
28
17
|
}
|
|
29
18
|
}
|
|
30
19
|
`;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (responseData.tenantManager.disableTenant.error) {
|
|
39
|
-
return Result.fail(new ApiError(responseData.tenantManager.disableTenant.error.message, responseData.tenantManager.disableTenant.error.code));
|
|
40
|
-
}
|
|
41
|
-
return Result.ok(responseData.tenantManager.disableTenant.data);
|
|
20
|
+
const result = await executeGraphQL(config, fetchFn, query, {
|
|
21
|
+
tenantId
|
|
22
|
+
});
|
|
23
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
24
|
+
const responseData = result.value;
|
|
25
|
+
if (responseData.tenantManager.disableTenant.error) return Result.fail(new ApiError(responseData.tenantManager.disableTenant.error.message, responseData.tenantManager.disableTenant.error.code));
|
|
26
|
+
return Result.ok(responseData.tenantManager.disableTenant.data);
|
|
42
27
|
});
|
|
28
|
+
export { disableTenant };
|
|
43
29
|
|
|
44
30
|
//# sourceMappingURL=disableTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"methods/tenantManager/disableTenant.js","sources":["../../../src/methods/tenantManager/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"],"names":["disableTenant","createMethod","disableTenantSchema","config","fetchFn","tenantId","query","result","executeGraphQL","Result","responseData","ApiError"],"mappings":";;;;;AAmBO,MAAMA,gBAAgBC,aACzBC,qBACA,OAAOC,QAAQC,SAAS,EAAEC,QAAQ,EAAE;IAChC,MAAMC,QAAQ,CAAC;;;;;;;;;;;;IAYnB,CAAC;IAEG,MAAMC,SAAS,MAAMC,eAAeL,QAAQC,SAASE,OAAO;QAAED;IAAS;IAEvE,IAAIE,OAAO,MAAM,IACb,OAAOE,OAAO,IAAI,CAACF,OAAO,KAAK;IAGnC,MAAMG,eAAeH,OAAO,KAAK;IAEjC,IAAIG,aAAa,aAAa,CAAC,aAAa,CAAC,KAAK,EAC9C,OAAOD,OAAO,IAAI,CACd,IAAIE,SACAD,aAAa,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EACtDA,aAAa,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI;IAK/D,OAAOD,OAAO,EAAE,CAACC,aAAa,aAAa,CAAC,aAAa,CAAC,IAAI;AAClE"}
|
|
@@ -3,19 +3,8 @@ import { createMethod } from "../../utils/createMethod.js";
|
|
|
3
3
|
import { enableTenantSchema } from "./schemas.js";
|
|
4
4
|
import { executeGraphQL } from "../executeGraphQL.js";
|
|
5
5
|
import { ApiError } from "../../errors.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
* @param config - SDK configuration
|
|
10
|
-
* @param fetchFn - Fetch function to use for HTTP requests
|
|
11
|
-
* @param params - Parameters for enabling the tenant
|
|
12
|
-
* @param params.tenantId - ID of the tenant to enable
|
|
13
|
-
* @returns Result containing true on success or an error
|
|
14
|
-
*/
|
|
15
|
-
export const enableTenant = createMethod(enableTenantSchema, async (config, fetchFn, {
|
|
16
|
-
tenantId
|
|
17
|
-
}) => {
|
|
18
|
-
const query = `
|
|
6
|
+
const enableTenant = createMethod(enableTenantSchema, async (config, fetchFn, { tenantId })=>{
|
|
7
|
+
const query = `
|
|
19
8
|
mutation EnableTenant($tenantId: ID!) {
|
|
20
9
|
tenantManager {
|
|
21
10
|
enableTenant(tenantId: $tenantId) {
|
|
@@ -28,17 +17,14 @@ export const enableTenant = createMethod(enableTenantSchema, async (config, fetc
|
|
|
28
17
|
}
|
|
29
18
|
}
|
|
30
19
|
`;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (responseData.tenantManager.enableTenant.error) {
|
|
39
|
-
return Result.fail(new ApiError(responseData.tenantManager.enableTenant.error.message, responseData.tenantManager.enableTenant.error.code));
|
|
40
|
-
}
|
|
41
|
-
return Result.ok(responseData.tenantManager.enableTenant.data);
|
|
20
|
+
const result = await executeGraphQL(config, fetchFn, query, {
|
|
21
|
+
tenantId
|
|
22
|
+
});
|
|
23
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
24
|
+
const responseData = result.value;
|
|
25
|
+
if (responseData.tenantManager.enableTenant.error) return Result.fail(new ApiError(responseData.tenantManager.enableTenant.error.message, responseData.tenantManager.enableTenant.error.code));
|
|
26
|
+
return Result.ok(responseData.tenantManager.enableTenant.data);
|
|
42
27
|
});
|
|
28
|
+
export { enableTenant };
|
|
43
29
|
|
|
44
30
|
//# sourceMappingURL=enableTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"methods/tenantManager/enableTenant.js","sources":["../../../src/methods/tenantManager/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"],"names":["enableTenant","createMethod","enableTenantSchema","config","fetchFn","tenantId","query","result","executeGraphQL","Result","responseData","ApiError"],"mappings":";;;;;AAmBO,MAAMA,eAAeC,aACxBC,oBACA,OAAOC,QAAQC,SAAS,EAAEC,QAAQ,EAAE;IAChC,MAAMC,QAAQ,CAAC;;;;;;;;;;;;IAYnB,CAAC;IAEG,MAAMC,SAAS,MAAMC,eAAeL,QAAQC,SAASE,OAAO;QAAED;IAAS;IAEvE,IAAIE,OAAO,MAAM,IACb,OAAOE,OAAO,IAAI,CAACF,OAAO,KAAK;IAGnC,MAAMG,eAAeH,OAAO,KAAK;IAEjC,IAAIG,aAAa,aAAa,CAAC,YAAY,CAAC,KAAK,EAC7C,OAAOD,OAAO,IAAI,CACd,IAAIE,SACAD,aAAa,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EACrDA,aAAa,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI;IAK9D,OAAOD,OAAO,EAAE,CAACC,aAAa,aAAa,CAAC,YAAY,CAAC,IAAI;AACjE"}
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import { Result } from "../../Result.js";
|
|
2
2
|
import { executeGraphQL } from "../executeGraphQL.js";
|
|
3
3
|
import { ApiError } from "../../errors.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
* @param config - SDK configuration
|
|
8
|
-
* @param fetchFn - Fetch function to use for HTTP requests
|
|
9
|
-
* @returns Result containing the current tenant or an error
|
|
10
|
-
*/
|
|
11
|
-
export async function getCurrentTenant(config, fetchFn) {
|
|
12
|
-
const query = `
|
|
4
|
+
async function getCurrentTenant(config, fetchFn) {
|
|
5
|
+
const query = `
|
|
13
6
|
query GetCurrentTenant {
|
|
14
7
|
tenantManager {
|
|
15
8
|
getCurrentTenant {
|
|
@@ -25,15 +18,12 @@ export async function getCurrentTenant(config, fetchFn) {
|
|
|
25
18
|
}
|
|
26
19
|
}
|
|
27
20
|
`;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (responseData.tenantManager.getCurrentTenant.error) {
|
|
34
|
-
return Result.fail(new ApiError(responseData.tenantManager.getCurrentTenant.error.message, responseData.tenantManager.getCurrentTenant.error.code));
|
|
35
|
-
}
|
|
36
|
-
return Result.ok(responseData.tenantManager.getCurrentTenant.data);
|
|
21
|
+
const result = await executeGraphQL(config, fetchFn, query, {});
|
|
22
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
23
|
+
const responseData = result.value;
|
|
24
|
+
if (responseData.tenantManager.getCurrentTenant.error) return Result.fail(new ApiError(responseData.tenantManager.getCurrentTenant.error.message, responseData.tenantManager.getCurrentTenant.error.code));
|
|
25
|
+
return Result.ok(responseData.tenantManager.getCurrentTenant.data);
|
|
37
26
|
}
|
|
27
|
+
export { getCurrentTenant };
|
|
38
28
|
|
|
39
29
|
//# sourceMappingURL=getCurrentTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"methods/tenantManager/getCurrentTenant.js","sources":["../../../src/methods/tenantManager/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"],"names":["getCurrentTenant","config","fetchFn","query","result","executeGraphQL","Result","responseData","ApiError"],"mappings":";;;AAkBO,eAAeA,iBAClBC,MAAoB,EACpBC,OAAqB;IAErB,MAAMC,QAAQ,CAAC;;;;;;;;;;;;;;;IAef,CAAC;IAED,MAAMC,SAAS,MAAMC,eAAeJ,QAAQC,SAASC,OAAO,CAAC;IAE7D,IAAIC,OAAO,MAAM,IACb,OAAOE,OAAO,IAAI,CAACF,OAAO,KAAK;IAGnC,MAAMG,eAAeH,OAAO,KAAK;IAEjC,IAAIG,aAAa,aAAa,CAAC,gBAAgB,CAAC,KAAK,EACjD,OAAOD,OAAO,IAAI,CACd,IAAIE,SACAD,aAAa,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EACzDA,aAAa,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI;IAKlE,OAAOD,OAAO,EAAE,CAACC,aAAa,aAAa,CAAC,gBAAgB,CAAC,IAAI;AACrE"}
|
|
@@ -3,19 +3,8 @@ import { createMethod } from "../../utils/createMethod.js";
|
|
|
3
3
|
import { installTenantSchema } from "./schemas.js";
|
|
4
4
|
import { executeGraphQL } from "../executeGraphQL.js";
|
|
5
5
|
import { ApiError } from "../../errors.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
* @param config - SDK configuration
|
|
10
|
-
* @param fetchFn - Fetch function to use for HTTP requests
|
|
11
|
-
* @param params - Parameters for installing the tenant
|
|
12
|
-
* @param params.tenantId - ID of the tenant to install
|
|
13
|
-
* @returns Result containing true on success or an error
|
|
14
|
-
*/
|
|
15
|
-
export const installTenant = createMethod(installTenantSchema, async (config, fetchFn, {
|
|
16
|
-
tenantId
|
|
17
|
-
}) => {
|
|
18
|
-
const query = `
|
|
6
|
+
const installTenant = createMethod(installTenantSchema, async (config, fetchFn, { tenantId })=>{
|
|
7
|
+
const query = `
|
|
19
8
|
mutation InstallTenant($tenantId: ID!) {
|
|
20
9
|
tenantManager {
|
|
21
10
|
installTenant(tenantId: $tenantId) {
|
|
@@ -28,17 +17,14 @@ export const installTenant = createMethod(installTenantSchema, async (config, fe
|
|
|
28
17
|
}
|
|
29
18
|
}
|
|
30
19
|
`;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (responseData.tenantManager.installTenant.error) {
|
|
39
|
-
return Result.fail(new ApiError(responseData.tenantManager.installTenant.error.message, responseData.tenantManager.installTenant.error.code));
|
|
40
|
-
}
|
|
41
|
-
return Result.ok(responseData.tenantManager.installTenant.data);
|
|
20
|
+
const result = await executeGraphQL(config, fetchFn, query, {
|
|
21
|
+
tenantId
|
|
22
|
+
});
|
|
23
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
24
|
+
const responseData = result.value;
|
|
25
|
+
if (responseData.tenantManager.installTenant.error) return Result.fail(new ApiError(responseData.tenantManager.installTenant.error.message, responseData.tenantManager.installTenant.error.code));
|
|
26
|
+
return Result.ok(responseData.tenantManager.installTenant.data);
|
|
42
27
|
});
|
|
28
|
+
export { installTenant };
|
|
43
29
|
|
|
44
30
|
//# sourceMappingURL=installTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"methods/tenantManager/installTenant.js","sources":["../../../src/methods/tenantManager/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"],"names":["installTenant","createMethod","installTenantSchema","config","fetchFn","tenantId","query","result","executeGraphQL","Result","responseData","ApiError"],"mappings":";;;;;AAmBO,MAAMA,gBAAgBC,aACzBC,qBACA,OAAOC,QAAQC,SAAS,EAAEC,QAAQ,EAAE;IAChC,MAAMC,QAAQ,CAAC;;;;;;;;;;;;IAYnB,CAAC;IAEG,MAAMC,SAAS,MAAMC,eAAeL,QAAQC,SAASE,OAAO;QAAED;IAAS;IAEvE,IAAIE,OAAO,MAAM,IACb,OAAOE,OAAO,IAAI,CAACF,OAAO,KAAK;IAGnC,MAAMG,eAAeH,OAAO,KAAK;IAEjC,IAAIG,aAAa,aAAa,CAAC,aAAa,CAAC,KAAK,EAC9C,OAAOD,OAAO,IAAI,CACd,IAAIE,SACAD,aAAa,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EACtDA,aAAa,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI;IAK/D,OAAOD,OAAO,EAAE,CAACC,aAAa,aAAa,CAAC,aAAa,CAAC,IAAI;AAClE"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
const tenantId = z.string().min(1, "tenantId is required");
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
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
9
|
});
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const disableTenantSchema = z.object({
|
|
11
|
+
tenantId: tenantId
|
|
12
12
|
});
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const enableTenantSchema = z.object({
|
|
14
|
+
tenantId: tenantId
|
|
15
15
|
});
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const installTenantSchema = z.object({
|
|
17
|
+
tenantId: tenantId
|
|
18
18
|
});
|
|
19
|
+
export { createTenantSchema, disableTenantSchema, enableTenantSchema, installTenantSchema };
|
|
19
20
|
|
|
20
21
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"methods/tenantManager/schemas.js","sources":["../../../src/methods/tenantManager/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"],"names":["tenantId","z","createTenantSchema","disableTenantSchema","enableTenantSchema","installTenantSchema"],"mappings":";AAEA,MAAMA,WAAWC,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG;AAE5B,MAAMC,qBAAqBD,EAAE,MAAM,CAAC;IACvC,MAAMA,EAAE,MAAM,CAAC;QACX,IAAIA,EAAE,MAAM,GAAG,QAAQ;QACvB,MAAMA,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG;QACxB,aAAaA,EAAE,MAAM,GAAG,QAAQ;IACpC;AACJ;AAEO,MAAME,sBAAsBF,EAAE,MAAM,CAAC;IAAED,UAAAA;AAAS;AAChD,MAAMI,qBAAqBH,EAAE,MAAM,CAAC;IAAED,UAAAA;AAAS;AAC/C,MAAMK,sBAAsBJ,EAAE,MAAM,CAAC;IAAED,UAAAA;AAAS"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/sdk",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.4.0-beta.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,18 +12,18 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"p-map": "7.0.4",
|
|
14
14
|
"p-retry": "8.0.0",
|
|
15
|
-
"zod": "4.3
|
|
15
|
+
"zod": "4.4.3"
|
|
16
16
|
},
|
|
17
17
|
"author": "Webiny",
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@webiny/build-tools": "6.
|
|
20
|
+
"@webiny/build-tools": "6.4.0-beta.0",
|
|
21
21
|
"typescript": "6.0.3",
|
|
22
|
-
"vitest": "4.1.
|
|
22
|
+
"vitest": "4.1.6"
|
|
23
23
|
},
|
|
24
24
|
"publishConfig": {
|
|
25
25
|
"access": "public",
|
|
26
26
|
"directory": "dist"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "a545d7529828af07d08d49c3da1bcb967483b9ce"
|
|
29
29
|
}
|
package/types.js
CHANGED
package/utils/createMethod.js
CHANGED
|
@@ -1,27 +1,9 @@
|
|
|
1
1
|
import { parseParams } from "./validateParams.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
};
|
|
2
|
+
const createMethod = (schema, handler)=>(config, fetchFn, params)=>{
|
|
3
|
+
const parsed = parseParams(schema, params);
|
|
4
|
+
if (!parsed.ok) return Promise.resolve(parsed.result);
|
|
5
|
+
return handler(config, fetchFn, parsed.data);
|
|
6
|
+
};
|
|
7
|
+
export { createMethod };
|
|
26
8
|
|
|
27
9
|
//# sourceMappingURL=createMethod.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/createMethod.js","sources":["../../src/utils/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"],"names":["createMethod","schema","handler","config","fetchFn","params","parsed","parseParams","Promise"],"mappings":";AAoBO,MAAMA,eAAe,CACxBC,QACAC,UAWO,CAACC,QAAQC,SAASC;QACrB,MAAMC,SAASC,YAAYN,QAAQI;QACnC,IAAI,CAACC,OAAO,EAAE,EACV,OAAOE,QAAQ,OAAO,CAACF,OAAO,MAAM;QAExC,OAAOJ,QAAQC,QAAQC,SAASE,OAAO,IAAI;IAG/C"}
|
package/utils/platform.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
const isBrowser = "u" > typeof window;
|
|
2
|
+
const isNode = "u" > typeof process && !isBrowser;
|
|
3
|
+
export { isBrowser, isNode };
|
|
3
4
|
|
|
4
5
|
//# sourceMappingURL=platform.js.map
|
package/utils/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/platform.js","sources":["../../src/utils/platform.ts"],"sourcesContent":["export const isBrowser = typeof window !== \"undefined\";\nexport const isNode = typeof process !== \"undefined\" && !isBrowser;\n"],"names":["isBrowser","window","isNode","process"],"mappings":"AAAO,MAAMA,YAAY,AAAkB,MAAlB,OAAOC;AACzB,MAAMC,SAAS,AAAmB,MAAnB,OAAOC,WAA2B,CAACH"}
|
|
@@ -1,36 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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;
|
|
1
|
+
const transformFieldErrors = (message, fields)=>{
|
|
2
|
+
let result = message;
|
|
3
|
+
result = result.replace(/Cannot query field "([^"]+)" on type [^.]+\./g, (_match, fieldName)=>{
|
|
4
|
+
const fullPath = fields.find((f)=>f.split(".").includes(fieldName));
|
|
5
|
+
return fullPath ? `Unknown field: "${fullPath}" — "${fieldName}" does not exist.` : _match;
|
|
6
|
+
});
|
|
7
|
+
result = result.replace(/Field "([^"]+)" of type "[^"]+" must have a selection of subfields[^.]*\./g, (_match, fieldName)=>{
|
|
8
|
+
const fullPath = fields.find((f)=>f.split(".").includes(fieldName));
|
|
9
|
+
return fullPath ? `Field "${fullPath}" is an object type and requires sub-field selection.` : _match;
|
|
10
|
+
});
|
|
11
|
+
result = result.replace(/Variable "\$where" got invalid value.*?Field "([^"]+)" is not defined by type "[^"]+"\./gs, (_match, fieldName)=>`Unknown filter field: "${fieldName}".`);
|
|
12
|
+
return result;
|
|
31
13
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
export const transformFieldError = (message, fields) => transformFieldErrors(message, fields);
|
|
14
|
+
const transformFieldError = (message, fields)=>transformFieldErrors(message, fields);
|
|
15
|
+
export { transformFieldError, transformFieldErrors };
|
|
35
16
|
|
|
36
17
|
//# sourceMappingURL=transformFieldErrors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/transformFieldErrors.js","sources":["../../src/utils/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"],"names":["transformFieldErrors","message","fields","result","_match","fieldName","fullPath","f","transformFieldError"],"mappings":"AAYO,MAAMA,uBAAuB,CAACC,SAAiBC;IAClD,IAAIC,SAASF;IAGbE,SAASA,OAAO,OAAO,CACnB,iDACA,CAACC,QAAQC;QACL,MAAMC,WAAWJ,OAAO,IAAI,CAACK,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,QAAQ,CAACF;QACxD,OAAOC,WACD,CAAC,gBAAgB,EAAEA,SAAS,KAAK,EAAED,UAAU,iBAAiB,CAAC,GAC/DD;IACV;IAIJD,SAASA,OAAO,OAAO,CACnB,8EACA,CAACC,QAAQC;QACL,MAAMC,WAAWJ,OAAO,IAAI,CAACK,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,QAAQ,CAACF;QACxD,OAAOC,WACD,CAAC,OAAO,EAAEA,SAAS,qDAAqD,CAAC,GACzEF;IACV;IAIJD,SAASA,OAAO,OAAO,CACnB,6FACA,CAACC,QAAQC,YAAc,CAAC,uBAAuB,EAAEA,UAAU,EAAE,CAAC;IAGlE,OAAOF;AACX;AAGO,MAAMK,sBAAsB,CAACP,SAAiBC,SACjDF,qBAAqBC,SAASC"}
|
package/utils/validateParams.js
CHANGED
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
import { Result } from "../Result.js";
|
|
2
2
|
import { ValidationError } from "../errors.js";
|
|
3
|
-
const formatZodError = error
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
const formatZodError = (error)=>error.issues.map((issue)=>{
|
|
4
|
+
const path = issue.path.join(".");
|
|
5
|
+
return path ? `"${path}": ${issue.message}` : issue.message;
|
|
6
|
+
}).join("; ");
|
|
7
|
+
const parseParams = (schema, params)=>{
|
|
8
|
+
const parsed = schema.safeParse(params);
|
|
9
|
+
if (!parsed.success) return {
|
|
10
|
+
ok: false,
|
|
11
|
+
result: Result.fail(new ValidationError(formatZodError(parsed.error)))
|
|
12
|
+
};
|
|
12
13
|
return {
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
ok: true,
|
|
15
|
+
data: parsed.data
|
|
15
16
|
};
|
|
16
|
-
}
|
|
17
|
-
return {
|
|
18
|
-
ok: true,
|
|
19
|
-
data: parsed.data
|
|
20
|
-
};
|
|
21
17
|
};
|
|
18
|
+
export { parseParams };
|
|
22
19
|
|
|
23
20
|
//# sourceMappingURL=validateParams.js.map
|