@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.
Files changed (133) hide show
  1. package/CmsSdk.d.ts +8 -8
  2. package/CmsSdk.js.map +1 -1
  3. package/FileManagerSdk.d.ts +12 -12
  4. package/FileManagerSdk.js.map +1 -1
  5. package/LanguagesSdk.d.ts +2 -2
  6. package/LanguagesSdk.js.map +1 -1
  7. package/TasksSdk.d.ts +6 -6
  8. package/TasksSdk.js +1 -1
  9. package/TasksSdk.js.map +1 -1
  10. package/TenantManagerSdk.d.ts +6 -6
  11. package/TenantManagerSdk.js.map +1 -1
  12. package/errors.d.ts +10 -3
  13. package/errors.js +14 -2
  14. package/errors.js.map +1 -1
  15. package/index.d.ts +1 -1
  16. package/index.js +1 -1
  17. package/index.js.map +1 -1
  18. package/methods/cms/cmsTypes.d.ts +16 -0
  19. package/methods/cms/cmsTypes.js.map +1 -1
  20. package/methods/cms/createEntry.d.ts +3 -14
  21. package/methods/cms/createEntry.js +15 -13
  22. package/methods/cms/createEntry.js.map +1 -1
  23. package/methods/cms/deleteEntryRevision.d.ts +2 -3
  24. package/methods/cms/deleteEntryRevision.js +11 -14
  25. package/methods/cms/deleteEntryRevision.js.map +1 -1
  26. package/methods/cms/getEntry.d.ts +3 -18
  27. package/methods/cms/getEntry.js +17 -19
  28. package/methods/cms/getEntry.js.map +1 -1
  29. package/methods/cms/listEntries.d.ts +3 -19
  30. package/methods/cms/listEntries.js +19 -18
  31. package/methods/cms/listEntries.js.map +1 -1
  32. package/methods/cms/publishEntryRevision.d.ts +3 -14
  33. package/methods/cms/publishEntryRevision.js +15 -14
  34. package/methods/cms/publishEntryRevision.js.map +1 -1
  35. package/methods/cms/schemas.d.ts +43 -0
  36. package/methods/cms/schemas.js +50 -0
  37. package/methods/cms/schemas.js.map +1 -0
  38. package/methods/cms/unpublishEntryRevision.d.ts +3 -14
  39. package/methods/cms/unpublishEntryRevision.js +15 -14
  40. package/methods/cms/unpublishEntryRevision.js.map +1 -1
  41. package/methods/cms/updateEntryRevision.d.ts +3 -15
  42. package/methods/cms/updateEntryRevision.js +16 -14
  43. package/methods/cms/updateEntryRevision.js.map +1 -1
  44. package/methods/executeGraphQL.d.ts +2 -2
  45. package/methods/executeGraphQL.js +2 -2
  46. package/methods/executeGraphQL.js.map +1 -1
  47. package/methods/fileManager/completeMultiPartUpload.d.ts +3 -2
  48. package/methods/fileManager/completeMultiPartUpload.js +4 -7
  49. package/methods/fileManager/completeMultiPartUpload.js.map +1 -1
  50. package/methods/fileManager/createFile.d.ts +3 -2
  51. package/methods/fileManager/createFile.js +7 -16
  52. package/methods/fileManager/createFile.js.map +1 -1
  53. package/methods/fileManager/createFiles.d.ts +2 -2
  54. package/methods/fileManager/createFiles.js +4 -4
  55. package/methods/fileManager/createFiles.js.map +1 -1
  56. package/methods/fileManager/createMultiPartUpload.d.ts +3 -2
  57. package/methods/fileManager/createMultiPartUpload.js +4 -7
  58. package/methods/fileManager/createMultiPartUpload.js.map +1 -1
  59. package/methods/fileManager/deleteFile.d.ts +3 -2
  60. package/methods/fileManager/deleteFile.js +4 -7
  61. package/methods/fileManager/deleteFile.js.map +1 -1
  62. package/methods/fileManager/getFile.d.ts +3 -3
  63. package/methods/fileManager/getFile.js +13 -10
  64. package/methods/fileManager/getFile.js.map +1 -1
  65. package/methods/fileManager/getPresignedPostPayload.d.ts +3 -2
  66. package/methods/fileManager/getPresignedPostPayload.js +4 -7
  67. package/methods/fileManager/getPresignedPostPayload.js.map +1 -1
  68. package/methods/fileManager/getPresignedPostPayloads.d.ts +3 -2
  69. package/methods/fileManager/getPresignedPostPayloads.js +4 -7
  70. package/methods/fileManager/getPresignedPostPayloads.js.map +1 -1
  71. package/methods/fileManager/listFiles.d.ts +3 -3
  72. package/methods/fileManager/listFiles.js +13 -10
  73. package/methods/fileManager/listFiles.js.map +1 -1
  74. package/methods/fileManager/listTags.d.ts +3 -2
  75. package/methods/fileManager/listTags.js +3 -7
  76. package/methods/fileManager/listTags.js.map +1 -1
  77. package/methods/fileManager/schemas.d.ts +18 -0
  78. package/methods/fileManager/schemas.js +22 -0
  79. package/methods/fileManager/schemas.js.map +1 -0
  80. package/methods/fileManager/updateFile.d.ts +2 -3
  81. package/methods/fileManager/updateFile.js +11 -14
  82. package/methods/fileManager/updateFile.js.map +1 -1
  83. package/methods/fileManager/utils/uploadLargeFile.js +4 -8
  84. package/methods/fileManager/utils/uploadLargeFile.js.map +1 -1
  85. package/methods/languages/listLanguages.d.ts +3 -2
  86. package/methods/languages/listLanguages.js +3 -7
  87. package/methods/languages/listLanguages.js.map +1 -1
  88. package/methods/tasks/abortTask.d.ts +2 -3
  89. package/methods/tasks/abortTask.js +10 -13
  90. package/methods/tasks/abortTask.js.map +1 -1
  91. package/methods/tasks/listDefinitions.d.ts +3 -2
  92. package/methods/tasks/listDefinitions.js +3 -7
  93. package/methods/tasks/listDefinitions.js.map +1 -1
  94. package/methods/tasks/listLogs.d.ts +2 -3
  95. package/methods/tasks/listLogs.js +10 -10
  96. package/methods/tasks/listLogs.js.map +1 -1
  97. package/methods/tasks/listTasks.d.ts +3 -2
  98. package/methods/tasks/listTasks.js +3 -7
  99. package/methods/tasks/listTasks.js.map +1 -1
  100. package/methods/tasks/schemas.d.ts +14 -0
  101. package/methods/tasks/schemas.js +16 -0
  102. package/methods/tasks/schemas.js.map +1 -0
  103. package/methods/tasks/triggerTask.d.ts +2 -3
  104. package/methods/tasks/triggerTask.js +10 -13
  105. package/methods/tasks/triggerTask.js.map +1 -1
  106. package/methods/tenantManager/createTenant.d.ts +2 -3
  107. package/methods/tenantManager/createTenant.js +9 -12
  108. package/methods/tenantManager/createTenant.js.map +1 -1
  109. package/methods/tenantManager/disableTenant.d.ts +2 -3
  110. package/methods/tenantManager/disableTenant.js +9 -12
  111. package/methods/tenantManager/disableTenant.js.map +1 -1
  112. package/methods/tenantManager/enableTenant.d.ts +2 -3
  113. package/methods/tenantManager/enableTenant.js +9 -12
  114. package/methods/tenantManager/enableTenant.js.map +1 -1
  115. package/methods/tenantManager/getCurrentTenant.d.ts +3 -2
  116. package/methods/tenantManager/getCurrentTenant.js +3 -7
  117. package/methods/tenantManager/getCurrentTenant.js.map +1 -1
  118. package/methods/tenantManager/installTenant.d.ts +2 -3
  119. package/methods/tenantManager/installTenant.js +9 -12
  120. package/methods/tenantManager/installTenant.js.map +1 -1
  121. package/methods/tenantManager/schemas.d.ts +17 -0
  122. package/methods/tenantManager/schemas.js +20 -0
  123. package/methods/tenantManager/schemas.js.map +1 -0
  124. package/package.json +6 -14
  125. package/utils/createMethod.d.ts +19 -0
  126. package/utils/createMethod.js +27 -0
  127. package/utils/createMethod.js.map +1 -0
  128. package/utils/transformFieldErrors.d.ts +15 -0
  129. package/utils/transformFieldErrors.js +36 -0
  130. package/utils/transformFieldErrors.js.map +1 -0
  131. package/utils/validateParams.d.ts +10 -0
  132. package/utils/validateParams.js +23 -0
  133. package/utils/validateParams.js.map +1 -0
