@payloadcms/figma 0.0.1-alpha.41 → 0.0.1-alpha.5

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 (269) hide show
  1. package/dist/api/control-plane.d.ts +1 -22
  2. package/dist/api/control-plane.d.ts.map +1 -1
  3. package/dist/api/control-plane.js +22 -55
  4. package/dist/api/control-plane.js.map +1 -1
  5. package/dist/api/figma-api.d.ts.map +1 -1
  6. package/dist/api/figma-api.js +21 -45
  7. package/dist/api/figma-api.js.map +1 -1
  8. package/dist/auth/callback-server.d.ts.map +1 -1
  9. package/dist/auth/callback-server.js +1 -2
  10. package/dist/auth/callback-server.js.map +1 -1
  11. package/dist/auth/crypto-utils.d.ts.map +1 -1
  12. package/dist/auth/crypto-utils.js +5 -5
  13. package/dist/auth/crypto-utils.js.map +1 -1
  14. package/dist/auth/jwt-validator.d.ts +1 -2
  15. package/dist/auth/jwt-validator.d.ts.map +1 -1
  16. package/dist/auth/jwt-validator.js +2 -2
  17. package/dist/auth/jwt-validator.js.map +1 -1
  18. package/dist/auth/oauth-flow.d.ts +1 -1
  19. package/dist/auth/oauth-flow.d.ts.map +1 -1
  20. package/dist/auth/oauth-flow.js +8 -9
  21. package/dist/auth/oauth-flow.js.map +1 -1
  22. package/dist/auth/project-token.d.ts.map +1 -1
  23. package/dist/auth/project-token.js +4 -9
  24. package/dist/auth/project-token.js.map +1 -1
  25. package/dist/auth/refresh.d.ts.map +1 -1
  26. package/dist/auth/refresh.js +9 -14
  27. package/dist/auth/refresh.js.map +1 -1
  28. package/dist/auth/token-store.d.ts +0 -10
  29. package/dist/auth/token-store.d.ts.map +1 -1
  30. package/dist/auth/token-store.js +0 -20
  31. package/dist/auth/token-store.js.map +1 -1
  32. package/dist/cli.d.ts.map +1 -1
  33. package/dist/cli.js +0 -31
  34. package/dist/cli.js.map +1 -1
  35. package/dist/commands/deploy.d.ts +0 -4
  36. package/dist/commands/deploy.d.ts.map +1 -1
  37. package/dist/commands/deploy.js +129 -71
  38. package/dist/commands/deploy.js.map +1 -1
  39. package/dist/commands/init.d.ts +5 -1
  40. package/dist/commands/init.d.ts.map +1 -1
  41. package/dist/commands/init.js +85 -94
  42. package/dist/commands/init.js.map +1 -1
  43. package/dist/commands/list-tokens.d.ts.map +1 -1
  44. package/dist/commands/list-tokens.js +3 -6
  45. package/dist/commands/list-tokens.js.map +1 -1
  46. package/dist/commands/login.d.ts +1 -8
  47. package/dist/commands/login.d.ts.map +1 -1
  48. package/dist/commands/login.js +11 -21
  49. package/dist/commands/login.js.map +1 -1
  50. package/dist/commands/logout.js +2 -2
  51. package/dist/commands/logout.js.map +1 -1
  52. package/dist/config/oauth.d.ts +14 -4
  53. package/dist/config/oauth.d.ts.map +1 -1
  54. package/dist/config/oauth.js +40 -19
  55. package/dist/config/oauth.js.map +1 -1
  56. package/dist/constants.d.ts +18 -26
  57. package/dist/constants.d.ts.map +1 -1
  58. package/dist/constants.js +20 -34
  59. package/dist/constants.js.map +1 -1
  60. package/dist/exports/client.d.ts +0 -1
  61. package/dist/exports/client.d.ts.map +1 -1
  62. package/dist/exports/client.js +0 -1
  63. package/dist/exports/client.js.map +1 -1
  64. package/dist/index.d.ts +1 -2
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +1 -3
  67. package/dist/index.js.map +1 -1
  68. package/dist/oauth/components/LoginButton/index.d.ts.map +1 -1
  69. package/dist/oauth/components/LoginButton/index.js +6 -50
  70. package/dist/oauth/components/LoginButton/index.js.map +1 -1
  71. package/dist/oauth/components/LoginButton/index.scss +3 -50
  72. package/dist/oauth/components/LogoutButton/index.d.ts.map +1 -1
  73. package/dist/oauth/components/LogoutButton/index.js +1 -0
  74. package/dist/oauth/components/LogoutButton/index.js.map +1 -1
  75. package/dist/oauth/defaults.d.ts.map +1 -1
  76. package/dist/oauth/defaults.js +5 -29
  77. package/dist/oauth/defaults.js.map +1 -1
  78. package/dist/oauth/endpoints/getLoginEndpoint.d.ts.map +1 -1
  79. package/dist/oauth/endpoints/getLoginEndpoint.js +4 -4
  80. package/dist/oauth/endpoints/getLoginEndpoint.js.map +1 -1
  81. package/dist/oauth/index.d.ts.map +1 -1
  82. package/dist/oauth/index.js +5 -40
  83. package/dist/oauth/index.js.map +1 -1
  84. package/dist/oauth/strategy/index.d.ts +2 -0
  85. package/dist/oauth/strategy/index.d.ts.map +1 -1
  86. package/dist/oauth/strategy/index.js +15 -38
  87. package/dist/oauth/strategy/index.js.map +1 -1
  88. package/dist/oauth/types.d.ts +6 -6
  89. package/dist/oauth/types.d.ts.map +1 -1
  90. package/dist/oauth/types.js.map +1 -1
  91. package/dist/oauth/utilities/createCookieOptions.d.ts.map +1 -1
  92. package/dist/oauth/utilities/createCookieOptions.js.map +1 -1
  93. package/dist/oauth/utilities/refreshTokens.d.ts.map +1 -1
  94. package/dist/oauth/utilities/refreshTokens.js +1 -1
  95. package/dist/oauth/utilities/refreshTokens.js.map +1 -1
  96. package/dist/plugin/build-config.d.ts +4 -21
  97. package/dist/plugin/build-config.d.ts.map +1 -1
  98. package/dist/plugin/build-config.js +8 -114
  99. package/dist/plugin/build-config.js.map +1 -1
  100. package/dist/types.d.ts +0 -1
  101. package/dist/types.d.ts.map +1 -1
  102. package/dist/types.js.map +1 -1
  103. package/dist/utils/asset-collection.d.ts +6 -3
  104. package/dist/utils/asset-collection.d.ts.map +1 -1
  105. package/dist/utils/asset-collection.js +34 -10
  106. package/dist/utils/asset-collection.js.map +1 -1
  107. package/dist/utils/config.js +1 -1
  108. package/dist/utils/config.js.map +1 -1
  109. package/dist/utils/env-management.d.ts +8 -9
  110. package/dist/utils/env-management.d.ts.map +1 -1
  111. package/dist/utils/env-management.js +74 -73
  112. package/dist/utils/env-management.js.map +1 -1
  113. package/dist/utils/formatter.d.ts.map +1 -1
  114. package/dist/utils/formatter.js +5 -3
  115. package/dist/utils/formatter.js.map +1 -1
  116. package/dist/utils/lambda-config.d.ts +1 -3
  117. package/dist/utils/lambda-config.d.ts.map +1 -1
  118. package/dist/utils/lambda-config.js +21 -13
  119. package/dist/utils/lambda-config.js.map +1 -1
  120. package/dist/utils/messages.d.ts.map +1 -1
  121. package/dist/utils/messages.js +7 -8
  122. package/dist/utils/messages.js.map +1 -1
  123. package/dist/utils/payload-config-ast.d.ts +3 -22
  124. package/dist/utils/payload-config-ast.d.ts.map +1 -1
  125. package/dist/utils/payload-config-ast.js +31 -89
  126. package/dist/utils/payload-config-ast.js.map +1 -1
  127. package/dist/utils/payload-config-finder.d.ts +2 -2
  128. package/dist/utils/payload-config-finder.d.ts.map +1 -1
  129. package/dist/utils/payload-config-finder.js +9 -48
  130. package/dist/utils/payload-config-finder.js.map +1 -1
  131. package/dist/utils/payload-config-modifier.d.ts.map +1 -1
  132. package/dist/utils/payload-config-modifier.js +6 -54
  133. package/dist/utils/payload-config-modifier.js.map +1 -1
  134. package/dist/utils/payload-package-check.d.ts +1 -12
  135. package/dist/utils/payload-package-check.d.ts.map +1 -1
  136. package/dist/utils/payload-package-check.js +5 -63
  137. package/dist/utils/payload-package-check.js.map +1 -1
  138. package/dist/utils/project.d.ts.map +1 -1
  139. package/dist/utils/project.js +5 -8
  140. package/dist/utils/project.js.map +1 -1
  141. package/dist/utils/s3-upload.d.ts +1 -0
  142. package/dist/utils/s3-upload.d.ts.map +1 -1
  143. package/dist/utils/s3-upload.js +3 -10
  144. package/dist/utils/s3-upload.js.map +1 -1
  145. package/dist/utils/token-display.d.ts.map +1 -1
  146. package/dist/utils/token-display.js +5 -11
  147. package/dist/utils/token-display.js.map +1 -1
  148. package/dist/utils/typescript-validator.d.ts.map +1 -1
  149. package/dist/utils/typescript-validator.js +6 -4
  150. package/dist/utils/typescript-validator.js.map +1 -1
  151. package/package.json +9 -27
  152. package/dist/commands/build-lambda-zip.d.ts +0 -5
  153. package/dist/commands/build-lambda-zip.d.ts.map +0 -1
  154. package/dist/commands/build-lambda-zip.js +0 -19
  155. package/dist/commands/build-lambda-zip.js.map +0 -1
  156. package/dist/db-content-api/README.md +0 -98
  157. package/dist/db-content-api/generated/content-api-types.d.ts +0 -3854
  158. package/dist/db-content-api/generated/content-api-types.d.ts.map +0 -1
  159. package/dist/db-content-api/generated/content-api-types.js +0 -7
  160. package/dist/db-content-api/generated/content-api-types.js.map +0 -1
  161. package/dist/db-content-api/index.d.ts +0 -18
  162. package/dist/db-content-api/index.d.ts.map +0 -1
  163. package/dist/db-content-api/index.js +0 -578
  164. package/dist/db-content-api/index.js.map +0 -1
  165. package/dist/db-content-api/temp-utilities/pagination.d.ts +0 -13
  166. package/dist/db-content-api/temp-utilities/pagination.d.ts.map +0 -1
  167. package/dist/db-content-api/temp-utilities/pagination.js +0 -45
  168. package/dist/db-content-api/temp-utilities/pagination.js.map +0 -1
  169. package/dist/db-content-api/temp-utilities/slug.d.ts +0 -2
  170. package/dist/db-content-api/temp-utilities/slug.d.ts.map +0 -1
  171. package/dist/db-content-api/temp-utilities/slug.js +0 -3
  172. package/dist/db-content-api/temp-utilities/slug.js.map +0 -1
  173. package/dist/db-content-api/temp-utilities/sorting.d.ts +0 -3
  174. package/dist/db-content-api/temp-utilities/sorting.d.ts.map +0 -1
  175. package/dist/db-content-api/temp-utilities/sorting.js +0 -32
  176. package/dist/db-content-api/temp-utilities/sorting.js.map +0 -1
  177. package/dist/db-content-api/temp-utilities/unwrapDocument.d.ts +0 -4
  178. package/dist/db-content-api/temp-utilities/unwrapDocument.d.ts.map +0 -1
  179. package/dist/db-content-api/temp-utilities/unwrapDocument.js +0 -53
  180. package/dist/db-content-api/temp-utilities/unwrapDocument.js.map +0 -1
  181. package/dist/db-content-api/utilities/auth.d.ts +0 -30
  182. package/dist/db-content-api/utilities/auth.d.ts.map +0 -1
  183. package/dist/db-content-api/utilities/auth.js +0 -81
  184. package/dist/db-content-api/utilities/auth.js.map +0 -1
  185. package/dist/db-content-api/utilities/data/applyDefaults.d.ts +0 -7
  186. package/dist/db-content-api/utilities/data/applyDefaults.d.ts.map +0 -1
  187. package/dist/db-content-api/utilities/data/applyDefaults.js +0 -59
  188. package/dist/db-content-api/utilities/data/applyDefaults.js.map +0 -1
  189. package/dist/db-content-api/utilities/data/castFieldValue.d.ts +0 -11
  190. package/dist/db-content-api/utilities/data/castFieldValue.d.ts.map +0 -1
  191. package/dist/db-content-api/utilities/data/castFieldValue.js +0 -66
  192. package/dist/db-content-api/utilities/data/castFieldValue.js.map +0 -1
  193. package/dist/db-content-api/utilities/data/index.d.ts +0 -30
  194. package/dist/db-content-api/utilities/data/index.d.ts.map +0 -1
  195. package/dist/db-content-api/utilities/data/index.js +0 -182
  196. package/dist/db-content-api/utilities/data/index.js.map +0 -1
  197. package/dist/db-content-api/utilities/data/removeVirtualFields.d.ts +0 -12
  198. package/dist/db-content-api/utilities/data/removeVirtualFields.d.ts.map +0 -1
  199. package/dist/db-content-api/utilities/data/removeVirtualFields.js +0 -54
  200. package/dist/db-content-api/utilities/data/removeVirtualFields.js.map +0 -1
  201. package/dist/db-content-api/utilities/data/stripFields.d.ts +0 -48
  202. package/dist/db-content-api/utilities/data/stripFields.d.ts.map +0 -1
  203. package/dist/db-content-api/utilities/data/stripFields.js +0 -195
  204. package/dist/db-content-api/utilities/data/stripFields.js.map +0 -1
  205. package/dist/db-content-api/utilities/joins.d.ts +0 -55
  206. package/dist/db-content-api/utilities/joins.d.ts.map +0 -1
  207. package/dist/db-content-api/utilities/joins.js +0 -136
  208. package/dist/db-content-api/utilities/joins.js.map +0 -1
  209. package/dist/db-content-api/utilities/where.d.ts +0 -12
  210. package/dist/db-content-api/utilities/where.d.ts.map +0 -1
  211. package/dist/db-content-api/utilities/where.js +0 -107
  212. package/dist/db-content-api/utilities/where.js.map +0 -1
  213. package/dist/endpoints/health.d.ts +0 -3
  214. package/dist/endpoints/health.d.ts.map +0 -1
  215. package/dist/endpoints/health.js +0 -11
  216. package/dist/endpoints/health.js.map +0 -1
  217. package/dist/oauth/utilities/isDuplicateKeyError.d.ts +0 -7
  218. package/dist/oauth/utilities/isDuplicateKeyError.d.ts.map +0 -1
  219. package/dist/oauth/utilities/isDuplicateKeyError.js +0 -14
  220. package/dist/oauth/utilities/isDuplicateKeyError.js.map +0 -1
  221. package/dist/storage-content-api/api-types.d.ts +0 -161
  222. package/dist/storage-content-api/api-types.d.ts.map +0 -1
  223. package/dist/storage-content-api/api-types.js +0 -6
  224. package/dist/storage-content-api/api-types.js.map +0 -1
  225. package/dist/storage-content-api/client-uploads/ClientUploadHandler.d.ts +0 -9
  226. package/dist/storage-content-api/client-uploads/ClientUploadHandler.d.ts.map +0 -1
  227. package/dist/storage-content-api/client-uploads/ClientUploadHandler.js +0 -42
  228. package/dist/storage-content-api/client-uploads/ClientUploadHandler.js.map +0 -1
  229. package/dist/storage-content-api/client-uploads/generateSignedURL.d.ts +0 -13
  230. package/dist/storage-content-api/client-uploads/generateSignedURL.d.ts.map +0 -1
  231. package/dist/storage-content-api/client-uploads/generateSignedURL.js +0 -31
  232. package/dist/storage-content-api/client-uploads/generateSignedURL.js.map +0 -1
  233. package/dist/storage-content-api/client.d.ts +0 -6
  234. package/dist/storage-content-api/client.d.ts.map +0 -1
  235. package/dist/storage-content-api/client.js +0 -36
  236. package/dist/storage-content-api/client.js.map +0 -1
  237. package/dist/storage-content-api/generateURL.d.ts +0 -7
  238. package/dist/storage-content-api/generateURL.d.ts.map +0 -1
  239. package/dist/storage-content-api/generateURL.js +0 -7
  240. package/dist/storage-content-api/generateURL.js.map +0 -1
  241. package/dist/storage-content-api/handleDelete.d.ts +0 -8
  242. package/dist/storage-content-api/handleDelete.d.ts.map +0 -1
  243. package/dist/storage-content-api/handleDelete.js +0 -15
  244. package/dist/storage-content-api/handleDelete.js.map +0 -1
  245. package/dist/storage-content-api/handleUpload.d.ts +0 -11
  246. package/dist/storage-content-api/handleUpload.d.ts.map +0 -1
  247. package/dist/storage-content-api/handleUpload.js +0 -136
  248. package/dist/storage-content-api/handleUpload.js.map +0 -1
  249. package/dist/storage-content-api/index.d.ts +0 -5
  250. package/dist/storage-content-api/index.d.ts.map +0 -1
  251. package/dist/storage-content-api/index.js +0 -31
  252. package/dist/storage-content-api/index.js.map +0 -1
  253. package/dist/storage-content-api/staticHandler.d.ts +0 -10
  254. package/dist/storage-content-api/staticHandler.d.ts.map +0 -1
  255. package/dist/storage-content-api/staticHandler.js +0 -55
  256. package/dist/storage-content-api/staticHandler.js.map +0 -1
  257. package/dist/storage-content-api/types.d.ts +0 -10
  258. package/dist/storage-content-api/types.d.ts.map +0 -1
  259. package/dist/storage-content-api/types.js +0 -3
  260. package/dist/storage-content-api/types.js.map +0 -1
  261. package/dist/templates/README.md +0 -19
  262. package/dist/utils/build-lambda-zip.d.ts +0 -14
  263. package/dist/utils/build-lambda-zip.d.ts.map +0 -1
  264. package/dist/utils/build-lambda-zip.js +0 -81
  265. package/dist/utils/build-lambda-zip.js.map +0 -1
  266. package/dist/utils/version-check.d.ts +0 -3
  267. package/dist/utils/version-check.d.ts.map +0 -1
  268. package/dist/utils/version-check.js +0 -38
  269. package/dist/utils/version-check.js.map +0 -1
