@payloadcms/figma 0.0.1-alpha.38-2 → 0.0.1-alpha.4

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 (264) 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 +26 -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 -22
  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 -90
  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/index.d.ts +1 -2
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +1 -3
  63. package/dist/index.js.map +1 -1
  64. package/dist/oauth/components/LoginButton/index.d.ts.map +1 -1
  65. package/dist/oauth/components/LoginButton/index.js +6 -50
  66. package/dist/oauth/components/LoginButton/index.js.map +1 -1
  67. package/dist/oauth/components/LoginButton/index.scss +3 -50
  68. package/dist/oauth/components/LogoutButton/index.d.ts.map +1 -1
  69. package/dist/oauth/components/LogoutButton/index.js +1 -0
  70. package/dist/oauth/components/LogoutButton/index.js.map +1 -1
  71. package/dist/oauth/defaults.d.ts.map +1 -1
  72. package/dist/oauth/defaults.js +5 -29
  73. package/dist/oauth/defaults.js.map +1 -1
  74. package/dist/oauth/endpoints/getLoginEndpoint.d.ts.map +1 -1
  75. package/dist/oauth/endpoints/getLoginEndpoint.js +4 -4
  76. package/dist/oauth/endpoints/getLoginEndpoint.js.map +1 -1
  77. package/dist/oauth/index.d.ts.map +1 -1
  78. package/dist/oauth/index.js +7 -42
  79. package/dist/oauth/index.js.map +1 -1
  80. package/dist/oauth/strategy/index.d.ts +2 -0
  81. package/dist/oauth/strategy/index.d.ts.map +1 -1
  82. package/dist/oauth/strategy/index.js +15 -38
  83. package/dist/oauth/strategy/index.js.map +1 -1
  84. package/dist/oauth/types.d.ts +6 -6
  85. package/dist/oauth/types.d.ts.map +1 -1
  86. package/dist/oauth/types.js.map +1 -1
  87. package/dist/oauth/utilities/createCookieOptions.d.ts.map +1 -1
  88. package/dist/oauth/utilities/createCookieOptions.js.map +1 -1
  89. package/dist/oauth/utilities/refreshTokens.d.ts.map +1 -1
  90. package/dist/oauth/utilities/refreshTokens.js +1 -1
  91. package/dist/oauth/utilities/refreshTokens.js.map +1 -1
  92. package/dist/plugin/build-config.d.ts +4 -21
  93. package/dist/plugin/build-config.d.ts.map +1 -1
  94. package/dist/plugin/build-config.js +8 -114
  95. package/dist/plugin/build-config.js.map +1 -1
  96. package/dist/types.d.ts +0 -1
  97. package/dist/types.d.ts.map +1 -1
  98. package/dist/types.js.map +1 -1
  99. package/dist/utils/asset-collection.d.ts +6 -3
  100. package/dist/utils/asset-collection.d.ts.map +1 -1
  101. package/dist/utils/asset-collection.js +34 -10
  102. package/dist/utils/asset-collection.js.map +1 -1
  103. package/dist/utils/config.js +1 -1
  104. package/dist/utils/config.js.map +1 -1
  105. package/dist/utils/env-management.d.ts +8 -9
  106. package/dist/utils/env-management.d.ts.map +1 -1
  107. package/dist/utils/env-management.js +74 -73
  108. package/dist/utils/env-management.js.map +1 -1
  109. package/dist/utils/formatter.d.ts.map +1 -1
  110. package/dist/utils/formatter.js +5 -3
  111. package/dist/utils/formatter.js.map +1 -1
  112. package/dist/utils/lambda-config.d.ts +1 -3
  113. package/dist/utils/lambda-config.d.ts.map +1 -1
  114. package/dist/utils/lambda-config.js +21 -13
  115. package/dist/utils/lambda-config.js.map +1 -1
  116. package/dist/utils/messages.js +7 -7
  117. package/dist/utils/messages.js.map +1 -1
  118. package/dist/utils/payload-config-ast.d.ts +3 -22
  119. package/dist/utils/payload-config-ast.d.ts.map +1 -1
  120. package/dist/utils/payload-config-ast.js +31 -89
  121. package/dist/utils/payload-config-ast.js.map +1 -1
  122. package/dist/utils/payload-config-finder.d.ts +2 -2
  123. package/dist/utils/payload-config-finder.d.ts.map +1 -1
  124. package/dist/utils/payload-config-finder.js +9 -48
  125. package/dist/utils/payload-config-finder.js.map +1 -1
  126. package/dist/utils/payload-config-modifier.d.ts.map +1 -1
  127. package/dist/utils/payload-config-modifier.js +6 -54
  128. package/dist/utils/payload-config-modifier.js.map +1 -1
  129. package/dist/utils/payload-package-check.d.ts +1 -12
  130. package/dist/utils/payload-package-check.d.ts.map +1 -1
  131. package/dist/utils/payload-package-check.js +5 -63
  132. package/dist/utils/payload-package-check.js.map +1 -1
  133. package/dist/utils/project.d.ts.map +1 -1
  134. package/dist/utils/project.js +5 -8
  135. package/dist/utils/project.js.map +1 -1
  136. package/dist/utils/s3-upload.d.ts +1 -0
  137. package/dist/utils/s3-upload.d.ts.map +1 -1
  138. package/dist/utils/s3-upload.js +3 -10
  139. package/dist/utils/s3-upload.js.map +1 -1
  140. package/dist/utils/token-display.d.ts.map +1 -1
  141. package/dist/utils/token-display.js +5 -11
  142. package/dist/utils/token-display.js.map +1 -1
  143. package/dist/utils/typescript-validator.d.ts.map +1 -1
  144. package/dist/utils/typescript-validator.js +6 -4
  145. package/dist/utils/typescript-validator.js.map +1 -1
  146. package/package.json +7 -31
  147. package/dist/commands/build-lambda-zip.d.ts +0 -5
  148. package/dist/commands/build-lambda-zip.d.ts.map +0 -1
  149. package/dist/commands/build-lambda-zip.js +0 -19
  150. package/dist/commands/build-lambda-zip.js.map +0 -1
  151. package/dist/db-content-api/README.md +0 -98
  152. package/dist/db-content-api/generated/content-api-types.d.ts +0 -3848
  153. package/dist/db-content-api/generated/content-api-types.d.ts.map +0 -1
  154. package/dist/db-content-api/generated/content-api-types.js +0 -7
  155. package/dist/db-content-api/generated/content-api-types.js.map +0 -1
  156. package/dist/db-content-api/index.d.ts +0 -18
  157. package/dist/db-content-api/index.d.ts.map +0 -1
  158. package/dist/db-content-api/index.js +0 -571
  159. package/dist/db-content-api/index.js.map +0 -1
  160. package/dist/db-content-api/temp-utilities/pagination.d.ts +0 -13
  161. package/dist/db-content-api/temp-utilities/pagination.d.ts.map +0 -1
  162. package/dist/db-content-api/temp-utilities/pagination.js +0 -45
  163. package/dist/db-content-api/temp-utilities/pagination.js.map +0 -1
  164. package/dist/db-content-api/temp-utilities/slug.d.ts +0 -2
  165. package/dist/db-content-api/temp-utilities/slug.d.ts.map +0 -1
  166. package/dist/db-content-api/temp-utilities/slug.js +0 -3
  167. package/dist/db-content-api/temp-utilities/slug.js.map +0 -1
  168. package/dist/db-content-api/temp-utilities/sorting.d.ts +0 -3
  169. package/dist/db-content-api/temp-utilities/sorting.d.ts.map +0 -1
  170. package/dist/db-content-api/temp-utilities/sorting.js +0 -32
  171. package/dist/db-content-api/temp-utilities/sorting.js.map +0 -1
  172. package/dist/db-content-api/temp-utilities/unwrapDocument.d.ts +0 -4
  173. package/dist/db-content-api/temp-utilities/unwrapDocument.d.ts.map +0 -1
  174. package/dist/db-content-api/temp-utilities/unwrapDocument.js +0 -53
  175. package/dist/db-content-api/temp-utilities/unwrapDocument.js.map +0 -1
  176. package/dist/db-content-api/utilities/auth.d.ts +0 -30
  177. package/dist/db-content-api/utilities/auth.d.ts.map +0 -1
  178. package/dist/db-content-api/utilities/auth.js +0 -81
  179. package/dist/db-content-api/utilities/auth.js.map +0 -1
  180. package/dist/db-content-api/utilities/data/applyDefaults.d.ts +0 -7
  181. package/dist/db-content-api/utilities/data/applyDefaults.d.ts.map +0 -1
  182. package/dist/db-content-api/utilities/data/applyDefaults.js +0 -59
  183. package/dist/db-content-api/utilities/data/applyDefaults.js.map +0 -1
  184. package/dist/db-content-api/utilities/data/castFieldValue.d.ts +0 -11
  185. package/dist/db-content-api/utilities/data/castFieldValue.d.ts.map +0 -1
  186. package/dist/db-content-api/utilities/data/castFieldValue.js +0 -66
  187. package/dist/db-content-api/utilities/data/castFieldValue.js.map +0 -1
  188. package/dist/db-content-api/utilities/data/index.d.ts +0 -30
  189. package/dist/db-content-api/utilities/data/index.d.ts.map +0 -1
  190. package/dist/db-content-api/utilities/data/index.js +0 -173
  191. package/dist/db-content-api/utilities/data/index.js.map +0 -1
  192. package/dist/db-content-api/utilities/data/removeVirtualFields.d.ts +0 -12
  193. package/dist/db-content-api/utilities/data/removeVirtualFields.d.ts.map +0 -1
  194. package/dist/db-content-api/utilities/data/removeVirtualFields.js +0 -54
  195. package/dist/db-content-api/utilities/data/removeVirtualFields.js.map +0 -1
  196. package/dist/db-content-api/utilities/data/stripFields.d.ts +0 -48
  197. package/dist/db-content-api/utilities/data/stripFields.d.ts.map +0 -1
  198. package/dist/db-content-api/utilities/data/stripFields.js +0 -195
  199. package/dist/db-content-api/utilities/data/stripFields.js.map +0 -1
  200. package/dist/db-content-api/utilities/joins.d.ts +0 -55
  201. package/dist/db-content-api/utilities/joins.d.ts.map +0 -1
  202. package/dist/db-content-api/utilities/joins.js +0 -136
  203. package/dist/db-content-api/utilities/joins.js.map +0 -1
  204. package/dist/db-content-api/utilities/where.d.ts +0 -12
  205. package/dist/db-content-api/utilities/where.d.ts.map +0 -1
  206. package/dist/db-content-api/utilities/where.js +0 -107
  207. package/dist/db-content-api/utilities/where.js.map +0 -1
  208. package/dist/endpoints/health.d.ts +0 -3
  209. package/dist/endpoints/health.d.ts.map +0 -1
  210. package/dist/endpoints/health.js +0 -11
  211. package/dist/endpoints/health.js.map +0 -1
  212. package/dist/exports/client.d.ts +0 -4
  213. package/dist/exports/client.d.ts.map +0 -1
  214. package/dist/exports/client.js +0 -5
  215. package/dist/exports/client.js.map +0 -1
  216. package/dist/oauth/utilities/isDuplicateKeyError.d.ts +0 -7
  217. package/dist/oauth/utilities/isDuplicateKeyError.d.ts.map +0 -1
  218. package/dist/oauth/utilities/isDuplicateKeyError.js +0 -14
  219. package/dist/oauth/utilities/isDuplicateKeyError.js.map +0 -1
  220. package/dist/storage-content-api/api-types.d.ts +0 -161
  221. package/dist/storage-content-api/api-types.d.ts.map +0 -1
  222. package/dist/storage-content-api/api-types.js +0 -6
  223. package/dist/storage-content-api/api-types.js.map +0 -1
  224. package/dist/storage-content-api/client-uploads/ClientUploadHandler.d.ts +0 -9
  225. package/dist/storage-content-api/client-uploads/ClientUploadHandler.d.ts.map +0 -1
  226. package/dist/storage-content-api/client-uploads/ClientUploadHandler.js +0 -42
  227. package/dist/storage-content-api/client-uploads/ClientUploadHandler.js.map +0 -1
  228. package/dist/storage-content-api/client-uploads/generateSignedURL.d.ts +0 -13
  229. package/dist/storage-content-api/client-uploads/generateSignedURL.d.ts.map +0 -1
  230. package/dist/storage-content-api/client-uploads/generateSignedURL.js +0 -31
  231. package/dist/storage-content-api/client-uploads/generateSignedURL.js.map +0 -1
  232. package/dist/storage-content-api/client.d.ts +0 -6
  233. package/dist/storage-content-api/client.d.ts.map +0 -1
  234. package/dist/storage-content-api/client.js +0 -36
  235. package/dist/storage-content-api/client.js.map +0 -1
  236. package/dist/storage-content-api/generateURL.d.ts +0 -7
  237. package/dist/storage-content-api/generateURL.d.ts.map +0 -1
  238. package/dist/storage-content-api/generateURL.js +0 -7
  239. package/dist/storage-content-api/generateURL.js.map +0 -1
  240. package/dist/storage-content-api/handleDelete.d.ts +0 -8
  241. package/dist/storage-content-api/handleDelete.d.ts.map +0 -1
  242. package/dist/storage-content-api/handleDelete.js +0 -15
  243. package/dist/storage-content-api/handleDelete.js.map +0 -1
  244. package/dist/storage-content-api/handleUpload.d.ts +0 -11
  245. package/dist/storage-content-api/handleUpload.d.ts.map +0 -1
  246. package/dist/storage-content-api/handleUpload.js +0 -136
  247. package/dist/storage-content-api/handleUpload.js.map +0 -1
  248. package/dist/storage-content-api/index.d.ts +0 -5
  249. package/dist/storage-content-api/index.d.ts.map +0 -1
  250. package/dist/storage-content-api/index.js +0 -31
  251. package/dist/storage-content-api/index.js.map +0 -1
  252. package/dist/storage-content-api/staticHandler.d.ts +0 -10
  253. package/dist/storage-content-api/staticHandler.d.ts.map +0 -1
  254. package/dist/storage-content-api/staticHandler.js +0 -55
  255. package/dist/storage-content-api/staticHandler.js.map +0 -1
  256. package/dist/storage-content-api/types.d.ts +0 -10
  257. package/dist/storage-content-api/types.d.ts.map +0 -1
  258. package/dist/storage-content-api/types.js +0 -3
  259. package/dist/storage-content-api/types.js.map +0 -1
  260. package/dist/templates/README.md +0 -19
  261. package/dist/utils/build-lambda-zip.d.ts +0 -14
  262. package/dist/utils/build-lambda-zip.d.ts.map +0 -1
  263. package/dist/utils/build-lambda-zip.js +0 -81
  264. package/dist/utils/build-lambda-zip.js.map +0 -1
