@webiny/sdk 6.3.0-beta.1 → 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.
- package/CmsSdk.d.ts +8 -8
- package/CmsSdk.js.map +1 -1
- package/FileManagerSdk.d.ts +12 -12
- package/FileManagerSdk.js.map +1 -1
- package/LanguagesSdk.d.ts +2 -2
- package/LanguagesSdk.js.map +1 -1
- package/TasksSdk.d.ts +6 -6
- package/TasksSdk.js +1 -1
- package/TasksSdk.js.map +1 -1
- package/TenantManagerSdk.d.ts +6 -6
- package/TenantManagerSdk.js.map +1 -1
- package/errors.d.ts +10 -3
- package/errors.js +14 -2
- package/errors.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/methods/cms/cmsTypes.d.ts +16 -0
- package/methods/cms/cmsTypes.js.map +1 -1
- package/methods/cms/createEntry.d.ts +3 -14
- package/methods/cms/createEntry.js +15 -13
- package/methods/cms/createEntry.js.map +1 -1
- package/methods/cms/deleteEntryRevision.d.ts +2 -3
- package/methods/cms/deleteEntryRevision.js +11 -14
- package/methods/cms/deleteEntryRevision.js.map +1 -1
- package/methods/cms/getEntry.d.ts +3 -18
- package/methods/cms/getEntry.js +17 -19
- package/methods/cms/getEntry.js.map +1 -1
- package/methods/cms/listEntries.d.ts +3 -19
- package/methods/cms/listEntries.js +19 -18
- package/methods/cms/listEntries.js.map +1 -1
- package/methods/cms/publishEntryRevision.d.ts +3 -14
- package/methods/cms/publishEntryRevision.js +15 -14
- package/methods/cms/publishEntryRevision.js.map +1 -1
- package/methods/cms/schemas.d.ts +43 -0
- package/methods/cms/schemas.js +50 -0
- package/methods/cms/schemas.js.map +1 -0
- package/methods/cms/unpublishEntryRevision.d.ts +3 -14
- package/methods/cms/unpublishEntryRevision.js +15 -14
- package/methods/cms/unpublishEntryRevision.js.map +1 -1
- package/methods/cms/updateEntryRevision.d.ts +3 -15
- package/methods/cms/updateEntryRevision.js +16 -14
- package/methods/cms/updateEntryRevision.js.map +1 -1
- package/methods/executeGraphQL.d.ts +2 -2
- package/methods/executeGraphQL.js +2 -2
- package/methods/executeGraphQL.js.map +1 -1
- package/methods/fileManager/completeMultiPartUpload.d.ts +3 -2
- package/methods/fileManager/completeMultiPartUpload.js +4 -7
- package/methods/fileManager/completeMultiPartUpload.js.map +1 -1
- package/methods/fileManager/createFile.d.ts +3 -2
- package/methods/fileManager/createFile.js +7 -16
- package/methods/fileManager/createFile.js.map +1 -1
- package/methods/fileManager/createFiles.d.ts +2 -2
- package/methods/fileManager/createFiles.js +4 -4
- package/methods/fileManager/createFiles.js.map +1 -1
- package/methods/fileManager/createMultiPartUpload.d.ts +3 -2
- package/methods/fileManager/createMultiPartUpload.js +4 -7
- package/methods/fileManager/createMultiPartUpload.js.map +1 -1
- package/methods/fileManager/deleteFile.d.ts +3 -2
- package/methods/fileManager/deleteFile.js +4 -7
- package/methods/fileManager/deleteFile.js.map +1 -1
- package/methods/fileManager/getFile.d.ts +3 -3
- package/methods/fileManager/getFile.js +13 -10
- package/methods/fileManager/getFile.js.map +1 -1
- package/methods/fileManager/getPresignedPostPayload.d.ts +3 -2
- package/methods/fileManager/getPresignedPostPayload.js +4 -7
- package/methods/fileManager/getPresignedPostPayload.js.map +1 -1
- package/methods/fileManager/getPresignedPostPayloads.d.ts +3 -2
- package/methods/fileManager/getPresignedPostPayloads.js +4 -7
- package/methods/fileManager/getPresignedPostPayloads.js.map +1 -1
- package/methods/fileManager/listFiles.d.ts +3 -3
- package/methods/fileManager/listFiles.js +13 -10
- package/methods/fileManager/listFiles.js.map +1 -1
- package/methods/fileManager/listTags.d.ts +3 -2
- package/methods/fileManager/listTags.js +3 -7
- package/methods/fileManager/listTags.js.map +1 -1
- package/methods/fileManager/schemas.d.ts +18 -0
- package/methods/fileManager/schemas.js +22 -0
- package/methods/fileManager/schemas.js.map +1 -0
- package/methods/fileManager/updateFile.d.ts +2 -3
- package/methods/fileManager/updateFile.js +11 -14
- package/methods/fileManager/updateFile.js.map +1 -1
- package/methods/fileManager/utils/uploadLargeFile.js +4 -8
- package/methods/fileManager/utils/uploadLargeFile.js.map +1 -1
- package/methods/languages/listLanguages.d.ts +3 -2
- package/methods/languages/listLanguages.js +3 -7
- package/methods/languages/listLanguages.js.map +1 -1
- package/methods/tasks/abortTask.d.ts +2 -3
- package/methods/tasks/abortTask.js +10 -13
- package/methods/tasks/abortTask.js.map +1 -1
- package/methods/tasks/listDefinitions.d.ts +3 -2
- package/methods/tasks/listDefinitions.js +3 -7
- package/methods/tasks/listDefinitions.js.map +1 -1
- package/methods/tasks/listLogs.d.ts +2 -3
- package/methods/tasks/listLogs.js +10 -10
- package/methods/tasks/listLogs.js.map +1 -1
- package/methods/tasks/listTasks.d.ts +3 -2
- package/methods/tasks/listTasks.js +3 -7
- package/methods/tasks/listTasks.js.map +1 -1
- package/methods/tasks/schemas.d.ts +14 -0
- package/methods/tasks/schemas.js +16 -0
- package/methods/tasks/schemas.js.map +1 -0
- package/methods/tasks/triggerTask.d.ts +2 -3
- package/methods/tasks/triggerTask.js +10 -13
- package/methods/tasks/triggerTask.js.map +1 -1
- package/methods/tenantManager/createTenant.d.ts +2 -3
- package/methods/tenantManager/createTenant.js +9 -12
- package/methods/tenantManager/createTenant.js.map +1 -1
- package/methods/tenantManager/disableTenant.d.ts +2 -3
- package/methods/tenantManager/disableTenant.js +9 -12
- package/methods/tenantManager/disableTenant.js.map +1 -1
- package/methods/tenantManager/enableTenant.d.ts +2 -3
- package/methods/tenantManager/enableTenant.js +9 -12
- package/methods/tenantManager/enableTenant.js.map +1 -1
- package/methods/tenantManager/getCurrentTenant.d.ts +3 -2
- package/methods/tenantManager/getCurrentTenant.js +3 -7
- package/methods/tenantManager/getCurrentTenant.js.map +1 -1
- package/methods/tenantManager/installTenant.d.ts +2 -3
- package/methods/tenantManager/installTenant.js +9 -12
- package/methods/tenantManager/installTenant.js.map +1 -1
- package/methods/tenantManager/schemas.d.ts +17 -0
- package/methods/tenantManager/schemas.js +20 -0
- package/methods/tenantManager/schemas.js.map +1 -0
- package/package.json +6 -14
- package/utils/createMethod.d.ts +19 -0
- package/utils/createMethod.js +27 -0
- package/utils/createMethod.js.map +1 -0
- package/utils/transformFieldErrors.d.ts +15 -0
- package/utils/transformFieldErrors.js +36 -0
- package/utils/transformFieldErrors.js.map +1 -0
- package/utils/validateParams.d.ts +10 -0
- package/utils/validateParams.js +23 -0
- package/utils/validateParams.js.map +1 -0
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { isBrowser } from "../../../utils/platform.js";
|
|
2
2
|
import { isBuffer, isFile, getFileSize } from "./fileTypeDetection.js";
|
|
3
|
+
import pMap from "p-map";
|
|
4
|
+
import pRetry from "p-retry";
|
|
5
|
+
import { createMultiPartUpload } from "../createMultiPartUpload.js";
|
|
6
|
+
import { completeMultiPartUpload } from "../completeMultiPartUpload.js";
|
|
3
7
|
/**
|
|
4
8
|
* Uploads a large file to S3 using multi-part upload.
|
|
5
9
|
*
|
|
@@ -22,9 +26,6 @@ export async function uploadLargeFile(file, fileData, config, fetchFn, options =
|
|
|
22
26
|
const numberOfParts = Math.ceil(fileSize / chunkSizeBytes);
|
|
23
27
|
|
|
24
28
|
// 1. Create multi-part upload.
|
|
25
|
-
const {
|
|
26
|
-
createMultiPartUpload
|
|
27
|
-
} = await import("../createMultiPartUpload.js");
|
|
28
29
|
const createResult = await createMultiPartUpload(config, fetchFn, {
|
|
29
30
|
data: fileData,
|
|
30
31
|
numberOfParts
|
|
@@ -50,8 +51,6 @@ export async function uploadLargeFile(file, fileData, config, fetchFn, options =
|
|
|
50
51
|
};
|
|
51
52
|
|
|
52
53
|
// 2. Upload parts in parallel.
|
|
53
|
-
const pMap = (await import("p-map")).default;
|
|
54
|
-
const pRetry = (await import("p-retry")).default;
|
|
55
54
|
await pMap(uploadData.parts, async part => {
|
|
56
55
|
// Check abort signal.
|
|
57
56
|
if (signal?.aborted) {
|
|
@@ -76,9 +75,6 @@ export async function uploadLargeFile(file, fileData, config, fetchFn, options =
|
|
|
76
75
|
});
|
|
77
76
|
|
|
78
77
|
// 3. Complete multi-part upload.
|
|
79
|
-
const {
|
|
80
|
-
completeMultiPartUpload
|
|
81
|
-
} = await import("../completeMultiPartUpload.js");
|
|
82
78
|
const completeResult = await completeMultiPartUpload(config, fetchFn, {
|
|
83
79
|
fileKey: uploadData.file.key,
|
|
84
80
|
uploadId: uploadData.uploadId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isBrowser","isBuffer","isFile","getFileSize","uploadLargeFile","file","fileData","config","fetchFn","options","onProgress","signal","chunkSize","parallelUploads","fileSize","chunkSizeBytes","Math","max","numberOfParts","ceil","createMultiPartUpload","createResult","data","isFail","error","uploadData","value","progressTracker","Map","updateProgress","uploaded","Array","from","values","reduce","sum","uploadedSize","min","sent","total","percentage","round","pMap","default","pRetry","parts","part","aborted","Error","chunk","getFileChunk","partNumber","type","uploadPart","url","loaded","set","retries","minTimeout","maxTimeout","maxRetryTime","concurrency","completeMultiPartUpload","completeResult","fileKey","key","uploadId","fileType","start","end","slice","Blob","XMLHttpRequest","uploadPartWithXHR","uploadPartWithFetch","Promise","resolve","reject","xhr","addEventListener","abort","upload","event","lengthComputable","readyState","status","body","open","send","response","fetch","method","text"],"sources":["uploadLargeFile.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../../types.js\";\nimport type { FmFile, UploadProgress } from \"../fileManagerTypes.js\";\nimport { isBrowser } from \"../../../utils/platform.js\";\nimport { isBuffer, isFile, getFileSize } from \"./fileTypeDetection.js\";\n\nexport interface UploadLargeFileOptions {\n onProgress?: (progress: UploadProgress) => void;\n signal?: AbortSignal;\n chunkSize?: number;\n parallelUploads?: number;\n}\n\n/**\n * Uploads a large file to S3 using multi-part upload.\n *\n * @param file - The file to upload (Buffer, Blob, or File)\n * @param fileData - File metadata\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param options - Upload options\n * @returns Promise that resolves with the uploaded file metadata\n */\nexport async function uploadLargeFile(\n file: Buffer | Blob | File,\n fileData: { name: string; type: string; size: number; key?: string; keyPrefix?: string },\n config: WebinyConfig,\n fetchFn: typeof fetch,\n options: UploadLargeFileOptions = {}\n): Promise<FmFile> {\n const { onProgress, signal, chunkSize = 50, parallelUploads = 5 } = options;\n\n const fileSize = getFileSize(file);\n const chunkSizeBytes = Math.max(chunkSize * 1024 * 1024, 5 * 1024 * 1024);\n const numberOfParts = Math.ceil(fileSize / chunkSizeBytes);\n\n // 1. Create multi-part upload.\n const { createMultiPartUpload } = await import(\"../createMultiPartUpload.js\");\n const createResult = await createMultiPartUpload(config, fetchFn, {\n data: fileData,\n numberOfParts\n });\n\n if (createResult.isFail()) {\n throw createResult.error;\n }\n\n const uploadData = createResult.value;\n const progressTracker = new Map<number, number>();\n\n // Helper to track progress.\n const updateProgress = () => {\n if (!onProgress) {\n return;\n }\n\n const uploaded = Array.from(progressTracker.values()).reduce(\n (sum, value) => sum + value,\n 0\n );\n const uploadedSize = Math.min(uploaded, fileSize);\n\n onProgress({\n sent: uploadedSize,\n total: fileSize,\n percentage: Math.round((uploadedSize / fileSize) * 100)\n });\n };\n\n // 2. Upload parts in parallel.\n const pMap = (await import(\"p-map\")).default;\n const pRetry = (await import(\"p-retry\")).default;\n\n await pMap(\n uploadData.parts,\n async (part: { partNumber: number; url: string }) => {\n // Check abort signal.\n if (signal?.aborted) {\n throw new Error(\"Upload aborted\");\n }\n\n // Upload part with retry.\n await pRetry(\n async () => {\n const chunk = await getFileChunk(\n file,\n part.partNumber,\n chunkSizeBytes,\n fileData.type\n );\n\n await uploadPart(\n part.url,\n chunk,\n loaded => {\n progressTracker.set(part.partNumber, loaded);\n updateProgress();\n },\n signal\n );\n },\n {\n retries: 5,\n minTimeout: 1500,\n maxTimeout: 30000,\n maxRetryTime: 300000\n }\n );\n },\n { concurrency: Math.min(numberOfParts, parallelUploads) }\n );\n\n // 3. Complete multi-part upload.\n const { completeMultiPartUpload } = await import(\"../completeMultiPartUpload.js\");\n const completeResult = await completeMultiPartUpload(config, fetchFn, {\n fileKey: uploadData.file.key,\n uploadId: uploadData.uploadId\n });\n\n if (completeResult.isFail()) {\n throw completeResult.error;\n }\n\n // Return the file metadata.\n return uploadData.file as FmFile;\n}\n\n/**\n * Gets a chunk of the file for a specific part number.\n */\nasync function getFileChunk(\n file: Buffer | Blob | File,\n partNumber: number,\n chunkSize: number,\n fileType: string\n): Promise<Blob | Buffer> {\n const start = (partNumber - 1) * chunkSize;\n const end = Math.min(start + chunkSize, getFileSize(file));\n\n if (isBuffer(file)) {\n return file.slice(start, end);\n }\n\n if (isFile(file) || file instanceof Blob) {\n return file.slice(start, end, fileType);\n }\n\n throw new Error(\"Unsupported file type\");\n}\n\n/**\n * Uploads a single part to S3.\n */\nasync function uploadPart(\n url: string,\n chunk: Blob | Buffer,\n onProgress: (loaded: number) => void,\n signal?: AbortSignal\n): Promise<void> {\n if (isBrowser && typeof XMLHttpRequest !== \"undefined\") {\n return uploadPartWithXHR(url, chunk, onProgress, signal);\n }\n\n return uploadPartWithFetch(url, chunk, signal);\n}\n\n/**\n * Upload part using XMLHttpRequest (browser only, supports progress).\n */\nfunction uploadPartWithXHR(\n url: string,\n chunk: Blob | Buffer,\n onProgress: (loaded: number) => void,\n signal?: AbortSignal\n): Promise<void> {\n return new Promise((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n\n // Handle abort signal.\n if (signal) {\n signal.addEventListener(\"abort\", () => xhr.abort());\n }\n\n // Track upload progress.\n xhr.upload.addEventListener(\"progress\", (event: ProgressEvent) => {\n if (event.lengthComputable) {\n onProgress(event.loaded);\n }\n });\n\n // Handle completion.\n xhr.addEventListener(\"readystatechange\", () => {\n if (xhr.readyState === 4 && xhr.status === 200) {\n resolve();\n }\n });\n\n // Handle errors.\n xhr.addEventListener(\"error\", () => {\n reject(new Error(\"Part upload failed due to network error\"));\n });\n\n xhr.addEventListener(\"abort\", () => {\n reject(new Error(\"Part upload aborted\"));\n });\n\n xhr.addEventListener(\"timeout\", () => {\n reject(new Error(\"Part upload timed out\"));\n });\n\n // Convert Buffer to Blob if needed.\n let body: Blob;\n if (isBuffer(chunk)) {\n // Buffer is a Uint8Array, so we can pass it to Blob.\n // Use 'as any' to work around TypeScript's strict type checking for ArrayBufferLike.\n body = new Blob([chunk as any]);\n } else {\n body = chunk;\n }\n\n // Send request.\n xhr.open(\"PUT\", url);\n xhr.send(body);\n });\n}\n\n/**\n * Upload part using fetch (Node.js and browser).\n */\nasync function uploadPartWithFetch(\n url: string,\n chunk: Blob | Buffer,\n signal?: AbortSignal\n): Promise<void> {\n const response = await fetch(url, {\n method: \"PUT\",\n body: chunk as any,\n signal\n });\n\n if (response.status !== 200) {\n const text = await response.text();\n throw new Error(`Part upload failed with status ${response.status}: ${text}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isBrowser","isBuffer","isFile","getFileSize","pMap","pRetry","createMultiPartUpload","completeMultiPartUpload","uploadLargeFile","file","fileData","config","fetchFn","options","onProgress","signal","chunkSize","parallelUploads","fileSize","chunkSizeBytes","Math","max","numberOfParts","ceil","createResult","data","isFail","error","uploadData","value","progressTracker","Map","updateProgress","uploaded","Array","from","values","reduce","sum","uploadedSize","min","sent","total","percentage","round","parts","part","aborted","Error","chunk","getFileChunk","partNumber","type","uploadPart","url","loaded","set","retries","minTimeout","maxTimeout","maxRetryTime","concurrency","completeResult","fileKey","key","uploadId","fileType","start","end","slice","Blob","XMLHttpRequest","uploadPartWithXHR","uploadPartWithFetch","Promise","resolve","reject","xhr","addEventListener","abort","upload","event","lengthComputable","readyState","status","body","open","send","response","fetch","method","text"],"sources":["uploadLargeFile.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../../types.js\";\nimport type { FmFile, UploadProgress } from \"../fileManagerTypes.js\";\nimport { isBrowser } from \"../../../utils/platform.js\";\nimport { isBuffer, isFile, getFileSize } from \"./fileTypeDetection.js\";\nimport pMap from \"p-map\";\nimport pRetry from \"p-retry\";\nimport { createMultiPartUpload } from \"../createMultiPartUpload.js\";\nimport { completeMultiPartUpload } from \"../completeMultiPartUpload.js\";\n\nexport interface UploadLargeFileOptions {\n onProgress?: (progress: UploadProgress) => void;\n signal?: AbortSignal;\n chunkSize?: number;\n parallelUploads?: number;\n}\n\n/**\n * Uploads a large file to S3 using multi-part upload.\n *\n * @param file - The file to upload (Buffer, Blob, or File)\n * @param fileData - File metadata\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param options - Upload options\n * @returns Promise that resolves with the uploaded file metadata\n */\nexport async function uploadLargeFile(\n file: Buffer | Blob | File,\n fileData: { name: string; type: string; size: number; key?: string; keyPrefix?: string },\n config: WebinyConfig,\n fetchFn: typeof fetch,\n options: UploadLargeFileOptions = {}\n): Promise<FmFile> {\n const { onProgress, signal, chunkSize = 50, parallelUploads = 5 } = options;\n\n const fileSize = getFileSize(file);\n const chunkSizeBytes = Math.max(chunkSize * 1024 * 1024, 5 * 1024 * 1024);\n const numberOfParts = Math.ceil(fileSize / chunkSizeBytes);\n\n // 1. Create multi-part upload.\n const createResult = await createMultiPartUpload(config, fetchFn, {\n data: fileData,\n numberOfParts\n });\n\n if (createResult.isFail()) {\n throw createResult.error;\n }\n\n const uploadData = createResult.value;\n const progressTracker = new Map<number, number>();\n\n // Helper to track progress.\n const updateProgress = () => {\n if (!onProgress) {\n return;\n }\n\n const uploaded = Array.from(progressTracker.values()).reduce(\n (sum, value) => sum + value,\n 0\n );\n const uploadedSize = Math.min(uploaded, fileSize);\n\n onProgress({\n sent: uploadedSize,\n total: fileSize,\n percentage: Math.round((uploadedSize / fileSize) * 100)\n });\n };\n\n // 2. Upload parts in parallel.\n await pMap(\n uploadData.parts,\n async (part: { partNumber: number; url: string }) => {\n // Check abort signal.\n if (signal?.aborted) {\n throw new Error(\"Upload aborted\");\n }\n\n // Upload part with retry.\n await pRetry(\n async () => {\n const chunk = await getFileChunk(\n file,\n part.partNumber,\n chunkSizeBytes,\n fileData.type\n );\n\n await uploadPart(\n part.url,\n chunk,\n loaded => {\n progressTracker.set(part.partNumber, loaded);\n updateProgress();\n },\n signal\n );\n },\n {\n retries: 5,\n minTimeout: 1500,\n maxTimeout: 30000,\n maxRetryTime: 300000\n }\n );\n },\n { concurrency: Math.min(numberOfParts, parallelUploads) }\n );\n\n // 3. Complete multi-part upload.\n const completeResult = await completeMultiPartUpload(config, fetchFn, {\n fileKey: uploadData.file.key,\n uploadId: uploadData.uploadId\n });\n\n if (completeResult.isFail()) {\n throw completeResult.error;\n }\n\n // Return the file metadata.\n return uploadData.file as FmFile;\n}\n\n/**\n * Gets a chunk of the file for a specific part number.\n */\nasync function getFileChunk(\n file: Buffer | Blob | File,\n partNumber: number,\n chunkSize: number,\n fileType: string\n): Promise<Blob | Buffer> {\n const start = (partNumber - 1) * chunkSize;\n const end = Math.min(start + chunkSize, getFileSize(file));\n\n if (isBuffer(file)) {\n return file.slice(start, end);\n }\n\n if (isFile(file) || file instanceof Blob) {\n return file.slice(start, end, fileType);\n }\n\n throw new Error(\"Unsupported file type\");\n}\n\n/**\n * Uploads a single part to S3.\n */\nasync function uploadPart(\n url: string,\n chunk: Blob | Buffer,\n onProgress: (loaded: number) => void,\n signal?: AbortSignal\n): Promise<void> {\n if (isBrowser && typeof XMLHttpRequest !== \"undefined\") {\n return uploadPartWithXHR(url, chunk, onProgress, signal);\n }\n\n return uploadPartWithFetch(url, chunk, signal);\n}\n\n/**\n * Upload part using XMLHttpRequest (browser only, supports progress).\n */\nfunction uploadPartWithXHR(\n url: string,\n chunk: Blob | Buffer,\n onProgress: (loaded: number) => void,\n signal?: AbortSignal\n): Promise<void> {\n return new Promise((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n\n // Handle abort signal.\n if (signal) {\n signal.addEventListener(\"abort\", () => xhr.abort());\n }\n\n // Track upload progress.\n xhr.upload.addEventListener(\"progress\", (event: ProgressEvent) => {\n if (event.lengthComputable) {\n onProgress(event.loaded);\n }\n });\n\n // Handle completion.\n xhr.addEventListener(\"readystatechange\", () => {\n if (xhr.readyState === 4 && xhr.status === 200) {\n resolve();\n }\n });\n\n // Handle errors.\n xhr.addEventListener(\"error\", () => {\n reject(new Error(\"Part upload failed due to network error\"));\n });\n\n xhr.addEventListener(\"abort\", () => {\n reject(new Error(\"Part upload aborted\"));\n });\n\n xhr.addEventListener(\"timeout\", () => {\n reject(new Error(\"Part upload timed out\"));\n });\n\n // Convert Buffer to Blob if needed.\n let body: Blob;\n if (isBuffer(chunk)) {\n // Buffer is a Uint8Array, so we can pass it to Blob.\n // Use 'as any' to work around TypeScript's strict type checking for ArrayBufferLike.\n body = new Blob([chunk as any]);\n } else {\n body = chunk;\n }\n\n // Send request.\n xhr.open(\"PUT\", url);\n xhr.send(body);\n });\n}\n\n/**\n * Upload part using fetch (Node.js and browser).\n */\nasync function uploadPartWithFetch(\n url: string,\n chunk: Blob | Buffer,\n signal?: AbortSignal\n): Promise<void> {\n const response = await fetch(url, {\n method: \"PUT\",\n body: chunk as any,\n signal\n });\n\n if (response.status !== 200) {\n const text = await response.text();\n throw new Error(`Part upload failed with status ${response.status}: ${text}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WebinyConfig } from "../../types.js";
|
|
2
2
|
import { Result } from "../../Result.js";
|
|
3
|
-
import type { HttpError,
|
|
3
|
+
import type { HttpError, NetworkError } from "../../errors.js";
|
|
4
|
+
import { ApiError } from "../../errors.js";
|
|
4
5
|
export interface Language {
|
|
5
6
|
id: string;
|
|
6
7
|
code: string;
|
|
@@ -8,4 +9,4 @@ export interface Language {
|
|
|
8
9
|
direction?: "ltr" | "rtl";
|
|
9
10
|
isDefault?: boolean;
|
|
10
11
|
}
|
|
11
|
-
export declare function listLanguages(config: WebinyConfig, fetchFn: typeof fetch): Promise<Result<Language[], HttpError |
|
|
12
|
+
export declare function listLanguages(config: WebinyConfig, fetchFn: typeof fetch): Promise<Result<Language[], HttpError | ApiError | NetworkError>>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Result } from "../../Result.js";
|
|
2
|
+
import { executeGraphQL } from "../executeGraphQL.js";
|
|
3
|
+
import { ApiError } from "../../errors.js";
|
|
2
4
|
export async function listLanguages(config, fetchFn) {
|
|
3
|
-
const {
|
|
4
|
-
executeGraphQL
|
|
5
|
-
} = await import("../executeGraphQL.js");
|
|
6
5
|
const query = `
|
|
7
6
|
query ListLanguages {
|
|
8
7
|
languages {
|
|
@@ -28,10 +27,7 @@ export async function listLanguages(config, fetchFn) {
|
|
|
28
27
|
}
|
|
29
28
|
const responseData = result.value;
|
|
30
29
|
if (responseData.languages.listLanguages.error) {
|
|
31
|
-
|
|
32
|
-
GraphQLError
|
|
33
|
-
} = await import("../../errors.js");
|
|
34
|
-
return Result.fail(new GraphQLError(responseData.languages.listLanguages.error.message, responseData.languages.listLanguages.error.code));
|
|
30
|
+
return Result.fail(new ApiError(responseData.languages.listLanguages.error.message, responseData.languages.listLanguages.error.code));
|
|
35
31
|
}
|
|
36
32
|
return Result.ok(responseData.languages.listLanguages.data);
|
|
37
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","listLanguages","config","fetchFn","
|
|
1
|
+
{"version":3,"names":["Result","executeGraphQL","ApiError","listLanguages","config","fetchFn","query","result","isFail","fail","error","responseData","value","languages","message","code","ok","data"],"sources":["listLanguages.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 Language {\n id: string;\n code: string;\n name: string;\n direction?: \"ltr\" | \"rtl\";\n isDefault?: boolean;\n}\n\nexport async function listLanguages(\n config: WebinyConfig,\n fetchFn: typeof fetch\n): Promise<Result<Language[], HttpError | ApiError | NetworkError>> {\n const query = `\n query ListLanguages {\n languages {\n listLanguages {\n data {\n id\n code\n name\n direction\n isDefault\n }\n error {\n code\n message\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.languages.listLanguages.error) {\n return Result.fail(\n new ApiError(\n responseData.languages.listLanguages.error.message,\n responseData.languages.listLanguages.error.code\n )\n );\n }\n\n return Result.ok(responseData.languages.listLanguages.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAEf,SAASC,cAAc;AACvB,SAASC,QAAQ;AAUjB,OAAO,eAAeC,aAAaA,CAC/BC,MAAoB,EACpBC,OAAqB,EAC2C;EAChE,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;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,SAAS,CAACV,aAAa,CAACO,KAAK,EAAE;IAC5C,OAAOV,MAAM,CAACS,IAAI,CACd,IAAIP,QAAQ,CACRS,YAAY,CAACE,SAAS,CAACV,aAAa,CAACO,KAAK,CAACI,OAAO,EAClDH,YAAY,CAACE,SAAS,CAACV,aAAa,CAACO,KAAK,CAACK,IAC/C,CACJ,CAAC;EACL;EAEA,OAAOf,MAAM,CAACgB,EAAE,CAACL,YAAY,CAACE,SAAS,CAACV,aAAa,CAACc,IAAI,CAAC;AAC/D","ignoreList":[]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { WebinyConfig } from "../../types.js";
|
|
2
1
|
import { Result } from "../../Result.js";
|
|
3
|
-
import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
|
|
4
2
|
import type { TaskRun } from "./taskTypes.js";
|
|
3
|
+
import { ApiError } from "../../errors.js";
|
|
5
4
|
export interface AbortTaskParams {
|
|
6
5
|
/** The task run ID to abort. */
|
|
7
6
|
id: string;
|
|
8
7
|
/** Optional reason for aborting the task. */
|
|
9
8
|
message?: string;
|
|
10
9
|
}
|
|
11
|
-
export declare
|
|
10
|
+
export declare const abortTask: (config: import("../../types.js").WebinyConfig, fetchFn: typeof fetch, params: unknown) => Promise<Result<TaskRun, import("../../errors.js").HttpError | ApiError | import("../../errors.js").NetworkError | import("../../errors.js").ValidationError>>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Result } from "../../Result.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
import { createMethod } from "../../utils/createMethod.js";
|
|
3
|
+
import { abortTaskSchema } from "./schemas.js";
|
|
4
|
+
import { executeGraphQL } from "../executeGraphQL.js";
|
|
5
|
+
import { ApiError } from "../../errors.js";
|
|
6
|
+
export const abortTask = createMethod(abortTaskSchema, async (config, fetchFn, {
|
|
7
|
+
id,
|
|
8
|
+
message
|
|
9
|
+
}) => {
|
|
10
10
|
const query = `
|
|
11
11
|
mutation AbortTask($id: ID!, $message: String) {
|
|
12
12
|
backgroundTasks {
|
|
@@ -44,12 +44,9 @@ export async function abortTask(config, fetchFn, params) {
|
|
|
44
44
|
}
|
|
45
45
|
const responseData = result.value;
|
|
46
46
|
if (responseData.backgroundTasks.abortTask.error) {
|
|
47
|
-
|
|
48
|
-
GraphQLError
|
|
49
|
-
} = await import("../../errors.js");
|
|
50
|
-
return Result.fail(new GraphQLError(responseData.backgroundTasks.abortTask.error.message, responseData.backgroundTasks.abortTask.error.code));
|
|
47
|
+
return Result.fail(new ApiError(responseData.backgroundTasks.abortTask.error.message, responseData.backgroundTasks.abortTask.error.code));
|
|
51
48
|
}
|
|
52
49
|
return Result.ok(responseData.backgroundTasks.abortTask.data);
|
|
53
|
-
}
|
|
50
|
+
});
|
|
54
51
|
|
|
55
52
|
//# sourceMappingURL=abortTask.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","
|
|
1
|
+
{"version":3,"names":["Result","createMethod","abortTaskSchema","executeGraphQL","ApiError","abortTask","config","fetchFn","id","message","query","result","isFail","fail","error","responseData","value","backgroundTasks","code","ok","data"],"sources":["abortTask.ts"],"sourcesContent":["import { Result } from \"../../Result.js\";\nimport type { TaskRun } from \"./taskTypes.js\";\nimport { createMethod } from \"../../utils/createMethod.js\";\nimport { abortTaskSchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface AbortTaskParams {\n /** The task run ID to abort. */\n id: string;\n /** Optional reason for aborting the task. */\n message?: string;\n}\n\nexport const abortTask = createMethod(abortTaskSchema, async (config, fetchFn, { id, message }) => {\n const query = `\n mutation AbortTask($id: ID!, $message: String) {\n backgroundTasks {\n abortTask(id: $id, message: $message) {\n data {\n id\n createdOn\n savedOn\n startedOn\n finishedOn\n definitionId\n iterations\n name\n input\n output\n taskStatus\n executionName\n eventResponse\n parentId\n }\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { id, message });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.backgroundTasks.abortTask.error) {\n return Result.fail(\n new ApiError(\n responseData.backgroundTasks.abortTask.error.message,\n responseData.backgroundTasks.abortTask.error.code\n )\n );\n }\n\n return Result.ok(responseData.backgroundTasks.abortTask.data as TaskRun);\n});\n"],"mappings":"AAAA,SAASA,MAAM;AAEf,SAASC,YAAY;AACrB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SAASC,QAAQ;AASjB,OAAO,MAAMC,SAAS,GAAGJ,YAAY,CAACC,eAAe,EAAE,OAAOI,MAAM,EAAEC,OAAO,EAAE;EAAEC,EAAE;EAAEC;AAAQ,CAAC,KAAK;EAC/F,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMR,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAEG,KAAK,EAAE;IAAEF,EAAE;IAAEC;EAAQ,CAAC,CAAC;EAE5E,IAAIE,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOZ,MAAM,CAACa,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,eAAe,CAACZ,SAAS,CAACS,KAAK,EAAE;IAC9C,OAAOd,MAAM,CAACa,IAAI,CACd,IAAIT,QAAQ,CACRW,YAAY,CAACE,eAAe,CAACZ,SAAS,CAACS,KAAK,CAACL,OAAO,EACpDM,YAAY,CAACE,eAAe,CAACZ,SAAS,CAACS,KAAK,CAACI,IACjD,CACJ,CAAC;EACL;EAEA,OAAOlB,MAAM,CAACmB,EAAE,CAACJ,YAAY,CAACE,eAAe,CAACZ,SAAS,CAACe,IAAe,CAAC;AAC5E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { WebinyConfig } from "../../types.js";
|
|
2
2
|
import { Result } from "../../Result.js";
|
|
3
|
-
import type { HttpError,
|
|
3
|
+
import type { HttpError, NetworkError } from "../../errors.js";
|
|
4
4
|
import type { TaskDefinition } from "./taskTypes.js";
|
|
5
|
-
|
|
5
|
+
import { ApiError } from "../../errors.js";
|
|
6
|
+
export declare function listDefinitions(config: WebinyConfig, fetchFn: typeof fetch): Promise<Result<TaskDefinition[], HttpError | ApiError | NetworkError>>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Result } from "../../Result.js";
|
|
2
|
+
import { executeGraphQL } from "../executeGraphQL.js";
|
|
3
|
+
import { ApiError } from "../../errors.js";
|
|
2
4
|
export async function listDefinitions(config, fetchFn) {
|
|
3
|
-
const {
|
|
4
|
-
executeGraphQL
|
|
5
|
-
} = await import("../executeGraphQL.js");
|
|
6
5
|
const query = `
|
|
7
6
|
query ListTaskDefinitions {
|
|
8
7
|
backgroundTasks {
|
|
@@ -26,10 +25,7 @@ export async function listDefinitions(config, fetchFn) {
|
|
|
26
25
|
}
|
|
27
26
|
const responseData = result.value;
|
|
28
27
|
if (responseData.backgroundTasks.listDefinitions.error) {
|
|
29
|
-
|
|
30
|
-
GraphQLError
|
|
31
|
-
} = await import("../../errors.js");
|
|
32
|
-
return Result.fail(new GraphQLError(responseData.backgroundTasks.listDefinitions.error.message, responseData.backgroundTasks.listDefinitions.error.code));
|
|
28
|
+
return Result.fail(new ApiError(responseData.backgroundTasks.listDefinitions.error.message, responseData.backgroundTasks.listDefinitions.error.code));
|
|
33
29
|
}
|
|
34
30
|
return Result.ok(responseData.backgroundTasks.listDefinitions.data);
|
|
35
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","listDefinitions","config","fetchFn","
|
|
1
|
+
{"version":3,"names":["Result","executeGraphQL","ApiError","listDefinitions","config","fetchFn","query","result","isFail","fail","error","responseData","value","backgroundTasks","message","code","ok","data"],"sources":["listDefinitions.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, NetworkError } from \"../../errors.js\";\nimport type { TaskDefinition } from \"./taskTypes.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport async function listDefinitions(\n config: WebinyConfig,\n fetchFn: typeof fetch\n): Promise<Result<TaskDefinition[], HttpError | ApiError | NetworkError>> {\n const query = `\n query ListTaskDefinitions {\n backgroundTasks {\n listDefinitions {\n data {\n id\n title\n description\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.backgroundTasks.listDefinitions.error) {\n return Result.fail(\n new ApiError(\n responseData.backgroundTasks.listDefinitions.error.message,\n responseData.backgroundTasks.listDefinitions.error.code\n )\n );\n }\n\n return Result.ok(responseData.backgroundTasks.listDefinitions.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAGf,SAASC,cAAc;AACvB,SAASC,QAAQ;AAEjB,OAAO,eAAeC,eAAeA,CACjCC,MAAoB,EACpBC,OAAqB,EACiD;EACtE,MAAMC,KAAK,GAAG;AAClB;AACA;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,eAAe,CAACV,eAAe,CAACO,KAAK,EAAE;IACpD,OAAOV,MAAM,CAACS,IAAI,CACd,IAAIP,QAAQ,CACRS,YAAY,CAACE,eAAe,CAACV,eAAe,CAACO,KAAK,CAACI,OAAO,EAC1DH,YAAY,CAACE,eAAe,CAACV,eAAe,CAACO,KAAK,CAACK,IACvD,CACJ,CAAC;EACL;EAEA,OAAOf,MAAM,CAACgB,EAAE,CAACL,YAAY,CAACE,eAAe,CAACV,eAAe,CAACc,IAAI,CAAC;AACvE","ignoreList":[]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { WebinyConfig } from "../../types.js";
|
|
2
1
|
import { Result } from "../../Result.js";
|
|
3
|
-
import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
|
|
4
2
|
import type { TaskLog } from "./taskTypes.js";
|
|
3
|
+
import { ApiError } from "../../errors.js";
|
|
5
4
|
export interface ListLogsParams {
|
|
6
5
|
where?: {
|
|
7
6
|
/** Filter logs by task ID. */
|
|
8
7
|
task?: string;
|
|
9
8
|
};
|
|
10
9
|
}
|
|
11
|
-
export declare
|
|
10
|
+
export declare const listLogs: (config: import("../../types.js").WebinyConfig, fetchFn: typeof fetch, params: unknown) => Promise<Result<TaskLog[], import("../../errors.js").HttpError | ApiError | import("../../errors.js").NetworkError | import("../../errors.js").ValidationError>>;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Result } from "../../Result.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { createMethod } from "../../utils/createMethod.js";
|
|
3
|
+
import { listLogsSchema } from "./schemas.js";
|
|
4
|
+
import { executeGraphQL } from "../executeGraphQL.js";
|
|
5
|
+
import { ApiError } from "../../errors.js";
|
|
6
|
+
export const listLogs = createMethod(listLogsSchema, async (config, fetchFn, {
|
|
7
|
+
where
|
|
8
|
+
}) => {
|
|
6
9
|
const query = `
|
|
7
10
|
query ListBackgroundTaskLogs($where: BackgroundTaskLogListWhereInput) {
|
|
8
11
|
backgroundTasks {
|
|
@@ -29,19 +32,16 @@ export async function listLogs(config, fetchFn, params = {}) {
|
|
|
29
32
|
}
|
|
30
33
|
`;
|
|
31
34
|
const result = await executeGraphQL(config, fetchFn, query, {
|
|
32
|
-
where
|
|
35
|
+
where
|
|
33
36
|
});
|
|
34
37
|
if (result.isFail()) {
|
|
35
38
|
return Result.fail(result.error);
|
|
36
39
|
}
|
|
37
40
|
const responseData = result.value;
|
|
38
41
|
if (responseData.backgroundTasks.listLogs.error) {
|
|
39
|
-
|
|
40
|
-
GraphQLError
|
|
41
|
-
} = await import("../../errors.js");
|
|
42
|
-
return Result.fail(new GraphQLError(responseData.backgroundTasks.listLogs.error.message, responseData.backgroundTasks.listLogs.error.code));
|
|
42
|
+
return Result.fail(new ApiError(responseData.backgroundTasks.listLogs.error.message, responseData.backgroundTasks.listLogs.error.code));
|
|
43
43
|
}
|
|
44
44
|
return Result.ok(responseData.backgroundTasks.listLogs.data);
|
|
45
|
-
}
|
|
45
|
+
});
|
|
46
46
|
|
|
47
47
|
//# sourceMappingURL=listLogs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","
|
|
1
|
+
{"version":3,"names":["Result","createMethod","listLogsSchema","executeGraphQL","ApiError","listLogs","config","fetchFn","where","query","result","isFail","fail","error","responseData","value","backgroundTasks","message","code","ok","data"],"sources":["listLogs.ts"],"sourcesContent":["import { Result } from \"../../Result.js\";\nimport type { TaskLog } from \"./taskTypes.js\";\nimport { createMethod } from \"../../utils/createMethod.js\";\nimport { listLogsSchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface ListLogsParams {\n where?: {\n /** Filter logs by task ID. */\n task?: string;\n };\n}\n\nexport const listLogs = createMethod(listLogsSchema, async (config, fetchFn, { where }) => {\n const query = `\n query ListBackgroundTaskLogs($where: BackgroundTaskLogListWhereInput) {\n backgroundTasks {\n listLogs(where: $where) {\n data {\n id\n createdOn\n executionName\n iteration\n items {\n message\n createdOn\n type\n data\n error\n }\n }\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { where });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.backgroundTasks.listLogs.error) {\n return Result.fail(\n new ApiError(\n responseData.backgroundTasks.listLogs.error.message,\n responseData.backgroundTasks.listLogs.error.code\n )\n );\n }\n\n return Result.ok(responseData.backgroundTasks.listLogs.data as TaskLog[]);\n});\n"],"mappings":"AAAA,SAASA,MAAM;AAEf,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,cAAc;AACvB,SAASC,QAAQ;AASjB,OAAO,MAAMC,QAAQ,GAAGJ,YAAY,CAACC,cAAc,EAAE,OAAOI,MAAM,EAAEC,OAAO,EAAE;EAAEC;AAAM,CAAC,KAAK;EACvF,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;IAAED;EAAM,CAAC,CAAC;EAEtE,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,eAAe,CAACX,QAAQ,CAACQ,KAAK,EAAE;IAC7C,OAAOb,MAAM,CAACY,IAAI,CACd,IAAIR,QAAQ,CACRU,YAAY,CAACE,eAAe,CAACX,QAAQ,CAACQ,KAAK,CAACI,OAAO,EACnDH,YAAY,CAACE,eAAe,CAACX,QAAQ,CAACQ,KAAK,CAACK,IAChD,CACJ,CAAC;EACL;EAEA,OAAOlB,MAAM,CAACmB,EAAE,CAACL,YAAY,CAACE,eAAe,CAACX,QAAQ,CAACe,IAAiB,CAAC;AAC7E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { WebinyConfig } from "../../types.js";
|
|
2
2
|
import { Result } from "../../Result.js";
|
|
3
|
-
import type { HttpError,
|
|
3
|
+
import type { HttpError, NetworkError } from "../../errors.js";
|
|
4
4
|
import type { TaskRun } from "./taskTypes.js";
|
|
5
|
-
|
|
5
|
+
import { ApiError } from "../../errors.js";
|
|
6
|
+
export declare function listTasks(config: WebinyConfig, fetchFn: typeof fetch): Promise<Result<TaskRun[], HttpError | ApiError | NetworkError>>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Result } from "../../Result.js";
|
|
2
|
+
import { executeGraphQL } from "../executeGraphQL.js";
|
|
3
|
+
import { ApiError } from "../../errors.js";
|
|
2
4
|
export async function listTasks(config, fetchFn) {
|
|
3
|
-
const {
|
|
4
|
-
executeGraphQL
|
|
5
|
-
} = await import("../executeGraphQL.js");
|
|
6
5
|
const query = `
|
|
7
6
|
query ListTasks {
|
|
8
7
|
backgroundTasks {
|
|
@@ -35,10 +34,7 @@ export async function listTasks(config, fetchFn) {
|
|
|
35
34
|
}
|
|
36
35
|
const responseData = result.value;
|
|
37
36
|
if (responseData.backgroundTasks.listTasks.error) {
|
|
38
|
-
|
|
39
|
-
GraphQLError
|
|
40
|
-
} = await import("../../errors.js");
|
|
41
|
-
return Result.fail(new GraphQLError(responseData.backgroundTasks.listTasks.error.message, responseData.backgroundTasks.listTasks.error.code));
|
|
37
|
+
return Result.fail(new ApiError(responseData.backgroundTasks.listTasks.error.message, responseData.backgroundTasks.listTasks.error.code));
|
|
42
38
|
}
|
|
43
39
|
return Result.ok(responseData.backgroundTasks.listTasks.data);
|
|
44
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","listTasks","config","fetchFn","
|
|
1
|
+
{"version":3,"names":["Result","executeGraphQL","ApiError","listTasks","config","fetchFn","query","result","isFail","fail","error","responseData","value","backgroundTasks","message","code","ok","data"],"sources":["listTasks.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, NetworkError } from \"../../errors.js\";\nimport type { TaskRun } from \"./taskTypes.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport async function listTasks(\n config: WebinyConfig,\n fetchFn: typeof fetch\n): Promise<Result<TaskRun[], HttpError | ApiError | NetworkError>> {\n const query = `\n query ListTasks {\n backgroundTasks {\n listTasks {\n data {\n id\n startedOn\n finishedOn\n name\n definitionId\n iterations\n parentId\n executionName\n eventResponse\n taskStatus\n input\n output\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.backgroundTasks.listTasks.error) {\n return Result.fail(\n new ApiError(\n responseData.backgroundTasks.listTasks.error.message,\n responseData.backgroundTasks.listTasks.error.code\n )\n );\n }\n\n return Result.ok(responseData.backgroundTasks.listTasks.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAGf,SAASC,cAAc;AACvB,SAASC,QAAQ;AAEjB,OAAO,eAAeC,SAASA,CAC3BC,MAAoB,EACpBC,OAAqB,EAC0C;EAC/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,eAAe,CAACV,SAAS,CAACO,KAAK,EAAE;IAC9C,OAAOV,MAAM,CAACS,IAAI,CACd,IAAIP,QAAQ,CACRS,YAAY,CAACE,eAAe,CAACV,SAAS,CAACO,KAAK,CAACI,OAAO,EACpDH,YAAY,CAACE,eAAe,CAACV,SAAS,CAACO,KAAK,CAACK,IACjD,CACJ,CAAC;EACL;EAEA,OAAOf,MAAM,CAACgB,EAAE,CAACL,YAAY,CAACE,eAAe,CAACV,SAAS,CAACc,IAAI,CAAC;AACjE","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const abortTaskSchema: z.ZodObject<{
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
message: z.ZodOptional<z.ZodString>;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export declare const triggerTaskSchema: z.ZodObject<{
|
|
7
|
+
definition: z.ZodString;
|
|
8
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export declare const listLogsSchema: z.ZodObject<{
|
|
11
|
+
where: z.ZodOptional<z.ZodObject<{
|
|
12
|
+
task: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, z.core.$strip>>;
|
|
14
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const abortTaskSchema = z.object({
|
|
3
|
+
id: z.string().min(1, "id is required"),
|
|
4
|
+
message: z.string().optional()
|
|
5
|
+
});
|
|
6
|
+
export const triggerTaskSchema = z.object({
|
|
7
|
+
definition: z.string().min(1, "definition is required"),
|
|
8
|
+
input: z.record(z.string(), z.unknown()).optional()
|
|
9
|
+
});
|
|
10
|
+
export const listLogsSchema = z.object({
|
|
11
|
+
where: z.object({
|
|
12
|
+
task: z.string().optional()
|
|
13
|
+
}).optional()
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["z","abortTaskSchema","object","id","string","min","message","optional","triggerTaskSchema","definition","input","record","unknown","listLogsSchema","where","task"],"sources":["schemas.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const abortTaskSchema = z.object({\n id: z.string().min(1, \"id is required\"),\n message: z.string().optional()\n});\n\nexport const triggerTaskSchema = z.object({\n definition: z.string().min(1, \"definition is required\"),\n input: z.record(z.string(), z.unknown()).optional()\n});\n\nexport const listLogsSchema = z.object({\n where: z\n .object({\n task: z.string().optional()\n })\n .optional()\n});\n"],"mappings":"AAAA,SAASA,CAAC,QAAQ,KAAK;AAEvB,OAAO,MAAMC,eAAe,GAAGD,CAAC,CAACE,MAAM,CAAC;EACpCC,EAAE,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC;EACvCC,OAAO,EAAEN,CAAC,CAACI,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC;AACjC,CAAC,CAAC;AAEF,OAAO,MAAMC,iBAAiB,GAAGR,CAAC,CAACE,MAAM,CAAC;EACtCO,UAAU,EAAET,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;EACvDK,KAAK,EAAEV,CAAC,CAACW,MAAM,CAACX,CAAC,CAACI,MAAM,CAAC,CAAC,EAAEJ,CAAC,CAACY,OAAO,CAAC,CAAC,CAAC,CAACL,QAAQ,CAAC;AACtD,CAAC,CAAC;AAEF,OAAO,MAAMM,cAAc,GAAGb,CAAC,CAACE,MAAM,CAAC;EACnCY,KAAK,EAAEd,CAAC,CACHE,MAAM,CAAC;IACJa,IAAI,EAAEf,CAAC,CAACI,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC;EAC9B,CAAC,CAAC,CACDA,QAAQ,CAAC;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { WebinyConfig } from "../../types.js";
|
|
2
1
|
import { Result } from "../../Result.js";
|
|
3
|
-
import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
|
|
4
2
|
import type { TaskRun } from "./taskTypes.js";
|
|
3
|
+
import { ApiError } from "../../errors.js";
|
|
5
4
|
export interface TriggerTaskParams {
|
|
6
5
|
/** The task definition ID to trigger. */
|
|
7
6
|
definition: string;
|
|
8
7
|
/** Input data to pass to the task. */
|
|
9
8
|
input?: Record<string, unknown>;
|
|
10
9
|
}
|
|
11
|
-
export declare
|
|
10
|
+
export declare const triggerTask: (config: import("../../types.js").WebinyConfig, fetchFn: typeof fetch, params: unknown) => Promise<Result<TaskRun, import("../../errors.js").HttpError | ApiError | import("../../errors.js").NetworkError | import("../../errors.js").ValidationError>>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Result } from "../../Result.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
import { createMethod } from "../../utils/createMethod.js";
|
|
3
|
+
import { triggerTaskSchema } from "./schemas.js";
|
|
4
|
+
import { executeGraphQL } from "../executeGraphQL.js";
|
|
5
|
+
import { ApiError } from "../../errors.js";
|
|
6
|
+
export const triggerTask = createMethod(triggerTaskSchema, async (config, fetchFn, {
|
|
7
|
+
definition,
|
|
8
|
+
input
|
|
9
|
+
}) => {
|
|
10
10
|
const query = `
|
|
11
11
|
mutation TriggerTask($definition: WebinyBackgroundTaskDefinitionEnum!, $input: JSON) {
|
|
12
12
|
backgroundTasks {
|
|
@@ -42,12 +42,9 @@ export async function triggerTask(config, fetchFn, params) {
|
|
|
42
42
|
}
|
|
43
43
|
const responseData = result.value;
|
|
44
44
|
if (responseData.backgroundTasks.triggerTask.error) {
|
|
45
|
-
|
|
46
|
-
GraphQLError
|
|
47
|
-
} = await import("../../errors.js");
|
|
48
|
-
return Result.fail(new GraphQLError(responseData.backgroundTasks.triggerTask.error.message, responseData.backgroundTasks.triggerTask.error.code));
|
|
45
|
+
return Result.fail(new ApiError(responseData.backgroundTasks.triggerTask.error.message, responseData.backgroundTasks.triggerTask.error.code));
|
|
49
46
|
}
|
|
50
47
|
return Result.ok(responseData.backgroundTasks.triggerTask.data);
|
|
51
|
-
}
|
|
48
|
+
});
|
|
52
49
|
|
|
53
50
|
//# sourceMappingURL=triggerTask.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","
|
|
1
|
+
{"version":3,"names":["Result","createMethod","triggerTaskSchema","executeGraphQL","ApiError","triggerTask","config","fetchFn","definition","input","query","result","isFail","fail","error","responseData","value","backgroundTasks","message","code","ok","data"],"sources":["triggerTask.ts"],"sourcesContent":["import { Result } from \"../../Result.js\";\nimport type { TaskRun } from \"./taskTypes.js\";\nimport { createMethod } from \"../../utils/createMethod.js\";\nimport { triggerTaskSchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface TriggerTaskParams {\n /** The task definition ID to trigger. */\n definition: string;\n /** Input data to pass to the task. */\n input?: Record<string, unknown>;\n}\n\nexport const triggerTask = createMethod(\n triggerTaskSchema,\n async (config, fetchFn, { definition, input }) => {\n const query = `\n mutation TriggerTask($definition: WebinyBackgroundTaskDefinitionEnum!, $input: JSON) {\n backgroundTasks {\n triggerTask(definition: $definition, input: $input) {\n data {\n id\n definitionId\n executionName\n eventResponse\n taskStatus\n input\n output\n startedOn\n finishedOn\n name\n iterations\n parentId\n }\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { definition, input });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.backgroundTasks.triggerTask.error) {\n return Result.fail(\n new ApiError(\n responseData.backgroundTasks.triggerTask.error.message,\n responseData.backgroundTasks.triggerTask.error.code\n )\n );\n }\n\n return Result.ok(responseData.backgroundTasks.triggerTask.data as TaskRun);\n }\n);\n"],"mappings":"AAAA,SAASA,MAAM;AAEf,SAASC,YAAY;AACrB,SAASC,iBAAiB;AAC1B,SAASC,cAAc;AACvB,SAASC,QAAQ;AASjB,OAAO,MAAMC,WAAW,GAAGJ,YAAY,CACnCC,iBAAiB,EACjB,OAAOI,MAAM,EAAEC,OAAO,EAAE;EAAEC,UAAU;EAAEC;AAAM,CAAC,KAAK;EAC9C,MAAMC,KAAK,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAEG,MAAMC,MAAM,GAAG,MAAMR,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAEG,KAAK,EAAE;IAAEF,UAAU;IAAEC;EAAM,CAAC,CAAC;EAElF,IAAIE,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOZ,MAAM,CAACa,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,eAAe,CAACZ,WAAW,CAACS,KAAK,EAAE;IAChD,OAAOd,MAAM,CAACa,IAAI,CACd,IAAIT,QAAQ,CACRW,YAAY,CAACE,eAAe,CAACZ,WAAW,CAACS,KAAK,CAACI,OAAO,EACtDH,YAAY,CAACE,eAAe,CAACZ,WAAW,CAACS,KAAK,CAACK,IACnD,CACJ,CAAC;EACL;EAEA,OAAOnB,MAAM,CAACoB,EAAE,CAACL,YAAY,CAACE,eAAe,CAACZ,WAAW,CAACgB,IAAe,CAAC;AAC9E,CACJ,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { WebinyConfig } from "../../types.js";
|
|
2
1
|
import { Result } from "../../Result.js";
|
|
3
|
-
import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
|
|
4
2
|
import type { CreateTenantInput } from "./tenantManagerTypes.js";
|
|
3
|
+
import { ApiError } from "../../errors.js";
|
|
5
4
|
export interface CreateTenantParams {
|
|
6
5
|
data: CreateTenantInput;
|
|
7
6
|
}
|
|
@@ -14,4 +13,4 @@ export interface CreateTenantParams {
|
|
|
14
13
|
* @param params.data - The tenant data to create
|
|
15
14
|
* @returns Result containing true on success or an error
|
|
16
15
|
*/
|
|
17
|
-
export declare
|
|
16
|
+
export declare const createTenant: (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 { createTenantSchema } from "./schemas.js";
|
|
4
|
+
import { executeGraphQL } from "../executeGraphQL.js";
|
|
5
|
+
import { ApiError } from "../../errors.js";
|
|
2
6
|
/**
|
|
3
7
|
* Creates a new tenant in the system.
|
|
4
8
|
*
|
|
@@ -8,13 +12,9 @@ import { Result } from "../../Result.js";
|
|
|
8
12
|
* @param params.data - The tenant data to create
|
|
9
13
|
* @returns Result containing true on success or an error
|
|
10
14
|
*/
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} = params;
|
|
15
|
-
const {
|
|
16
|
-
executeGraphQL
|
|
17
|
-
} = await import("../executeGraphQL.js");
|
|
15
|
+
export const createTenant = createMethod(createTenantSchema, async (config, fetchFn, {
|
|
16
|
+
data
|
|
17
|
+
}) => {
|
|
18
18
|
const query = `
|
|
19
19
|
mutation CreateTenant($input: CreateTenantInput!) {
|
|
20
20
|
tenantManager {
|
|
@@ -36,12 +36,9 @@ export async function createTenant(config, fetchFn, params) {
|
|
|
36
36
|
}
|
|
37
37
|
const responseData = result.value;
|
|
38
38
|
if (responseData.tenantManager.createTenant.error) {
|
|
39
|
-
|
|
40
|
-
GraphQLError
|
|
41
|
-
} = await import("../../errors.js");
|
|
42
|
-
return Result.fail(new GraphQLError(responseData.tenantManager.createTenant.error.message, responseData.tenantManager.createTenant.error.code));
|
|
39
|
+
return Result.fail(new ApiError(responseData.tenantManager.createTenant.error.message, responseData.tenantManager.createTenant.error.code));
|
|
43
40
|
}
|
|
44
41
|
return Result.ok(responseData.tenantManager.createTenant.data);
|
|
45
|
-
}
|
|
42
|
+
});
|
|
46
43
|
|
|
47
44
|
//# sourceMappingURL=createTenant.js.map
|