convex-cms 0.0.1

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 (379) hide show
  1. package/dist/cli/commands/admin.d.ts +16 -0
  2. package/dist/cli/commands/admin.d.ts.map +1 -0
  3. package/dist/cli/commands/admin.js +88 -0
  4. package/dist/cli/commands/admin.js.map +1 -0
  5. package/dist/cli/index.d.ts +3 -0
  6. package/dist/cli/index.d.ts.map +1 -0
  7. package/dist/cli/index.js +18 -0
  8. package/dist/cli/index.js.map +1 -0
  9. package/dist/cli/utils/detectConvexUrl.d.ts +13 -0
  10. package/dist/cli/utils/detectConvexUrl.d.ts.map +1 -0
  11. package/dist/cli/utils/detectConvexUrl.js +48 -0
  12. package/dist/cli/utils/detectConvexUrl.js.map +1 -0
  13. package/dist/cli/utils/openBrowser.d.ts +7 -0
  14. package/dist/cli/utils/openBrowser.d.ts.map +1 -0
  15. package/dist/cli/utils/openBrowser.js +17 -0
  16. package/dist/cli/utils/openBrowser.js.map +1 -0
  17. package/dist/client/admin-config.d.ts +126 -0
  18. package/dist/client/admin-config.d.ts.map +1 -0
  19. package/dist/client/admin-config.js +117 -0
  20. package/dist/client/admin-config.js.map +1 -0
  21. package/dist/client/adminApi.d.ts +2273 -0
  22. package/dist/client/adminApi.d.ts.map +1 -0
  23. package/dist/client/adminApi.js +716 -0
  24. package/dist/client/adminApi.js.map +1 -0
  25. package/dist/client/agentTools.d.ts +933 -0
  26. package/dist/client/agentTools.d.ts.map +1 -0
  27. package/dist/client/agentTools.js +1004 -0
  28. package/dist/client/agentTools.js.map +1 -0
  29. package/dist/client/argTypes.d.ts +212 -0
  30. package/dist/client/argTypes.d.ts.map +1 -0
  31. package/dist/client/argTypes.js +5 -0
  32. package/dist/client/argTypes.js.map +1 -0
  33. package/dist/client/field-types.d.ts +55 -0
  34. package/dist/client/field-types.d.ts.map +1 -0
  35. package/dist/client/field-types.js +152 -0
  36. package/dist/client/field-types.js.map +1 -0
  37. package/dist/client/index.d.ts +189 -0
  38. package/dist/client/index.d.ts.map +1 -0
  39. package/dist/client/index.js +668 -0
  40. package/dist/client/index.js.map +1 -0
  41. package/dist/client/queryBuilder.d.ts +765 -0
  42. package/dist/client/queryBuilder.d.ts.map +1 -0
  43. package/dist/client/queryBuilder.js +970 -0
  44. package/dist/client/queryBuilder.js.map +1 -0
  45. package/dist/client/schema/codegen.d.ts +128 -0
  46. package/dist/client/schema/codegen.d.ts.map +1 -0
  47. package/dist/client/schema/codegen.js +318 -0
  48. package/dist/client/schema/codegen.js.map +1 -0
  49. package/dist/client/schema/defineContentType.d.ts +221 -0
  50. package/dist/client/schema/defineContentType.d.ts.map +1 -0
  51. package/dist/client/schema/defineContentType.js +380 -0
  52. package/dist/client/schema/defineContentType.js.map +1 -0
  53. package/dist/client/schema/index.d.ts +85 -0
  54. package/dist/client/schema/index.d.ts.map +1 -0
  55. package/dist/client/schema/index.js +92 -0
  56. package/dist/client/schema/index.js.map +1 -0
  57. package/dist/client/schema/schemaDrift.d.ts +199 -0
  58. package/dist/client/schema/schemaDrift.d.ts.map +1 -0
  59. package/dist/client/schema/schemaDrift.js +340 -0
  60. package/dist/client/schema/schemaDrift.js.map +1 -0
  61. package/dist/client/schema/typedClient.d.ts +401 -0
  62. package/dist/client/schema/typedClient.d.ts.map +1 -0
  63. package/dist/client/schema/typedClient.js +269 -0
  64. package/dist/client/schema/typedClient.js.map +1 -0
  65. package/dist/client/schema/types.d.ts +477 -0
  66. package/dist/client/schema/types.d.ts.map +1 -0
  67. package/dist/client/schema/types.js +39 -0
  68. package/dist/client/schema/types.js.map +1 -0
  69. package/dist/client/types.d.ts +449 -0
  70. package/dist/client/types.d.ts.map +1 -0
  71. package/dist/client/types.js +149 -0
  72. package/dist/client/types.js.map +1 -0
  73. package/dist/client/workflows.d.ts +51 -0
  74. package/dist/client/workflows.d.ts.map +1 -0
  75. package/dist/client/workflows.js +103 -0
  76. package/dist/client/workflows.js.map +1 -0
  77. package/dist/client/wrapper.d.ts +2198 -0
  78. package/dist/client/wrapper.d.ts.map +1 -0
  79. package/dist/client/wrapper.js +2651 -0
  80. package/dist/client/wrapper.js.map +1 -0
  81. package/dist/component/_generated/api.d.ts +124 -0
  82. package/dist/component/_generated/api.d.ts.map +1 -0
  83. package/dist/component/_generated/api.js +31 -0
  84. package/dist/component/_generated/api.js.map +1 -0
  85. package/dist/component/_generated/component.d.ts +4321 -0
  86. package/dist/component/_generated/component.d.ts.map +1 -0
  87. package/dist/component/_generated/component.js +11 -0
  88. package/dist/component/_generated/component.js.map +1 -0
  89. package/dist/component/_generated/dataModel.d.ts +46 -0
  90. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  91. package/dist/component/_generated/dataModel.js +11 -0
  92. package/dist/component/_generated/dataModel.js.map +1 -0
  93. package/dist/component/_generated/server.d.ts +121 -0
  94. package/dist/component/_generated/server.d.ts.map +1 -0
  95. package/dist/component/_generated/server.js +78 -0
  96. package/dist/component/_generated/server.js.map +1 -0
  97. package/dist/component/auditLog.d.ts +410 -0
  98. package/dist/component/auditLog.d.ts.map +1 -0
  99. package/dist/component/auditLog.js +607 -0
  100. package/dist/component/auditLog.js.map +1 -0
  101. package/dist/component/authorization.d.ts +323 -0
  102. package/dist/component/authorization.d.ts.map +1 -0
  103. package/dist/component/authorization.js +464 -0
  104. package/dist/component/authorization.js.map +1 -0
  105. package/dist/component/authorizationHooks.d.ts +184 -0
  106. package/dist/component/authorizationHooks.d.ts.map +1 -0
  107. package/dist/component/authorizationHooks.js +521 -0
  108. package/dist/component/authorizationHooks.js.map +1 -0
  109. package/dist/component/bulkOperations.d.ts +200 -0
  110. package/dist/component/bulkOperations.d.ts.map +1 -0
  111. package/dist/component/bulkOperations.js +568 -0
  112. package/dist/component/bulkOperations.js.map +1 -0
  113. package/dist/component/contentEntries.d.ts +719 -0
  114. package/dist/component/contentEntries.d.ts.map +1 -0
  115. package/dist/component/contentEntries.js +1617 -0
  116. package/dist/component/contentEntries.js.map +1 -0
  117. package/dist/component/contentEntryMutations.d.ts +505 -0
  118. package/dist/component/contentEntryMutations.d.ts.map +1 -0
  119. package/dist/component/contentEntryMutations.js +1009 -0
  120. package/dist/component/contentEntryMutations.js.map +1 -0
  121. package/dist/component/contentEntryValidation.d.ts +115 -0
  122. package/dist/component/contentEntryValidation.d.ts.map +1 -0
  123. package/dist/component/contentEntryValidation.js +546 -0
  124. package/dist/component/contentEntryValidation.js.map +1 -0
  125. package/dist/component/contentLock.d.ts +328 -0
  126. package/dist/component/contentLock.d.ts.map +1 -0
  127. package/dist/component/contentLock.js +471 -0
  128. package/dist/component/contentLock.js.map +1 -0
  129. package/dist/component/contentTypeMigration.d.ts +411 -0
  130. package/dist/component/contentTypeMigration.d.ts.map +1 -0
  131. package/dist/component/contentTypeMigration.js +805 -0
  132. package/dist/component/contentTypeMigration.js.map +1 -0
  133. package/dist/component/contentTypeMutations.d.ts +975 -0
  134. package/dist/component/contentTypeMutations.d.ts.map +1 -0
  135. package/dist/component/contentTypeMutations.js +768 -0
  136. package/dist/component/contentTypeMutations.js.map +1 -0
  137. package/dist/component/contentTypes.d.ts +538 -0
  138. package/dist/component/contentTypes.d.ts.map +1 -0
  139. package/dist/component/contentTypes.js +304 -0
  140. package/dist/component/contentTypes.js.map +1 -0
  141. package/dist/component/convex.config.d.ts +42 -0
  142. package/dist/component/convex.config.d.ts.map +1 -0
  143. package/dist/component/convex.config.js +43 -0
  144. package/dist/component/convex.config.js.map +1 -0
  145. package/dist/component/documentTypes.d.ts +186 -0
  146. package/dist/component/documentTypes.d.ts.map +1 -0
  147. package/dist/component/documentTypes.js +23 -0
  148. package/dist/component/documentTypes.js.map +1 -0
  149. package/dist/component/eventEmitter.d.ts +281 -0
  150. package/dist/component/eventEmitter.d.ts.map +1 -0
  151. package/dist/component/eventEmitter.js +300 -0
  152. package/dist/component/eventEmitter.js.map +1 -0
  153. package/dist/component/exportImport.d.ts +1120 -0
  154. package/dist/component/exportImport.d.ts.map +1 -0
  155. package/dist/component/exportImport.js +931 -0
  156. package/dist/component/exportImport.js.map +1 -0
  157. package/dist/component/index.d.ts +28 -0
  158. package/dist/component/index.d.ts.map +1 -0
  159. package/dist/component/index.js +142 -0
  160. package/dist/component/index.js.map +1 -0
  161. package/dist/component/lib/deepReferenceResolver.d.ts +252 -0
  162. package/dist/component/lib/deepReferenceResolver.d.ts.map +1 -0
  163. package/dist/component/lib/deepReferenceResolver.js +601 -0
  164. package/dist/component/lib/deepReferenceResolver.js.map +1 -0
  165. package/dist/component/lib/errors.d.ts +306 -0
  166. package/dist/component/lib/errors.d.ts.map +1 -0
  167. package/dist/component/lib/errors.js +407 -0
  168. package/dist/component/lib/errors.js.map +1 -0
  169. package/dist/component/lib/index.d.ts +10 -0
  170. package/dist/component/lib/index.d.ts.map +1 -0
  171. package/dist/component/lib/index.js +33 -0
  172. package/dist/component/lib/index.js.map +1 -0
  173. package/dist/component/lib/mediaReferenceResolver.d.ts +217 -0
  174. package/dist/component/lib/mediaReferenceResolver.d.ts.map +1 -0
  175. package/dist/component/lib/mediaReferenceResolver.js +326 -0
  176. package/dist/component/lib/mediaReferenceResolver.js.map +1 -0
  177. package/dist/component/lib/metadataExtractor.d.ts +245 -0
  178. package/dist/component/lib/metadataExtractor.d.ts.map +1 -0
  179. package/dist/component/lib/metadataExtractor.js +548 -0
  180. package/dist/component/lib/metadataExtractor.js.map +1 -0
  181. package/dist/component/lib/mutationAuth.d.ts +95 -0
  182. package/dist/component/lib/mutationAuth.d.ts.map +1 -0
  183. package/dist/component/lib/mutationAuth.js +146 -0
  184. package/dist/component/lib/mutationAuth.js.map +1 -0
  185. package/dist/component/lib/queries.d.ts +17 -0
  186. package/dist/component/lib/queries.d.ts.map +1 -0
  187. package/dist/component/lib/queries.js +49 -0
  188. package/dist/component/lib/queries.js.map +1 -0
  189. package/dist/component/lib/ragContentChunker.d.ts +423 -0
  190. package/dist/component/lib/ragContentChunker.d.ts.map +1 -0
  191. package/dist/component/lib/ragContentChunker.js +897 -0
  192. package/dist/component/lib/ragContentChunker.js.map +1 -0
  193. package/dist/component/lib/referenceResolver.d.ts +175 -0
  194. package/dist/component/lib/referenceResolver.d.ts.map +1 -0
  195. package/dist/component/lib/referenceResolver.js +293 -0
  196. package/dist/component/lib/referenceResolver.js.map +1 -0
  197. package/dist/component/lib/slugGenerator.d.ts +71 -0
  198. package/dist/component/lib/slugGenerator.d.ts.map +1 -0
  199. package/dist/component/lib/slugGenerator.js +207 -0
  200. package/dist/component/lib/slugGenerator.js.map +1 -0
  201. package/dist/component/lib/slugUniqueness.d.ts +131 -0
  202. package/dist/component/lib/slugUniqueness.d.ts.map +1 -0
  203. package/dist/component/lib/slugUniqueness.js +229 -0
  204. package/dist/component/lib/slugUniqueness.js.map +1 -0
  205. package/dist/component/lib/softDelete.d.ts +18 -0
  206. package/dist/component/lib/softDelete.d.ts.map +1 -0
  207. package/dist/component/lib/softDelete.js +29 -0
  208. package/dist/component/lib/softDelete.js.map +1 -0
  209. package/dist/component/localeFallbackChain.d.ts +410 -0
  210. package/dist/component/localeFallbackChain.d.ts.map +1 -0
  211. package/dist/component/localeFallbackChain.js +467 -0
  212. package/dist/component/localeFallbackChain.js.map +1 -0
  213. package/dist/component/localeFields.d.ts +508 -0
  214. package/dist/component/localeFields.d.ts.map +1 -0
  215. package/dist/component/localeFields.js +592 -0
  216. package/dist/component/localeFields.js.map +1 -0
  217. package/dist/component/mediaAssetMutations.d.ts +235 -0
  218. package/dist/component/mediaAssetMutations.d.ts.map +1 -0
  219. package/dist/component/mediaAssetMutations.js +558 -0
  220. package/dist/component/mediaAssetMutations.js.map +1 -0
  221. package/dist/component/mediaAssets.d.ts +168 -0
  222. package/dist/component/mediaAssets.d.ts.map +1 -0
  223. package/dist/component/mediaAssets.js +618 -0
  224. package/dist/component/mediaAssets.js.map +1 -0
  225. package/dist/component/mediaFolderMutations.d.ts +642 -0
  226. package/dist/component/mediaFolderMutations.d.ts.map +1 -0
  227. package/dist/component/mediaFolderMutations.js +849 -0
  228. package/dist/component/mediaFolderMutations.js.map +1 -0
  229. package/dist/component/mediaUploadMutations.d.ts +136 -0
  230. package/dist/component/mediaUploadMutations.d.ts.map +1 -0
  231. package/dist/component/mediaUploadMutations.js +205 -0
  232. package/dist/component/mediaUploadMutations.js.map +1 -0
  233. package/dist/component/mediaVariantMutations.d.ts +468 -0
  234. package/dist/component/mediaVariantMutations.d.ts.map +1 -0
  235. package/dist/component/mediaVariantMutations.js +737 -0
  236. package/dist/component/mediaVariantMutations.js.map +1 -0
  237. package/dist/component/mediaVariants.d.ts +525 -0
  238. package/dist/component/mediaVariants.d.ts.map +1 -0
  239. package/dist/component/mediaVariants.js +661 -0
  240. package/dist/component/mediaVariants.js.map +1 -0
  241. package/dist/component/ragContentIndexer.d.ts +595 -0
  242. package/dist/component/ragContentIndexer.d.ts.map +1 -0
  243. package/dist/component/ragContentIndexer.js +794 -0
  244. package/dist/component/ragContentIndexer.js.map +1 -0
  245. package/dist/component/rateLimitHooks.d.ts +266 -0
  246. package/dist/component/rateLimitHooks.d.ts.map +1 -0
  247. package/dist/component/rateLimitHooks.js +412 -0
  248. package/dist/component/rateLimitHooks.js.map +1 -0
  249. package/dist/component/roles.d.ts +649 -0
  250. package/dist/component/roles.d.ts.map +1 -0
  251. package/dist/component/roles.js +884 -0
  252. package/dist/component/roles.js.map +1 -0
  253. package/dist/component/scheduledPublish.d.ts +182 -0
  254. package/dist/component/scheduledPublish.d.ts.map +1 -0
  255. package/dist/component/scheduledPublish.js +304 -0
  256. package/dist/component/scheduledPublish.js.map +1 -0
  257. package/dist/component/schema.d.ts +4114 -0
  258. package/dist/component/schema.d.ts.map +1 -0
  259. package/dist/component/schema.js +469 -0
  260. package/dist/component/schema.js.map +1 -0
  261. package/dist/component/taxonomies.d.ts +476 -0
  262. package/dist/component/taxonomies.d.ts.map +1 -0
  263. package/dist/component/taxonomies.js +785 -0
  264. package/dist/component/taxonomies.js.map +1 -0
  265. package/dist/component/taxonomyMutations.d.ts +206 -0
  266. package/dist/component/taxonomyMutations.d.ts.map +1 -0
  267. package/dist/component/taxonomyMutations.js +1001 -0
  268. package/dist/component/taxonomyMutations.js.map +1 -0
  269. package/dist/component/trash.d.ts +265 -0
  270. package/dist/component/trash.d.ts.map +1 -0
  271. package/dist/component/trash.js +621 -0
  272. package/dist/component/trash.js.map +1 -0
  273. package/dist/component/types.d.ts +4 -0
  274. package/dist/component/types.d.ts.map +1 -0
  275. package/dist/component/types.js +2 -0
  276. package/dist/component/types.js.map +1 -0
  277. package/dist/component/userContext.d.ts +508 -0
  278. package/dist/component/userContext.d.ts.map +1 -0
  279. package/dist/component/userContext.js +615 -0
  280. package/dist/component/userContext.js.map +1 -0
  281. package/dist/component/validation.d.ts +387 -0
  282. package/dist/component/validation.d.ts.map +1 -0
  283. package/dist/component/validation.js +1052 -0
  284. package/dist/component/validation.js.map +1 -0
  285. package/dist/component/validators.d.ts +4645 -0
  286. package/dist/component/validators.d.ts.map +1 -0
  287. package/dist/component/validators.js +641 -0
  288. package/dist/component/validators.js.map +1 -0
  289. package/dist/component/versionMutations.d.ts +216 -0
  290. package/dist/component/versionMutations.d.ts.map +1 -0
  291. package/dist/component/versionMutations.js +321 -0
  292. package/dist/component/versionMutations.js.map +1 -0
  293. package/dist/component/webhookTrigger.d.ts +770 -0
  294. package/dist/component/webhookTrigger.d.ts.map +1 -0
  295. package/dist/component/webhookTrigger.js +1413 -0
  296. package/dist/component/webhookTrigger.js.map +1 -0
  297. package/dist/react/index.d.ts +316 -0
  298. package/dist/react/index.d.ts.map +1 -0
  299. package/dist/react/index.js +558 -0
  300. package/dist/react/index.js.map +1 -0
  301. package/dist/test.d.ts +2230 -0
  302. package/dist/test.d.ts.map +1 -0
  303. package/dist/test.js +1107 -0
  304. package/dist/test.js.map +1 -0
  305. package/package.json +95 -0
  306. package/src/cli/commands/admin.ts +104 -0
  307. package/src/cli/index.ts +21 -0
  308. package/src/cli/utils/detectConvexUrl.ts +54 -0
  309. package/src/cli/utils/openBrowser.ts +16 -0
  310. package/src/client/admin-config.ts +138 -0
  311. package/src/client/adminApi.ts +942 -0
  312. package/src/client/agentTools.ts +1311 -0
  313. package/src/client/argTypes.ts +316 -0
  314. package/src/client/field-types.ts +187 -0
  315. package/src/client/index.ts +1301 -0
  316. package/src/client/queryBuilder.ts +1100 -0
  317. package/src/client/schema/codegen.ts +500 -0
  318. package/src/client/schema/defineContentType.ts +501 -0
  319. package/src/client/schema/index.ts +169 -0
  320. package/src/client/schema/schemaDrift.ts +574 -0
  321. package/src/client/schema/typedClient.ts +688 -0
  322. package/src/client/schema/types.ts +666 -0
  323. package/src/client/types.ts +723 -0
  324. package/src/client/workflows.ts +141 -0
  325. package/src/client/wrapper.ts +4304 -0
  326. package/src/component/_generated/api.ts +140 -0
  327. package/src/component/_generated/component.ts +5029 -0
  328. package/src/component/_generated/dataModel.ts +60 -0
  329. package/src/component/_generated/server.ts +156 -0
  330. package/src/component/authorization.ts +647 -0
  331. package/src/component/authorizationHooks.ts +668 -0
  332. package/src/component/bulkOperations.ts +687 -0
  333. package/src/component/contentEntries.ts +1976 -0
  334. package/src/component/contentEntryMutations.ts +1223 -0
  335. package/src/component/contentEntryValidation.ts +707 -0
  336. package/src/component/contentLock.ts +550 -0
  337. package/src/component/contentTypeMigration.ts +1064 -0
  338. package/src/component/contentTypeMutations.ts +969 -0
  339. package/src/component/contentTypes.ts +346 -0
  340. package/src/component/convex.config.ts +44 -0
  341. package/src/component/documentTypes.ts +240 -0
  342. package/src/component/eventEmitter.ts +485 -0
  343. package/src/component/exportImport.ts +1169 -0
  344. package/src/component/index.ts +491 -0
  345. package/src/component/lib/deepReferenceResolver.ts +999 -0
  346. package/src/component/lib/errors.ts +816 -0
  347. package/src/component/lib/index.ts +145 -0
  348. package/src/component/lib/mediaReferenceResolver.ts +495 -0
  349. package/src/component/lib/metadataExtractor.ts +792 -0
  350. package/src/component/lib/mutationAuth.ts +199 -0
  351. package/src/component/lib/queries.ts +79 -0
  352. package/src/component/lib/ragContentChunker.ts +1371 -0
  353. package/src/component/lib/referenceResolver.ts +430 -0
  354. package/src/component/lib/slugGenerator.ts +262 -0
  355. package/src/component/lib/slugUniqueness.ts +333 -0
  356. package/src/component/lib/softDelete.ts +44 -0
  357. package/src/component/localeFallbackChain.ts +673 -0
  358. package/src/component/localeFields.ts +896 -0
  359. package/src/component/mediaAssetMutations.ts +725 -0
  360. package/src/component/mediaAssets.ts +932 -0
  361. package/src/component/mediaFolderMutations.ts +1046 -0
  362. package/src/component/mediaUploadMutations.ts +224 -0
  363. package/src/component/mediaVariantMutations.ts +900 -0
  364. package/src/component/mediaVariants.ts +793 -0
  365. package/src/component/ragContentIndexer.ts +1067 -0
  366. package/src/component/rateLimitHooks.ts +572 -0
  367. package/src/component/roles.ts +1360 -0
  368. package/src/component/scheduledPublish.ts +358 -0
  369. package/src/component/schema.ts +617 -0
  370. package/src/component/taxonomies.ts +949 -0
  371. package/src/component/taxonomyMutations.ts +1210 -0
  372. package/src/component/trash.ts +724 -0
  373. package/src/component/userContext.ts +898 -0
  374. package/src/component/validation.ts +1388 -0
  375. package/src/component/validators.ts +949 -0
  376. package/src/component/versionMutations.ts +392 -0
  377. package/src/component/webhookTrigger.ts +1922 -0
  378. package/src/react/index.ts +898 -0
  379. package/src/test.ts +1580 -0