@@ -1,578 +0,0 @@
1
- import createClient from 'openapi-fetch';
2
- import { createDatabaseAdapter } from 'payload';
3
- import { v4 as uuid } from 'uuid';
4
- import { getPaginationData } from './temp-utilities/pagination.js';
5
- import { getGlobalSlug } from './temp-utilities/slug.js';
6
- import { addFallbackSort } from './temp-utilities/sorting.js';
7
- import { unwrapDocument } from './temp-utilities/unwrapDocument.js';
8
- import { createAuthMiddleware, createErrorMiddleware } from './utilities/auth.js';
9
- import { dataToContentAPI } from './utilities/data/index.js';
10
- import { convertPayloadJoinsToContentAPI } from './utilities/joins.js';
11
- import { convertPayloadWhereToContentAPI } from './utilities/where.js';
12
- async function init() {
13
- if (this.auth.mode === 'apiKey') {
14
- this.payload.logger.info('Using API Key authentication');
15
- } else if (this.auth.mode === 'tokenStore') {
16
- this.payload.logger.info('Using TokenStore authentication (local dev)');
17
- } else {
18
- this.payload.logger.info('Using Dev JWT authentication (testing)');
19
- }
20
- if (process.env.PAYLOAD_DROP_DATABASE === 'true') {
21
- this.payload.logger.info(`---- DROPPING CONTENT API SYSTEM (${this.contentSystemId}) ----`);
22
- try {
23
- await fetch(`${this.url}/dev/clear-db`, {
24
- body: JSON.stringify({
25
- contentSystemId: this.contentSystemId
26
- }),
27
- headers: {
28
- 'Content-Type': 'application/json'
29
- },
30
- method: 'POST'
31
- });
32
- this.payload.logger.info('---- DROPPED CONTENT API SYSTEM ----');
33
- } catch (error) {
34
- this.payload.logger.warn(`Failed to drop content system: ${error.message}`);
35
- }
36
- }
37
- let existingIds;
38
- try {
39
- const { data: response, error } = await this.client.GET('/api/v0/content_systems/{contentSystemId}/collections', {
40
- params: {
41
- path: {
42
- contentSystemId: this.contentSystemId
43
- }
44
- }
45
- });
46
- if (error) {
47
- throw new Error(JSON.stringify(error));
48
- }
49
- if (!response) {
50
- throw new Error('No response from collections endpoint');
51
- }
52
- existingIds = new Set(response.data.map((c)=>c.id));
53
- this.payload.logger.info(`Found ${existingIds.size} existing collections`);
54
- } catch (error) {
55
- this.payload.logger.warn(`Failed to fetch collections, will attempt to create all: ${error.message}`);
56
- existingIds = new Set();
57
- }
58
- for (const collection of this.payload.config.collections){
59
- if (!existingIds.has(collection.slug)) {
60
- await createCollection.call(this, collection.slug);
61
- }
62
- }
63
- for (const global of this.payload.config.globals || []){
64
- const globalId = `_global-${global.slug}`;
65
- if (!existingIds.has(globalId)) {
66
- await createCollection.call(this, globalId);
67
- }
68
- }
69
- }
70
- async function createCollection(collectionId) {
71
- try {
72
- const { error } = await this.client.POST('/api/v0/content_systems/{contentSystemId}/collections', {
73
- body: {
74
- id: collectionId
75
- },
76
- params: {
77
- path: {
78
- contentSystemId: this.contentSystemId
79
- }
80
- }
81
- });
82
- if (error) {
83
- throw new Error(JSON.stringify(error));
84
- }
85
- this.payload.logger.info(`Created collection: ${collectionId}`);
86
- } catch (error) {
87
- const errorMessage = error.message;
88
- if (!errorMessage.includes('already exists') && !errorMessage.includes('409')) {
89
- this.payload.logger.warn(`Failed to create collection ${collectionId}: ${errorMessage}`);
90
- }
91
- }
92
- }
93
- async function findMany({ collection, joins, limit, page, pagination, sort, where }) {
94
- const { data: response, error } = await this.client.POST('/api/v0/documents:find', {
95
- body: {
96
- collectionId: collection,
97
- contentSystemId: this.contentSystemId,
98
- join: convertPayloadJoinsToContentAPI(this.payload, collection, joins),
99
- limit,
100
- page: page ?? 1,
101
- sort: addFallbackSort(sort, this.payload, collection),
102
- where: convertPayloadWhereToContentAPI(where ?? {})
103
- }
104
- });
105
- if (error) {
106
- throw new Error(`Content API findMany error: ${JSON.stringify(error)}`);
107
- }
108
- if (!response) {
109
- throw new Error('No response from findMany');
110
- }
111
- return {
112
- docs: response.result.data.map((doc)=>unwrapDocument(this.payload, doc, collection)),
113
- ...getPaginationData(response.result.pagination, pagination)
114
- };
115
- }
116
- async function find(args) {
117
- const collectionConfig = this.payload.config.collections.find((c)=>c.slug === args.collection);
118
- return findMany.call(this, {
119
- collection: args.collection,
120
- joins: args.joins,
121
- // TODO: FindArgs.limit should be 'number' not 'number | undefined'
122
- // is sanitized by Payload Core before calling the adapter (defaults to 10 or 0 based on pagination)
123
- limit: args.limit,
124
- page: args.page ?? 1,
125
- pagination: args.pagination,
126
- sort: args.sort || collectionConfig?.defaultSort,
127
- where: args.where
128
- });
129
- }
130
- // TODO: remove Omit when this PR is released: https://github.com/payloadcms/payload/pull/15183
131
- async function findVersions(args) {
132
- const sortWithFallback = addFallbackSort(args.sort || '-updatedAt', this.payload, args.collection);
133
- const whereClause = convertPayloadWhereToContentAPI(args.where ?? {}, {
134
- parentToDocumentId: true
135
- });
136
- const { data: response, error } = await this.client.POST('/api/v0/document_versions:find', {
137
- body: {
138
- collectionId: args.collection,
139
- contentSystemId: this.contentSystemId,
140
- // TODO: FindVersionsArgs.limit should be 'number' not 'number | undefined'
141
- // is sanitized by Payload Core before calling the adapter (defaults to 10 or 0 based on pagination)
142
- limit: args.limit,
143
- page: args.page ?? 1,
144
- sort: sortWithFallback,
145
- where: whereClause
146
- }
147
- });
148
- if (error) {
149
- throw new Error(`Content API findVersions error: ${JSON.stringify(error)}`);
150
- }
151
- if (!response) {
152
- throw new Error('No response from findVersions');
153
- }
154
- const docs = response.result.data.map((doc)=>unwrapDocument(this.payload, doc, args.collection));
155
- return {
156
- docs,
157
- ...getPaginationData(response.result.pagination, args.pagination)
158
- };
159
- }
160
- async function queryDrafts(args) {
161
- const versionsResult = await this.findVersions({
162
- collection: args.collection,
163
- limit: args.limit,
164
- page: args.page,
165
- pagination: args.pagination,
166
- sort: args.sort,
167
- where: {
168
- ...args.where,
169
- latest: {
170
- equals: true
171
- }
172
- }
173
- });
174
- // queryDrafts should return documents with fields at root level, not nested in 'version'
175
- // So we need to unwrap the version structure and merge version fields to root
176
- const docs = versionsResult.docs.map((versionDoc)=>{
177
- const { version, ...versionMeta } = versionDoc;
178
- return {
179
- ...versionMeta,
180
- ...version,
181
- // Keep version metadata like parent, but document fields take precedence
182
- id: version.id
183
- };
184
- });
185
- return {
186
- ...versionsResult,
187
- docs
188
- };
189
- }
190
- async function createVersion(args) {
191
- const { data: response, error } = await this.client.POST('/api/v0/document_versions:create', {
192
- body: {
193
- collectionId: args.collectionSlug,
194
- contentSystemId: this.contentSystemId,
195
- data: dataToContentAPI(this.payload, args.collectionSlug, args.versionData, {
196
- applyDefaults: true
197
- }),
198
- documentId: String(args.parent),
199
- latest: !args.autosave
200
- }
201
- });
202
- if (error) {
203
- throw new Error(`Content API createVersion error: ${JSON.stringify(error)}`);
204
- }
205
- if (!response) {
206
- throw new Error('No response from createVersion');
207
- }
208
- if (!('data' in response.result)) {
209
- throw new Error('Unexpected response format from createVersion');
210
- }
211
- return unwrapDocument(this.payload, response.result.data, args.collectionSlug);
212
- }
213
- async function updateVersion(args) {
214
- const { data: response, error } = await this.client.POST('/api/v0/document_versions:update', {
215
- body: {
216
- collectionId: args.collection,
217
- contentSystemId: this.contentSystemId,
218
- createOnMissing: false,
219
- data: dataToContentAPI(this.payload, args.collection, args.versionData),
220
- where: convertPayloadWhereToContentAPI(args.where ?? {
221
- id: {
222
- equals: args.id
223
- }
224
- })
225
- }
226
- });
227
- if (error) {
228
- throw new Error(`Content API updateVersion error: ${JSON.stringify(error)}`);
229
- }
230
- if (!response?.result || !('data' in response.result)) {
231
- throw new Error('No document data in updateVersion response');
232
- }
233
- const doc = response.result.data[0];
234
- if (!doc) {
235
- return null;
236
- }
237
- return unwrapDocument(this.payload, doc, args.collection);
238
- }
239
- async function deleteVersions(args) {
240
- if (!args.collection) {
241
- throw new Error('deleteVersions requires a collection');
242
- }
243
- const { error } = await this.client.POST('/api/v0/document_versions:delete', {
244
- body: {
245
- collectionId: args.collection,
246
- contentSystemId: this.contentSystemId,
247
- where: convertPayloadWhereToContentAPI(args.where)
248
- }
249
- });
250
- if (error) {
251
- throw new Error(`Content API deleteVersions error: ${JSON.stringify(error)}`);
252
- }
253
- }
254
- async function findOne(args) {
255
- const { docs } = await this.find({
256
- collection: args.collection,
257
- joins: args.joins,
258
- limit: 1,
259
- pagination: false,
260
- where: args.where
261
- });
262
- return docs[0] ?? null;
263
- }
264
- async function updateMany(args) {
265
- const sortWithFallback = addFallbackSort(args.sort || '-updatedAt', this.payload, args.collection);
266
- const { data: response, error } = await this.client.POST('/api/v0/documents:update', {
267
- body: {
268
- collectionId: args.collection,
269
- contentSystemId: this.contentSystemId,
270
- createOnMissing: false,
271
- data: dataToContentAPI(this.payload, args.collection, args.data),
272
- limit: args.limit,
273
- returning: {},
274
- sort: sortWithFallback,
275
- where: convertPayloadWhereToContentAPI(args.where)
276
- }
277
- });
278
- if (error) {
279
- throw new Error(`Content API updateMany error: ${JSON.stringify(error)}`);
280
- }
281
- if (!response) {
282
- throw new Error('No response from updateMany');
283
- }
284
- if (response.result && 'data' in response.result) {
285
- return response.result.data.map((doc)=>unwrapDocument(this.payload, doc, args.collection));
286
- }
287
- return null;
288
- }
289
- async function updateOne(args) {
290
- const { data: response, error } = await this.client.POST('/api/v0/documents:update', {
291
- body: {
292
- collectionId: args.collection,
293
- contentSystemId: this.contentSystemId,
294
- createOnMissing: false,
295
- data: dataToContentAPI(this.payload, args.collection, args.data),
296
- returning: {},
297
- where: convertPayloadWhereToContentAPI(args.where ?? {
298
- id: {
299
- equals: args.id
300
- }
301
- })
302
- }
303
- });
304
- if (error) {
305
- throw new Error(`Content API updateOne error: ${JSON.stringify(error)}`);
306
- }
307
- if (!response) {
308
- throw new Error('No response from updateOne');
309
- }
310
- if (!response.result || !('data' in response.result)) {
311
- throw new Error('Unexpected response format from updateOne');
312
- }
313
- const doc = response.result.data[0];
314
- if (!doc) {
315
- return null;
316
- }
317
- return unwrapDocument(this.payload, doc, args.collection);
318
- }
319
- async function deleteMany(args) {
320
- const { error } = await this.client.POST('/api/v0/documents:delete', {
321
- body: {
322
- collectionId: args.collection,
323
- contentSystemId: this.contentSystemId,
324
- where: convertPayloadWhereToContentAPI(args.where)
325
- }
326
- });
327
- if (error) {
328
- throw new Error(`Content API deleteMany error: ${JSON.stringify(error)}`);
329
- }
330
- }
331
- async function deleteOne(args) {
332
- const { data: response, error } = await this.client.POST('/api/v0/documents:delete', {
333
- body: {
334
- collectionId: args.collection,
335
- contentSystemId: this.contentSystemId,
336
- returning: {},
337
- where: convertPayloadWhereToContentAPI(args.where)
338
- }
339
- });
340
- if (error) {
341
- throw new Error(`Content API deleteOne error: ${JSON.stringify(error)}`);
342
- }
343
- if (!response?.result || !('data' in response.result)) {
344
- throw new Error('No document data in deleteOne response');
345
- }
346
- const doc = response.result.data[0];
347
- if (!doc) {
348
- return null;
349
- }
350
- return unwrapDocument(this.payload, doc, args.collection);
351
- }
352
- async function create(args) {
353
- const id = args.data.id || uuid();
354
- const { data: response, error } = await this.client.POST('/api/v0/documents:create', {
355
- body: {
356
- id: String(id),
357
- collectionId: args.collection,
358
- contentSystemId: this.contentSystemId,
359
- data: dataToContentAPI(this.payload, args.collection, args.data, {
360
- applyDefaults: true
361
- })
362
- }
363
- });
364
- if (error) {
365
- throw new Error(`Content API create error: ${JSON.stringify(error)}`);
366
- }
367
- if (!response) {
368
- throw new Error('No response from create');
369
- }
370
- if (!('data' in response.result)) {
371
- throw new Error('Unexpected response format from create');
372
- }
373
- return unwrapDocument(this.payload, response.result.data, args.collection);
374
- }
375
- async function count(args) {
376
- const { data: response, error } = await this.client.POST('/api/v0/documents:count', {
377
- body: {
378
- collectionId: args.collection,
379
- contentSystemId: this.contentSystemId,
380
- where: convertPayloadWhereToContentAPI(args.where)
381
- }
382
- });
383
- if (error) {
384
- throw new Error(`Content API count error: ${JSON.stringify(error)}`);
385
- }
386
- if (!response) {
387
- throw new Error('No response from count');
388
- }
389
- return {
390
- totalDocs: response.result.count
391
- };
392
- }
393
- async function countVersions(args) {
394
- const { data: response, error } = await this.client.POST('/api/v0/document_versions:count', {
395
- body: {
396
- collectionId: args.collection,
397
- contentSystemId: this.contentSystemId,
398
- where: convertPayloadWhereToContentAPI(args.where)
399
- }
400
- });
401
- if (error) {
402
- throw new Error(`Content API countVersions error: ${JSON.stringify(error)}`);
403
- }
404
- if (!response) {
405
- throw new Error('No response from countVersions');
406
- }
407
- return {
408
- totalDocs: response.result.count
409
- };
410
- }
411
- async function upsert(args) {
412
- let documentId = args.data.id;
413
- if (!documentId && args.where && 'id' in args.where) {
414
- const idClause = args.where.id;
415
- if (idClause && 'equals' in idClause) {
416
- documentId = idClause.equals;
417
- }
418
- }
419
- if (!documentId) {
420
- documentId = uuid();
421
- }
422
- const { data: response, error } = await this.client.POST('/api/v0/documents:update', {
423
- body: {
424
- collectionId: args.collection,
425
- contentSystemId: this.contentSystemId,
426
- createOnMissing: {
427
- id: documentId
428
- },
429
- data: dataToContentAPI(this.payload, args.collection, args.data, {
430
- applyDefaults: true
431
- }),
432
- where: convertPayloadWhereToContentAPI(args.where)
433
- }
434
- });
435
- if (error) {
436
- throw new Error(`Content API upsert error: ${JSON.stringify(error)}`);
437
- }
438
- if (!response) {
439
- throw new Error('No response from upsert');
440
- }
441
- if (!response.result || !('data' in response.result)) {
442
- throw new Error('Unexpected response format from upsert');
443
- }
444
- const doc = response.result.data[0];
445
- if (!doc) {
446
- throw new Error('No document data in upsert response');
447
- }
448
- return unwrapDocument(this.payload, doc, args.collection);
449
- }
450
- function createGlobal(args) {
451
- return this.create({
452
- collection: getGlobalSlug(args.slug),
453
- data: {
454
- ...args.data,
455
- globalType: args.slug
456
- }
457
- });
458
- }
459
- function findGlobal(args) {
460
- return this.findOne({
461
- collection: getGlobalSlug(args.slug),
462
- where: args.where ?? {}
463
- });
464
- }
465
- async function updateGlobal(args) {
466
- // Use upsert to ensure the global exists
467
- // Use slug as the consistent document ID for globals
468
- return this.upsert({
469
- collection: getGlobalSlug(args.slug),
470
- data: args.data,
471
- where: {
472
- id: {
473
- equals: args.slug
474
- }
475
- }
476
- });
477
- }
478
- // TODO: remove Omit when this PR is released: https://github.com/payloadcms/payload/pull/15183
479
- function findGlobalVersions(args) {
480
- return this.findVersions({
481
- collection: getGlobalSlug(args.global),
482
- limit: args.limit,
483
- page: args.page,
484
- pagination: args.pagination,
485
- sort: args.sort,
486
- where: args.where
487
- });
488
- }
489
- function createGlobalVersion(args) {
490
- // For globals, use the globalSlug as the consistent document ID
491
- // This matches what we do in updateGlobal
492
- return this.createVersion({
493
- autosave: args.autosave,
494
- collectionSlug: getGlobalSlug(args.globalSlug),
495
- createdAt: args.createdAt,
496
- parent: args.globalSlug,
497
- updatedAt: args.updatedAt,
498
- versionData: args.versionData
499
- });
500
- }
501
- function updateGlobalVersion(args) {
502
- // UpdateVersion requires either id OR where, not both
503
- if (args.id !== undefined) {
504
- return this.updateVersion({
505
- id: args.id,
506
- collection: getGlobalSlug(args.global),
507
- versionData: args.versionData
508
- });
509
- }
510
- // args.where is guaranteed by Payload when args.id is undefined
511
- return this.updateVersion({
512
- collection: getGlobalSlug(args.global),
513
- versionData: args.versionData,
514
- where: args.where
515
- });
516
- }
517
- function countGlobalVersions(args) {
518
- return this.countVersions({
519
- collection: getGlobalSlug(args.global),
520
- where: args.where
521
- });
522
- }
523
- export const contentAPIAdapter = (opts)=>({
524
- name: 'content-api',
525
- defaultIDType: 'text',
526
- init: ({ payload })=>{
527
- const client = createClient({
528
- baseUrl: opts.url
529
- });
530
- const middlewareOpts = {
531
- auth: opts.auth,
532
- contentSystemId: opts.contentSystemId,
533
- logger: payload.logger,
534
- url: opts.url
535
- };
536
- client.use(createAuthMiddleware(middlewareOpts));
537
- client.use(createErrorMiddleware(middlewareOpts));
538
- return createDatabaseAdapter({
539
- name: 'content-api',
540
- auth: opts.auth,
541
- beginTransaction: ()=>Promise.resolve('no-op-transaction'),
542
- client,
543
- commitTransaction: async ()=>{},
544
- contentSystemId: opts.contentSystemId,
545
- count: count,
546
- countGlobalVersions: countGlobalVersions,
547
- countVersions: countVersions,
548
- create: create,
549
- createGlobal: createGlobal,
550
- createGlobalVersion: createGlobalVersion,
551
- createVersion: createVersion,
552
- defaultIDType: 'text',
553
- deleteMany: deleteMany,
554
- deleteOne: deleteOne,
555
- deleteVersions: deleteVersions,
556
- find: find,
557
- findDistinct: ()=>Promise.reject(new Error('findDistinct is not yet implemented for Content API adapter')),
558
- findGlobal: findGlobal,
559
- findGlobalVersions: findGlobalVersions,
560
- findOne: findOne,
561
- findVersions: findVersions,
562
- init,
563
- packageName: '@payloadcms/db-content-api',
564
- payload,
565
- queryDrafts: queryDrafts,
566
- rollbackTransaction: async ()=>{},
567
- updateGlobal: updateGlobal,
568
- updateGlobalVersion: updateGlobalVersion,
569
- updateMany: updateMany,
570
- updateOne: updateOne,
571
- updateVersion: updateVersion,
572
- upsert: upsert,
573
- url: opts.url
574
- });
575
- }
576
- });
577
-
578
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/db-content-api/index.ts"],"sourcesContent":["import type {\n BaseDatabaseAdapter,\n Count,\n CountArgs,\n CountGlobalVersionArgs,\n CountGlobalVersions,\n CountVersions,\n Create,\n CreateArgs,\n CreateGlobal,\n CreateGlobalArgs,\n CreateGlobalVersion,\n CreateGlobalVersionArgs,\n CreateVersion,\n CreateVersionArgs,\n DatabaseAdapterObj,\n DeleteMany,\n DeleteManyArgs,\n DeleteOne,\n DeleteOneArgs,\n DeleteVersions,\n DeleteVersionsArgs,\n Find,\n FindArgs,\n FindGlobal,\n FindGlobalArgs,\n FindGlobalVersions,\n FindGlobalVersionsArgs,\n FindOne,\n FindOneArgs,\n FindVersions,\n FindVersionsArgs,\n QueryDrafts,\n QueryDraftsArgs,\n UpdateGlobal,\n UpdateGlobalArgs,\n UpdateGlobalVersion,\n UpdateGlobalVersionArgs,\n UpdateMany,\n UpdateManyArgs,\n UpdateOne,\n UpdateOneArgs,\n UpdateVersion,\n UpdateVersionArgs,\n Upsert,\n UpsertArgs,\n} from 'payload'\n\nimport createClient from 'openapi-fetch'\nimport { createDatabaseAdapter } from 'payload'\nimport { v4 as uuid } from 'uuid'\n\nimport type { paths } from './generated/content-api-types.js'\n\nimport { getPaginationData } from './temp-utilities/pagination.js'\nimport { getGlobalSlug } from './temp-utilities/slug.js'\nimport { addFallbackSort } from './temp-utilities/sorting.js'\nimport { unwrapDocument } from './temp-utilities/unwrapDocument.js'\nimport { type AuthMode, createAuthMiddleware, createErrorMiddleware } from './utilities/auth.js'\nimport { dataToContentAPI } from './utilities/data/index.js'\nimport { convertPayloadJoinsToContentAPI } from './utilities/joins.js'\nimport { convertPayloadWhereToContentAPI } from './utilities/where.js'\n\ntype ContentAPIOptions = {\n auth: AuthMode\n contentSystemId: string\n url: string\n}\n\nexport type ContentAPIAdapter = {\n auth: AuthMode\n client: ReturnType<typeof createClient<paths>>\n contentSystemId: string\n url: string\n} & BaseDatabaseAdapter\n\nasync function init(this: ContentAPIAdapter) {\n if (this.auth.mode === 'apiKey') {\n this.payload.logger.info('Using API Key authentication')\n } else if (this.auth.mode === 'tokenStore') {\n this.payload.logger.info('Using TokenStore authentication (local dev)')\n } else {\n this.payload.logger.info('Using Dev JWT authentication (testing)')\n }\n\n if (process.env.PAYLOAD_DROP_DATABASE === 'true') {\n this.payload.logger.info(`---- DROPPING CONTENT API SYSTEM (${this.contentSystemId}) ----`)\n try {\n await fetch(`${this.url}/dev/clear-db`, {\n body: JSON.stringify({ contentSystemId: this.contentSystemId }),\n headers: { 'Content-Type': 'application/json' },\n method: 'POST',\n })\n this.payload.logger.info('---- DROPPED CONTENT API SYSTEM ----')\n } catch (error) {\n this.payload.logger.warn(`Failed to drop content system: ${(error as Error).message}`)\n }\n }\n\n let existingIds: Set<string>\n try {\n const { data: response, error } = await this.client.GET(\n '/api/v0/content_systems/{contentSystemId}/collections',\n {\n params: { path: { contentSystemId: this.contentSystemId } },\n },\n )\n\n if (error) {\n throw new Error(JSON.stringify(error))\n }\n if (!response) {\n throw new Error('No response from collections endpoint')\n }\n\n existingIds = new Set(response.data.map((c) => c.id))\n this.payload.logger.info(`Found ${existingIds.size} existing collections`)\n } catch (error) {\n this.payload.logger.warn(\n `Failed to fetch collections, will attempt to create all: ${(error as Error).message}`,\n )\n existingIds = new Set()\n }\n\n for (const collection of this.payload.config.collections) {\n if (!existingIds.has(collection.slug)) {\n await createCollection.call(this, collection.slug)\n }\n }\n\n for (const global of this.payload.config.globals || []) {\n const globalId = `_global-${global.slug}`\n if (!existingIds.has(globalId)) {\n await createCollection.call(this, globalId)\n }\n }\n}\n\nasync function createCollection(this: ContentAPIAdapter, collectionId: string) {\n try {\n const { error } = await this.client.POST(\n '/api/v0/content_systems/{contentSystemId}/collections',\n {\n body: { id: collectionId },\n params: { path: { contentSystemId: this.contentSystemId } },\n },\n )\n\n if (error) {\n throw new Error(JSON.stringify(error))\n }\n this.payload.logger.info(`Created collection: ${collectionId}`)\n } catch (error) {\n const errorMessage = (error as Error).message\n if (!errorMessage.includes('already exists') && !errorMessage.includes('409')) {\n this.payload.logger.warn(`Failed to create collection ${collectionId}: ${errorMessage}`)\n }\n }\n}\n\nasync function findMany(\n this: ContentAPIAdapter,\n {\n collection,\n joins,\n limit,\n page,\n pagination,\n sort,\n where,\n // Not yet passed to Content API:\n // - select: supported by Content API, pass-through possible\n // Not supported by Content API:\n // - draftsEnabled, locale, versions, projection\n }: Pick<FindArgs, 'joins' | 'pagination' | 'sort' | 'where'> &\n Required<Pick<FindArgs, 'collection' | 'limit' | 'page'>>,\n) {\n const { data: response, error } = await this.client.POST('/api/v0/documents:find', {\n body: {\n collectionId: collection,\n contentSystemId: this.contentSystemId,\n join: convertPayloadJoinsToContentAPI(this.payload, collection, joins),\n limit,\n page: page ?? 1,\n sort: addFallbackSort(sort, this.payload, collection),\n where: convertPayloadWhereToContentAPI(where ?? {}),\n },\n })\n\n if (error) {\n throw new Error(`Content API findMany error: ${JSON.stringify(error)}`)\n }\n if (!response) {\n throw new Error('No response from findMany')\n }\n\n return {\n docs: response.result.data.map((doc) => unwrapDocument(this.payload, doc, collection)),\n ...getPaginationData(response.result.pagination, pagination),\n }\n}\n\nasync function find(this: ContentAPIAdapter, args: FindArgs) {\n const collectionConfig = this.payload.config.collections.find((c) => c.slug === args.collection)\n return findMany.call(this, {\n collection: args.collection,\n joins: args.joins,\n // TODO: FindArgs.limit should be 'number' not 'number | undefined'\n // is sanitized by Payload Core before calling the adapter (defaults to 10 or 0 based on pagination)\n limit: args.limit!,\n page: args.page ?? 1,\n pagination: args.pagination,\n sort: args.sort || collectionConfig?.defaultSort,\n where: args.where,\n })\n}\n\n// TODO: remove Omit when this PR is released: https://github.com/payloadcms/payload/pull/15183\nasync function findVersions(this: ContentAPIAdapter, args: Omit<FindVersionsArgs, 'skip'>) {\n const sortWithFallback = addFallbackSort(args.sort || '-updatedAt', this.payload, args.collection)\n\n const whereClause = convertPayloadWhereToContentAPI(args.where ?? {}, {\n parentToDocumentId: true,\n })\n\n const { data: response, error } = await this.client.POST('/api/v0/document_versions:find', {\n body: {\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n // TODO: FindVersionsArgs.limit should be 'number' not 'number | undefined'\n // is sanitized by Payload Core before calling the adapter (defaults to 10 or 0 based on pagination)\n limit: args.limit!,\n page: args.page ?? 1,\n sort: sortWithFallback,\n where: whereClause,\n },\n })\n\n if (error) {\n throw new Error(`Content API findVersions error: ${JSON.stringify(error)}`)\n }\n if (!response) {\n throw new Error('No response from findVersions')\n }\n\n const docs = response.result.data.map((doc) => unwrapDocument(this.payload, doc, args.collection))\n\n return {\n docs,\n ...getPaginationData(response.result.pagination, args.pagination),\n }\n}\n\nasync function queryDrafts(this: ContentAPIAdapter, args: QueryDraftsArgs) {\n const versionsResult = await this.findVersions({\n collection: args.collection,\n limit: args.limit,\n page: args.page,\n pagination: args.pagination,\n sort: args.sort,\n where: { ...args.where, latest: { equals: true } },\n })\n\n // queryDrafts should return documents with fields at root level, not nested in 'version'\n // So we need to unwrap the version structure and merge version fields to root\n const docs = versionsResult.docs.map((versionDoc) => {\n const { version, ...versionMeta } = versionDoc as any\n return {\n ...versionMeta,\n ...version,\n // Keep version metadata like parent, but document fields take precedence\n id: version.id, // Document ID, not version ID\n }\n })\n\n return {\n ...versionsResult,\n docs,\n }\n}\n\nasync function createVersion(this: ContentAPIAdapter, args: CreateVersionArgs) {\n const { data: response, error } = await this.client.POST('/api/v0/document_versions:create', {\n body: {\n collectionId: args.collectionSlug,\n contentSystemId: this.contentSystemId,\n data: dataToContentAPI(this.payload, args.collectionSlug, args.versionData, {\n applyDefaults: true,\n }),\n documentId: String(args.parent),\n latest: !args.autosave,\n },\n })\n\n if (error) {\n throw new Error(`Content API createVersion error: ${JSON.stringify(error)}`)\n }\n if (!response) {\n throw new Error('No response from createVersion')\n }\n if (!('data' in response.result)) {\n throw new Error('Unexpected response format from createVersion')\n }\n\n return unwrapDocument(this.payload, response.result.data, args.collectionSlug)\n}\n\nasync function updateVersion(this: ContentAPIAdapter, args: UpdateVersionArgs) {\n const { data: response, error } = await this.client.POST('/api/v0/document_versions:update', {\n body: {\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n createOnMissing: false,\n data: dataToContentAPI(this.payload, args.collection, args.versionData),\n where: convertPayloadWhereToContentAPI(args.where ?? { id: { equals: args.id } }),\n },\n })\n\n if (error) {\n throw new Error(`Content API updateVersion error: ${JSON.stringify(error)}`)\n }\n if (!response?.result || !('data' in response.result)) {\n throw new Error('No document data in updateVersion response')\n }\n\n const doc = response.result.data[0]\n if (!doc) {\n return null\n }\n\n return unwrapDocument(this.payload, doc, args.collection)\n}\n\nasync function deleteVersions(this: ContentAPIAdapter, args: DeleteVersionsArgs) {\n if (!args.collection) {\n throw new Error('deleteVersions requires a collection')\n }\n\n const { error } = await this.client.POST('/api/v0/document_versions:delete', {\n body: {\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n where: convertPayloadWhereToContentAPI(args.where),\n },\n })\n\n if (error) {\n throw new Error(`Content API deleteVersions error: ${JSON.stringify(error)}`)\n }\n}\n\nasync function findOne(this: ContentAPIAdapter, args: FindOneArgs) {\n const { docs } = await this.find({\n collection: args.collection,\n joins: args.joins,\n limit: 1,\n pagination: false,\n where: args.where,\n })\n return docs[0] ?? null\n}\n\nasync function updateMany(this: ContentAPIAdapter, args: UpdateManyArgs) {\n const sortWithFallback = addFallbackSort(args.sort || '-updatedAt', this.payload, args.collection)\n const { data: response, error } = await this.client.POST('/api/v0/documents:update', {\n body: {\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n createOnMissing: false,\n data: dataToContentAPI(this.payload, args.collection, args.data),\n limit: args.limit,\n returning: {},\n sort: sortWithFallback,\n where: convertPayloadWhereToContentAPI(args.where),\n },\n })\n\n if (error) {\n throw new Error(`Content API updateMany error: ${JSON.stringify(error)}`)\n }\n if (!response) {\n throw new Error('No response from updateMany')\n }\n\n if (response.result && 'data' in response.result) {\n return response.result.data.map((doc) => unwrapDocument(this.payload, doc, args.collection))\n }\n return null\n}\n\nasync function updateOne(this: ContentAPIAdapter, args: UpdateOneArgs) {\n const { data: response, error } = await this.client.POST('/api/v0/documents:update', {\n body: {\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n createOnMissing: false,\n data: dataToContentAPI(this.payload, args.collection, args.data),\n returning: {},\n where: convertPayloadWhereToContentAPI(args.where ?? { id: { equals: args.id } }),\n },\n })\n\n if (error) {\n throw new Error(`Content API updateOne error: ${JSON.stringify(error)}`)\n }\n if (!response) {\n throw new Error('No response from updateOne')\n }\n if (!response.result || !('data' in response.result)) {\n throw new Error('Unexpected response format from updateOne')\n }\n\n const doc = response.result.data[0]\n if (!doc) {\n return null\n }\n\n return unwrapDocument(this.payload, doc, args.collection)\n}\n\nasync function deleteMany(this: ContentAPIAdapter, args: DeleteManyArgs) {\n const { error } = await this.client.POST('/api/v0/documents:delete', {\n body: {\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n where: convertPayloadWhereToContentAPI(args.where),\n },\n })\n\n if (error) {\n throw new Error(`Content API deleteMany error: ${JSON.stringify(error)}`)\n }\n}\n\nasync function deleteOne(this: ContentAPIAdapter, args: DeleteOneArgs) {\n const { data: response, error } = await this.client.POST('/api/v0/documents:delete', {\n body: {\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n returning: {}, // Request deleted document back\n where: convertPayloadWhereToContentAPI(args.where),\n },\n })\n\n if (error) {\n throw new Error(`Content API deleteOne error: ${JSON.stringify(error)}`)\n }\n if (!response?.result || !('data' in response.result)) {\n throw new Error('No document data in deleteOne response')\n }\n\n const doc = response.result.data[0]\n if (!doc) {\n return null\n }\n\n return unwrapDocument(this.payload, doc, args.collection)\n}\n\nasync function create(this: ContentAPIAdapter, args: CreateArgs) {\n const id = (args.data.id as string | undefined) || uuid()\n\n const { data: response, error } = await this.client.POST('/api/v0/documents:create', {\n body: {\n id: String(id),\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n data: dataToContentAPI(this.payload, args.collection, args.data, { applyDefaults: true }),\n },\n })\n\n if (error) {\n throw new Error(`Content API create error: ${JSON.stringify(error)}`)\n }\n if (!response) {\n throw new Error('No response from create')\n }\n if (!('data' in response.result)) {\n throw new Error('Unexpected response format from create')\n }\n\n return unwrapDocument(this.payload, response.result.data, args.collection)\n}\n\nasync function count(this: ContentAPIAdapter, args: CountArgs) {\n const { data: response, error } = await this.client.POST('/api/v0/documents:count', {\n body: {\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n where: convertPayloadWhereToContentAPI(args.where),\n },\n })\n\n if (error) {\n throw new Error(`Content API count error: ${JSON.stringify(error)}`)\n }\n if (!response) {\n throw new Error('No response from count')\n }\n\n return { totalDocs: response.result.count }\n}\n\nasync function countVersions(this: ContentAPIAdapter, args: CountArgs) {\n const { data: response, error } = await this.client.POST('/api/v0/document_versions:count', {\n body: {\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n where: convertPayloadWhereToContentAPI(args.where),\n },\n })\n\n if (error) {\n throw new Error(`Content API countVersions error: ${JSON.stringify(error)}`)\n }\n if (!response) {\n throw new Error('No response from countVersions')\n }\n\n return { totalDocs: response.result.count }\n}\n\nasync function upsert(this: ContentAPIAdapter, args: UpsertArgs) {\n let documentId = args.data.id as string | undefined\n if (!documentId && args.where && 'id' in args.where) {\n const idClause = (args.where as Record<string, unknown>).id as Record<string, unknown>\n if (idClause && 'equals' in idClause) {\n documentId = idClause.equals as string\n }\n }\n if (!documentId) {\n documentId = uuid()\n }\n\n const { data: response, error } = await this.client.POST('/api/v0/documents:update', {\n body: {\n collectionId: args.collection,\n contentSystemId: this.contentSystemId,\n createOnMissing: { id: documentId },\n data: dataToContentAPI(this.payload, args.collection, args.data, { applyDefaults: true }),\n where: convertPayloadWhereToContentAPI(args.where),\n },\n })\n\n if (error) {\n throw new Error(`Content API upsert error: ${JSON.stringify(error)}`)\n }\n if (!response) {\n throw new Error('No response from upsert')\n }\n if (!response.result || !('data' in response.result)) {\n throw new Error('Unexpected response format from upsert')\n }\n\n const doc = response.result.data[0]\n if (!doc) {\n throw new Error('No document data in upsert response')\n }\n\n return unwrapDocument(this.payload, doc, args.collection)\n}\n\nfunction createGlobal(this: ContentAPIAdapter, args: CreateGlobalArgs) {\n return this.create({\n collection: getGlobalSlug(args.slug),\n data: { ...args.data, globalType: args.slug },\n })\n}\n\nfunction findGlobal(this: ContentAPIAdapter, args: FindGlobalArgs) {\n return this.findOne({ collection: getGlobalSlug(args.slug), where: args.where ?? {} })\n}\n\nasync function updateGlobal(this: ContentAPIAdapter, args: UpdateGlobalArgs) {\n // Use upsert to ensure the global exists\n // Use slug as the consistent document ID for globals\n return this.upsert({\n collection: getGlobalSlug(args.slug),\n data: args.data,\n where: { id: { equals: args.slug } },\n })\n}\n\n// TODO: remove Omit when this PR is released: https://github.com/payloadcms/payload/pull/15183\nfunction findGlobalVersions(this: ContentAPIAdapter, args: Omit<FindGlobalVersionsArgs, 'skip'>) {\n return this.findVersions({\n collection: getGlobalSlug(args.global),\n limit: args.limit,\n page: args.page,\n pagination: args.pagination,\n sort: args.sort,\n where: args.where,\n })\n}\n\nfunction createGlobalVersion(this: ContentAPIAdapter, args: CreateGlobalVersionArgs) {\n // For globals, use the globalSlug as the consistent document ID\n // This matches what we do in updateGlobal\n return this.createVersion({\n autosave: args.autosave,\n collectionSlug: getGlobalSlug(args.globalSlug),\n createdAt: args.createdAt,\n parent: args.globalSlug,\n updatedAt: args.updatedAt,\n versionData: args.versionData,\n })\n}\n\nfunction updateGlobalVersion(this: ContentAPIAdapter, args: UpdateGlobalVersionArgs) {\n // UpdateVersion requires either id OR where, not both\n if (args.id !== undefined) {\n return this.updateVersion({\n id: args.id,\n collection: getGlobalSlug(args.global),\n versionData: args.versionData,\n })\n }\n // args.where is guaranteed by Payload when args.id is undefined\n return this.updateVersion({\n collection: getGlobalSlug(args.global),\n versionData: args.versionData,\n where: args.where,\n })\n}\n\nfunction countGlobalVersions(this: ContentAPIAdapter, args: CountGlobalVersionArgs) {\n return this.countVersions({ collection: getGlobalSlug(args.global), where: args.where })\n}\n\nexport const contentAPIAdapter = (opts: ContentAPIOptions): DatabaseAdapterObj => ({\n name: 'content-api',\n defaultIDType: 'text',\n init: ({ payload }) => {\n const client = createClient<paths>({ baseUrl: opts.url })\n\n const middlewareOpts = {\n auth: opts.auth,\n contentSystemId: opts.contentSystemId,\n logger: payload.logger,\n url: opts.url,\n }\n\n client.use(createAuthMiddleware(middlewareOpts))\n client.use(createErrorMiddleware(middlewareOpts))\n\n return createDatabaseAdapter<ContentAPIAdapter>({\n name: 'content-api',\n auth: opts.auth,\n beginTransaction: () => Promise.resolve('no-op-transaction'),\n client,\n commitTransaction: async () => {},\n contentSystemId: opts.contentSystemId,\n count: count as Count,\n countGlobalVersions: countGlobalVersions as CountGlobalVersions,\n countVersions: countVersions as CountVersions,\n create: create as Create,\n createGlobal: createGlobal as CreateGlobal,\n createGlobalVersion: createGlobalVersion as CreateGlobalVersion,\n createVersion: createVersion as CreateVersion,\n defaultIDType: 'text',\n deleteMany: deleteMany as DeleteMany,\n deleteOne: deleteOne as DeleteOne,\n deleteVersions: deleteVersions as DeleteVersions,\n find: find as Find,\n findDistinct: () =>\n Promise.reject(new Error('findDistinct is not yet implemented for Content API adapter')),\n findGlobal: findGlobal as FindGlobal,\n findGlobalVersions: findGlobalVersions as FindGlobalVersions,\n findOne: findOne as FindOne,\n findVersions: findVersions as FindVersions,\n init,\n packageName: '@payloadcms/db-content-api',\n payload,\n queryDrafts: queryDrafts as QueryDrafts,\n rollbackTransaction: async () => {},\n updateGlobal: updateGlobal as UpdateGlobal,\n updateGlobalVersion: updateGlobalVersion as UpdateGlobalVersion,\n updateMany: updateMany as UpdateMany,\n updateOne: updateOne as UpdateOne,\n updateVersion: updateVersion as UpdateVersion,\n upsert: upsert as Upsert,\n url: opts.url,\n })\n },\n})\n"],"names":["createClient","createDatabaseAdapter","v4","uuid","getPaginationData","getGlobalSlug","addFallbackSort","unwrapDocument","createAuthMiddleware","createErrorMiddleware","dataToContentAPI","convertPayloadJoinsToContentAPI","convertPayloadWhereToContentAPI","init","auth","mode","payload","logger","info","process","env","PAYLOAD_DROP_DATABASE","contentSystemId","fetch","url","body","JSON","stringify","headers","method","error","warn","message","existingIds","data","response","client","GET","params","path","Error","Set","map","c","id","size","collection","config","collections","has","slug","createCollection","call","global","globals","globalId","collectionId","POST","errorMessage","includes","findMany","joins","limit","page","pagination","sort","where","join","docs","result","doc","find","args","collectionConfig","defaultSort","findVersions","sortWithFallback","whereClause","parentToDocumentId","queryDrafts","versionsResult","latest","equals","versionDoc","version","versionMeta","createVersion","collectionSlug","versionData","applyDefaults","documentId","String","parent","autosave","updateVersion","createOnMissing","deleteVersions","findOne","updateMany","returning","updateOne","deleteMany","deleteOne","create","count","totalDocs","countVersions","upsert","idClause","createGlobal","globalType","findGlobal","updateGlobal","findGlobalVersions","createGlobalVersion","globalSlug","createdAt","updatedAt","updateGlobalVersion","undefined","countGlobalVersions","contentAPIAdapter","opts","name","defaultIDType","baseUrl","middlewareOpts","use","beginTransaction","Promise","resolve","commitTransaction","findDistinct","reject","packageName","rollbackTransaction"],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { components } from '../generated/content-api-types.js';
2
- export declare const getPaginationData: (contentAPIPagination: components["schemas"]["Pagination"], pagination?: boolean) => {
3
- hasNextPage: boolean;
4
- hasPrevPage: boolean;
5
- limit: number;
6
- nextPage: number | null;
7
- page: number;
8
- pagingCounter: number;
9
- prevPage: number | null;
10
- totalDocs: number;
11
- totalPages: number;
12
- };
13
- //# sourceMappingURL=pagination.d.ts.map