@@ -1,4 +1,8 @@
1
1
  import { Result } from "../../Result.js";
2
+ import { createMethod } from "../../utils/createMethod.js";
3
+ import { deleteEntryRevisionSchema } from "./schemas.js";
4
+ import { executeGraphQL } from "../executeGraphQL.js";
5
+ import { ApiError } from "../../errors.js";
2
6
  /**
3
7
  * Deletes an entry revision from the CMS.
4
8
  *
@@ -10,15 +14,11 @@ import { Result } from "../../Result.js";
10
14
  * @param params.permanent - Whether to permanently delete the entry (default: false)
11
15
  * @returns Result containing true if deletion succeeded or an error
12
16
  */
13
- export async function deleteEntryRevision(config, fetchFn, params) {
14
- const {
15
- modelId,
16
- revisionId,
17
- permanent = false
18
- } = params;
19
- const {
20
- executeGraphQL
21
- } = await import("../executeGraphQL.js");
17
+ export const deleteEntryRevision = createMethod(deleteEntryRevisionSchema, async (config, fetchFn, {
18
+ modelId,
19
+ revisionId,
20
+ permanent = false
21
+ }) => {
22
22
  const query = `
23
23
  mutation DeleteEntryRevision($modelId: ID!, $revisionId: ID!, $permanent: Boolean) {
24
24
  cms {
@@ -42,12 +42,9 @@ export async function deleteEntryRevision(config, fetchFn, params) {
42
42
  }
43
43
  const data = result.value;
44
44
  if (data.cms.deleteEntryRevision.error) {
45
- const {
46
- GraphQLError
47
- } = await import("../../errors.js");
48
- return Result.fail(new GraphQLError(data.cms.deleteEntryRevision.error.message, data.cms.deleteEntryRevision.error.code));
45
+ return Result.fail(new ApiError(data.cms.deleteEntryRevision.error.message, data.cms.deleteEntryRevision.error.code));
49
46
  }
50
47
  return Result.ok(data.cms.deleteEntryRevision.data);
51
- }
48
+ });
52
49
 
53
50
  //# sourceMappingURL=deleteEntryRevision.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","deleteEntryRevision","config","fetchFn","params","modelId","revisionId","permanent","executeGraphQL","query","result","isFail","data","value","cms","error","GraphQLError","fail","message","code","ok"],"sources":["deleteEntryRevision.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, GraphQLError, NetworkError } 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 async function deleteEntryRevision(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: DeleteEntryRevisionParams\n): Promise<Result<boolean, HttpError | GraphQLError | NetworkError>> {\n const { modelId, revisionId, permanent = false } = params;\n\n const { executeGraphQL } = await import(\"../executeGraphQL.js\");\n\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, { modelId, revisionId, permanent });\n\n if (result.isFail()) {\n return result;\n }\n\n const data = result.value;\n\n if (data.cms.deleteEntryRevision.error) {\n const { GraphQLError } = await import(\"../../errors.js\");\n return Result.fail(\n new GraphQLError(\n data.cms.deleteEntryRevision.error.message,\n data.cms.deleteEntryRevision.error.code\n )\n );\n }\n\n return Result.ok(data.cms.deleteEntryRevision.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AASf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,mBAAmBA,CACrCC,MAAoB,EACpBC,OAAqB,EACrBC,MAAiC,EACgC;EACjE,MAAM;IAAEC,OAAO;IAAEC,UAAU;IAAEC,SAAS,GAAG;EAAM,CAAC,GAAGH,MAAM;EAEzD,MAAM;IAAEI;EAAe,CAAC,GAAG,MAAM,MAAM,uBAAuB,CAAC;EAE/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMF,cAAc,CAACN,MAAM,EAAEC,OAAO,EAAEM,KAAK,EAAE;IAAEJ,OAAO;IAAEC,UAAU;IAAEC;EAAU,CAAC,CAAC;EAE/F,IAAIG,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOD,MAAM;EACjB;EAEA,MAAME,IAAI,GAAGF,MAAM,CAACG,KAAK;EAEzB,IAAID,IAAI,CAACE,GAAG,CAACb,mBAAmB,CAACc,KAAK,EAAE;IACpC,MAAM;MAAEC;IAAa,CAAC,GAAG,MAAM,MAAM,kBAAkB,CAAC;IACxD,OAAOhB,MAAM,CAACiB,IAAI,CACd,IAAID,YAAY,CACZJ,IAAI,CAACE,GAAG,CAACb,mBAAmB,CAACc,KAAK,CAACG,OAAO,EAC1CN,IAAI,CAACE,GAAG,CAACb,mBAAmB,CAACc,KAAK,CAACI,IACvC,CACJ,CAAC;EACL;EAEA,OAAOnB,MAAM,CAACoB,EAAE,CAACR,IAAI,CAACE,GAAG,CAACb,mBAAmB,CAACW,IAAI,CAAC;AACvD","ignoreList":[]}
1
+ {"version":3,"names":["Result","createMethod","deleteEntryRevisionSchema","executeGraphQL","ApiError","deleteEntryRevision","config","fetchFn","modelId","revisionId","permanent","query","result","isFail","data","value","cms","error","fail","message","code","ok"],"sources":["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"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,YAAY;AACrB,SAASC,yBAAyB;AAClC,SAASC,cAAc;AACvB,SAASC,QAAQ;AAQjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAGJ,YAAY,CAC3CC,yBAAyB,EACzB,OAAOI,MAAM,EAAEC,OAAO,EAAE;EAAEC,OAAO;EAAEC,UAAU;EAAEC,SAAS,GAAG;AAAM,CAAC,KAAK;EACnE,MAAMC,KAAK,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAEG,MAAMC,MAAM,GAAG,MAAMT,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAEI,KAAK,EAAE;IACxDH,OAAO;IACPC,UAAU;IACVC;EACJ,CAAC,CAAC;EAEF,IAAIE,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOD,MAAM;EACjB;EAEA,MAAME,IAAI,GAAGF,MAAM,CAACG,KAAK;EAEzB,IAAID,IAAI,CAACE,GAAG,CAACX,mBAAmB,CAACY,KAAK,EAAE;IACpC,OAAOjB,MAAM,CAACkB,IAAI,CACd,IAAId,QAAQ,CACRU,IAAI,CAACE,GAAG,CAACX,mBAAmB,CAACY,KAAK,CAACE,OAAO,EAC1CL,IAAI,CAACE,GAAG,CAACX,mBAAmB,CAACY,KAAK,CAACG,IACvC,CACJ,CAAC;EACL;EAEA,OAAOpB,MAAM,CAACqB,EAAE,CAACP,IAAI,CAACE,GAAG,CAACX,mBAAmB,CAACS,IAAe,CAAC;AAClE,CACJ,CAAC","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  import type { WebinyConfig } from "../../types.js";
2
2
  import { Result } from "../../Result.js";
3
- import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
3
+ import type { HttpError, NetworkError, ValidationError } from "../../errors.js";
4
4
  import type { CmsEntryValues, CmsEntryData } from "./cmsTypes.js";
5
+ import { ApiError } from "../../errors.js";
5
6
  export interface GetEntryWhere {
6
7
  id?: string;
7
8
  entryId?: string;
@@ -13,20 +14,4 @@ export interface GetEntryParams {
13
14
  fields: string[];
14
15
  preview?: boolean;
15
16
  }
16
- /**
17
- * Retrieves a single entry from the CMS.
18
- *
19
- * @template TValues - Type of the entry values object
20
- * @param config - SDK configuration
21
- * @param fetchFn - Fetch function to use for HTTP requests
22
- * @param params - Parameters for retrieving the entry
23
- * @param params.modelId - The model ID of the entry to retrieve
24
- * @param params.where - Where conditions to filter the entry. Can filter by id, entryId, or values
25
- * @param params.where.id - The revision ID (e.g., "123#0001")
26
- * @param params.where.entryId - The entry ID (e.g., "123")
27
- * @param params.where.values - Filter by entry values
28
- * @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"
29
- * @param params.preview - When true, uses preview API to access unpublished/draft content. When false (default), uses read API for published content only.
30
- * @returns Result containing the entry data or an error
31
- */
32
- export declare function getEntry<TValues extends CmsEntryValues = CmsEntryValues>(config: WebinyConfig, fetchFn: typeof fetch, params: GetEntryParams): Promise<Result<CmsEntryData<TValues>, HttpError | GraphQLError | NetworkError>>;
17
+ export declare function getEntry<TValues extends CmsEntryValues = CmsEntryValues>(config: WebinyConfig, fetchFn: typeof fetch, params: GetEntryParams): Promise<Result<CmsEntryData<TValues>, HttpError | ApiError | NetworkError | ValidationError>>;
@@ -1,4 +1,9 @@
1
1
  import { Result } from "../../Result.js";
2
+ import { transformFieldErrors } from "../../utils/transformFieldErrors.js";
3
+ import { createMethod } from "../../utils/createMethod.js";
4
+ import { getEntrySchema } from "./schemas.js";
5
+ import { executeGraphQL } from "../executeGraphQL.js";
6
+ import { ApiError } from "../../errors.js";
2
7
  /**
3
8
  * Retrieves a single entry from the CMS.
4
9
  *
@@ -8,23 +13,16 @@ import { Result } from "../../Result.js";
8
13
  * @param params - Parameters for retrieving the entry
9
14
  * @param params.modelId - The model ID of the entry to retrieve
10
15
  * @param params.where - Where conditions to filter the entry. Can filter by id, entryId, or values
11
- * @param params.where.id - The revision ID (e.g., "123#0001")
12
- * @param params.where.entryId - The entry ID (e.g., "123")
13
- * @param params.where.values - Filter by entry values
14
- * @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"
15
- * @param params.preview - When true, uses preview API to access unpublished/draft content. When false (default), uses read API for published content only.
16
+ * @param params.fields - Fields to include in the response
17
+ * @param params.preview - When true, uses preview API to access unpublished/draft content
16
18
  * @returns Result containing the entry data or an error
17
19
  */
18
- export async function getEntry(config, fetchFn, params) {
19
- const {
20
- modelId,
21
- where,
22
- fields,
23
- preview
24
- } = params;
25
- const {
26
- executeGraphQL
27
- } = await import("../executeGraphQL.js");
20
+ const _impl = createMethod(getEntrySchema, async (config, fetchFn, {
21
+ modelId,
22
+ where,
23
+ fields,
24
+ preview
25
+ }) => {
28
26
  const query = `
29
27
  query GetEntry($modelId: ID!, $where: JSON!, $fields: [String!]!, $preview: Boolean) {
30
28
  cms {
@@ -49,12 +47,12 @@ export async function getEntry(config, fetchFn, params) {
49
47
  }
50
48
  const responseData = result.value;
51
49
  if (responseData.cms.getEntry.error) {
52
- const {
53
- GraphQLError
54
- } = await import("../../errors.js");
55
- return Result.fail(new GraphQLError(responseData.cms.getEntry.error.message, responseData.cms.getEntry.error.code));
50
+ return Result.fail(new ApiError(transformFieldErrors(responseData.cms.getEntry.error.message, fields), responseData.cms.getEntry.error.code));
56
51
  }
57
52
  return Result.ok(responseData.cms.getEntry.data);
53
+ });
54
+ export function getEntry(config, fetchFn, params) {
55
+ return _impl(config, fetchFn, params);
58
56
  }
59
57
 
60
58
  //# sourceMappingURL=getEntry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","getEntry","config","fetchFn","params","modelId","where","fields","preview","executeGraphQL","query","result","isFail","fail","error","responseData","value","cms","GraphQLError","message","code","ok","data"],"sources":["getEntry.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, GraphQLError, NetworkError } from \"../../errors.js\";\nimport type { CmsEntryValues, CmsEntryData } from \"./cmsTypes.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.where.id - The revision ID (e.g., \"123#0001\")\n * @param params.where.entryId - The entry ID (e.g., \"123\")\n * @param params.where.values - Filter by entry values\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 * @param params.preview - When true, uses preview API to access unpublished/draft content. When false (default), uses read API for published content only.\n * @returns Result containing the entry data or an error\n */\nexport async function getEntry<TValues extends CmsEntryValues = CmsEntryValues>(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: GetEntryParams\n): Promise<Result<CmsEntryData<TValues>, HttpError | GraphQLError | NetworkError>> {\n const { modelId, where, fields, preview } = params;\n\n const { executeGraphQL } = await import(\"../executeGraphQL.js\");\n\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 const { GraphQLError } = await import(\"../../errors.js\");\n return Result.fail(\n new GraphQLError(\n responseData.cms.getEntry.error.message,\n responseData.cms.getEntry.error.code\n )\n );\n }\n\n return Result.ok(responseData.cms.getEntry.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAiBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,QAAQA,CAC1BC,MAAoB,EACpBC,OAAqB,EACrBC,MAAsB,EACyD;EAC/E,MAAM;IAAEC,OAAO;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,MAAM;EAElD,MAAM;IAAEK;EAAe,CAAC,GAAG,MAAM,MAAM,uBAAuB,CAAC;EAE/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMF,cAAc,CAACP,MAAM,EAAEC,OAAO,EAAEO,KAAK,EAAE;IACxDL,OAAO;IACPC,KAAK;IACLC,MAAM;IACNC;EACJ,CAAC,CAAC;EAEF,IAAIG,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,GAAG,CAAChB,QAAQ,CAACa,KAAK,EAAE;IACjC,MAAM;MAAEI;IAAa,CAAC,GAAG,MAAM,MAAM,kBAAkB,CAAC;IACxD,OAAOlB,MAAM,CAACa,IAAI,CACd,IAAIK,YAAY,CACZH,YAAY,CAACE,GAAG,CAAChB,QAAQ,CAACa,KAAK,CAACK,OAAO,EACvCJ,YAAY,CAACE,GAAG,CAAChB,QAAQ,CAACa,KAAK,CAACM,IACpC,CACJ,CAAC;EACL;EAEA,OAAOpB,MAAM,CAACqB,EAAE,CAACN,YAAY,CAACE,GAAG,CAAChB,QAAQ,CAACqB,IAAI,CAAC;AACpD","ignoreList":[]}
1
+ {"version":3,"names":["Result","transformFieldErrors","createMethod","getEntrySchema","executeGraphQL","ApiError","_impl","config","fetchFn","modelId","where","fields","preview","query","result","isFail","fail","error","responseData","value","cms","getEntry","message","code","ok","data","params"],"sources":["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"],"mappings":"AACA,SAASA,MAAM;AAGf,SAASC,oBAAoB;AAC7B,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,cAAc;AACvB,SAASC,QAAQ;AAejB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAGJ,YAAY,CACtBC,cAAc,EACd,OAAOI,MAAM,EAAEC,OAAO,EAAE;EAAEC,OAAO;EAAEC,KAAK;EAAEC,MAAM;EAAEC;AAAQ,CAAC,KAAK;EAC5D,MAAMC,KAAK,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAEG,MAAMC,MAAM,GAAG,MAAMV,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAEK,KAAK,EAAE;IACxDJ,OAAO;IACPC,KAAK;IACLC,MAAM;IACNC;EACJ,CAAC,CAAC;EAEF,IAAIE,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOf,MAAM,CAACgB,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,GAAG,CAACC,QAAQ,CAACJ,KAAK,EAAE;IACjC,OAAOjB,MAAM,CAACgB,IAAI,CACd,IAAIX,QAAQ,CACRJ,oBAAoB,CAACiB,YAAY,CAACE,GAAG,CAACC,QAAQ,CAACJ,KAAK,CAACK,OAAO,EAAEX,MAAM,CAAC,EACrEO,YAAY,CAACE,GAAG,CAACC,QAAQ,CAACJ,KAAK,CAACM,IACpC,CACJ,CAAC;EACL;EAEA,OAAOvB,MAAM,CAACwB,EAAE,CAACN,YAAY,CAACE,GAAG,CAACC,QAAQ,CAACI,IAAI,CAAC;AACpD,CACJ,CAAC;AAED,OAAO,SAASJ,QAAQA,CACpBd,MAAoB,EACpBC,OAAqB,EACrBkB,MAAsB,EACuE;EAC7F,OAAOpB,KAAK,CAACC,MAAM,EAAEC,OAAO,EAAEkB,MAAM,CAAC;AAGzC","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  import type { WebinyConfig } from "../../types.js";
2
2
  import { Result } from "../../Result.js";
3
- import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
3
+ import type { HttpError, NetworkError, ValidationError } from "../../errors.js";
4
4
  import type { CmsEntryValues, CmsEntryData } from "./cmsTypes.js";
5
+ import { ApiError } from "../../errors.js";
5
6
  export interface ListEntriesParams {
6
7
  modelId: string;
7
8
  where?: Record<string, unknown>;
@@ -20,21 +21,4 @@ export interface ListEntriesResult<TValues extends CmsEntryValues = CmsEntryValu
20
21
  totalCount: number;
21
22
  };
22
23
  }
23
- /**
24
- * Lists entries from the CMS with filtering, sorting, and pagination support.
25
- *
26
- * @template TValues - Type of the entry data objects. Users should specify this to include all fields they're requesting (id, entryId, values, createdOn, etc.)
27
- * @param config - SDK configuration
28
- * @param fetchFn - Fetch function to use for HTTP requests
29
- * @param params - Parameters for listing entries
30
- * @param params.modelId - The model ID of entries to list
31
- * @param params.where - Optional where conditions to filter entries
32
- * @param params.sort - Optional sort configuration
33
- * @param params.limit - Maximum number of entries to return (default: 10)
34
- * @param params.after - Cursor for pagination
35
- * @param params.search - Optional full-text search term to filter entries across searchable fields (text, longText fields with fullTextSearch enabled)
36
- * @param params.fields - Specific fields to return. Use "values." prefix for entry values (e.g., "values.author.name") or specify top-level fields like "createdOn"
37
- * @param params.preview - When true, uses preview API to access unpublished/draft content. When false (default), uses read API for published content only.
38
- * @returns Result containing list of entries with pagination metadata or an error
39
- */
40
- export declare function listEntries<TValues extends CmsEntryValues = CmsEntryValues>(config: WebinyConfig, fetchFn: typeof fetch, params: ListEntriesParams): Promise<Result<ListEntriesResult<TValues>, HttpError | GraphQLError | NetworkError>>;
24
+ export declare function listEntries<TValues extends CmsEntryValues = CmsEntryValues>(config: WebinyConfig, fetchFn: typeof fetch, params: ListEntriesParams): Promise<Result<ListEntriesResult<TValues>, HttpError | ApiError | NetworkError | ValidationError>>;
@@ -1,4 +1,9 @@
1
1
  import { Result } from "../../Result.js";
2
+ import { transformFieldErrors } from "../../utils/transformFieldErrors.js";
3
+ import { createMethod } from "../../utils/createMethod.js";
4
+ import { listEntriesSchema } from "./schemas.js";
5
+ import { executeGraphQL } from "../executeGraphQL.js";
6
+ import { ApiError } from "../../errors.js";
2
7
  /**
3
8
  * Lists entries from the CMS with filtering, sorting, and pagination support.
4
9
  *
@@ -16,20 +21,16 @@ import { Result } from "../../Result.js";
16
21
  * @param params.preview - When true, uses preview API to access unpublished/draft content. When false (default), uses read API for published content only.
17
22
  * @returns Result containing list of entries with pagination metadata or an error
18
23
  */
19
- export async function listEntries(config, fetchFn, params) {
20
- const {
21
- modelId,
22
- where,
23
- sort,
24
- limit = 10,
25
- after,
26
- search,
27
- fields,
28
- preview
29
- } = params;
30
- const {
31
- executeGraphQL
32
- } = await import("../executeGraphQL.js");
24
+ const _impl = createMethod(listEntriesSchema, async (config, fetchFn, {
25
+ modelId,
26
+ where,
27
+ sort,
28
+ limit = 10,
29
+ after,
30
+ search,
31
+ fields,
32
+ preview
33
+ }) => {
33
34
  const query = `
34
35
  query ListEntries(
35
36
  $modelId: ID!
@@ -81,15 +82,15 @@ export async function listEntries(config, fetchFn, params) {
81
82
  }
82
83
  const responseData = result.value;
83
84
  if (responseData.cms.listEntries.error) {
84
- const {
85
- GraphQLError
86
- } = await import("../../errors.js");
87
- return Result.fail(new GraphQLError(responseData.cms.listEntries.error.message, responseData.cms.listEntries.error.code));
85
+ return Result.fail(new ApiError(transformFieldErrors(responseData.cms.listEntries.error.message, fields), responseData.cms.listEntries.error.code));
88
86
  }
89
87
  return Result.ok({
90
88
  data: responseData.cms.listEntries.data,
91
89
  meta: responseData.cms.listEntries.meta
92
90
  });
91
+ });
92
+ export function listEntries(config, fetchFn, params) {
93
+ return _impl(config, fetchFn, params);
93
94
  }
94
95
 
95
96
  //# sourceMappingURL=listEntries.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","listEntries","config","fetchFn","params","modelId","where","sort","limit","after","search","fields","preview","executeGraphQL","query","result","isFail","fail","error","responseData","value","cms","GraphQLError","message","code","ok","data","meta"],"sources":["listEntries.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, GraphQLError, NetworkError } from \"../../errors.js\";\nimport type { CmsEntryValues, CmsEntryData } from \"./cmsTypes.js\";\n\nexport interface ListEntriesParams {\n modelId: string;\n where?: Record<string, unknown>;\n sort?: Record<string, \"asc\" | \"desc\">;\n limit?: number;\n after?: string;\n search?: string;\n fields: string[];\n preview?: boolean;\n}\n\nexport interface ListEntriesResult<TValues extends CmsEntryValues = CmsEntryValues> {\n data: CmsEntryData<TValues>[];\n meta: {\n cursor: string | null;\n hasMoreItems: boolean;\n totalCount: number;\n };\n}\n\n/**\n * Lists entries from the CMS with filtering, sorting, and pagination support.\n *\n * @template TValues - Type of the entry data objects. Users should specify this to include all fields they're requesting (id, entryId, values, createdOn, etc.)\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for listing entries\n * @param params.modelId - The model ID of entries to list\n * @param params.where - Optional where conditions to filter entries\n * @param params.sort - Optional sort configuration\n * @param params.limit - Maximum number of entries to return (default: 10)\n * @param params.after - Cursor for pagination\n * @param params.search - Optional full-text search term to filter entries across searchable fields (text, longText fields with fullTextSearch enabled)\n * @param params.fields - Specific fields to return. Use \"values.\" prefix for entry values (e.g., \"values.author.name\") or specify top-level fields like \"createdOn\"\n * @param params.preview - When true, uses preview API to access unpublished/draft content. When false (default), uses read API for published content only.\n * @returns Result containing list of entries with pagination metadata or an error\n */\nexport async function listEntries<TValues extends CmsEntryValues = CmsEntryValues>(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: ListEntriesParams\n): Promise<Result<ListEntriesResult<TValues>, HttpError | GraphQLError | NetworkError>> {\n const { modelId, where, sort, limit = 10, after, search, fields, preview } = params;\n\n const { executeGraphQL } = await import(\"../executeGraphQL.js\");\n\n const query = `\n query ListEntries(\n $modelId: ID!\n $where: JSON\n $sort: JSON\n $limit: Int\n $after: String\n $search: String\n $fields: [String!]!\n $preview: Boolean\n ) {\n cms {\n listEntries(\n modelId: $modelId\n where: $where\n sort: $sort\n limit: $limit\n after: $after\n search: $search\n fields: $fields\n preview: $preview\n ) {\n data\n meta {\n cursor\n hasMoreItems\n totalCount\n }\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 sort,\n limit,\n after,\n search,\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.listEntries.error) {\n const { GraphQLError } = await import(\"../../errors.js\");\n return Result.fail(\n new GraphQLError(\n responseData.cms.listEntries.error.message,\n responseData.cms.listEntries.error.code\n )\n );\n }\n\n return Result.ok({\n data: responseData.cms.listEntries.data,\n meta: responseData.cms.listEntries.meta\n });\n}\n"],"mappings":"AACA,SAASA,MAAM;AAwBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,WAAWA,CAC7BC,MAAoB,EACpBC,OAAqB,EACrBC,MAAyB,EAC2D;EACpF,MAAM;IAAEC,OAAO;IAAEC,KAAK;IAAEC,IAAI;IAAEC,KAAK,GAAG,EAAE;IAAEC,KAAK;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGR,MAAM;EAEnF,MAAM;IAAES;EAAe,CAAC,GAAG,MAAM,MAAM,uBAAuB,CAAC;EAE/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,MAAMF,cAAc,CAACX,MAAM,EAAEC,OAAO,EAAEW,KAAK,EAAE;IACxDT,OAAO;IACPC,KAAK;IACLC,IAAI;IACJC,KAAK;IACLC,KAAK;IACLC,MAAM;IACNC,MAAM;IACNC;EACJ,CAAC,CAAC;EAEF,IAAIG,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOhB,MAAM,CAACiB,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,GAAG,CAACpB,WAAW,CAACiB,KAAK,EAAE;IACpC,MAAM;MAAEI;IAAa,CAAC,GAAG,MAAM,MAAM,kBAAkB,CAAC;IACxD,OAAOtB,MAAM,CAACiB,IAAI,CACd,IAAIK,YAAY,CACZH,YAAY,CAACE,GAAG,CAACpB,WAAW,CAACiB,KAAK,CAACK,OAAO,EAC1CJ,YAAY,CAACE,GAAG,CAACpB,WAAW,CAACiB,KAAK,CAACM,IACvC,CACJ,CAAC;EACL;EAEA,OAAOxB,MAAM,CAACyB,EAAE,CAAC;IACbC,IAAI,EAAEP,YAAY,CAACE,GAAG,CAACpB,WAAW,CAACyB,IAAI;IACvCC,IAAI,EAAER,YAAY,CAACE,GAAG,CAACpB,WAAW,CAAC0B;EACvC,CAAC,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"names":["Result","transformFieldErrors","createMethod","listEntriesSchema","executeGraphQL","ApiError","_impl","config","fetchFn","modelId","where","sort","limit","after","search","fields","preview","query","result","isFail","fail","error","responseData","value","cms","listEntries","message","code","ok","data","meta","params"],"sources":["listEntries.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 { listEntriesSchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface ListEntriesParams {\n modelId: string;\n where?: Record<string, unknown>;\n sort?: Record<string, \"asc\" | \"desc\">;\n limit?: number;\n after?: string;\n search?: string;\n fields: string[];\n preview?: boolean;\n}\n\nexport interface ListEntriesResult<TValues extends CmsEntryValues = CmsEntryValues> {\n data: CmsEntryData<TValues>[];\n meta: {\n cursor: string | null;\n hasMoreItems: boolean;\n totalCount: number;\n };\n}\n\n/**\n * Lists entries from the CMS with filtering, sorting, and pagination support.\n *\n * @template TValues - Type of the entry data objects. Users should specify this to include all fields they're requesting (id, entryId, values, createdOn, etc.)\n * @param config - SDK configuration\n * @param fetchFn - Fetch function to use for HTTP requests\n * @param params - Parameters for listing entries\n * @param params.modelId - The model ID of entries to list\n * @param params.where - Optional where conditions to filter entries\n * @param params.sort - Optional sort configuration\n * @param params.limit - Maximum number of entries to return (default: 10)\n * @param params.after - Cursor for pagination\n * @param params.search - Optional full-text search term to filter entries across searchable fields (text, longText fields with fullTextSearch enabled)\n * @param params.fields - Specific fields to return. Use \"values.\" prefix for entry values (e.g., \"values.author.name\") or specify top-level fields like \"createdOn\"\n * @param params.preview - When true, uses preview API to access unpublished/draft content. When false (default), uses read API for published content only.\n * @returns Result containing list of entries with pagination metadata or an error\n */\nconst _impl = createMethod(\n listEntriesSchema,\n async (\n config,\n fetchFn,\n { modelId, where, sort, limit = 10, after, search, fields, preview }\n ) => {\n const query = `\n query ListEntries(\n $modelId: ID!\n $where: JSON\n $sort: JSON\n $limit: Int\n $after: String\n $search: String\n $fields: [String!]!\n $preview: Boolean\n ) {\n cms {\n listEntries(\n modelId: $modelId\n where: $where\n sort: $sort\n limit: $limit\n after: $after\n search: $search\n fields: $fields\n preview: $preview\n ) {\n data\n meta {\n cursor\n hasMoreItems\n totalCount\n }\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 sort,\n limit,\n after,\n search,\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.listEntries.error) {\n return Result.fail(\n new ApiError(\n transformFieldErrors(responseData.cms.listEntries.error.message, fields),\n responseData.cms.listEntries.error.code\n )\n );\n }\n\n return Result.ok({\n data: responseData.cms.listEntries.data,\n meta: responseData.cms.listEntries.meta\n });\n }\n);\n\nexport function listEntries<TValues extends CmsEntryValues = CmsEntryValues>(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: ListEntriesParams\n): Promise<\n Result<ListEntriesResult<TValues>, HttpError | ApiError | NetworkError | ValidationError>\n> {\n return _impl(config, fetchFn, params) as Promise<\n Result<ListEntriesResult<TValues>, HttpError | ApiError | NetworkError | ValidationError>\n >;\n}\n"],"mappings":"AACA,SAASA,MAAM;AAGf,SAASC,oBAAoB;AAC7B,SAASC,YAAY;AACrB,SAASC,iBAAiB;AAC1B,SAASC,cAAc;AACvB,SAASC,QAAQ;AAsBjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAGJ,YAAY,CACtBC,iBAAiB,EACjB,OACII,MAAM,EACNC,OAAO,EACP;EAAEC,OAAO;EAAEC,KAAK;EAAEC,IAAI;EAAEC,KAAK,GAAG,EAAE;EAAEC,KAAK;EAAEC,MAAM;EAAEC,MAAM;EAAEC;AAAQ,CAAC,KACnE;EACD,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAEG,MAAMC,MAAM,GAAG,MAAMd,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAES,KAAK,EAAE;IACxDR,OAAO;IACPC,KAAK;IACLC,IAAI;IACJC,KAAK;IACLC,KAAK;IACLC,MAAM;IACNC,MAAM;IACNC;EACJ,CAAC,CAAC;EAEF,IAAIE,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOnB,MAAM,CAACoB,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,GAAG,CAACC,WAAW,CAACJ,KAAK,EAAE;IACpC,OAAOrB,MAAM,CAACoB,IAAI,CACd,IAAIf,QAAQ,CACRJ,oBAAoB,CAACqB,YAAY,CAACE,GAAG,CAACC,WAAW,CAACJ,KAAK,CAACK,OAAO,EAAEX,MAAM,CAAC,EACxEO,YAAY,CAACE,GAAG,CAACC,WAAW,CAACJ,KAAK,CAACM,IACvC,CACJ,CAAC;EACL;EAEA,OAAO3B,MAAM,CAAC4B,EAAE,CAAC;IACbC,IAAI,EAAEP,YAAY,CAACE,GAAG,CAACC,WAAW,CAACI,IAAI;IACvCC,IAAI,EAAER,YAAY,CAACE,GAAG,CAACC,WAAW,CAACK;EACvC,CAAC,CAAC;AACN,CACJ,CAAC;AAED,OAAO,SAASL,WAAWA,CACvBlB,MAAoB,EACpBC,OAAqB,EACrBuB,MAAyB,EAG3B;EACE,OAAOzB,KAAK,CAACC,MAAM,EAAEC,OAAO,EAAEuB,MAAM,CAAC;AAGzC","ignoreList":[]}
@@ -1,22 +1,11 @@
1
1
  import type { WebinyConfig } from "../../types.js";
2
2
  import { Result } from "../../Result.js";
3
- import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
3
+ import type { HttpError, NetworkError, ValidationError } from "../../errors.js";
4
4
  import type { CmsEntryValues, CmsEntryData } from "./cmsTypes.js";
5
+ import { ApiError } from "../../errors.js";
5
6
  export interface PublishEntryRevisionParams {
6
7
  modelId: string;
7
8
  revisionId: string;
8
9
  fields: string[];
9
10
  }
10
- /**
11
- * Publishes an entry revision in the CMS.
12
- *
13
- * @template TValues - Type of the entry values object
14
- * @param config - SDK configuration
15
- * @param fetchFn - Fetch function to use for HTTP requests
16
- * @param params - Parameters for publishing the entry revision
17
- * @param params.modelId - The model ID of the entry to publish
18
- * @param params.revisionId - The revision ID of the entry to publish (e.g., "123#0001")
19
- * @param params.fields - Fields to include in response. Use "values." prefix for entry values (e.g., "values.author.name")
20
- * @returns Result containing the published entry data or an error
21
- */
22
- export declare function publishEntryRevision<TValues extends CmsEntryValues = CmsEntryValues>(config: WebinyConfig, fetchFn: typeof fetch, params: PublishEntryRevisionParams): Promise<Result<CmsEntryData<TValues>, HttpError | GraphQLError | NetworkError>>;
11
+ export declare function publishEntryRevision<TValues extends CmsEntryValues = CmsEntryValues>(config: WebinyConfig, fetchFn: typeof fetch, params: PublishEntryRevisionParams): Promise<Result<CmsEntryData<TValues>, HttpError | ApiError | NetworkError | ValidationError>>;
@@ -1,4 +1,9 @@
1
1
  import { Result } from "../../Result.js";
2
+ import { transformFieldErrors } from "../../utils/transformFieldErrors.js";
3
+ import { createMethod } from "../../utils/createMethod.js";
4
+ import { publishEntryRevisionSchema } from "./schemas.js";
5
+ import { executeGraphQL } from "../executeGraphQL.js";
6
+ import { ApiError } from "../../errors.js";
2
7
  /**
3
8
  * Publishes an entry revision in the CMS.
4
9
  *
@@ -8,18 +13,14 @@ import { Result } from "../../Result.js";
8
13
  * @param params - Parameters for publishing the entry revision
9
14
  * @param params.modelId - The model ID of the entry to publish
10
15
  * @param params.revisionId - The revision ID of the entry to publish (e.g., "123#0001")
11
- * @param params.fields - Fields to include in response. Use "values." prefix for entry values (e.g., "values.author.name")
16
+ * @param params.fields - Fields to include in response
12
17
  * @returns Result containing the published entry data or an error
13
18
  */
14
- export async function publishEntryRevision(config, fetchFn, params) {
15
- const {
16
- modelId,
17
- revisionId,
18
- fields
19
- } = params;
20
- const {
21
- executeGraphQL
22
- } = await import("../executeGraphQL.js");
19
+ const _impl = createMethod(publishEntryRevisionSchema, async (config, fetchFn, {
20
+ modelId,
21
+ revisionId,
22
+ fields
23
+ }) => {
23
24
  const query = `
24
25
  mutation PublishEntryRevision($modelId: ID!, $revisionId: ID!, $fields: [String!]!) {
25
26
  cms {
@@ -43,12 +44,12 @@ export async function publishEntryRevision(config, fetchFn, params) {
43
44
  }
44
45
  const responseData = result.value;
45
46
  if (responseData.cms.publishEntryRevision.error) {
46
- const {
47
- GraphQLError
48
- } = await import("../../errors.js");
49
- return Result.fail(new GraphQLError(responseData.cms.publishEntryRevision.error.message, responseData.cms.publishEntryRevision.error.code));
47
+ return Result.fail(new ApiError(transformFieldErrors(responseData.cms.publishEntryRevision.error.message, fields), responseData.cms.publishEntryRevision.error.code));
50
48
  }
51
49
  return Result.ok(responseData.cms.publishEntryRevision.data);
50
+ });
51
+ export function publishEntryRevision(config, fetchFn, params) {
52
+ return _impl(config, fetchFn, params);
52
53
  }
53
54
 
54
55
  //# sourceMappingURL=publishEntryRevision.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","publishEntryRevision","config","fetchFn","params","modelId","revisionId","fields","executeGraphQL","query","result","isFail","fail","error","responseData","value","cms","GraphQLError","message","code","ok","data"],"sources":["publishEntryRevision.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, GraphQLError, NetworkError } from \"../../errors.js\";\nimport type { CmsEntryValues, CmsEntryData } from \"./cmsTypes.js\";\n\nexport interface PublishEntryRevisionParams {\n modelId: string;\n revisionId: string;\n fields: string[];\n}\n\n/**\n * Publishes an entry revision in 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 publishing the entry revision\n * @param params.modelId - The model ID of the entry to publish\n * @param params.revisionId - The revision ID of the entry to publish (e.g., \"123#0001\")\n * @param params.fields - Fields to include in response. Use \"values.\" prefix for entry values (e.g., \"values.author.name\")\n * @returns Result containing the published entry data or an error\n */\nexport async function publishEntryRevision<TValues extends CmsEntryValues = CmsEntryValues>(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: PublishEntryRevisionParams\n): Promise<Result<CmsEntryData<TValues>, HttpError | GraphQLError | NetworkError>> {\n const { modelId, revisionId, fields } = params;\n\n const { executeGraphQL } = await import(\"../executeGraphQL.js\");\n\n const query = `\n mutation PublishEntryRevision($modelId: ID!, $revisionId: ID!, $fields: [String!]!) {\n cms {\n publishEntryRevision(modelId: $modelId, revisionId: $revisionId, 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, revisionId, fields });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.cms.publishEntryRevision.error) {\n const { GraphQLError } = await import(\"../../errors.js\");\n return Result.fail(\n new GraphQLError(\n responseData.cms.publishEntryRevision.error.message,\n responseData.cms.publishEntryRevision.error.code\n )\n );\n }\n\n return Result.ok(responseData.cms.publishEntryRevision.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAUf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,oBAAoBA,CACtCC,MAAoB,EACpBC,OAAqB,EACrBC,MAAkC,EAC6C;EAC/E,MAAM;IAAEC,OAAO;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAGH,MAAM;EAE9C,MAAM;IAAEI;EAAe,CAAC,GAAG,MAAM,MAAM,uBAAuB,CAAC;EAE/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMF,cAAc,CAACN,MAAM,EAAEC,OAAO,EAAEM,KAAK,EAAE;IAAEJ,OAAO;IAAEC,UAAU;IAAEC;EAAO,CAAC,CAAC;EAE5F,IAAIG,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,GAAG,CAACf,oBAAoB,CAACY,KAAK,EAAE;IAC7C,MAAM;MAAEI;IAAa,CAAC,GAAG,MAAM,MAAM,kBAAkB,CAAC;IACxD,OAAOjB,MAAM,CAACY,IAAI,CACd,IAAIK,YAAY,CACZH,YAAY,CAACE,GAAG,CAACf,oBAAoB,CAACY,KAAK,CAACK,OAAO,EACnDJ,YAAY,CAACE,GAAG,CAACf,oBAAoB,CAACY,KAAK,CAACM,IAChD,CACJ,CAAC;EACL;EAEA,OAAOnB,MAAM,CAACoB,EAAE,CAACN,YAAY,CAACE,GAAG,CAACf,oBAAoB,CAACoB,IAAI,CAAC;AAChE","ignoreList":[]}
1
+ {"version":3,"names":["Result","transformFieldErrors","createMethod","publishEntryRevisionSchema","executeGraphQL","ApiError","_impl","config","fetchFn","modelId","revisionId","fields","query","result","isFail","fail","error","responseData","value","cms","publishEntryRevision","message","code","ok","data","params"],"sources":["publishEntryRevision.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 { publishEntryRevisionSchema } from \"./schemas.js\";\nimport { executeGraphQL } from \"../executeGraphQL.js\";\nimport { ApiError } from \"../../errors.js\";\n\nexport interface PublishEntryRevisionParams {\n modelId: string;\n revisionId: string;\n fields: string[];\n}\n\n/**\n * Publishes an entry revision in 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 publishing the entry revision\n * @param params.modelId - The model ID of the entry to publish\n * @param params.revisionId - The revision ID of the entry to publish (e.g., \"123#0001\")\n * @param params.fields - Fields to include in response\n * @returns Result containing the published entry data or an error\n */\nconst _impl = createMethod(\n publishEntryRevisionSchema,\n async (config, fetchFn, { modelId, revisionId, fields }) => {\n const query = `\n mutation PublishEntryRevision($modelId: ID!, $revisionId: ID!, $fields: [String!]!) {\n cms {\n publishEntryRevision(modelId: $modelId, revisionId: $revisionId, fields: $fields) {\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 fields\n });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.cms.publishEntryRevision.error) {\n return Result.fail(\n new ApiError(\n transformFieldErrors(\n responseData.cms.publishEntryRevision.error.message,\n fields\n ),\n responseData.cms.publishEntryRevision.error.code\n )\n );\n }\n\n return Result.ok(responseData.cms.publishEntryRevision.data);\n }\n);\n\nexport function publishEntryRevision<TValues extends CmsEntryValues = CmsEntryValues>(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n params: PublishEntryRevisionParams\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"],"mappings":"AACA,SAASA,MAAM;AAGf,SAASC,oBAAoB;AAC7B,SAASC,YAAY;AACrB,SAASC,0BAA0B;AACnC,SAASC,cAAc;AACvB,SAASC,QAAQ;AAQjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAGJ,YAAY,CACtBC,0BAA0B,EAC1B,OAAOI,MAAM,EAAEC,OAAO,EAAE;EAAEC,OAAO;EAAEC,UAAU;EAAEC;AAAO,CAAC,KAAK;EACxD,MAAMC,KAAK,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAEG,MAAMC,MAAM,GAAG,MAAMT,cAAc,CAACG,MAAM,EAAEC,OAAO,EAAEI,KAAK,EAAE;IACxDH,OAAO;IACPC,UAAU;IACVC;EACJ,CAAC,CAAC;EAEF,IAAIE,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOd,MAAM,CAACe,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,GAAG,CAACC,oBAAoB,CAACJ,KAAK,EAAE;IAC7C,OAAOhB,MAAM,CAACe,IAAI,CACd,IAAIV,QAAQ,CACRJ,oBAAoB,CAChBgB,YAAY,CAACE,GAAG,CAACC,oBAAoB,CAACJ,KAAK,CAACK,OAAO,EACnDV,MACJ,CAAC,EACDM,YAAY,CAACE,GAAG,CAACC,oBAAoB,CAACJ,KAAK,CAACM,IAChD,CACJ,CAAC;EACL;EAEA,OAAOtB,MAAM,CAACuB,EAAE,CAACN,YAAY,CAACE,GAAG,CAACC,oBAAoB,CAACI,IAAI,CAAC;AAChE,CACJ,CAAC;AAED,OAAO,SAASJ,oBAAoBA,CAChCb,MAAoB,EACpBC,OAAqB,EACrBiB,MAAkC,EAC2D;EAC7F,OAAOnB,KAAK,CAACC,MAAM,EAAEC,OAAO,EAAEiB,MAAM,CAAC;AAGzC","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ import { z } from "zod";
2
+ export declare const listEntriesSchema: z.ZodObject<{
3
+ modelId: z.ZodString;
4
+ where: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
5
+ sort: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<"asc">, z.ZodLiteral<"desc">]>>>;
6
+ limit: z.ZodOptional<z.ZodNumber>;
7
+ after: z.ZodOptional<z.ZodString>;
8
+ search: z.ZodOptional<z.ZodString>;
9
+ fields: z.ZodArray<z.ZodString>;
10
+ preview: z.ZodOptional<z.ZodBoolean>;
11
+ }, z.core.$strip>;
12
+ export declare const getEntrySchema: z.ZodObject<{
13
+ modelId: z.ZodString;
14
+ where: z.ZodRecord<z.ZodString, z.ZodUnknown>;
15
+ fields: z.ZodArray<z.ZodString>;
16
+ preview: z.ZodOptional<z.ZodBoolean>;
17
+ }, z.core.$strip>;
18
+ export declare const createEntrySchema: z.ZodObject<{
19
+ modelId: z.ZodString;
20
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
21
+ fields: z.ZodArray<z.ZodString>;
22
+ }, z.core.$strip>;
23
+ export declare const updateEntryRevisionSchema: z.ZodObject<{
24
+ modelId: z.ZodString;
25
+ revisionId: z.ZodString;
26
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
27
+ fields: z.ZodArray<z.ZodString>;
28
+ }, z.core.$strip>;
29
+ export declare const publishEntryRevisionSchema: z.ZodObject<{
30
+ modelId: z.ZodString;
31
+ revisionId: z.ZodString;
32
+ fields: z.ZodArray<z.ZodString>;
33
+ }, z.core.$strip>;
34
+ export declare const unpublishEntryRevisionSchema: z.ZodObject<{
35
+ modelId: z.ZodString;
36
+ revisionId: z.ZodString;
37
+ fields: z.ZodArray<z.ZodString>;
38
+ }, z.core.$strip>;
39
+ export declare const deleteEntryRevisionSchema: z.ZodObject<{
40
+ modelId: z.ZodString;
41
+ revisionId: z.ZodString;
42
+ permanent: z.ZodOptional<z.ZodBoolean>;
43
+ }, z.core.$strip>;
@@ -0,0 +1,50 @@
1
+ import { z } from "zod";
2
+ const modelId = z.string().min(1, "modelId is required");
3
+ const revisionId = z.string().min(1, "revisionId is required");
4
+ const fields = z.array(z.string().min(1)).min(1, "fields must contain at least one entry");
5
+ const where = z.record(z.string(), z.unknown()).optional();
6
+ const preview = z.boolean().optional();
7
+ export const listEntriesSchema = z.object({
8
+ modelId,
9
+ where,
10
+ sort: z.record(z.string(), z.union([z.literal("asc"), z.literal("desc")])).optional(),
11
+ limit: z.number().int().positive().optional(),
12
+ after: z.string().optional(),
13
+ search: z.string().optional(),
14
+ fields,
15
+ preview
16
+ });
17
+ export const getEntrySchema = z.object({
18
+ modelId,
19
+ where: z.record(z.string(), z.unknown()),
20
+ fields,
21
+ preview
22
+ });
23
+ export const createEntrySchema = z.object({
24
+ modelId,
25
+ data: z.record(z.string(), z.unknown()),
26
+ fields
27
+ });
28
+ export const updateEntryRevisionSchema = z.object({
29
+ modelId,
30
+ revisionId,
31
+ data: z.record(z.string(), z.unknown()),
32
+ fields
33
+ });
34
+ export const publishEntryRevisionSchema = z.object({
35
+ modelId,
36
+ revisionId,
37
+ fields
38
+ });
39
+ export const unpublishEntryRevisionSchema = z.object({
40
+ modelId,
41
+ revisionId,
42
+ fields
43
+ });
44
+ export const deleteEntryRevisionSchema = z.object({
45
+ modelId,
46
+ revisionId,
47
+ permanent: z.boolean().optional()
48
+ });
49
+
50
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["z","modelId","string","min","revisionId","fields","array","where","record","unknown","optional","preview","boolean","listEntriesSchema","object","sort","union","literal","limit","number","int","positive","after","search","getEntrySchema","createEntrySchema","data","updateEntryRevisionSchema","publishEntryRevisionSchema","unpublishEntryRevisionSchema","deleteEntryRevisionSchema","permanent"],"sources":["schemas.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst modelId = z.string().min(1, \"modelId is required\");\nconst revisionId = z.string().min(1, \"revisionId is required\");\nconst fields = z.array(z.string().min(1)).min(1, \"fields must contain at least one entry\");\nconst where = z.record(z.string(), z.unknown()).optional();\nconst preview = z.boolean().optional();\n\nexport const listEntriesSchema = z.object({\n modelId,\n where,\n sort: z.record(z.string(), z.union([z.literal(\"asc\"), z.literal(\"desc\")])).optional(),\n limit: z.number().int().positive().optional(),\n after: z.string().optional(),\n search: z.string().optional(),\n fields,\n preview\n});\n\nexport const getEntrySchema = z.object({\n modelId,\n where: z.record(z.string(), z.unknown()),\n fields,\n preview\n});\n\nexport const createEntrySchema = z.object({\n modelId,\n data: z.record(z.string(), z.unknown()),\n fields\n});\n\nexport const updateEntryRevisionSchema = z.object({\n modelId,\n revisionId,\n data: z.record(z.string(), z.unknown()),\n fields\n});\n\nexport const publishEntryRevisionSchema = z.object({\n modelId,\n revisionId,\n fields\n});\n\nexport const unpublishEntryRevisionSchema = z.object({\n modelId,\n revisionId,\n fields\n});\n\nexport const deleteEntryRevisionSchema = z.object({\n modelId,\n revisionId,\n permanent: z.boolean().optional()\n});\n"],"mappings":"AAAA,SAASA,CAAC,QAAQ,KAAK;AAEvB,MAAMC,OAAO,GAAGD,CAAC,CAACE,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,EAAE,qBAAqB,CAAC;AACxD,MAAMC,UAAU,GAAGJ,CAAC,CAACE,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;AAC9D,MAAME,MAAM,GAAGL,CAAC,CAACM,KAAK,CAACN,CAAC,CAACE,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACA,GAAG,CAAC,CAAC,EAAE,wCAAwC,CAAC;AAC1F,MAAMI,KAAK,GAAGP,CAAC,CAACQ,MAAM,CAACR,CAAC,CAACE,MAAM,CAAC,CAAC,EAAEF,CAAC,CAACS,OAAO,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;AAC1D,MAAMC,OAAO,GAAGX,CAAC,CAACY,OAAO,CAAC,CAAC,CAACF,QAAQ,CAAC,CAAC;AAEtC,OAAO,MAAMG,iBAAiB,GAAGb,CAAC,CAACc,MAAM,CAAC;EACtCb,OAAO;EACPM,KAAK;EACLQ,IAAI,EAAEf,CAAC,CAACQ,MAAM,CAACR,CAAC,CAACE,MAAM,CAAC,CAAC,EAAEF,CAAC,CAACgB,KAAK,CAAC,CAAChB,CAAC,CAACiB,OAAO,CAAC,KAAK,CAAC,EAAEjB,CAAC,CAACiB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACP,QAAQ,CAAC,CAAC;EACrFQ,KAAK,EAAElB,CAAC,CAACmB,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,CAACX,QAAQ,CAAC,CAAC;EAC7CY,KAAK,EAAEtB,CAAC,CAACE,MAAM,CAAC,CAAC,CAACQ,QAAQ,CAAC,CAAC;EAC5Ba,MAAM,EAAEvB,CAAC,CAACE,MAAM,CAAC,CAAC,CAACQ,QAAQ,CAAC,CAAC;EAC7BL,MAAM;EACNM;AACJ,CAAC,CAAC;AAEF,OAAO,MAAMa,cAAc,GAAGxB,CAAC,CAACc,MAAM,CAAC;EACnCb,OAAO;EACPM,KAAK,EAAEP,CAAC,CAACQ,MAAM,CAACR,CAAC,CAACE,MAAM,CAAC,CAAC,EAAEF,CAAC,CAACS,OAAO,CAAC,CAAC,CAAC;EACxCJ,MAAM;EACNM;AACJ,CAAC,CAAC;AAEF,OAAO,MAAMc,iBAAiB,GAAGzB,CAAC,CAACc,MAAM,CAAC;EACtCb,OAAO;EACPyB,IAAI,EAAE1B,CAAC,CAACQ,MAAM,CAACR,CAAC,CAACE,MAAM,CAAC,CAAC,EAAEF,CAAC,CAACS,OAAO,CAAC,CAAC,CAAC;EACvCJ;AACJ,CAAC,CAAC;AAEF,OAAO,MAAMsB,yBAAyB,GAAG3B,CAAC,CAACc,MAAM,CAAC;EAC9Cb,OAAO;EACPG,UAAU;EACVsB,IAAI,EAAE1B,CAAC,CAACQ,MAAM,CAACR,CAAC,CAACE,MAAM,CAAC,CAAC,EAAEF,CAAC,CAACS,OAAO,CAAC,CAAC,CAAC;EACvCJ;AACJ,CAAC,CAAC;AAEF,OAAO,MAAMuB,0BAA0B,GAAG5B,CAAC,CAACc,MAAM,CAAC;EAC/Cb,OAAO;EACPG,UAAU;EACVC;AACJ,CAAC,CAAC;AAEF,OAAO,MAAMwB,4BAA4B,GAAG7B,CAAC,CAACc,MAAM,CAAC;EACjDb,OAAO;EACPG,UAAU;EACVC;AACJ,CAAC,CAAC;AAEF,OAAO,MAAMyB,yBAAyB,GAAG9B,CAAC,CAACc,MAAM,CAAC;EAC9Cb,OAAO;EACPG,UAAU;EACV2B,SAAS,EAAE/B,CAAC,CAACY,OAAO,CAAC,CAAC,CAACF,QAAQ,CAAC;AACpC,CAAC,CAAC","ignoreList":[]}
@@ -1,22 +1,11 @@
1
1
  import type { WebinyConfig } from "../../types.js";
2
2
  import { Result } from "../../Result.js";
3
- import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
3
+ import type { HttpError, NetworkError, ValidationError } from "../../errors.js";
4
4
  import type { CmsEntryValues, CmsEntryData } from "./cmsTypes.js";
5
+ import { ApiError } from "../../errors.js";
5
6
  export interface UnpublishEntryRevisionParams {
6
7
  modelId: string;
7
8
  revisionId: string;
8
9
  fields: string[];
9
10
  }
10
- /**
11
- * Unpublishes an entry revision in the CMS.
12
- *
13
- * @template TValues - Type of the entry values object
14
- * @param config - SDK configuration
15
- * @param fetchFn - Fetch function to use for HTTP requests
16
- * @param params - Parameters for unpublishing the entry revision
17
- * @param params.modelId - The model ID of the entry to unpublish
18
- * @param params.revisionId - The revision ID of the entry to unpublish (e.g., "123#0001")
19
- * @param params.fields - Fields to include in response. Use "values." prefix for entry values (e.g., "values.author.name")
20
- * @returns Result containing the unpublished entry data or an error
21
- */
22
- export declare function unpublishEntryRevision<TValues extends CmsEntryValues = CmsEntryValues>(config: WebinyConfig, fetchFn: typeof fetch, params: UnpublishEntryRevisionParams): Promise<Result<CmsEntryData<TValues>, HttpError | GraphQLError | NetworkError>>;
11
+ export declare function unpublishEntryRevision<TValues extends CmsEntryValues = CmsEntryValues>(config: WebinyConfig, fetchFn: typeof fetch, params: UnpublishEntryRevisionParams): Promise<Result<CmsEntryData<TValues>, HttpError | ApiError | NetworkError | ValidationError>>;
@@ -1,4 +1,9 @@
1
1
  import { Result } from "../../Result.js";
2
+ import { transformFieldErrors } from "../../utils/transformFieldErrors.js";
3
+ import { createMethod } from "../../utils/createMethod.js";
4
+ import { unpublishEntryRevisionSchema } from "./schemas.js";
5
+ import { executeGraphQL } from "../executeGraphQL.js";
6
+ import { ApiError } from "../../errors.js";
2
7
  /**
3
8
  * Unpublishes an entry revision in the CMS.
4
9
  *
@@ -8,18 +13,14 @@ import { Result } from "../../Result.js";
8
13
  * @param params - Parameters for unpublishing the entry revision
9
14
  * @param params.modelId - The model ID of the entry to unpublish
10
15
  * @param params.revisionId - The revision ID of the entry to unpublish (e.g., "123#0001")
11
- * @param params.fields - Fields to include in response. Use "values." prefix for entry values (e.g., "values.author.name")
16
+ * @param params.fields - Fields to include in response
12
17
  * @returns Result containing the unpublished entry data or an error
13
18
  */
14
- export async function unpublishEntryRevision(config, fetchFn, params) {
15
- const {
16
- modelId,
17
- revisionId,
18
- fields
19
- } = params;
20
- const {
21
- executeGraphQL
22
- } = await import("../executeGraphQL.js");
19
+ const _impl = createMethod(unpublishEntryRevisionSchema, async (config, fetchFn, {
20
+ modelId,
21
+ revisionId,
22
+ fields
23
+ }) => {
23
24
  const query = `
24
25
  mutation UnpublishEntryRevision($modelId: ID!, $revisionId: ID!, $fields: [String!]!) {
25
26
  cms {
@@ -43,12 +44,12 @@ export async function unpublishEntryRevision(config, fetchFn, params) {
43
44
  }
44
45
  const data = result.value;
45
46
  if (data.cms.unpublishEntryRevision.error) {
46
- const {
47
- GraphQLError
48
- } = await import("../../errors.js");
49
- return Result.fail(new GraphQLError(data.cms.unpublishEntryRevision.error.message, data.cms.unpublishEntryRevision.error.code));
47
+ return Result.fail(new ApiError(transformFieldErrors(data.cms.unpublishEntryRevision.error.message, fields), data.cms.unpublishEntryRevision.error.code));
50
48
  }
51
49
  return Result.ok(data.cms.unpublishEntryRevision.data);
50
+ });
51
+ export function unpublishEntryRevision(config, fetchFn, params) {
52
+ return _impl(config, fetchFn, params);
52
53
  }
53
54
 
54
55
  //# sourceMappingURL=unpublishEntryRevision.js.map