@@ -1,571 +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
- limit: args.limit ?? 0,
122
- page: args.page ?? 1,
123
- pagination: args.pagination,
124
- sort: args.sort || collectionConfig?.defaultSort,
125
- where: args.where
126
- });
127
- }
128
- // TODO: remove Omit when this PR is released: https://github.com/payloadcms/payload/pull/15183
129
- async function findVersions(args) {
130
- const sortWithFallback = addFallbackSort(args.sort || '-updatedAt', this.payload, args.collection);
131
- const whereClause = convertPayloadWhereToContentAPI(args.where ?? {}, {
132
- parentToDocumentId: true
133
- });
134
- const { data: response, error } = await this.client.POST('/api/v0/document_versions:find', {
135
- body: {
136
- collectionId: args.collection,
137
- contentSystemId: this.contentSystemId,
138
- limit: args.limit ?? 0,
139
- page: args.page ?? 1,
140
- sort: sortWithFallback,
141
- where: whereClause
142
- }
143
- });
144
- if (error) {
145
- throw new Error(`Content API findVersions error: ${JSON.stringify(error)}`);
146
- }
147
- if (!response) {
148
- throw new Error('No response from findVersions');
149
- }
150
- const docs = response.result.data.map((doc)=>unwrapDocument(this.payload, doc, args.collection));
151
- return {
152
- docs,
153
- ...getPaginationData(response.result.pagination, args.pagination)
154
- };
155
- }
156
- async function queryDrafts(args) {
157
- const versionsResult = await this.findVersions({
158
- collection: args.collection,
159
- limit: args.limit,
160
- page: args.page,
161
- pagination: args.pagination,
162
- sort: args.sort,
163
- where: {
164
- ...args.where,
165
- latest: {
166
- equals: true
167
- }
168
- }
169
- });
170
- // queryDrafts should return documents with fields at root level, not nested in 'version'
171
- // So we need to unwrap the version structure and merge version fields to root
172
- const docs = versionsResult.docs.map((versionDoc)=>{
173
- const { version, ...versionMeta } = versionDoc;
174
- return {
175
- ...versionMeta,
176
- ...version,
177
- // Keep version metadata like parent, but document fields take precedence
178
- id: version.id
179
- };
180
- });
181
- return {
182
- ...versionsResult,
183
- docs
184
- };
185
- }
186
- async function createVersion(args) {
187
- const { data: response, error } = await this.client.POST('/api/v0/document_versions:create', {
188
- body: {
189
- collectionId: args.collectionSlug,
190
- contentSystemId: this.contentSystemId,
191
- data: dataToContentAPI(this.payload, args.collectionSlug, args.versionData, {
192
- applyDefaults: true
193
- }),
194
- documentId: String(args.parent),
195
- latest: !args.autosave
196
- }
197
- });
198
- if (error) {
199
- throw new Error(`Content API createVersion error: ${JSON.stringify(error)}`);
200
- }
201
- if (!response) {
202
- throw new Error('No response from createVersion');
203
- }
204
- if (!('data' in response.result)) {
205
- throw new Error('Unexpected response format from createVersion');
206
- }
207
- return unwrapDocument(this.payload, response.result.data, args.collectionSlug);
208
- }
209
- async function updateVersion(args) {
210
- const { data: response, error } = await this.client.POST('/api/v0/document_versions:update', {
211
- body: {
212
- collectionId: args.collection,
213
- contentSystemId: this.contentSystemId,
214
- createOnMissing: false,
215
- data: dataToContentAPI(this.payload, args.collection, args.versionData),
216
- where: convertPayloadWhereToContentAPI(args.where ?? {
217
- id: {
218
- equals: args.id
219
- }
220
- })
221
- }
222
- });
223
- if (error) {
224
- throw new Error(`Content API updateVersion error: ${JSON.stringify(error)}`);
225
- }
226
- if (!response?.result || !('data' in response.result)) {
227
- throw new Error('No document data in updateVersion response');
228
- }
229
- const doc = response.result.data[0];
230
- if (!doc) {
231
- return null;
232
- }
233
- return unwrapDocument(this.payload, doc, args.collection);
234
- }
235
- async function deleteVersions(args) {
236
- if (!args.collection) {
237
- throw new Error('deleteVersions requires a collection');
238
- }
239
- const { error } = await this.client.POST('/api/v0/document_versions:delete', {
240
- body: {
241
- collectionId: args.collection,
242
- contentSystemId: this.contentSystemId,
243
- where: convertPayloadWhereToContentAPI(args.where)
244
- }
245
- });
246
- if (error) {
247
- throw new Error(`Content API deleteVersions error: ${JSON.stringify(error)}`);
248
- }
249
- }
250
- async function findOne(args) {
251
- const { docs } = await this.find({
252
- collection: args.collection,
253
- joins: args.joins,
254
- limit: 1,
255
- pagination: false,
256
- where: args.where
257
- });
258
- return docs[0] ?? null;
259
- }
260
- async function updateMany(args) {
261
- const { data: response, error } = await this.client.POST('/api/v0/documents:update', {
262
- body: {
263
- collectionId: args.collection,
264
- contentSystemId: this.contentSystemId,
265
- createOnMissing: false,
266
- data: dataToContentAPI(this.payload, args.collection, args.data),
267
- returning: {},
268
- where: convertPayloadWhereToContentAPI(args.where)
269
- }
270
- });
271
- if (error) {
272
- throw new Error(`Content API updateMany error: ${JSON.stringify(error)}`);
273
- }
274
- if (!response) {
275
- throw new Error('No response from updateMany');
276
- }
277
- if (response.result && 'data' in response.result) {
278
- return response.result.data.map((doc)=>unwrapDocument(this.payload, doc, args.collection));
279
- }
280
- return null;
281
- }
282
- async function updateOne(args) {
283
- const { data: response, error } = await this.client.POST('/api/v0/documents:update', {
284
- body: {
285
- collectionId: args.collection,
286
- contentSystemId: this.contentSystemId,
287
- createOnMissing: false,
288
- data: dataToContentAPI(this.payload, args.collection, args.data),
289
- returning: {},
290
- where: convertPayloadWhereToContentAPI(args.where ?? {
291
- id: {
292
- equals: args.id
293
- }
294
- })
295
- }
296
- });
297
- if (error) {
298
- throw new Error(`Content API updateOne error: ${JSON.stringify(error)}`);
299
- }
300
- if (!response) {
301
- throw new Error('No response from updateOne');
302
- }
303
- if (!response.result || !('data' in response.result)) {
304
- throw new Error('Unexpected response format from updateOne');
305
- }
306
- const doc = response.result.data[0];
307
- if (!doc) {
308
- return null;
309
- }
310
- return unwrapDocument(this.payload, doc, args.collection);
311
- }
312
- async function deleteMany(args) {
313
- const { error } = await this.client.POST('/api/v0/documents:delete', {
314
- body: {
315
- collectionId: args.collection,
316
- contentSystemId: this.contentSystemId,
317
- where: convertPayloadWhereToContentAPI(args.where)
318
- }
319
- });
320
- if (error) {
321
- throw new Error(`Content API deleteMany error: ${JSON.stringify(error)}`);
322
- }
323
- }
324
- async function deleteOne(args) {
325
- const { data: response, error } = await this.client.POST('/api/v0/documents:delete', {
326
- body: {
327
- collectionId: args.collection,
328
- contentSystemId: this.contentSystemId,
329
- returning: {},
330
- where: convertPayloadWhereToContentAPI(args.where)
331
- }
332
- });
333
- if (error) {
334
- throw new Error(`Content API deleteOne error: ${JSON.stringify(error)}`);
335
- }
336
- if (!response?.result || !('data' in response.result)) {
337
- throw new Error('No document data in deleteOne response');
338
- }
339
- const doc = response.result.data[0];
340
- if (!doc) {
341
- return null;
342
- }
343
- return unwrapDocument(this.payload, doc, args.collection);
344
- }
345
- async function create(args) {
346
- const id = args.data.id || uuid();
347
- const { data: response, error } = await this.client.POST('/api/v0/documents:create', {
348
- body: {
349
- id: String(id),
350
- collectionId: args.collection,
351
- contentSystemId: this.contentSystemId,
352
- data: dataToContentAPI(this.payload, args.collection, args.data, {
353
- applyDefaults: true
354
- })
355
- }
356
- });
357
- if (error) {
358
- throw new Error(`Content API create error: ${JSON.stringify(error)}`);
359
- }
360
- if (!response) {
361
- throw new Error('No response from create');
362
- }
363
- if (!('data' in response.result)) {
364
- throw new Error('Unexpected response format from create');
365
- }
366
- return unwrapDocument(this.payload, response.result.data, args.collection);
367
- }
368
- async function count(args) {
369
- const { data: response, error } = await this.client.POST('/api/v0/documents:count', {
370
- body: {
371
- collectionId: args.collection,
372
- contentSystemId: this.contentSystemId,
373
- where: convertPayloadWhereToContentAPI(args.where)
374
- }
375
- });
376
- if (error) {
377
- throw new Error(`Content API count error: ${JSON.stringify(error)}`);
378
- }
379
- if (!response) {
380
- throw new Error('No response from count');
381
- }
382
- return {
383
- totalDocs: response.result.count
384
- };
385
- }
386
- async function countVersions(args) {
387
- const { data: response, error } = await this.client.POST('/api/v0/document_versions:count', {
388
- body: {
389
- collectionId: args.collection,
390
- contentSystemId: this.contentSystemId,
391
- where: convertPayloadWhereToContentAPI(args.where)
392
- }
393
- });
394
- if (error) {
395
- throw new Error(`Content API countVersions error: ${JSON.stringify(error)}`);
396
- }
397
- if (!response) {
398
- throw new Error('No response from countVersions');
399
- }
400
- return {
401
- totalDocs: response.result.count
402
- };
403
- }
404
- async function upsert(args) {
405
- let documentId = args.data.id;
406
- if (!documentId && args.where && 'id' in args.where) {
407
- const idClause = args.where.id;
408
- if (idClause && 'equals' in idClause) {
409
- documentId = idClause.equals;
410
- }
411
- }
412
- if (!documentId) {
413
- documentId = uuid();
414
- }
415
- const { data: response, error } = await this.client.POST('/api/v0/documents:update', {
416
- body: {
417
- collectionId: args.collection,
418
- contentSystemId: this.contentSystemId,
419
- createOnMissing: {
420
- id: documentId
421
- },
422
- data: dataToContentAPI(this.payload, args.collection, args.data, {
423
- applyDefaults: true
424
- }),
425
- where: convertPayloadWhereToContentAPI(args.where)
426
- }
427
- });
428
- if (error) {
429
- throw new Error(`Content API upsert error: ${JSON.stringify(error)}`);
430
- }
431
- if (!response) {
432
- throw new Error('No response from upsert');
433
- }
434
- if (!response.result || !('data' in response.result)) {
435
- throw new Error('Unexpected response format from upsert');
436
- }
437
- const doc = response.result.data[0];
438
- if (!doc) {
439
- throw new Error('No document data in upsert response');
440
- }
441
- return unwrapDocument(this.payload, doc, args.collection);
442
- }
443
- function createGlobal(args) {
444
- return this.create({
445
- collection: getGlobalSlug(args.slug),
446
- data: {
447
- ...args.data,
448
- globalType: args.slug
449
- }
450
- });
451
- }
452
- function findGlobal(args) {
453
- return this.findOne({
454
- collection: getGlobalSlug(args.slug),
455
- where: args.where ?? {}
456
- });
457
- }
458
- async function updateGlobal(args) {
459
- // Use upsert to ensure the global exists
460
- // Use slug as the consistent document ID for globals
461
- return this.upsert({
462
- collection: getGlobalSlug(args.slug),
463
- data: args.data,
464
- where: {
465
- id: {
466
- equals: args.slug
467
- }
468
- }
469
- });
470
- }
471
- // TODO: remove Omit when this PR is released: https://github.com/payloadcms/payload/pull/15183
472
- function findGlobalVersions(args) {
473
- return this.findVersions({
474
- collection: getGlobalSlug(args.global),
475
- limit: args.limit,
476
- page: args.page,
477
- pagination: args.pagination,
478
- sort: args.sort,
479
- where: args.where
480
- });
481
- }
482
- function createGlobalVersion(args) {
483
- // For globals, use the globalSlug as the consistent document ID
484
- // This matches what we do in updateGlobal
485
- return this.createVersion({
486
- autosave: args.autosave,
487
- collectionSlug: getGlobalSlug(args.globalSlug),
488
- createdAt: args.createdAt,
489
- parent: args.globalSlug,
490
- updatedAt: args.updatedAt,
491
- versionData: args.versionData
492
- });
493
- }
494
- function updateGlobalVersion(args) {
495
- // UpdateVersion requires either id OR where, not both
496
- if (args.id !== undefined) {
497
- return this.updateVersion({
498
- id: args.id,
499
- collection: getGlobalSlug(args.global),
500
- versionData: args.versionData
501
- });
502
- }
503
- // args.where is guaranteed by Payload when args.id is undefined
504
- return this.updateVersion({
505
- collection: getGlobalSlug(args.global),
506
- versionData: args.versionData,
507
- where: args.where
508
- });
509
- }
510
- function countGlobalVersions(args) {
511
- return this.countVersions({
512
- collection: getGlobalSlug(args.global),
513
- where: args.where
514
- });
515
- }
516
- export const contentAPIAdapter = (opts)=>({
517
- name: 'content-api',
518
- defaultIDType: 'text',
519
- init: ({ payload })=>{
520
- const client = createClient({
521
- baseUrl: opts.url
522
- });
523
- const middlewareOpts = {
524
- auth: opts.auth,
525
- contentSystemId: opts.contentSystemId,
526
- logger: payload.logger,
527
- url: opts.url
528
- };
529
- client.use(createAuthMiddleware(middlewareOpts));
530
- client.use(createErrorMiddleware(middlewareOpts));
531
- return createDatabaseAdapter({
532
- name: 'content-api',
533
- auth: opts.auth,
534
- beginTransaction: ()=>Promise.resolve('no-op-transaction'),
535
- client,
536
- commitTransaction: async ()=>{},
537
- contentSystemId: opts.contentSystemId,
538
- count: count,
539
- countGlobalVersions: countGlobalVersions,
540
- countVersions: countVersions,
541
- create: create,
542
- createGlobal: createGlobal,
543
- createGlobalVersion: createGlobalVersion,
544
- createVersion: createVersion,
545
- defaultIDType: 'text',
546
- deleteMany: deleteMany,
547
- deleteOne: deleteOne,
548
- deleteVersions: deleteVersions,
549
- find: find,
550
- findDistinct: ()=>Promise.reject(new Error('findDistinct is not yet implemented for Content API adapter')),
551
- findGlobal: findGlobal,
552
- findGlobalVersions: findGlobalVersions,
553
- findOne: findOne,
554
- findVersions: findVersions,
555
- init,
556
- packageName: '@payloadcms/db-content-api',
557
- payload,
558
- queryDrafts: queryDrafts,
559
- rollbackTransaction: async ()=>{},
560
- updateGlobal: updateGlobal,
561
- updateGlobalVersion: updateGlobalVersion,
562
- updateMany: updateMany,
563
- updateOne: updateOne,
564
- updateVersion: updateVersion,
565
- upsert: upsert,
566
- url: opts.url
567
- });
568
- }
569
- });
570
-
571
- //# 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 limit: args.limit ?? 0,\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 limit: args.limit ?? 0,\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 { 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),\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
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/db-content-api/temp-utilities/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AA6BnE,eAAO,MAAM,iBAAiB,yBACN,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,eAC5C,OAAO;;;;;;;;;;CAiBrB,CAAA"}