@@ -0,0 +1,975 @@
1
+ /**
2
+ * Content Type Mutation Functions
3
+ *
4
+ * Provides mutation functions for creating, updating, and managing content types.
5
+ * Content types define the schema/blueprint for content entries in the CMS.
6
+ */
7
+ /**
8
+ * Describes a potential breaking change when updating a content type.
9
+ */
10
+ interface BreakingChange {
11
+ /** Type of breaking change detected */
12
+ type: "FIELD_REMOVED" | "FIELD_TYPE_CHANGED" | "FIELD_MADE_REQUIRED" | "SELECT_OPTIONS_REMOVED" | "REFERENCE_TYPES_RESTRICTED" | "VALIDATION_TIGHTENED";
13
+ /** The field name affected */
14
+ fieldName: string;
15
+ /** Human-readable description of the breaking change */
16
+ message: string;
17
+ /** Number of entries affected by this change */
18
+ affectedEntriesCount: number;
19
+ }
20
+ /**
21
+ * Mutation to create a new content type.
22
+ *
23
+ * Creates a content type definition with a unique name, display name, and
24
+ * field definitions. The content type can then be used to create content entries.
25
+ *
26
+ * @param name - Unique machine-readable name (e.g., "blog_post")
27
+ * @param displayName - Human-readable name (e.g., "Blog Post")
28
+ * @param description - Optional description of the content type
29
+ * @param fields - Array of field definitions
30
+ * @param icon - Optional icon identifier for UI
31
+ * @param singleton - If true, only one entry of this type can exist
32
+ * @param slugField - Field name to use for slug generation (defaults to first text field)
33
+ * @param titleField - Field name to use as display title (defaults to first text field)
34
+ * @param sortOrder - Custom sort order for admin UI
35
+ * @param createdBy - User ID who is creating this content type
36
+ *
37
+ * @returns The created content type document
38
+ *
39
+ * @throws Error if the name is not unique
40
+ * @throws Error if the name format is invalid
41
+ * @throws Error if field definitions are invalid
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const blogPost = await ctx.runMutation(api.contentTypeMutations.createContentType, {
46
+ * name: "blog_post",
47
+ * displayName: "Blog Post",
48
+ * description: "Articles for the company blog",
49
+ * fields: [
50
+ * { name: "title", label: "Title", type: "text", required: true },
51
+ * { name: "content", label: "Content", type: "richText", required: true },
52
+ * { name: "published_date", label: "Published Date", type: "date", required: false },
53
+ * ],
54
+ * slugField: "title",
55
+ * titleField: "title",
56
+ * createdBy: currentUserId,
57
+ * });
58
+ * ```
59
+ */
60
+ export declare const createContentType: import("convex/server").RegisteredMutation<"public", {
61
+ description?: string | undefined;
62
+ sortOrder?: number | undefined;
63
+ icon?: string | undefined;
64
+ singleton?: boolean | undefined;
65
+ slugField?: string | undefined;
66
+ titleField?: string | undefined;
67
+ _auth?: {
68
+ resourceOwnerId?: string | undefined;
69
+ userId: string;
70
+ role: string | null;
71
+ } | undefined;
72
+ fields: ({
73
+ options?: {
74
+ minLength?: number | undefined;
75
+ maxLength?: number | undefined;
76
+ pattern?: string | undefined;
77
+ } | undefined;
78
+ searchable?: boolean | undefined;
79
+ localized?: boolean | undefined;
80
+ description?: string | undefined;
81
+ defaultValue?: any;
82
+ required: boolean;
83
+ type: "text";
84
+ name: string;
85
+ label: string;
86
+ } | {
87
+ options?: {
88
+ min?: number | undefined;
89
+ max?: number | undefined;
90
+ step?: number | undefined;
91
+ precision?: number | undefined;
92
+ } | undefined;
93
+ searchable?: boolean | undefined;
94
+ localized?: boolean | undefined;
95
+ description?: string | undefined;
96
+ defaultValue?: any;
97
+ required: boolean;
98
+ type: "number";
99
+ name: string;
100
+ label: string;
101
+ } | {
102
+ options?: {
103
+ trueLabel?: string | undefined;
104
+ falseLabel?: string | undefined;
105
+ } | undefined;
106
+ searchable?: boolean | undefined;
107
+ localized?: boolean | undefined;
108
+ description?: string | undefined;
109
+ defaultValue?: any;
110
+ required: boolean;
111
+ type: "boolean";
112
+ name: string;
113
+ label: string;
114
+ } | {
115
+ options?: {
116
+ allowedBlocks?: string[] | undefined;
117
+ allowedMarks?: string[] | undefined;
118
+ } | undefined;
119
+ searchable?: boolean | undefined;
120
+ localized?: boolean | undefined;
121
+ description?: string | undefined;
122
+ defaultValue?: any;
123
+ required: boolean;
124
+ type: "richText";
125
+ name: string;
126
+ label: string;
127
+ } | {
128
+ options?: {
129
+ mediaType?: "image" | "video" | "audio" | "document" | "other" | undefined;
130
+ allowedMimeTypes?: string[] | undefined;
131
+ maxFileSize?: number | undefined;
132
+ multiple?: boolean | undefined;
133
+ } | undefined;
134
+ searchable?: boolean | undefined;
135
+ localized?: boolean | undefined;
136
+ description?: string | undefined;
137
+ defaultValue?: any;
138
+ required: boolean;
139
+ type: "media";
140
+ name: string;
141
+ label: string;
142
+ } | {
143
+ options?: {
144
+ options?: {
145
+ label: string;
146
+ value: string;
147
+ }[] | undefined;
148
+ } | undefined;
149
+ searchable?: boolean | undefined;
150
+ localized?: boolean | undefined;
151
+ description?: string | undefined;
152
+ defaultValue?: any;
153
+ required: boolean;
154
+ type: "select";
155
+ name: string;
156
+ label: string;
157
+ } | {
158
+ options?: {
159
+ taxonomyId?: import("convex/values").GenericId<"taxonomies"> | undefined;
160
+ allowCreate?: boolean | undefined;
161
+ maxTags?: number | undefined;
162
+ minTags?: number | undefined;
163
+ } | undefined;
164
+ searchable?: boolean | undefined;
165
+ localized?: boolean | undefined;
166
+ description?: string | undefined;
167
+ defaultValue?: any;
168
+ required: boolean;
169
+ type: "tags";
170
+ name: string;
171
+ label: string;
172
+ } | {
173
+ options?: {
174
+ allowMultiple?: boolean | undefined;
175
+ } | undefined;
176
+ searchable?: boolean | undefined;
177
+ localized?: boolean | undefined;
178
+ description?: string | undefined;
179
+ defaultValue?: any;
180
+ required: boolean;
181
+ type: "category";
182
+ name: string;
183
+ label: string;
184
+ } | {
185
+ options?: {
186
+ schema?: any;
187
+ } | undefined;
188
+ searchable?: boolean | undefined;
189
+ localized?: boolean | undefined;
190
+ description?: string | undefined;
191
+ defaultValue?: any;
192
+ required: boolean;
193
+ type: "json";
194
+ name: string;
195
+ label: string;
196
+ } | {
197
+ options?: {
198
+ multiple?: boolean | undefined;
199
+ allowedContentTypes?: string[] | undefined;
200
+ minItems?: number | undefined;
201
+ } | undefined;
202
+ searchable?: boolean | undefined;
203
+ localized?: boolean | undefined;
204
+ description?: string | undefined;
205
+ defaultValue?: any;
206
+ required: boolean;
207
+ type: "reference";
208
+ name: string;
209
+ label: string;
210
+ } | {
211
+ options?: {
212
+ options?: {
213
+ label: string;
214
+ value: string;
215
+ }[] | undefined;
216
+ } | undefined;
217
+ searchable?: boolean | undefined;
218
+ localized?: boolean | undefined;
219
+ description?: string | undefined;
220
+ defaultValue?: any;
221
+ required: boolean;
222
+ type: "multiSelect";
223
+ name: string;
224
+ label: string;
225
+ } | {
226
+ options?: {
227
+ min?: number | undefined;
228
+ max?: number | undefined;
229
+ } | undefined;
230
+ searchable?: boolean | undefined;
231
+ localized?: boolean | undefined;
232
+ description?: string | undefined;
233
+ defaultValue?: any;
234
+ required: boolean;
235
+ type: "date";
236
+ name: string;
237
+ label: string;
238
+ } | {
239
+ options?: {
240
+ min?: number | undefined;
241
+ max?: number | undefined;
242
+ } | undefined;
243
+ searchable?: boolean | undefined;
244
+ localized?: boolean | undefined;
245
+ description?: string | undefined;
246
+ defaultValue?: any;
247
+ required: boolean;
248
+ type: "datetime";
249
+ name: string;
250
+ label: string;
251
+ })[];
252
+ name: string;
253
+ createdBy: string;
254
+ displayName: string;
255
+ }, Promise<{
256
+ _id: import("convex/values").GenericId<"contentTypes">;
257
+ _creationTime: number;
258
+ description?: string | undefined;
259
+ deletedAt?: number | undefined;
260
+ updatedBy?: string | undefined;
261
+ sortOrder?: number | undefined;
262
+ icon?: string | undefined;
263
+ singleton?: boolean | undefined;
264
+ slugField?: string | undefined;
265
+ titleField?: string | undefined;
266
+ fields: ({
267
+ options?: {
268
+ minLength?: number | undefined;
269
+ maxLength?: number | undefined;
270
+ pattern?: string | undefined;
271
+ } | undefined;
272
+ searchable?: boolean | undefined;
273
+ localized?: boolean | undefined;
274
+ description?: string | undefined;
275
+ defaultValue?: any;
276
+ required: boolean;
277
+ type: "text";
278
+ name: string;
279
+ label: string;
280
+ } | {
281
+ options?: {
282
+ min?: number | undefined;
283
+ max?: number | undefined;
284
+ step?: number | undefined;
285
+ precision?: number | undefined;
286
+ } | undefined;
287
+ searchable?: boolean | undefined;
288
+ localized?: boolean | undefined;
289
+ description?: string | undefined;
290
+ defaultValue?: any;
291
+ required: boolean;
292
+ type: "number";
293
+ name: string;
294
+ label: string;
295
+ } | {
296
+ options?: {
297
+ trueLabel?: string | undefined;
298
+ falseLabel?: string | undefined;
299
+ } | undefined;
300
+ searchable?: boolean | undefined;
301
+ localized?: boolean | undefined;
302
+ description?: string | undefined;
303
+ defaultValue?: any;
304
+ required: boolean;
305
+ type: "boolean";
306
+ name: string;
307
+ label: string;
308
+ } | {
309
+ options?: {
310
+ allowedBlocks?: string[] | undefined;
311
+ allowedMarks?: string[] | undefined;
312
+ } | undefined;
313
+ searchable?: boolean | undefined;
314
+ localized?: boolean | undefined;
315
+ description?: string | undefined;
316
+ defaultValue?: any;
317
+ required: boolean;
318
+ type: "richText";
319
+ name: string;
320
+ label: string;
321
+ } | {
322
+ options?: {
323
+ mediaType?: "image" | "video" | "audio" | "document" | "other" | undefined;
324
+ allowedMimeTypes?: string[] | undefined;
325
+ maxFileSize?: number | undefined;
326
+ multiple?: boolean | undefined;
327
+ } | undefined;
328
+ searchable?: boolean | undefined;
329
+ localized?: boolean | undefined;
330
+ description?: string | undefined;
331
+ defaultValue?: any;
332
+ required: boolean;
333
+ type: "media";
334
+ name: string;
335
+ label: string;
336
+ } | {
337
+ options?: {
338
+ options?: {
339
+ label: string;
340
+ value: string;
341
+ }[] | undefined;
342
+ } | undefined;
343
+ searchable?: boolean | undefined;
344
+ localized?: boolean | undefined;
345
+ description?: string | undefined;
346
+ defaultValue?: any;
347
+ required: boolean;
348
+ type: "select";
349
+ name: string;
350
+ label: string;
351
+ } | {
352
+ options?: {
353
+ taxonomyId?: import("convex/values").GenericId<"taxonomies"> | undefined;
354
+ allowCreate?: boolean | undefined;
355
+ maxTags?: number | undefined;
356
+ minTags?: number | undefined;
357
+ } | undefined;
358
+ searchable?: boolean | undefined;
359
+ localized?: boolean | undefined;
360
+ description?: string | undefined;
361
+ defaultValue?: any;
362
+ required: boolean;
363
+ type: "tags";
364
+ name: string;
365
+ label: string;
366
+ } | {
367
+ options?: {
368
+ allowMultiple?: boolean | undefined;
369
+ } | undefined;
370
+ searchable?: boolean | undefined;
371
+ localized?: boolean | undefined;
372
+ description?: string | undefined;
373
+ defaultValue?: any;
374
+ required: boolean;
375
+ type: "category";
376
+ name: string;
377
+ label: string;
378
+ } | {
379
+ options?: {
380
+ schema?: any;
381
+ } | undefined;
382
+ searchable?: boolean | undefined;
383
+ localized?: boolean | undefined;
384
+ description?: string | undefined;
385
+ defaultValue?: any;
386
+ required: boolean;
387
+ type: "json";
388
+ name: string;
389
+ label: string;
390
+ } | {
391
+ options?: {
392
+ multiple?: boolean | undefined;
393
+ allowedContentTypes?: string[] | undefined;
394
+ minItems?: number | undefined;
395
+ } | undefined;
396
+ searchable?: boolean | undefined;
397
+ localized?: boolean | undefined;
398
+ description?: string | undefined;
399
+ defaultValue?: any;
400
+ required: boolean;
401
+ type: "reference";
402
+ name: string;
403
+ label: string;
404
+ } | {
405
+ options?: {
406
+ options?: {
407
+ label: string;
408
+ value: string;
409
+ }[] | undefined;
410
+ } | undefined;
411
+ searchable?: boolean | undefined;
412
+ localized?: boolean | undefined;
413
+ description?: string | undefined;
414
+ defaultValue?: any;
415
+ required: boolean;
416
+ type: "multiSelect";
417
+ name: string;
418
+ label: string;
419
+ } | {
420
+ options?: {
421
+ min?: number | undefined;
422
+ max?: number | undefined;
423
+ } | undefined;
424
+ searchable?: boolean | undefined;
425
+ localized?: boolean | undefined;
426
+ description?: string | undefined;
427
+ defaultValue?: any;
428
+ required: boolean;
429
+ type: "date";
430
+ name: string;
431
+ label: string;
432
+ } | {
433
+ options?: {
434
+ min?: number | undefined;
435
+ max?: number | undefined;
436
+ } | undefined;
437
+ searchable?: boolean | undefined;
438
+ localized?: boolean | undefined;
439
+ description?: string | undefined;
440
+ defaultValue?: any;
441
+ required: boolean;
442
+ type: "datetime";
443
+ name: string;
444
+ label: string;
445
+ })[];
446
+ name: string;
447
+ createdBy: string;
448
+ displayName: string;
449
+ isActive: boolean;
450
+ }>>;
451
+ /**
452
+ * Mutation to update an existing content type's fields and configuration.
453
+ *
454
+ * Includes validation to prevent breaking changes to fields with existing content.
455
+ * When breaking changes are detected and `force` is not set to true, the mutation
456
+ * will throw an error with details about the breaking changes.
457
+ *
458
+ * **Breaking Change Detection:**
459
+ * - Removing fields that have data in existing entries
460
+ * - Changing field types (e.g., text → number)
461
+ * - Making optional fields required when entries have empty values
462
+ * - Removing select/multiSelect options that are in use
463
+ * - Restricting allowed reference content types
464
+ * - Tightening validation rules (increased minLength, decreased maxLength)
465
+ *
466
+ * @param id - The content type ID to update
467
+ * @param displayName - Optional new display name
468
+ * @param description - Optional new description
469
+ * @param fields - Optional new field definitions (replaces all existing fields)
470
+ * @param icon - Optional new icon
471
+ * @param singleton - Optional singleton flag
472
+ * @param slugField - Optional field name for slug generation
473
+ * @param titleField - Optional field name for display title
474
+ * @param sortOrder - Optional new sort order
475
+ * @param isActive - Optional active status
476
+ * @param updatedBy - User ID making the update (for audit trail)
477
+ * @param force - If true, allow breaking changes (default: false)
478
+ *
479
+ * @returns The updated content type, with breakingChanges if force was used
480
+ *
481
+ * @throws Error if the content type does not exist
482
+ * @throws Error if breaking changes are detected and force is not true
483
+ * @throws Error if field definitions are invalid
484
+ *
485
+ * @example
486
+ * ```typescript
487
+ * // Simple update (no breaking changes)
488
+ * const updated = await ctx.runMutation(api.contentTypeMutations.updateContentType, {
489
+ * id: contentTypeId,
490
+ * displayName: "Updated Blog Post",
491
+ * description: "New description",
492
+ * updatedBy: currentUserId,
493
+ * });
494
+ *
495
+ * // Update fields (will check for breaking changes)
496
+ * const updated = await ctx.runMutation(api.contentTypeMutations.updateContentType, {
497
+ * id: contentTypeId,
498
+ * fields: [
499
+ * { name: "title", label: "Title", type: "text", required: true },
500
+ * { name: "content", label: "Content", type: "richText", required: true },
501
+ * { name: "author", label: "Author", type: "text", required: false }, // New field
502
+ * ],
503
+ * updatedBy: currentUserId,
504
+ * });
505
+ *
506
+ * // Force update with breaking changes
507
+ * const updated = await ctx.runMutation(api.contentTypeMutations.updateContentType, {
508
+ * id: contentTypeId,
509
+ * fields: newFields,
510
+ * force: true, // Acknowledge potential data loss
511
+ * updatedBy: currentUserId,
512
+ * });
513
+ * ```
514
+ */
515
+ export declare const updateContentType: import("convex/server").RegisteredMutation<"public", {
516
+ fields?: ({
517
+ options?: {
518
+ minLength?: number | undefined;
519
+ maxLength?: number | undefined;
520
+ pattern?: string | undefined;
521
+ } | undefined;
522
+ searchable?: boolean | undefined;
523
+ localized?: boolean | undefined;
524
+ description?: string | undefined;
525
+ defaultValue?: any;
526
+ required: boolean;
527
+ type: "text";
528
+ name: string;
529
+ label: string;
530
+ } | {
531
+ options?: {
532
+ min?: number | undefined;
533
+ max?: number | undefined;
534
+ step?: number | undefined;
535
+ precision?: number | undefined;
536
+ } | undefined;
537
+ searchable?: boolean | undefined;
538
+ localized?: boolean | undefined;
539
+ description?: string | undefined;
540
+ defaultValue?: any;
541
+ required: boolean;
542
+ type: "number";
543
+ name: string;
544
+ label: string;
545
+ } | {
546
+ options?: {
547
+ trueLabel?: string | undefined;
548
+ falseLabel?: string | undefined;
549
+ } | undefined;
550
+ searchable?: boolean | undefined;
551
+ localized?: boolean | undefined;
552
+ description?: string | undefined;
553
+ defaultValue?: any;
554
+ required: boolean;
555
+ type: "boolean";
556
+ name: string;
557
+ label: string;
558
+ } | {
559
+ options?: {
560
+ allowedBlocks?: string[] | undefined;
561
+ allowedMarks?: string[] | undefined;
562
+ } | undefined;
563
+ searchable?: boolean | undefined;
564
+ localized?: boolean | undefined;
565
+ description?: string | undefined;
566
+ defaultValue?: any;
567
+ required: boolean;
568
+ type: "richText";
569
+ name: string;
570
+ label: string;
571
+ } | {
572
+ options?: {
573
+ mediaType?: "image" | "video" | "audio" | "document" | "other" | undefined;
574
+ allowedMimeTypes?: string[] | undefined;
575
+ maxFileSize?: number | undefined;
576
+ multiple?: boolean | undefined;
577
+ } | undefined;
578
+ searchable?: boolean | undefined;
579
+ localized?: boolean | undefined;
580
+ description?: string | undefined;
581
+ defaultValue?: any;
582
+ required: boolean;
583
+ type: "media";
584
+ name: string;
585
+ label: string;
586
+ } | {
587
+ options?: {
588
+ options?: {
589
+ label: string;
590
+ value: string;
591
+ }[] | undefined;
592
+ } | undefined;
593
+ searchable?: boolean | undefined;
594
+ localized?: boolean | undefined;
595
+ description?: string | undefined;
596
+ defaultValue?: any;
597
+ required: boolean;
598
+ type: "select";
599
+ name: string;
600
+ label: string;
601
+ } | {
602
+ options?: {
603
+ taxonomyId?: import("convex/values").GenericId<"taxonomies"> | undefined;
604
+ allowCreate?: boolean | undefined;
605
+ maxTags?: number | undefined;
606
+ minTags?: number | undefined;
607
+ } | undefined;
608
+ searchable?: boolean | undefined;
609
+ localized?: boolean | undefined;
610
+ description?: string | undefined;
611
+ defaultValue?: any;
612
+ required: boolean;
613
+ type: "tags";
614
+ name: string;
615
+ label: string;
616
+ } | {
617
+ options?: {
618
+ allowMultiple?: boolean | undefined;
619
+ } | undefined;
620
+ searchable?: boolean | undefined;
621
+ localized?: boolean | undefined;
622
+ description?: string | undefined;
623
+ defaultValue?: any;
624
+ required: boolean;
625
+ type: "category";
626
+ name: string;
627
+ label: string;
628
+ } | {
629
+ options?: {
630
+ schema?: any;
631
+ } | undefined;
632
+ searchable?: boolean | undefined;
633
+ localized?: boolean | undefined;
634
+ description?: string | undefined;
635
+ defaultValue?: any;
636
+ required: boolean;
637
+ type: "json";
638
+ name: string;
639
+ label: string;
640
+ } | {
641
+ options?: {
642
+ multiple?: boolean | undefined;
643
+ allowedContentTypes?: string[] | undefined;
644
+ minItems?: number | undefined;
645
+ } | undefined;
646
+ searchable?: boolean | undefined;
647
+ localized?: boolean | undefined;
648
+ description?: string | undefined;
649
+ defaultValue?: any;
650
+ required: boolean;
651
+ type: "reference";
652
+ name: string;
653
+ label: string;
654
+ } | {
655
+ options?: {
656
+ options?: {
657
+ label: string;
658
+ value: string;
659
+ }[] | undefined;
660
+ } | undefined;
661
+ searchable?: boolean | undefined;
662
+ localized?: boolean | undefined;
663
+ description?: string | undefined;
664
+ defaultValue?: any;
665
+ required: boolean;
666
+ type: "multiSelect";
667
+ name: string;
668
+ label: string;
669
+ } | {
670
+ options?: {
671
+ min?: number | undefined;
672
+ max?: number | undefined;
673
+ } | undefined;
674
+ searchable?: boolean | undefined;
675
+ localized?: boolean | undefined;
676
+ description?: string | undefined;
677
+ defaultValue?: any;
678
+ required: boolean;
679
+ type: "date";
680
+ name: string;
681
+ label: string;
682
+ } | {
683
+ options?: {
684
+ min?: number | undefined;
685
+ max?: number | undefined;
686
+ } | undefined;
687
+ searchable?: boolean | undefined;
688
+ localized?: boolean | undefined;
689
+ description?: string | undefined;
690
+ defaultValue?: any;
691
+ required: boolean;
692
+ type: "datetime";
693
+ name: string;
694
+ label: string;
695
+ })[] | undefined;
696
+ description?: string | undefined;
697
+ updatedBy?: string | undefined;
698
+ sortOrder?: number | undefined;
699
+ displayName?: string | undefined;
700
+ icon?: string | undefined;
701
+ singleton?: boolean | undefined;
702
+ slugField?: string | undefined;
703
+ titleField?: string | undefined;
704
+ isActive?: boolean | undefined;
705
+ _auth?: {
706
+ resourceOwnerId?: string | undefined;
707
+ userId: string;
708
+ role: string | null;
709
+ } | undefined;
710
+ force?: boolean | undefined;
711
+ id: import("convex/values").GenericId<"contentTypes">;
712
+ }, Promise<{
713
+ breakingChanges: BreakingChange[] | undefined;
714
+ _id: import("convex/values").GenericId<"contentTypes">;
715
+ _creationTime: number;
716
+ description?: string | undefined;
717
+ deletedAt?: number | undefined;
718
+ updatedBy?: string | undefined;
719
+ sortOrder?: number | undefined;
720
+ icon?: string | undefined;
721
+ singleton?: boolean | undefined;
722
+ slugField?: string | undefined;
723
+ titleField?: string | undefined;
724
+ fields: ({
725
+ options?: {
726
+ minLength?: number | undefined;
727
+ maxLength?: number | undefined;
728
+ pattern?: string | undefined;
729
+ } | undefined;
730
+ searchable?: boolean | undefined;
731
+ localized?: boolean | undefined;
732
+ description?: string | undefined;
733
+ defaultValue?: any;
734
+ required: boolean;
735
+ type: "text";
736
+ name: string;
737
+ label: string;
738
+ } | {
739
+ options?: {
740
+ min?: number | undefined;
741
+ max?: number | undefined;
742
+ step?: number | undefined;
743
+ precision?: number | undefined;
744
+ } | undefined;
745
+ searchable?: boolean | undefined;
746
+ localized?: boolean | undefined;
747
+ description?: string | undefined;
748
+ defaultValue?: any;
749
+ required: boolean;
750
+ type: "number";
751
+ name: string;
752
+ label: string;
753
+ } | {
754
+ options?: {
755
+ trueLabel?: string | undefined;
756
+ falseLabel?: string | undefined;
757
+ } | undefined;
758
+ searchable?: boolean | undefined;
759
+ localized?: boolean | undefined;
760
+ description?: string | undefined;
761
+ defaultValue?: any;
762
+ required: boolean;
763
+ type: "boolean";
764
+ name: string;
765
+ label: string;
766
+ } | {
767
+ options?: {
768
+ allowedBlocks?: string[] | undefined;
769
+ allowedMarks?: string[] | undefined;
770
+ } | undefined;
771
+ searchable?: boolean | undefined;
772
+ localized?: boolean | undefined;
773
+ description?: string | undefined;
774
+ defaultValue?: any;
775
+ required: boolean;
776
+ type: "richText";
777
+ name: string;
778
+ label: string;
779
+ } | {
780
+ options?: {
781
+ mediaType?: "image" | "video" | "audio" | "document" | "other" | undefined;
782
+ allowedMimeTypes?: string[] | undefined;
783
+ maxFileSize?: number | undefined;
784
+ multiple?: boolean | undefined;
785
+ } | undefined;
786
+ searchable?: boolean | undefined;
787
+ localized?: boolean | undefined;
788
+ description?: string | undefined;
789
+ defaultValue?: any;
790
+ required: boolean;
791
+ type: "media";
792
+ name: string;
793
+ label: string;
794
+ } | {
795
+ options?: {
796
+ options?: {
797
+ label: string;
798
+ value: string;
799
+ }[] | undefined;
800
+ } | undefined;
801
+ searchable?: boolean | undefined;
802
+ localized?: boolean | undefined;
803
+ description?: string | undefined;
804
+ defaultValue?: any;
805
+ required: boolean;
806
+ type: "select";
807
+ name: string;
808
+ label: string;
809
+ } | {
810
+ options?: {
811
+ taxonomyId?: import("convex/values").GenericId<"taxonomies"> | undefined;
812
+ allowCreate?: boolean | undefined;
813
+ maxTags?: number | undefined;
814
+ minTags?: number | undefined;
815
+ } | undefined;
816
+ searchable?: boolean | undefined;
817
+ localized?: boolean | undefined;
818
+ description?: string | undefined;
819
+ defaultValue?: any;
820
+ required: boolean;
821
+ type: "tags";
822
+ name: string;
823
+ label: string;
824
+ } | {
825
+ options?: {
826
+ allowMultiple?: boolean | undefined;
827
+ } | undefined;
828
+ searchable?: boolean | undefined;
829
+ localized?: boolean | undefined;
830
+ description?: string | undefined;
831
+ defaultValue?: any;
832
+ required: boolean;
833
+ type: "category";
834
+ name: string;
835
+ label: string;
836
+ } | {
837
+ options?: {
838
+ schema?: any;
839
+ } | undefined;
840
+ searchable?: boolean | undefined;
841
+ localized?: boolean | undefined;
842
+ description?: string | undefined;
843
+ defaultValue?: any;
844
+ required: boolean;
845
+ type: "json";
846
+ name: string;
847
+ label: string;
848
+ } | {
849
+ options?: {
850
+ multiple?: boolean | undefined;
851
+ allowedContentTypes?: string[] | undefined;
852
+ minItems?: number | undefined;
853
+ } | undefined;
854
+ searchable?: boolean | undefined;
855
+ localized?: boolean | undefined;
856
+ description?: string | undefined;
857
+ defaultValue?: any;
858
+ required: boolean;
859
+ type: "reference";
860
+ name: string;
861
+ label: string;
862
+ } | {
863
+ options?: {
864
+ options?: {
865
+ label: string;
866
+ value: string;
867
+ }[] | undefined;
868
+ } | undefined;
869
+ searchable?: boolean | undefined;
870
+ localized?: boolean | undefined;
871
+ description?: string | undefined;
872
+ defaultValue?: any;
873
+ required: boolean;
874
+ type: "multiSelect";
875
+ name: string;
876
+ label: string;
877
+ } | {
878
+ options?: {
879
+ min?: number | undefined;
880
+ max?: number | undefined;
881
+ } | undefined;
882
+ searchable?: boolean | undefined;
883
+ localized?: boolean | undefined;
884
+ description?: string | undefined;
885
+ defaultValue?: any;
886
+ required: boolean;
887
+ type: "date";
888
+ name: string;
889
+ label: string;
890
+ } | {
891
+ options?: {
892
+ min?: number | undefined;
893
+ max?: number | undefined;
894
+ } | undefined;
895
+ searchable?: boolean | undefined;
896
+ localized?: boolean | undefined;
897
+ description?: string | undefined;
898
+ defaultValue?: any;
899
+ required: boolean;
900
+ type: "datetime";
901
+ name: string;
902
+ label: string;
903
+ })[];
904
+ name: string;
905
+ createdBy: string;
906
+ displayName: string;
907
+ isActive: boolean;
908
+ }>>;
909
+ /**
910
+ * Mutation to delete a content type.
911
+ *
912
+ * Supports two deletion strategies via the `cascade` flag:
913
+ * 1. **Cascade delete** (`cascade: true`): Deletes all content entries of this type
914
+ * before deleting the content type itself.
915
+ * 2. **Prevent if entries exist** (`cascade: false` or not specified): Fails the
916
+ * deletion if any content entries exist for this type.
917
+ *
918
+ * Also supports two deletion modes via the `hardDelete` flag:
919
+ * - **Soft delete** (default): Sets `deletedAt` timestamp, entries remain in database
920
+ * - **Hard delete** (`hardDelete: true`): Permanently removes from database
921
+ *
922
+ * @param id - The content type ID to delete
923
+ * @param cascade - If true, delete all entries of this type first. Default: false
924
+ * @param hardDelete - If true, permanently delete. Default: false (soft delete)
925
+ * @param deletedBy - User ID performing the deletion (for audit trail)
926
+ *
927
+ * @returns Object with deletion results including counts of deleted entries/versions
928
+ *
929
+ * @throws Error if content type does not exist
930
+ * @throws Error if content type is already deleted (soft deleted)
931
+ * @throws Error if cascade is false and content entries exist
932
+ *
933
+ * @example
934
+ * ```typescript
935
+ * // Soft delete - fails if entries exist
936
+ * const result = await ctx.runMutation(api.contentTypeMutations.deleteContentType, {
937
+ * id: contentTypeId,
938
+ * deletedBy: currentUserId,
939
+ * });
940
+ *
941
+ * // Cascade soft delete - deletes all entries too
942
+ * const result = await ctx.runMutation(api.contentTypeMutations.deleteContentType, {
943
+ * id: contentTypeId,
944
+ * cascade: true,
945
+ * deletedBy: currentUserId,
946
+ * });
947
+ *
948
+ * // Hard delete with cascade - permanently removes everything
949
+ * const result = await ctx.runMutation(api.contentTypeMutations.deleteContentType, {
950
+ * id: contentTypeId,
951
+ * cascade: true,
952
+ * hardDelete: true,
953
+ * deletedBy: currentUserId,
954
+ * });
955
+ * ```
956
+ */
957
+ export declare const deleteContentType: import("convex/server").RegisteredMutation<"public", {
958
+ cascade?: boolean | undefined;
959
+ hardDelete?: boolean | undefined;
960
+ deletedBy?: string | undefined;
961
+ _auth?: {
962
+ resourceOwnerId?: string | undefined;
963
+ userId: string;
964
+ role: string | null;
965
+ } | undefined;
966
+ id: import("convex/values").GenericId<"contentTypes">;
967
+ }, Promise<{
968
+ success: boolean;
969
+ deletedId: import("convex/values").GenericId<"contentTypes">;
970
+ deletedEntriesCount: number;
971
+ deletedVersionsCount: number;
972
+ wasHardDelete: boolean;
973
+ }>>;
974
+ export {};
975
+ //# sourceMappingURL=contentTypeMutations.d.ts.map