@webiny/sdk 6.3.0-beta.4 → 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
package/TenantManagerSdk.js
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
import { createTenant
|
|
2
|
-
import { installTenant
|
|
3
|
-
import { disableTenant
|
|
4
|
-
import { enableTenant
|
|
5
|
-
import { getCurrentTenant
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import { createTenant } from "./methods/tenantManager/createTenant.js";
|
|
2
|
+
import { installTenant } from "./methods/tenantManager/installTenant.js";
|
|
3
|
+
import { disableTenant } from "./methods/tenantManager/disableTenant.js";
|
|
4
|
+
import { enableTenant } from "./methods/tenantManager/enableTenant.js";
|
|
5
|
+
import { getCurrentTenant } from "./methods/tenantManager/getCurrentTenant.js";
|
|
6
|
+
class TenantManagerSdk {
|
|
7
|
+
constructor(config){
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.fetchFn = config.fetch || fetch;
|
|
10
|
+
}
|
|
11
|
+
async createTenant(params) {
|
|
12
|
+
return createTenant(this.config, this.fetchFn, params);
|
|
13
|
+
}
|
|
14
|
+
async installTenant(params) {
|
|
15
|
+
return installTenant(this.config, this.fetchFn, params);
|
|
16
|
+
}
|
|
17
|
+
async disableTenant(params) {
|
|
18
|
+
return disableTenant(this.config, this.fetchFn, params);
|
|
19
|
+
}
|
|
20
|
+
async enableTenant(params) {
|
|
21
|
+
return enableTenant(this.config, this.fetchFn, params);
|
|
22
|
+
}
|
|
23
|
+
async getCurrentTenant() {
|
|
24
|
+
return getCurrentTenant(this.config, this.fetchFn);
|
|
25
|
+
}
|
|
26
26
|
}
|
|
27
|
+
export { TenantManagerSdk };
|
|
27
28
|
|
|
28
29
|
//# sourceMappingURL=TenantManagerSdk.js.map
|
package/TenantManagerSdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"TenantManagerSdk.js","sources":["../src/TenantManagerSdk.ts"],"sourcesContent":["import type { WebinyConfig } from \"./types.js\";\nimport type { CreateTenantParams } from \"./methods/tenantManager/createTenant.js\";\nimport type { InstallTenantParams } from \"./methods/tenantManager/installTenant.js\";\nimport type { DisableTenantParams } from \"./methods/tenantManager/disableTenant.js\";\nimport type { EnableTenantParams } from \"./methods/tenantManager/enableTenant.js\";\nimport type { HttpError, ApiError, NetworkError, ValidationError } from \"./errors.js\";\nimport type { Result } from \"./Result.js\";\nimport { createTenant as createTenantFn } from \"./methods/tenantManager/createTenant.js\";\nimport { installTenant as installTenantFn } from \"./methods/tenantManager/installTenant.js\";\nimport { disableTenant as disableTenantFn } from \"./methods/tenantManager/disableTenant.js\";\nimport { enableTenant as enableTenantFn } from \"./methods/tenantManager/enableTenant.js\";\nimport { getCurrentTenant as getCurrentTenantFn } from \"./methods/tenantManager/getCurrentTenant.js\";\nimport type { Tenant } from \"./methods/tenantManager/getCurrentTenant.js\";\n\nexport class TenantManagerSdk {\n private config: WebinyConfig;\n private fetchFn: typeof fetch;\n\n constructor(config: WebinyConfig) {\n this.config = config;\n this.fetchFn = config.fetch || fetch;\n }\n\n async createTenant(\n params: CreateTenantParams\n ): Promise<Result<boolean, HttpError | ApiError | NetworkError | ValidationError>> {\n return createTenantFn(this.config, this.fetchFn, params);\n }\n\n async installTenant(\n params: InstallTenantParams\n ): Promise<Result<boolean, HttpError | ApiError | NetworkError | ValidationError>> {\n return installTenantFn(this.config, this.fetchFn, params);\n }\n\n async disableTenant(\n params: DisableTenantParams\n ): Promise<Result<boolean, HttpError | ApiError | NetworkError | ValidationError>> {\n return disableTenantFn(this.config, this.fetchFn, params);\n }\n\n async enableTenant(\n params: EnableTenantParams\n ): Promise<Result<boolean, HttpError | ApiError | NetworkError | ValidationError>> {\n return enableTenantFn(this.config, this.fetchFn, params);\n }\n\n async getCurrentTenant(): Promise<Result<Tenant, HttpError | ApiError | NetworkError>> {\n return getCurrentTenantFn(this.config, this.fetchFn);\n }\n}\n"],"names":["TenantManagerSdk","config","fetch","params","createTenantFn","installTenantFn","disableTenantFn","enableTenantFn","getCurrentTenantFn"],"mappings":";;;;;AAcO,MAAMA;IAIT,YAAYC,MAAoB,CAAE;QAC9B,IAAI,CAAC,MAAM,GAAGA;QACd,IAAI,CAAC,OAAO,GAAGA,OAAO,KAAK,IAAIC;IACnC;IAEA,MAAM,aACFC,MAA0B,EACqD;QAC/E,OAAOC,aAAe,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAED;IACrD;IAEA,MAAM,cACFA,MAA2B,EACoD;QAC/E,OAAOE,cAAgB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAEF;IACtD;IAEA,MAAM,cACFA,MAA2B,EACoD;QAC/E,OAAOG,cAAgB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAEH;IACtD;IAEA,MAAM,aACFA,MAA0B,EACqD;QAC/E,OAAOI,aAAe,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAEJ;IACrD;IAEA,MAAM,mBAAiF;QACnF,OAAOK,iBAAmB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO;IACvD;AACJ"}
|
package/Webiny.js
CHANGED
|
@@ -3,32 +3,30 @@ import { TenantManagerSdk } from "./TenantManagerSdk.js";
|
|
|
3
3
|
import { FileManagerSdk } from "./FileManagerSdk.js";
|
|
4
4
|
import { LanguagesSdk } from "./LanguagesSdk.js";
|
|
5
5
|
import { TasksSdk } from "./TasksSdk.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
6
|
+
class Webiny {
|
|
7
|
+
constructor(config){
|
|
8
|
+
this.cms = new CmsSdk({
|
|
9
|
+
...config,
|
|
10
|
+
tenant: config.tenant || "root"
|
|
11
|
+
});
|
|
12
|
+
this.tenantManager = new TenantManagerSdk({
|
|
13
|
+
...config,
|
|
14
|
+
tenant: config.tenant || "root"
|
|
15
|
+
});
|
|
16
|
+
this.fileManager = new FileManagerSdk({
|
|
17
|
+
...config,
|
|
18
|
+
tenant: config.tenant || "root"
|
|
19
|
+
});
|
|
20
|
+
this.languages = new LanguagesSdk({
|
|
21
|
+
...config,
|
|
22
|
+
tenant: config.tenant || "root"
|
|
23
|
+
});
|
|
24
|
+
this.tasks = new TasksSdk({
|
|
25
|
+
...config,
|
|
26
|
+
tenant: config.tenant || "root"
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
// Backward compatibility exports.
|
|
32
|
-
export { Webiny as Sdk };
|
|
30
|
+
export { Webiny as Sdk, Webiny };
|
|
33
31
|
|
|
34
32
|
//# sourceMappingURL=Webiny.js.map
|
package/Webiny.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Webiny.js","sources":["../src/Webiny.ts"],"sourcesContent":["import type { WebinyConfig } from \"./types.js\";\nimport { CmsSdk } from \"./CmsSdk.js\";\nimport { TenantManagerSdk } from \"./TenantManagerSdk.js\";\nimport { FileManagerSdk } from \"./FileManagerSdk.js\";\nimport { LanguagesSdk } from \"./LanguagesSdk.js\";\nimport { TasksSdk } from \"./TasksSdk.js\";\n\nexport class Webiny {\n public readonly cms: CmsSdk;\n public readonly tenantManager: TenantManagerSdk;\n public readonly fileManager: FileManagerSdk;\n public readonly languages: LanguagesSdk;\n public readonly tasks: TasksSdk;\n\n constructor(config: WebinyConfig) {\n this.cms = new CmsSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n this.tenantManager = new TenantManagerSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n this.fileManager = new FileManagerSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n this.languages = new LanguagesSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n this.tasks = new TasksSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n }\n}\n\n// Backward compatibility exports.\nexport { Webiny as Sdk };\nexport type { WebinyConfig as SdkConfig };\n"],"names":["Webiny","config","CmsSdk","TenantManagerSdk","FileManagerSdk","LanguagesSdk","TasksSdk"],"mappings":";;;;;AAOO,MAAMA;IAOT,YAAYC,MAAoB,CAAE;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAIC,OAAO;YAClB,GAAGD,MAAM;YACT,QAAQA,OAAO,MAAM,IAAI;QAC7B;QACA,IAAI,CAAC,aAAa,GAAG,IAAIE,iBAAiB;YACtC,GAAGF,MAAM;YACT,QAAQA,OAAO,MAAM,IAAI;QAC7B;QACA,IAAI,CAAC,WAAW,GAAG,IAAIG,eAAe;YAClC,GAAGH,MAAM;YACT,QAAQA,OAAO,MAAM,IAAI;QAC7B;QACA,IAAI,CAAC,SAAS,GAAG,IAAII,aAAa;YAC9B,GAAGJ,MAAM;YACT,QAAQA,OAAO,MAAM,IAAI;QAC7B;QACA,IAAI,CAAC,KAAK,GAAG,IAAIK,SAAS;YACtB,GAAGL,MAAM;YACT,QAAQA,OAAO,MAAM,IAAI;QAC7B;IACJ;AACJ"}
|
package/errors.js
CHANGED
|
@@ -1,55 +1,38 @@
|
|
|
1
1
|
import { BaseError } from "./BaseError.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
status
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
}
|
|
2
|
+
class HttpError extends BaseError {
|
|
3
|
+
constructor(status, message){
|
|
4
|
+
super({
|
|
5
|
+
message,
|
|
6
|
+
data: {
|
|
7
|
+
status
|
|
8
|
+
}
|
|
9
|
+
}), this.code = "HTTP_ERROR";
|
|
10
|
+
}
|
|
15
11
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
code: errorCode
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
12
|
+
class ApiError extends BaseError {
|
|
13
|
+
constructor(message, errorCode){
|
|
14
|
+
super({
|
|
15
|
+
message,
|
|
16
|
+
data: {
|
|
17
|
+
code: errorCode
|
|
18
|
+
}
|
|
19
|
+
}), this.code = "API_ERROR";
|
|
20
|
+
}
|
|
29
21
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
constructor(message) {
|
|
37
|
-
super({
|
|
38
|
-
message
|
|
39
|
-
});
|
|
40
|
-
}
|
|
22
|
+
class NetworkError extends BaseError {
|
|
23
|
+
constructor(message){
|
|
24
|
+
super({
|
|
25
|
+
message
|
|
26
|
+
}), this.code = "NETWORK_ERROR";
|
|
27
|
+
}
|
|
41
28
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
constructor(message) {
|
|
49
|
-
super({
|
|
50
|
-
message
|
|
51
|
-
});
|
|
52
|
-
}
|
|
29
|
+
class ValidationError extends BaseError {
|
|
30
|
+
constructor(message){
|
|
31
|
+
super({
|
|
32
|
+
message
|
|
33
|
+
}), this.code = "VALIDATION_ERROR";
|
|
34
|
+
}
|
|
53
35
|
}
|
|
36
|
+
export { ApiError, HttpError, NetworkError, ValidationError };
|
|
54
37
|
|
|
55
38
|
//# sourceMappingURL=errors.js.map
|
package/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"errors.js","sources":["../src/errors.ts"],"sourcesContent":["import { BaseError } from \"./BaseError.js\";\n\ntype HttpErrorData = {\n status: number;\n};\n\n/**\n * HTTP error from the API.\n */\nexport class HttpError extends BaseError<HttpErrorData> {\n override readonly code = \"HTTP_ERROR\" as const;\n\n constructor(status: number, message: string) {\n super({\n message,\n data: { status }\n });\n }\n}\n\ntype ApiErrorData = {\n code?: string;\n};\n\n/**\n * GraphQL error from the API.\n */\nexport class ApiError extends BaseError<ApiErrorData> {\n override readonly code = \"API_ERROR\" as const;\n\n constructor(message: string, errorCode?: string) {\n super({\n message,\n data: { code: errorCode }\n });\n }\n}\n\n/**\n * Network error (fetch failed).\n */\nexport class NetworkError extends BaseError {\n override readonly code = \"NETWORK_ERROR\" as const;\n\n constructor(message: string) {\n super({\n message\n });\n }\n}\n\n/**\n * Input validation error — params failed schema validation before any network request was made.\n */\nexport class ValidationError extends BaseError {\n override readonly code = \"VALIDATION_ERROR\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n"],"names":["HttpError","BaseError","status","message","ApiError","errorCode","NetworkError","ValidationError"],"mappings":";AASO,MAAMA,kBAAkBC;IAG3B,YAAYC,MAAc,EAAEC,OAAe,CAAE;QACzC,KAAK,CAAC;YACFA;YACA,MAAM;gBAAED;YAAO;QACnB,SANc,IAAI,GAAG;IAOzB;AACJ;AASO,MAAME,iBAAiBH;IAG1B,YAAYE,OAAe,EAAEE,SAAkB,CAAE;QAC7C,KAAK,CAAC;YACFF;YACA,MAAM;gBAAE,MAAME;YAAU;QAC5B,SANc,IAAI,GAAG;IAOzB;AACJ;AAKO,MAAMC,qBAAqBL;IAG9B,YAAYE,OAAe,CAAE;QACzB,KAAK,CAAC;YACFA;QACJ,SALc,IAAI,GAAG;IAMzB;AACJ;AAKO,MAAMI,wBAAwBN;IAGjC,YAAYE,OAAe,CAAE;QACzB,KAAK,CAAC;YAAEA;QAAQ,SAHF,IAAI,GAAG;IAIzB;AACJ"}
|
package/index.js
CHANGED
|
@@ -6,24 +6,4 @@ export * from "./LanguagesSdk.js";
|
|
|
6
6
|
export * from "./TasksSdk.js";
|
|
7
7
|
export * from "./types.js";
|
|
8
8
|
export { Result } from "./Result.js";
|
|
9
|
-
export {
|
|
10
|
-
|
|
11
|
-
// Export shared CMS types.
|
|
12
|
-
|
|
13
|
-
// Export types from methods.
|
|
14
|
-
|
|
15
|
-
// Export TenantManager types.
|
|
16
|
-
|
|
17
|
-
// Export types from tenantManager methods.
|
|
18
|
-
|
|
19
|
-
// Export FileManager types.
|
|
20
|
-
|
|
21
|
-
// Export types from fileManager methods.
|
|
22
|
-
|
|
23
|
-
// Export Languages types.
|
|
24
|
-
|
|
25
|
-
// Export Tasks types.
|
|
26
|
-
|
|
27
|
-
// Export types from tasks methods.
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
|
9
|
+
export { ApiError, HttpError, NetworkError, ValidationError } from "./errors.js";
|
package/methods/cms/cmsTypes.js
CHANGED
|
@@ -4,30 +4,8 @@ import { createMethod } from "../../utils/createMethod.js";
|
|
|
4
4
|
import { createEntrySchema } from "./schemas.js";
|
|
5
5
|
import { executeGraphQL } from "../executeGraphQL.js";
|
|
6
6
|
import { ApiError } from "../../errors.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* Create entry data.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Creates a new entry in the CMS.
|
|
14
|
-
*
|
|
15
|
-
* @template TValues - Type of the entry data object returned (typically contains id and entryId, or additional fields if specified)
|
|
16
|
-
* @param config - SDK configuration
|
|
17
|
-
* @param fetchFn - Fetch function to use for HTTP requests
|
|
18
|
-
* @param params - Parameters for creating the entry
|
|
19
|
-
* @param params.modelId - The model ID for the entry
|
|
20
|
-
* @param params.data - The entry data to create
|
|
21
|
-
* @param params.fields - Fields to include in the response. Use "values." prefix for entry values (e.g., "values.author.name") or specify top-level fields like "createdOn"
|
|
22
|
-
* @returns Result containing the created entry data or an error
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
const _impl = createMethod(createEntrySchema, async (config, fetchFn, {
|
|
26
|
-
modelId,
|
|
27
|
-
data,
|
|
28
|
-
fields
|
|
29
|
-
}) => {
|
|
30
|
-
const query = `
|
|
7
|
+
const _impl = createMethod(createEntrySchema, async (config, fetchFn, { modelId, data, fields })=>{
|
|
8
|
+
const query = `
|
|
31
9
|
mutation CreateEntry($modelId: ID!, $data: JSON!, $fields: [String!]!) {
|
|
32
10
|
cms {
|
|
33
11
|
createEntry(modelId: $modelId, data: $data, fields: $fields) {
|
|
@@ -40,22 +18,19 @@ const _impl = createMethod(createEntrySchema, async (config, fetchFn, {
|
|
|
40
18
|
}
|
|
41
19
|
}
|
|
42
20
|
`;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (responseData.cms.createEntry.error) {
|
|
53
|
-
return Result.fail(new ApiError(transformFieldErrors(responseData.cms.createEntry.error.message, fields), responseData.cms.createEntry.error.code));
|
|
54
|
-
}
|
|
55
|
-
return Result.ok(responseData.cms.createEntry.data);
|
|
21
|
+
const result = await executeGraphQL(config, fetchFn, query, {
|
|
22
|
+
modelId,
|
|
23
|
+
data,
|
|
24
|
+
fields
|
|
25
|
+
});
|
|
26
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
27
|
+
const responseData = result.value;
|
|
28
|
+
if (responseData.cms.createEntry.error) return Result.fail(new ApiError(transformFieldErrors(responseData.cms.createEntry.error.message, fields), responseData.cms.createEntry.error.code));
|
|
29
|
+
return Result.ok(responseData.cms.createEntry.data);
|
|
56
30
|
});
|
|
57
|
-
|
|
58
|
-
|
|
31
|
+
function createEntry(config, fetchFn, params) {
|
|
32
|
+
return _impl(config, fetchFn, params);
|
|
59
33
|
}
|
|
34
|
+
export { createEntry };
|
|
60
35
|
|
|
61
36
|
//# sourceMappingURL=createEntry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"methods/cms/createEntry.js","sources":["../../../src/methods/cms/createEntry.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, NetworkError, ValidationError } from \"../../errors.js\";\nimport type { CmsEntryValues, CmsEntryStatus, CmsIdentity } from \"./cmsTypes.js\";\nimport { transformFieldErrors } from \"../../utils/transformFieldErrors.js\";\nimport { createMethod } from \"../../utils/createMethod.js\";\nimport { createEntrySchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\n/**\n * Create entry data.\n */\nexport interface CreateCmsEntryData<TValues extends CmsEntryValues = CmsEntryValues> {\n id?: string;\n status?: CmsEntryStatus;\n\n /**\n * Entry-level meta fields.\n */\n createdOn?: Date | string;\n modifiedOn?: Date | string | null;\n savedOn?: Date | string;\n deletedOn?: Date | string | null;\n restoredOn?: Date | string | null;\n createdBy?: CmsIdentity;\n modifiedBy?: CmsIdentity;\n savedBy?: CmsIdentity;\n deletedBy?: CmsIdentity | null;\n restoredBy?: CmsIdentity | null;\n firstPublishedOn?: Date | string;\n lastPublishedOn?: Date | string;\n firstPublishedBy?: CmsIdentity;\n lastPublishedBy?: CmsIdentity;\n\n /**\n * Revision-level meta fields.\n */\n revisionCreatedOn?: Date | string;\n revisionModifiedOn?: Date | string | null;\n revisionSavedOn?: Date | string;\n revisionDeletedOn?: Date | string | null;\n revisionRestoredOn?: Date | string | null;\n revisionCreatedBy?: CmsIdentity;\n revisionModifiedBy?: CmsIdentity | null;\n revisionSavedBy?: CmsIdentity;\n revisionDeletedBy?: CmsIdentity | null;\n revisionRestoredBy?: CmsIdentity | null;\n revisionFirstPublishedOn?: Date | string;\n revisionLastPublishedOn?: Date | string;\n revisionFirstPublishedBy?: CmsIdentity;\n revisionLastPublishedBy?: CmsIdentity;\n\n location?: {\n folderId?: string | null;\n };\n\n values: TValues | undefined;\n}\n\nexport interface CreateEntryParams<TValues extends CmsEntryValues = CmsEntryValues> {\n modelId: string;\n data: CreateCmsEntryData<TValues>;\n fields: string[];\n}\n\n/**\n * Creates a new entry in the CMS.\n *\n * @template TValues - Type of the entry data object returned (typically contains id and entryId, or additional fields if specified)\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for creating the entry\n * @param params.modelId - The model ID for the entry\n * @param params.data - The entry data to create\n * @param params.fields - Fields to include in the response. Use \"values.\" prefix for entry values (e.g., \"values.author.name\") or specify top-level fields like \"createdOn\"\n * @returns Result containing the created entry data or an error\n */\n\nconst _impl = createMethod(\n createEntrySchema,\n async (config, fetchFn, { modelId, data, fields }) => {\n const query = `\n mutation CreateEntry($modelId: ID!, $data: JSON!, $fields: [String!]!) {\n cms {\n createEntry(modelId: $modelId, data: $data, fields: $fields) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, { modelId, data, fields });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.cms.createEntry.error) {\n return Result.fail(\n new ApiError(\n transformFieldErrors(responseData.cms.createEntry.error.message, fields),\n responseData.cms.createEntry.error.code\n )\n );\n }\n\n return Result.ok(responseData.cms.createEntry.data);\n }\n);\n\nexport function createEntry<TValues extends CmsEntryValues = CmsEntryValues>(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: CreateEntryParams<TValues>\n): Promise<\n Result<CreateCmsEntryData<TValues>, HttpError | ApiError | NetworkError | ValidationError>\n> {\n return _impl(config, fetchFn, params) as Promise<\n Result<CreateCmsEntryData<TValues>, HttpError | ApiError | NetworkError | ValidationError>\n >;\n}\n"],"names":["_impl","createMethod","createEntrySchema","config","fetchFn","modelId","data","fields","query","result","executeGraphQL","Result","responseData","ApiError","transformFieldErrors","createEntry","params"],"mappings":";;;;;;AA+EA,MAAMA,QAAQC,aACVC,mBACA,OAAOC,QAAQC,SAAS,EAAEC,OAAO,EAAEC,IAAI,EAAEC,MAAM,EAAE;IAC7C,MAAMC,QAAQ,CAAC;;;;;;;;;;;;IAYnB,CAAC;IAEG,MAAMC,SAAS,MAAMC,eAAeP,QAAQC,SAASI,OAAO;QAAEH;QAASC;QAAMC;IAAO;IAEpF,IAAIE,OAAO,MAAM,IACb,OAAOE,OAAO,IAAI,CAACF,OAAO,KAAK;IAGnC,MAAMG,eAAeH,OAAO,KAAK;IAEjC,IAAIG,aAAa,GAAG,CAAC,WAAW,CAAC,KAAK,EAClC,OAAOD,OAAO,IAAI,CACd,IAAIE,SACAC,qBAAqBF,aAAa,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAEL,SACjEK,aAAa,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI;IAKnD,OAAOD,OAAO,EAAE,CAACC,aAAa,GAAG,CAAC,WAAW,CAAC,IAAI;AACtD;AAGG,SAASG,YACZZ,MAAoB,EACpBC,OAAqB,EACrBY,MAAkC;IAIlC,OAAOhB,MAAMG,QAAQC,SAASY;AAGlC"}
|
|
@@ -3,23 +3,8 @@ import { createMethod } from "../../utils/createMethod.js";
|
|
|
3
3
|
import { deleteEntryRevisionSchema } 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 deleting the entry revision
|
|
12
|
-
* @param params.modelId - The model ID of the entry to delete
|
|
13
|
-
* @param params.revisionId - The revision ID of the entry to delete (e.g., "123#0001")
|
|
14
|
-
* @param params.permanent - Whether to permanently delete the entry (default: false)
|
|
15
|
-
* @returns Result containing true if deletion succeeded or an error
|
|
16
|
-
*/
|
|
17
|
-
export const deleteEntryRevision = createMethod(deleteEntryRevisionSchema, async (config, fetchFn, {
|
|
18
|
-
modelId,
|
|
19
|
-
revisionId,
|
|
20
|
-
permanent = false
|
|
21
|
-
}) => {
|
|
22
|
-
const query = `
|
|
6
|
+
const deleteEntryRevision = createMethod(deleteEntryRevisionSchema, async (config, fetchFn, { modelId, revisionId, permanent = false })=>{
|
|
7
|
+
const query = `
|
|
23
8
|
mutation DeleteEntryRevision($modelId: ID!, $revisionId: ID!, $permanent: Boolean) {
|
|
24
9
|
cms {
|
|
25
10
|
deleteEntryRevision(modelId: $modelId, revisionId: $revisionId, permanent: $permanent) {
|
|
@@ -32,19 +17,16 @@ export const deleteEntryRevision = createMethod(deleteEntryRevisionSchema, async
|
|
|
32
17
|
}
|
|
33
18
|
}
|
|
34
19
|
`;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (data.cms.deleteEntryRevision.error) {
|
|
45
|
-
return Result.fail(new ApiError(data.cms.deleteEntryRevision.error.message, data.cms.deleteEntryRevision.error.code));
|
|
46
|
-
}
|
|
47
|
-
return Result.ok(data.cms.deleteEntryRevision.data);
|
|
20
|
+
const result = await executeGraphQL(config, fetchFn, query, {
|
|
21
|
+
modelId,
|
|
22
|
+
revisionId,
|
|
23
|
+
permanent
|
|
24
|
+
});
|
|
25
|
+
if (result.isFail()) return result;
|
|
26
|
+
const data = result.value;
|
|
27
|
+
if (data.cms.deleteEntryRevision.error) return Result.fail(new ApiError(data.cms.deleteEntryRevision.error.message, data.cms.deleteEntryRevision.error.code));
|
|
28
|
+
return Result.ok(data.cms.deleteEntryRevision.data);
|
|
48
29
|
});
|
|
30
|
+
export { deleteEntryRevision };
|
|
49
31
|
|
|
50
32
|
//# sourceMappingURL=deleteEntryRevision.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"methods/cms/deleteEntryRevision.js","sources":["../../../src/methods/cms/deleteEntryRevision.ts"],"sourcesContent":["import { Result } from \"../../Result.js\";\nimport { createMethod } from \"../../utils/createMethod.js\";\nimport { deleteEntryRevisionSchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface DeleteEntryRevisionParams {\n modelId: string;\n revisionId: string;\n permanent?: boolean;\n}\n\n/**\n * Deletes an entry revision from the CMS.\n *\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for deleting the entry revision\n * @param params.modelId - The model ID of the entry to delete\n * @param params.revisionId - The revision ID of the entry to delete (e.g., \"123#0001\")\n * @param params.permanent - Whether to permanently delete the entry (default: false)\n * @returns Result containing true if deletion succeeded or an error\n */\nexport const deleteEntryRevision = createMethod(\n deleteEntryRevisionSchema,\n async (config, fetchFn, { modelId, revisionId, permanent = false }) => {\n const query = `\n mutation DeleteEntryRevision($modelId: ID!, $revisionId: ID!, $permanent: Boolean) {\n cms {\n deleteEntryRevision(modelId: $modelId, revisionId: $revisionId, permanent: $permanent) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, {\n modelId,\n revisionId,\n permanent\n });\n\n if (result.isFail()) {\n return result;\n }\n\n const data = result.value;\n\n if (data.cms.deleteEntryRevision.error) {\n return Result.fail(\n new ApiError(\n data.cms.deleteEntryRevision.error.message,\n data.cms.deleteEntryRevision.error.code\n )\n );\n }\n\n return Result.ok(data.cms.deleteEntryRevision.data as boolean);\n }\n);\n"],"names":["deleteEntryRevision","createMethod","deleteEntryRevisionSchema","config","fetchFn","modelId","revisionId","permanent","query","result","executeGraphQL","data","Result","ApiError"],"mappings":";;;;;AAuBO,MAAMA,sBAAsBC,aAC/BC,2BACA,OAAOC,QAAQC,SAAS,EAAEC,OAAO,EAAEC,UAAU,EAAEC,YAAY,KAAK,EAAE;IAC9D,MAAMC,QAAQ,CAAC;;;;;;;;;;;;IAYnB,CAAC;IAEG,MAAMC,SAAS,MAAMC,eAAeP,QAAQC,SAASI,OAAO;QACxDH;QACAC;QACAC;IACJ;IAEA,IAAIE,OAAO,MAAM,IACb,OAAOA;IAGX,MAAME,OAAOF,OAAO,KAAK;IAEzB,IAAIE,KAAK,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAClC,OAAOC,OAAO,IAAI,CACd,IAAIC,SACAF,KAAK,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAC1CA,KAAK,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI;IAKnD,OAAOC,OAAO,EAAE,CAACD,KAAK,GAAG,CAAC,mBAAmB,CAAC,IAAI;AACtD"}
|
package/methods/cms/getEntry.js
CHANGED
|
@@ -4,26 +4,8 @@ import { createMethod } from "../../utils/createMethod.js";
|
|
|
4
4
|
import { getEntrySchema } from "./schemas.js";
|
|
5
5
|
import { executeGraphQL } from "../executeGraphQL.js";
|
|
6
6
|
import { ApiError } from "../../errors.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*
|
|
10
|
-
* @template TValues - Type of the entry values object
|
|
11
|
-
* @param config - SDK configuration
|
|
12
|
-
* @param fetchFn - Fetch function to use for HTTP requests
|
|
13
|
-
* @param params - Parameters for retrieving the entry
|
|
14
|
-
* @param params.modelId - The model ID of the entry to retrieve
|
|
15
|
-
* @param params.where - Where conditions to filter the entry. Can filter by id, entryId, or values
|
|
16
|
-
* @param params.fields - Fields to include in the response
|
|
17
|
-
* @param params.preview - When true, uses preview API to access unpublished/draft content
|
|
18
|
-
* @returns Result containing the entry data or an error
|
|
19
|
-
*/
|
|
20
|
-
const _impl = createMethod(getEntrySchema, async (config, fetchFn, {
|
|
21
|
-
modelId,
|
|
22
|
-
where,
|
|
23
|
-
fields,
|
|
24
|
-
preview
|
|
25
|
-
}) => {
|
|
26
|
-
const query = `
|
|
7
|
+
const _impl = createMethod(getEntrySchema, async (config, fetchFn, { modelId, where, fields, preview })=>{
|
|
8
|
+
const query = `
|
|
27
9
|
query GetEntry($modelId: ID!, $where: JSON!, $fields: [String!]!, $preview: Boolean) {
|
|
28
10
|
cms {
|
|
29
11
|
getEntry(modelId: $modelId, where: $where, fields: $fields, preview: $preview) {
|
|
@@ -36,23 +18,20 @@ const _impl = createMethod(getEntrySchema, async (config, fetchFn, {
|
|
|
36
18
|
}
|
|
37
19
|
}
|
|
38
20
|
`;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (responseData.cms.getEntry.error) {
|
|
50
|
-
return Result.fail(new ApiError(transformFieldErrors(responseData.cms.getEntry.error.message, fields), responseData.cms.getEntry.error.code));
|
|
51
|
-
}
|
|
52
|
-
return Result.ok(responseData.cms.getEntry.data);
|
|
21
|
+
const result = await executeGraphQL(config, fetchFn, query, {
|
|
22
|
+
modelId,
|
|
23
|
+
where,
|
|
24
|
+
fields,
|
|
25
|
+
preview
|
|
26
|
+
});
|
|
27
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
28
|
+
const responseData = result.value;
|
|
29
|
+
if (responseData.cms.getEntry.error) return Result.fail(new ApiError(transformFieldErrors(responseData.cms.getEntry.error.message, fields), responseData.cms.getEntry.error.code));
|
|
30
|
+
return Result.ok(responseData.cms.getEntry.data);
|
|
53
31
|
});
|
|
54
|
-
|
|
55
|
-
|
|
32
|
+
function getEntry(config, fetchFn, params) {
|
|
33
|
+
return _impl(config, fetchFn, params);
|
|
56
34
|
}
|
|
35
|
+
export { getEntry };
|
|
57
36
|
|
|
58
37
|
//# sourceMappingURL=getEntry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"methods/cms/getEntry.js","sources":["../../../src/methods/cms/getEntry.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, NetworkError, ValidationError } from \"../../errors.js\";\nimport type { CmsEntryValues, CmsEntryData } from \"./cmsTypes.js\";\nimport { transformFieldErrors } from \"../../utils/transformFieldErrors.js\";\nimport { createMethod } from \"../../utils/createMethod.js\";\nimport { getEntrySchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface GetEntryWhere {\n id?: string;\n entryId?: string;\n values?: Record<string, unknown>;\n}\n\nexport interface GetEntryParams {\n modelId: string;\n where: GetEntryWhere;\n fields: string[];\n preview?: boolean;\n}\n\n/**\n * Retrieves a single entry from the CMS.\n *\n * @template TValues - Type of the entry values object\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for retrieving the entry\n * @param params.modelId - The model ID of the entry to retrieve\n * @param params.where - Where conditions to filter the entry. Can filter by id, entryId, or values\n * @param params.fields - Fields to include in the response\n * @param params.preview - When true, uses preview API to access unpublished/draft content\n * @returns Result containing the entry data or an error\n */\nconst _impl = createMethod(\n getEntrySchema,\n async (config, fetchFn, { modelId, where, fields, preview }) => {\n const query = `\n query GetEntry($modelId: ID!, $where: JSON!, $fields: [String!]!, $preview: Boolean) {\n cms {\n getEntry(modelId: $modelId, where: $where, fields: $fields, preview: $preview) {\n data\n error {\n message\n code\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, {\n modelId,\n where,\n fields,\n preview\n });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.cms.getEntry.error) {\n return Result.fail(\n new ApiError(\n transformFieldErrors(responseData.cms.getEntry.error.message, fields),\n responseData.cms.getEntry.error.code\n )\n );\n }\n\n return Result.ok(responseData.cms.getEntry.data);\n }\n);\n\nexport function getEntry<TValues extends CmsEntryValues = CmsEntryValues>(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: GetEntryParams\n): Promise<Result<CmsEntryData<TValues>, HttpError | ApiError | NetworkError | ValidationError>> {\n return _impl(config, fetchFn, params) as Promise<\n Result<CmsEntryData<TValues>, HttpError | ApiError | NetworkError | ValidationError>\n >;\n}\n"],"names":["_impl","createMethod","getEntrySchema","config","fetchFn","modelId","where","fields","preview","query","result","executeGraphQL","Result","responseData","ApiError","transformFieldErrors","getEntry","params"],"mappings":";;;;;;AAoCA,MAAMA,QAAQC,aACVC,gBACA,OAAOC,QAAQC,SAAS,EAAEC,OAAO,EAAEC,KAAK,EAAEC,MAAM,EAAEC,OAAO,EAAE;IACvD,MAAMC,QAAQ,CAAC;;;;;;;;;;;;IAYnB,CAAC;IAEG,MAAMC,SAAS,MAAMC,eAAeR,QAAQC,SAASK,OAAO;QACxDJ;QACAC;QACAC;QACAC;IACJ;IAEA,IAAIE,OAAO,MAAM,IACb,OAAOE,OAAO,IAAI,CAACF,OAAO,KAAK;IAGnC,MAAMG,eAAeH,OAAO,KAAK;IAEjC,IAAIG,aAAa,GAAG,CAAC,QAAQ,CAAC,KAAK,EAC/B,OAAOD,OAAO,IAAI,CACd,IAAIE,SACAC,qBAAqBF,aAAa,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAEN,SAC9DM,aAAa,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;IAKhD,OAAOD,OAAO,EAAE,CAACC,aAAa,GAAG,CAAC,QAAQ,CAAC,IAAI;AACnD;AAGG,SAASG,SACZb,MAAoB,EACpBC,OAAqB,EACrBa,MAAsB;IAEtB,OAAOjB,MAAMG,QAAQC,SAASa;AAGlC"}
|