@kyro-cms/core 0.1.6 → 0.1.7

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 (170) hide show
  1. package/dist/WebhookService-BCgL1bLF.d.cts +112 -0
  2. package/dist/WebhookService-BPVJUgTl.d.ts +112 -0
  3. package/dist/{base-DlhVlwnN.d.cts → base-B0Y6isUJ.d.cts} +1 -1
  4. package/dist/{base-CQkFzqQl.d.ts → base-DaP-5PPG.d.ts} +1 -1
  5. package/dist/bootstrap-BMWVB2T6.cjs +31 -0
  6. package/dist/{bootstrap-WMWQ4DBX.cjs.map → bootstrap-BMWVB2T6.cjs.map} +1 -1
  7. package/dist/bootstrap-LL6O7PWO.js +6 -0
  8. package/dist/{bootstrap-WOVGAKZP.js.map → bootstrap-LL6O7PWO.js.map} +1 -1
  9. package/dist/{chunk-3VZCX4DF.cjs → chunk-42JPONZU.cjs} +77 -14
  10. package/dist/chunk-42JPONZU.cjs.map +1 -0
  11. package/dist/{chunk-3EVLFWH2.cjs → chunk-4M5PHMUE.cjs} +60 -346
  12. package/dist/chunk-4M5PHMUE.cjs.map +1 -0
  13. package/dist/chunk-4PWRCMTQ.cjs +15 -0
  14. package/dist/chunk-4PWRCMTQ.cjs.map +1 -0
  15. package/dist/chunk-6COM32WF.js +47 -0
  16. package/dist/chunk-6COM32WF.js.map +1 -0
  17. package/dist/chunk-6MSSF46R.js +941 -0
  18. package/dist/chunk-6MSSF46R.js.map +1 -0
  19. package/dist/{chunk-TZFJMPCH.cjs → chunk-7YITG2US.cjs} +9 -18
  20. package/dist/chunk-7YITG2US.cjs.map +1 -0
  21. package/dist/{chunk-A3RQWHKD.cjs → chunk-BLMFBDBG.cjs} +56 -6
  22. package/dist/chunk-BLMFBDBG.cjs.map +1 -0
  23. package/dist/{chunk-EINVJPFM.js → chunk-BTOE3VUK.js} +65 -3
  24. package/dist/chunk-BTOE3VUK.js.map +1 -0
  25. package/dist/chunk-E5X75WNB.js +497 -0
  26. package/dist/chunk-E5X75WNB.js.map +1 -0
  27. package/dist/chunk-E63IF3MD.cjs +951 -0
  28. package/dist/chunk-E63IF3MD.cjs.map +1 -0
  29. package/dist/{chunk-K7QF2QCM.cjs → chunk-FTSSDDZQ.cjs} +7 -3
  30. package/dist/chunk-FTSSDDZQ.cjs.map +1 -0
  31. package/dist/chunk-G7VZBCD6.cjs +35 -0
  32. package/dist/{chunk-5BLDMQED.cjs.map → chunk-G7VZBCD6.cjs.map} +1 -1
  33. package/dist/{chunk-VMSRTAH7.js → chunk-GLCPGZPM.js} +56 -6
  34. package/dist/chunk-GLCPGZPM.js.map +1 -0
  35. package/dist/{chunk-V3B25QOK.cjs → chunk-GVFB5C6O.cjs} +74 -2
  36. package/dist/chunk-GVFB5C6O.cjs.map +1 -0
  37. package/dist/chunk-HVSQDZZJ.cjs +765 -0
  38. package/dist/chunk-HVSQDZZJ.cjs.map +1 -0
  39. package/dist/chunk-HYC4GNHX.js +758 -0
  40. package/dist/chunk-HYC4GNHX.js.map +1 -0
  41. package/dist/chunk-KDVDIZ4Y.cjs +3479 -0
  42. package/dist/chunk-KDVDIZ4Y.cjs.map +1 -0
  43. package/dist/{chunk-OG3KX56O.js → chunk-KWGNR4HM.js} +7 -3
  44. package/dist/chunk-KWGNR4HM.js.map +1 -0
  45. package/dist/chunk-LIJVWQKU.cjs +256 -0
  46. package/dist/chunk-LIJVWQKU.cjs.map +1 -0
  47. package/dist/{chunk-XTZSUDSI.js → chunk-LTRCYJAG.js} +3 -18
  48. package/dist/chunk-LTRCYJAG.js.map +1 -0
  49. package/dist/{chunk-UEYC46RL.js → chunk-OUGKLCYF.js} +71 -8
  50. package/dist/chunk-OUGKLCYF.js.map +1 -0
  51. package/dist/chunk-RONAX6UU.js +3456 -0
  52. package/dist/chunk-RONAX6UU.js.map +1 -0
  53. package/dist/{chunk-5Y7QGIHD.js → chunk-RRYXQMZG.js} +60 -344
  54. package/dist/chunk-RRYXQMZG.js.map +1 -0
  55. package/dist/{chunk-QUJ4OLSC.js → chunk-U74F3YZU.js} +87 -7
  56. package/dist/chunk-U74F3YZU.js.map +1 -0
  57. package/dist/chunk-VIONYQ2K.cjs +517 -0
  58. package/dist/chunk-VIONYQ2K.cjs.map +1 -0
  59. package/dist/chunk-VSTRLXMQ.cjs +50 -0
  60. package/dist/chunk-VSTRLXMQ.cjs.map +1 -0
  61. package/dist/chunk-YT7HXXVN.js +13 -0
  62. package/dist/chunk-YT7HXXVN.js.map +1 -0
  63. package/dist/chunk-Z6ZWNWWR.js +30 -0
  64. package/dist/{chunk-NSBPE2FW.js.map → chunk-Z6ZWNWWR.js.map} +1 -1
  65. package/dist/cli/index.cjs +11 -7
  66. package/dist/cli/index.cjs.map +1 -1
  67. package/dist/cli/index.js +11 -7
  68. package/dist/cli/index.js.map +1 -1
  69. package/dist/drizzle/index.cjs +20 -17
  70. package/dist/drizzle/index.d.cts +4 -4
  71. package/dist/drizzle/index.d.ts +4 -4
  72. package/dist/drizzle/index.js +4 -5
  73. package/dist/graphql/index.cjs +4 -4
  74. package/dist/graphql/index.d.cts +3 -2
  75. package/dist/graphql/index.d.ts +3 -2
  76. package/dist/graphql/index.js +2 -2
  77. package/dist/{index-DI0DRPNv.d.cts → index-BwE4NueJ.d.cts} +1 -1
  78. package/dist/{index-CMUNCIWQ.d.ts → index-DUKmDSeC.d.cts} +96 -24
  79. package/dist/{index-BMySjW6o.d.cts → index-DtBi3zP0.d.ts} +96 -24
  80. package/dist/{index-4fJKLFK2.d.ts → index-DupWTmW6.d.ts} +1 -1
  81. package/dist/index.cjs +3317 -352
  82. package/dist/index.cjs.map +1 -1
  83. package/dist/index.d.cts +379 -105
  84. package/dist/index.d.ts +379 -105
  85. package/dist/index.js +3211 -310
  86. package/dist/index.js.map +1 -1
  87. package/dist/media-HOT3O7RW.js +4 -0
  88. package/dist/media-HOT3O7RW.js.map +1 -0
  89. package/dist/media-WKP5AOX2.cjs +17 -0
  90. package/dist/media-WKP5AOX2.cjs.map +1 -0
  91. package/dist/mongodb/index.cjs +1 -1
  92. package/dist/mongodb/index.d.cts +2 -2
  93. package/dist/mongodb/index.d.ts +2 -2
  94. package/dist/mongodb/index.js +1 -1
  95. package/dist/mysql-media-AI6YK767.cjs +48 -0
  96. package/dist/mysql-media-AI6YK767.cjs.map +1 -0
  97. package/dist/mysql-media-CDZUS7YX.js +45 -0
  98. package/dist/mysql-media-CDZUS7YX.js.map +1 -0
  99. package/dist/postgres-auth-adapter-EVRPO7BQ.cjs +14 -0
  100. package/dist/{postgres-auth-adapter-VK6GY7LX.cjs.map → postgres-auth-adapter-EVRPO7BQ.cjs.map} +1 -1
  101. package/dist/postgres-auth-adapter-OTRWSTT5.js +5 -0
  102. package/dist/{postgres-auth-adapter-REJFUMP7.js.map → postgres-auth-adapter-OTRWSTT5.js.map} +1 -1
  103. package/dist/redis-adapter-2N6VA7BI.cjs +13 -0
  104. package/dist/{redis-adapter-LBLNKGNS.cjs.map → redis-adapter-2N6VA7BI.cjs.map} +1 -1
  105. package/dist/redis-adapter-RA24FNCX.js +4 -0
  106. package/dist/{redis-adapter-4YDY4LWE.js.map → redis-adapter-RA24FNCX.js.map} +1 -1
  107. package/dist/rest/index.cjs +7 -5
  108. package/dist/rest/index.d.cts +29 -3
  109. package/dist/rest/index.d.ts +29 -3
  110. package/dist/rest/index.js +5 -3
  111. package/dist/schema-CNB2DDTX.js +6 -0
  112. package/dist/schema-CNB2DDTX.js.map +1 -0
  113. package/dist/schema-Y777CQQS.cjs +67 -0
  114. package/dist/schema-Y777CQQS.cjs.map +1 -0
  115. package/dist/templates/index.cjs +24 -28
  116. package/dist/templates/index.d.cts +2 -4
  117. package/dist/templates/index.d.ts +2 -4
  118. package/dist/templates/index.js +2 -2
  119. package/dist/trpc/index.cjs +12 -12
  120. package/dist/trpc/index.d.cts +19 -14
  121. package/dist/trpc/index.d.ts +19 -14
  122. package/dist/trpc/index.js +3 -3
  123. package/dist/{types-BGM5MV_K.d.cts → types-BM0s_YOy.d.cts} +67 -35
  124. package/dist/{types-BGM5MV_K.d.ts → types-BM0s_YOy.d.ts} +67 -35
  125. package/dist/ws/index.cjs +1 -1
  126. package/dist/ws/index.js +1 -1
  127. package/package.json +11 -1
  128. package/dist/bootstrap-WMWQ4DBX.cjs +0 -29
  129. package/dist/bootstrap-WOVGAKZP.js +0 -4
  130. package/dist/chunk-3EVLFWH2.cjs.map +0 -1
  131. package/dist/chunk-3QX6KG2S.js +0 -2125
  132. package/dist/chunk-3QX6KG2S.js.map +0 -1
  133. package/dist/chunk-3VZCX4DF.cjs.map +0 -1
  134. package/dist/chunk-5BLDMQED.cjs +0 -18
  135. package/dist/chunk-5Y7QGIHD.js.map +0 -1
  136. package/dist/chunk-7G6EVYCU.cjs +0 -94
  137. package/dist/chunk-7G6EVYCU.cjs.map +0 -1
  138. package/dist/chunk-A3RQWHKD.cjs.map +0 -1
  139. package/dist/chunk-EINVJPFM.js.map +0 -1
  140. package/dist/chunk-F5B64H5S.cjs +0 -2149
  141. package/dist/chunk-F5B64H5S.cjs.map +0 -1
  142. package/dist/chunk-K7QF2QCM.cjs.map +0 -1
  143. package/dist/chunk-LRTZJJPD.js +0 -86
  144. package/dist/chunk-LRTZJJPD.js.map +0 -1
  145. package/dist/chunk-NSBPE2FW.js +0 -15
  146. package/dist/chunk-OG3KX56O.js.map +0 -1
  147. package/dist/chunk-QUJ4OLSC.js.map +0 -1
  148. package/dist/chunk-R3XIBBAW.cjs +0 -34
  149. package/dist/chunk-R3XIBBAW.cjs.map +0 -1
  150. package/dist/chunk-SDMNUYVU.js +0 -30
  151. package/dist/chunk-SDMNUYVU.js.map +0 -1
  152. package/dist/chunk-TZFJMPCH.cjs.map +0 -1
  153. package/dist/chunk-UEG7KMKC.cjs +0 -228
  154. package/dist/chunk-UEG7KMKC.cjs.map +0 -1
  155. package/dist/chunk-UEYC46RL.js.map +0 -1
  156. package/dist/chunk-V3B25QOK.cjs.map +0 -1
  157. package/dist/chunk-VMSRTAH7.js.map +0 -1
  158. package/dist/chunk-XTZSUDSI.js.map +0 -1
  159. package/dist/chunk-YD7Y25W7.cjs +0 -176
  160. package/dist/chunk-YD7Y25W7.cjs.map +0 -1
  161. package/dist/chunk-YPAFJ7EV.js +0 -225
  162. package/dist/chunk-YPAFJ7EV.js.map +0 -1
  163. package/dist/database-7CJOXEZR.js +0 -5
  164. package/dist/database-7CJOXEZR.js.map +0 -1
  165. package/dist/database-QOIV44GT.cjs +0 -22
  166. package/dist/database-QOIV44GT.cjs.map +0 -1
  167. package/dist/postgres-auth-adapter-REJFUMP7.js +0 -5
  168. package/dist/postgres-auth-adapter-VK6GY7LX.cjs +0 -14
  169. package/dist/redis-adapter-4YDY4LWE.js +0 -4
  170. package/dist/redis-adapter-LBLNKGNS.cjs +0 -13
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/templates/minimal.ts","../src/templates/blog.ts","../src/templates/ecommerce.ts","../src/templates/kitchen-sink.ts","../src/templates/media.ts","../src/templates/settings/site.ts","../src/templates/settings/seo.ts","../src/templates/settings/social.ts","../src/templates/settings/email.ts","../src/templates/settings/storage.ts","../src/templates/settings/access.ts","../src/templates/settings/store.ts","../src/templates/settings/payments.ts","../src/templates/settings/index.ts","../src/templates/index.ts"],"names":[],"mappings":"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","file":"chunk-F5B64H5S.cjs","sourcesContent":["import type { CollectionConfig } from '../registry/types.js';\n\nexport const minimalCollections: Record<string, CollectionConfig> = {\n posts: {\n slug: 'posts',\n label: 'Posts',\n labelPlural: 'Posts',\n singularLabel: 'Post',\n admin: {\n useAsTitle: 'title',\n defaultColumns: ['title', 'status', 'createdAt'],\n description: 'Blog posts and articles'\n },\n fields: [\n {\n name: 'title',\n type: 'text',\n required: true,\n label: 'Title',\n admin: { description: 'The post title' }\n },\n {\n name: 'slug',\n type: 'text',\n required: true,\n label: 'Slug',\n admin: { description: 'URL-friendly identifier' }\n },\n {\n name: 'content',\n type: 'richtext',\n label: 'Content'\n },\n {\n name: 'status',\n type: 'select',\n label: 'Status',\n options: [\n { label: 'Draft', value: 'draft' },\n { label: 'Published', value: 'published' }\n ],\n defaultValue: 'draft',\n admin: {\n description: 'Publication status'\n }\n },\n {\n name: 'publishedAt',\n type: 'date',\n label: 'Published At',\n admin: { description: 'When to publish this post' }\n }\n ],\n timestamps: true\n }\n};\n","import type { CollectionConfig } from \"../registry/types.js\";\n\nexport const blogCollections: Record<string, CollectionConfig> = {\n posts: {\n slug: \"posts\",\n label: \"Posts\",\n labelPlural: \"Posts\",\n singularLabel: \"Post\",\n admin: {\n useAsTitle: \"title\",\n defaultColumns: [\"title\", \"category\", \"status\", \"createdAt\"],\n description: \"Blog posts and articles\",\n },\n fields: [\n {\n name: \"title\",\n type: \"text\",\n required: true,\n label: \"Title\",\n admin: {\n description: \"The main title of the post as it will appear publicly.\",\n },\n },\n {\n name: \"slug\",\n type: \"text\",\n required: true,\n label: \"Slug\",\n admin: { description: \"The URL-friendly identifier for the post.\" },\n },\n {\n name: \"excerpt\",\n type: \"textarea\",\n label: \"Excerpt\",\n admin: {\n description:\n \"A brief summary of the post used in listings and SEO meta tags.\",\n },\n },\n {\n name: \"content\",\n type: \"richtext\",\n label: \"Content\",\n admin: {\n description: \"The comprehensive body content of the blog post.\",\n },\n },\n {\n name: \"featuredImage\",\n type: \"upload\",\n label: \"Featured Image\",\n relationTo: \"media\",\n admin: {\n description: \"The primary visual used to represent this post.\",\n },\n },\n {\n name: \"category\",\n type: \"relationship\",\n label: \"Category\",\n relationTo: \"categories\",\n admin: {\n description: \"Select the primary category this post belongs to.\",\n },\n },\n {\n name: \"tags\",\n type: \"array\",\n label: \"Tags\",\n fields: [{ name: \"tag\", type: \"text\" }],\n },\n {\n name: \"status\",\n type: \"select\",\n label: \"Status\",\n options: [\n { label: \"Draft\", value: \"draft\" },\n { label: \"Published\", value: \"published\" },\n ],\n defaultValue: \"draft\",\n },\n {\n name: \"publishedAt\",\n type: \"date\",\n label: \"Published At\",\n },\n ],\n timestamps: true,\n },\n\n categories: {\n slug: \"categories\",\n label: \"Categories\",\n labelPlural: \"Categories\",\n singularLabel: \"Category\",\n admin: {\n useAsTitle: \"name\",\n defaultColumns: [\"name\", \"slug\"],\n description: \"Post categories\",\n },\n fields: [\n {\n name: \"name\",\n type: \"text\",\n required: true,\n label: \"Name\",\n },\n {\n name: \"slug\",\n type: \"text\",\n required: true,\n label: \"Slug\",\n },\n {\n name: \"description\",\n type: \"textarea\",\n label: \"Description\",\n },\n {\n name: \"parent\",\n type: \"relationship\",\n label: \"Parent Category\",\n relationTo: \"categories\",\n },\n ],\n timestamps: true,\n },\n};\n\nimport type { GlobalConfig } from \"../registry/types.js\";\n\nexport const blogGlobals: GlobalConfig[] = [];\n","import type { CollectionConfig } from \"../registry/types.js\";\nimport type { GlobalConfig } from \"../registry/types.js\";\n\nexport const ecommerceCollections: Record<string, CollectionConfig> = {\n products: {\n slug: \"products\",\n label: \"Products\",\n labelPlural: \"Products\",\n singularLabel: \"Product\",\n admin: {\n useAsTitle: \"title\",\n defaultColumns: [\"title\", \"price\", \"status\", \"inventory\"],\n description: \"Product catalog\",\n },\n fields: [\n {\n name: \"title\",\n type: \"text\",\n required: true,\n label: \"Title\",\n },\n {\n name: \"slug\",\n type: \"text\",\n required: true,\n label: \"Slug\",\n },\n {\n name: \"description\",\n type: \"richtext\",\n label: \"Description\",\n },\n {\n name: \"price\",\n type: \"number\",\n required: true,\n label: \"Price\",\n },\n {\n name: \"compareAtPrice\",\n type: \"number\",\n label: \"Compare at Price\",\n admin: { description: \"Original price for sale display\" },\n },\n {\n name: \"costPrice\",\n type: \"number\",\n label: \"Cost Price\",\n admin: { description: \"For profit calculation\" },\n },\n {\n name: \"sku\",\n type: \"text\",\n required: true,\n label: \"SKU\",\n },\n {\n name: \"barcode\",\n type: \"text\",\n label: \"Barcode\",\n },\n {\n name: \"status\",\n type: \"select\",\n label: \"Status\",\n options: [\n { label: \"Draft\", value: \"draft\" },\n { label: \"Active\", value: \"active\" },\n { label: \"Archived\", value: \"archived\" },\n ],\n defaultValue: \"draft\",\n },\n {\n name: \"images\",\n type: \"array\",\n label: \"Images\",\n fields: [\n { name: \"url\", type: \"text\", label: \"URL\" },\n { name: \"alt\", type: \"text\", label: \"Alt Text\" },\n ],\n },\n {\n name: \"category\",\n type: \"relationship\",\n label: \"Category\",\n relationTo: \"categories\",\n },\n {\n name: \"inventory\",\n type: \"number\",\n label: \"Inventory\",\n defaultValue: 0,\n },\n ],\n timestamps: true,\n },\n\n categories: {\n slug: \"categories\",\n label: \"Categories\",\n labelPlural: \"Categories\",\n singularLabel: \"Category\",\n admin: {\n useAsTitle: \"name\",\n defaultColumns: [\"name\", \"slug\", \"productCount\"],\n description: \"Product categories\",\n },\n fields: [\n { name: \"name\", type: \"text\", required: true, label: \"Name\" },\n { name: \"slug\", type: \"text\", required: true, label: \"Slug\" },\n { name: \"description\", type: \"textarea\", label: \"Description\" },\n { name: \"image\", type: \"text\", label: \"Image URL\" },\n {\n name: \"parent\",\n type: \"relationship\",\n label: \"Parent Category\",\n relationTo: \"categories\",\n },\n ],\n timestamps: true,\n },\n\n customers: {\n slug: \"customers\",\n label: \"Customers\",\n labelPlural: \"Customers\",\n singularLabel: \"Customer\",\n admin: {\n useAsTitle: \"email\",\n defaultColumns: [\n \"email\",\n \"firstName\",\n \"lastName\",\n \"orderCount\",\n \"createdAt\",\n ],\n description: \"Customer accounts\",\n },\n fields: [\n { name: \"email\", type: \"email\", required: true, label: \"Email\" },\n { name: \"firstName\", type: \"text\", label: \"First Name\" },\n { name: \"lastName\", type: \"text\", label: \"Last Name\" },\n { name: \"phone\", type: \"text\", label: \"Phone\" },\n {\n name: \"addresses\",\n type: \"array\",\n label: \"Addresses\",\n fields: [\n { name: \"type\", type: \"text\", label: \"Type\" },\n { name: \"line1\", type: \"text\", label: \"Address Line 1\" },\n { name: \"line2\", type: \"text\", label: \"Address Line 2\" },\n { name: \"city\", type: \"text\", label: \"City\" },\n { name: \"state\", type: \"text\", label: \"State\" },\n { name: \"postalCode\", type: \"text\", label: \"Postal Code\" },\n { name: \"country\", type: \"text\", label: \"Country\" },\n ],\n },\n {\n name: \"status\",\n type: \"select\",\n label: \"Status\",\n options: [\n { label: \"Active\", value: \"active\" },\n { label: \"Inactive\", value: \"inactive\" },\n { label: \"Banned\", value: \"banned\" },\n ],\n defaultValue: \"active\",\n },\n ],\n timestamps: true,\n },\n\n orders: {\n slug: \"orders\",\n label: \"Orders\",\n labelPlural: \"Orders\",\n singularLabel: \"Order\",\n admin: {\n useAsTitle: \"orderNumber\",\n defaultColumns: [\n \"orderNumber\",\n \"customer\",\n \"status\",\n \"total\",\n \"createdAt\",\n ],\n description: \"Customer orders\",\n },\n fields: [\n {\n name: \"orderNumber\",\n type: \"text\",\n required: true,\n label: \"Order Number\",\n },\n {\n name: \"customer\",\n type: \"relationship\",\n required: true,\n label: \"Customer\",\n relationTo: \"customers\",\n },\n {\n name: \"status\",\n type: \"select\",\n label: \"Status\",\n options: [\n { label: \"Pending\", value: \"pending\" },\n { label: \"Confirmed\", value: \"confirmed\" },\n { label: \"Processing\", value: \"processing\" },\n { label: \"Shipped\", value: \"shipped\" },\n { label: \"Delivered\", value: \"delivered\" },\n { label: \"Cancelled\", value: \"cancelled\" },\n { label: \"Refunded\", value: \"refunded\" },\n ],\n defaultValue: \"pending\",\n },\n {\n name: \"paymentStatus\",\n type: \"select\",\n label: \"Payment Status\",\n options: [\n { label: \"Pending\", value: \"pending\" },\n { label: \"Paid\", value: \"paid\" },\n { label: \"Failed\", value: \"failed\" },\n { label: \"Refunded\", value: \"refunded\" },\n ],\n defaultValue: \"pending\",\n },\n {\n name: \"items\",\n type: \"array\",\n label: \"Items\",\n fields: [\n { name: \"product\", type: \"text\", label: \"Product\" },\n { name: \"quantity\", type: \"number\", label: \"Quantity\" },\n { name: \"unitPrice\", type: \"number\", label: \"Unit Price\" },\n { name: \"total\", type: \"number\", label: \"Total\" },\n ],\n },\n { name: \"subtotal\", type: \"number\", required: true, label: \"Subtotal\" },\n { name: \"tax\", type: \"number\", label: \"Tax\" },\n { name: \"shipping\", type: \"number\", label: \"Shipping\" },\n { name: \"discount\", type: \"number\", label: \"Discount\" },\n { name: \"total\", type: \"number\", required: true, label: \"Total\" },\n { name: \"notes\", type: \"textarea\", label: \"Notes\" },\n ],\n timestamps: true,\n },\n\n coupons: {\n slug: \"coupons\",\n label: \"Coupons\",\n labelPlural: \"Coupons\",\n singularLabel: \"Coupon\",\n admin: {\n useAsTitle: \"code\",\n defaultColumns: [\"code\", \"type\", \"value\", \"active\", \"expiresAt\"],\n description: \"Discount codes and promotions\",\n },\n fields: [\n { name: \"code\", type: \"text\", required: true, label: \"Code\" },\n {\n name: \"type\",\n type: \"select\",\n required: true,\n label: \"Type\",\n options: [\n { label: \"Percentage\", value: \"percentage\" },\n { label: \"Fixed Amount\", value: \"fixed\" },\n { label: \"Free Shipping\", value: \"freeShipping\" },\n ],\n },\n { name: \"value\", type: \"number\", label: \"Value\" },\n { name: \"minPurchase\", type: \"number\", label: \"Minimum Purchase\" },\n { name: \"maxDiscount\", type: \"number\", label: \"Max Discount\" },\n { name: \"usageLimit\", type: \"number\", label: \"Usage Limit\" },\n {\n name: \"usedCount\",\n type: \"number\",\n defaultValue: 0,\n label: \"Used Count\",\n },\n { name: \"startsAt\", type: \"date\", label: \"Starts At\" },\n { name: \"expiresAt\", type: \"date\", label: \"Expires At\" },\n { name: \"active\", type: \"checkbox\", defaultValue: true, label: \"Active\" },\n ],\n timestamps: true,\n },\n};\n\nexport const ecommerceGlobals: GlobalConfig[] = [];\n","import type { CollectionConfig } from \"../registry/types.js\";\n\nexport const kitchenSinkCollections: Record<string, CollectionConfig> = {\n pages: {\n slug: \"pages\",\n label: \"Pages\",\n labelPlural: \"Pages\",\n singularLabel: \"Page\",\n admin: {\n useAsTitle: \"title\",\n defaultColumns: [\"title\", \"slug\", \"status\", \"updatedAt\"],\n description: \"Static pages with custom layouts\",\n },\n fields: [\n {\n name: \"title\",\n type: \"text\",\n required: true,\n label: \"Title\",\n },\n {\n name: \"slug\",\n type: \"text\",\n required: true,\n label: \"Slug\",\n admin: { description: \"URL-friendly identifier\" },\n },\n {\n name: \"content\",\n type: \"blocks\",\n label: \"Content\",\n blocks: [\n {\n slug: \"hero\",\n label: \"Hero Section\",\n fields: [\n { name: \"heading\", type: \"text\", label: \"Heading\" },\n { name: \"subheading\", type: \"textarea\", label: \"Subheading\" },\n { name: \"ctaText\", type: \"text\", label: \"CTA Button Text\" },\n { name: \"ctaUrl\", type: \"text\", label: \"CTA Button URL\" },\n ],\n },\n {\n slug: \"text\",\n label: \"Text Block\",\n fields: [{ name: \"content\", type: \"richtext\", label: \"Content\" }],\n },\n {\n slug: \"image\",\n label: \"Image\",\n fields: [\n {\n name: \"image\",\n type: \"upload\",\n label: \"Image\",\n relationTo: \"media\",\n },\n { name: \"caption\", type: \"text\", label: \"Caption\" },\n { name: \"alt\", type: \"text\", label: \"Alt Text\" },\n ],\n },\n {\n slug: \"cta\",\n label: \"Call to Action\",\n fields: [\n { name: \"heading\", type: \"text\", label: \"Heading\" },\n { name: \"description\", type: \"textarea\", label: \"Description\" },\n { name: \"buttonText\", type: \"text\", label: \"Button Text\" },\n { name: \"buttonUrl\", type: \"text\", label: \"Button URL\" },\n ],\n },\n ],\n },\n {\n name: \"status\",\n type: \"select\",\n label: \"Status\",\n options: [\n { label: \"Draft\", value: \"draft\" },\n { label: \"Published\", value: \"published\" },\n ],\n defaultValue: \"draft\",\n },\n {\n name: \"publishedAt\",\n type: \"date\",\n label: \"Published At\",\n },\n ],\n timestamps: true,\n },\n\n navigation: {\n slug: \"navigation\",\n label: \"Navigation\",\n labelPlural: \"Navigation\",\n singularLabel: \"Navigation Item\",\n admin: {\n useAsTitle: \"label\",\n defaultColumns: [\"label\", \"url\", \"location\"],\n description: \"Site navigation menus\",\n },\n fields: [\n { name: \"label\", type: \"text\", required: true, label: \"Label\" },\n { name: \"url\", type: \"text\", required: true, label: \"URL\" },\n {\n name: \"location\",\n type: \"select\",\n label: \"Location\",\n options: [\n { label: \"Header\", value: \"header\" },\n { label: \"Footer\", value: \"footer\" },\n { label: \"Mobile\", value: \"mobile\" },\n ],\n },\n { name: \"order\", type: \"number\", label: \"Sort Order\", defaultValue: 0 },\n {\n name: \"parent\",\n type: \"relationship\",\n label: \"Parent Item\",\n relationTo: \"navigation\",\n },\n {\n name: \"newTab\",\n type: \"checkbox\",\n label: \"Open in New Tab\",\n defaultValue: false,\n },\n ],\n timestamps: true,\n },\n};\n","// ============================================================================\n// Media Collection Template\n// ============================================================================\n\nimport type { CollectionConfig } from \"../registry/types.js\";\n\nexport const mediaCollection: CollectionConfig = {\n slug: \"media\",\n label: \"Media Library\",\n\n admin: {\n useAsTitle: \"title\",\n defaultColumns: [\"thumbnailUrl\", \"title\", \"type\", \"fileSize\", \"createdAt\"],\n group: \"content\",\n },\n\n access: {\n read: () => true,\n create: () => true,\n update: () => true,\n delete: () => true,\n },\n\n fields: [\n {\n name: \"title\",\n type: \"text\",\n label: \"Title\",\n required: true,\n admin: {\n description: \"Descriptive title for the file\",\n },\n },\n {\n name: \"filename\",\n type: \"text\",\n label: \"Filename\",\n required: true,\n admin: {\n readOnly: true,\n description: \"System filename (auto-generated)\",\n },\n },\n {\n name: \"originalName\",\n type: \"text\",\n label: \"Original Name\",\n admin: {\n readOnly: true,\n },\n },\n {\n name: \"alt\",\n type: \"text\",\n label: \"Alt Text\",\n admin: {\n description: \"Alternative text for images (accessibility)\",\n },\n },\n {\n name: \"caption\",\n type: \"textarea\",\n label: \"Caption\",\n admin: {\n description: \"Optional caption or description\",\n },\n },\n {\n name: \"type\",\n type: \"select\",\n label: \"File Type\",\n required: true,\n defaultValue: \"document\",\n options: [\n { label: \"Image\", value: \"image\" },\n { label: \"Video\", value: \"video\" },\n { label: \"Audio\", value: \"audio\" },\n { label: \"Document\", value: \"document\" },\n { label: \"Archive\", value: \"archive\" },\n { label: \"Other\", value: \"other\" },\n ],\n admin: {\n readOnly: true,\n },\n },\n {\n name: \"mimeType\",\n type: \"text\",\n label: \"MIME Type\",\n admin: {\n readOnly: true,\n },\n },\n {\n name: \"url\",\n type: \"text\",\n label: \"URL\",\n required: true,\n admin: {\n readOnly: true,\n description: \"Public URL of the file\",\n },\n },\n {\n name: \"thumbnailUrl\",\n type: \"text\",\n label: \"Thumbnail URL\",\n admin: {\n readOnly: true,\n },\n },\n {\n name: \"width\",\n type: \"number\",\n label: \"Width\",\n admin: {\n readOnly: true,\n description: \"Width in pixels (for images/videos)\",\n },\n },\n {\n name: \"height\",\n type: \"number\",\n label: \"Height\",\n admin: {\n readOnly: true,\n description: \"Height in pixels (for images/videos)\",\n },\n },\n {\n name: \"fileSize\",\n type: \"number\",\n label: \"File Size\",\n admin: {\n readOnly: true,\n description: \"Size in bytes\",\n },\n },\n {\n name: \"folder\",\n type: \"text\",\n label: \"Folder\",\n admin: {\n description: \"Folder path for organization (e.g., /products, /blog)\",\n },\n },\n {\n name: \"tags\",\n type: \"array\",\n label: \"Tags\",\n fields: [\n {\n name: \"tag\",\n type: \"text\",\n label: \"Tag\",\n },\n ],\n },\n {\n name: \"focalPoint\",\n type: \"group\",\n label: \"Focal Point\",\n admin: {\n description: \"Point of interest for cropping\",\n },\n fields: [\n {\n name: \"x\",\n type: \"number\",\n label: \"X\",\n defaultValue: 50,\n },\n {\n name: \"y\",\n type: \"number\",\n label: \"Y\",\n defaultValue: 50,\n },\n ],\n },\n {\n name: \"metadata\",\n type: \"json\",\n label: \"Metadata\",\n admin: {\n readOnly: true,\n description: \"Additional file metadata (EXIF, etc.)\",\n },\n },\n {\n name: \"provider\",\n type: \"select\",\n label: \"Storage Provider\",\n defaultValue: \"local\",\n options: [\n { label: \"Local\", value: \"local\" },\n { label: \"AWS S3\", value: \"s3\" },\n { label: \"Cloudinary\", value: \"cloudinary\" },\n { label: \"Imgix\", value: \"imgix\" },\n ],\n admin: {\n readOnly: true,\n },\n },\n {\n name: \"status\",\n type: \"select\",\n label: \"Status\",\n defaultValue: \"active\",\n options: [\n { label: \"Active\", value: \"active\" },\n { label: \"Archived\", value: \"archived\" },\n ],\n },\n {\n name: \"createdAt\",\n type: \"date\",\n label: \"Created\",\n admin: {\n readOnly: true,\n },\n },\n {\n name: \"updatedAt\",\n type: \"date\",\n label: \"Last Modified\",\n admin: {\n readOnly: true,\n },\n },\n ],\n};\n\n// Media Folders Collection\nexport const mediaFoldersCollection: CollectionConfig = {\n slug: \"media-folders\",\n label: \"Media Folders\",\n\n admin: {\n useAsTitle: \"name\",\n hidden: true, // Only accessible via API\n },\n\n access: {\n read: () => true,\n create: () => true,\n update: () => true,\n delete: () => true,\n },\n\n fields: [\n {\n name: \"name\",\n type: \"text\",\n label: \"Name\",\n required: true,\n },\n {\n name: \"slug\",\n type: \"text\",\n label: \"Slug\",\n required: true,\n admin: {\n description: \"URL-friendly identifier\",\n },\n },\n {\n name: \"parent\",\n type: \"relationship\",\n label: \"Parent Folder\",\n relationTo: \"media-folders\",\n },\n {\n name: \"path\",\n type: \"text\",\n label: \"Full Path\",\n admin: {\n readOnly: true,\n description: \"Complete folder path\",\n },\n },\n {\n name: \"fileCount\",\n type: \"number\",\n label: \"File Count\",\n admin: {\n readOnly: true,\n },\n },\n ],\n};\n\n// Export all media collections\nexport const mediaCollections = [mediaCollection, mediaFoldersCollection];\n","// ============================================================================\n// Site Settings Global\n// ============================================================================\n\nimport type { GlobalConfig } from \"../../registry/types.js\";\n\nexport const siteSettingsGlobal: GlobalConfig = {\n slug: \"site-settings\",\n label: \"Site Settings\",\n \n\n admin: {\n group: \"settings\",\n \n },\n\n access: {\n read: () => true,\n update: () => true,\n },\n\n fields: [\n {\n name: \"siteName\",\n type: \"text\",\n label: \"Site Name\",\n required: true,\n admin: {\n \n },\n },\n {\n name: \"siteDescription\",\n type: \"textarea\",\n label: \"Site Description\",\n admin: {\n \n },\n },\n {\n name: \"siteLogo\",\n type: \"relationship\",\n label: \"Site Logo\",\n relationTo: \"media\",\n admin: {\n \n },\n },\n {\n name: \"siteFavicon\",\n type: \"relationship\",\n label: \"Favicon\",\n relationTo: \"media\",\n admin: {\n \n },\n },\n {\n name: \"siteOgImage\",\n type: \"relationship\",\n label: \"Default OG Image\",\n relationTo: \"media\",\n admin: {\n \n },\n },\n {\n name: \"siteUrl\",\n type: \"text\",\n label: \"Site URL\",\n admin: {\n \n },\n },\n {\n name: \"language\",\n type: \"select\",\n label: \"Default Language\",\n defaultValue: \"en\",\n options: [\n { label: \"English\", value: \"en\" },\n { label: \"Spanish\", value: \"es\" },\n { label: \"French\", value: \"fr\" },\n { label: \"German\", value: \"de\" },\n { label: \"Portuguese\", value: \"pt\" },\n { label: \"Italian\", value: \"it\" },\n { label: \"Dutch\", value: \"nl\" },\n { label: \"Russian\", value: \"ru\" },\n { label: \"Japanese\", value: \"ja\" },\n { label: \"Chinese\", value: \"zh\" },\n { label: \"Korean\", value: \"ko\" },\n { label: \"Arabic\", value: \"ar\" },\n ],\n },\n {\n name: \"timezone\",\n type: \"text\",\n label: \"Timezone\",\n defaultValue: \"UTC\",\n admin: {\n \n },\n },\n {\n name: \"logo\",\n type: \"group\",\n label: \"Logo Settings\",\n fields: [\n {\n name: \"width\",\n type: \"number\",\n label: \"Max Width (px)\",\n },\n {\n name: \"height\",\n type: \"number\",\n label: \"Max Height (px)\",\n },\n {\n name: \"altText\",\n type: \"text\",\n label: \"Alt Text\",\n },\n ],\n },\n {\n name: \"analytics\",\n type: \"group\",\n label: \"Analytics\",\n fields: [\n {\n name: \"googleAnalyticsId\",\n type: \"text\",\n label: \"Google Analytics ID\",\n admin: {\n \n },\n },\n {\n name: \"googleTagManagerId\",\n type: \"text\",\n label: \"Google Tag Manager ID\",\n admin: {\n \n },\n },\n {\n name: \"plausibleDomain\",\n type: \"text\",\n label: \"Plausible Domain\",\n admin: {\n \n },\n },\n {\n name: \"mixpanelToken\",\n type: \"password\",\n label: \"Mixpanel Token\",\n },\n ],\n },\n ],\n};\n","// ============================================================================\n// SEO Settings Global\n// ============================================================================\n\nimport type { GlobalConfig } from \"../../registry/types.js\";\n\nexport const seoSettingsGlobal: GlobalConfig = {\n slug: \"seo-settings\",\n label: \"SEO Settings\",\n \n\n admin: {\n group: \"settings\",\n \n },\n\n access: {\n read: () => true,\n update: () => true,\n },\n\n fields: [\n {\n name: \"defaultTitle\",\n type: \"text\",\n label: \"Default Title\",\n admin: {\n \n },\n },\n {\n name: \"defaultDescription\",\n type: \"textarea\",\n label: \"Default Description\",\n admin: {\n \n },\n },\n {\n name: \"titleTemplate\",\n type: \"text\",\n label: \"Title Template\",\n defaultValue: \"{{title}} | {{siteName}}\",\n admin: {\n \n },\n },\n {\n name: \"siteNameInTitle\",\n type: \"checkbox\",\n label: \"Include Site Name in Title\",\n defaultValue: true,\n },\n {\n name: \"separator\",\n type: \"text\",\n label: \"Title Separator\",\n defaultValue: \" | \",\n admin: {\n \n },\n },\n {\n name: \"meta\",\n type: \"group\",\n label: \"Meta Settings\",\n fields: [\n {\n name: \"robots\",\n type: \"text\",\n label: \"Robots Meta\",\n defaultValue: \"index, follow\",\n admin: {\n \n },\n },\n {\n name: \"canonicalUrl\",\n type: \"text\",\n label: \"Canonical URL\",\n admin: {\n \n },\n },\n {\n name: \"ogType\",\n type: \"select\",\n label: \"Default OG Type\",\n defaultValue: \"website\",\n options: [\n { label: \"Website\", value: \"website\" },\n { label: \"Article\", value: \"article\" },\n { label: \"Product\", value: \"product\" },\n { label: \"Book\", value: \"book\" },\n { label: \"Music\", value: \"music\" },\n { label: \"Video\", value: \"video\" },\n ],\n },\n ],\n },\n {\n name: \"sitemap\",\n type: \"checkbox\",\n label: \"Enable XML Sitemap\",\n defaultValue: true,\n admin: {\n \n },\n },\n {\n name: \"sitemapUrls\",\n type: \"number\",\n label: \"Sitemap URL Limit\",\n defaultValue: 50000,\n admin: {\n \n },\n },\n {\n name: \"robotsTxt\",\n type: \"textarea\",\n label: \"Custom robots.txt\",\n admin: {\n \n },\n },\n {\n name: \"social\",\n type: \"group\",\n label: \"Social Media\",\n fields: [\n {\n name: \"twitterHandle\",\n type: \"text\",\n label: \"Twitter/X Handle\",\n admin: {\n \n },\n },\n {\n name: \"twitterCardType\",\n type: \"select\",\n label: \"Twitter Card Type\",\n defaultValue: \"summary_large_image\",\n options: [\n { label: \"Summary\", value: \"summary\" },\n { label: \"Summary with Large Image\", value: \"summary_large_image\" },\n { label: \"App\", value: \"app\" },\n { label: \"Player\", value: \"player\" },\n ],\n },\n {\n name: \"fbAppId\",\n type: \"text\",\n label: \"Facebook App ID\",\n },\n ],\n },\n {\n name: \"advanced\",\n type: \"group\",\n label: \"Advanced\",\n fields: [\n {\n name: \"jsonLdEnabled\",\n type: \"checkbox\",\n label: \"Enable JSON-LD\",\n defaultValue: true,\n admin: {\n \n },\n },\n {\n name: \"breadcrumbsEnabled\",\n type: \"checkbox\",\n label: \"Enable Breadcrumbs\",\n defaultValue: true,\n },\n {\n name: \"paginationSize\",\n type: \"number\",\n label: \"Default Pagination Size\",\n defaultValue: 10,\n },\n ],\n },\n ],\n};\n","// ============================================================================\n// Social Media Settings Global\n// ============================================================================\n\nimport type { GlobalConfig } from \"../../registry/types.js\";\n\nexport const socialSettingsGlobal: GlobalConfig = {\n slug: \"social-settings\",\n label: \"Social Media\",\n \n\n admin: {\n group: \"settings\",\n \n },\n\n access: {\n read: () => true,\n update: () => true,\n },\n\n fields: [\n {\n name: \"facebook\",\n type: \"text\",\n label: \"Facebook\",\n admin: {\n \n },\n },\n {\n name: \"twitter\",\n type: \"text\",\n label: \"Twitter/X\",\n },\n {\n name: \"instagram\",\n type: \"text\",\n label: \"Instagram\",\n },\n {\n name: \"linkedin\",\n type: \"text\",\n label: \"LinkedIn\",\n },\n {\n name: \"youtube\",\n type: \"text\",\n label: \"YouTube\",\n },\n {\n name: \"tiktok\",\n type: \"text\",\n label: \"TikTok\",\n },\n {\n name: \"pinterest\",\n type: \"text\",\n label: \"Pinterest\",\n },\n {\n name: \"discord\",\n type: \"text\",\n label: \"Discord\",\n },\n {\n name: \"twitch\",\n type: \"text\",\n label: \"Twitch\",\n },\n {\n name: \"github\",\n type: \"text\",\n label: \"GitHub\",\n },\n {\n name: \"mastodon\",\n type: \"text\",\n label: \"Mastodon\",\n },\n ],\n};\n","// ============================================================================\n// Email Settings Global\n// ============================================================================\n\nimport type { GlobalConfig } from \"../../registry/types.js\";\n\nexport const emailSettingsGlobal: GlobalConfig = {\n slug: \"email-settings\",\n label: \"Email Settings\",\n \n\n admin: {\n group: \"settings\",\n \n },\n\n access: {\n read: () => true,\n update: () => true,\n },\n\n fields: [\n {\n name: \"fromName\",\n type: \"text\",\n label: \"From Name\",\n admin: {\n \n },\n },\n {\n name: \"fromEmail\",\n type: \"email\",\n label: \"From Email\",\n required: true,\n admin: {\n \n },\n },\n {\n name: \"replyTo\",\n type: \"email\",\n label: \"Reply-To Email\",\n admin: {\n \n },\n },\n {\n name: \"provider\",\n type: \"select\",\n label: \"Email Provider\",\n defaultValue: \"smtp\",\n options: [\n { label: \"SMTP\", value: \"smtp\" },\n { label: \"SendGrid\", value: \"sendgrid\" },\n { label: \"Mailgun\", value: \"mailgun\" },\n { label: \"AWS SES\", value: \"ses\" },\n { label: \"Resend\", value: \"resend\" },\n ],\n },\n {\n name: \"smtp\",\n type: \"group\",\n label: \"SMTP Settings\",\n fields: [\n {\n name: \"host\",\n type: \"text\",\n label: \"Host\",\n admin: {\n placeholder: \"smtp.example.com\",\n },\n },\n {\n name: \"port\",\n type: \"number\",\n label: \"Port\",\n defaultValue: 587,\n },\n {\n name: \"secure\",\n type: \"checkbox\",\n label: \"Use TLS/SSL\",\n defaultValue: true,\n },\n {\n name: \"username\",\n type: \"text\",\n label: \"Username\",\n },\n {\n name: \"password\",\n type: \"password\",\n label: \"Password\",\n },\n ],\n },\n {\n name: \"api\",\n type: \"group\",\n label: \"API Settings\",\n admin: {\n \n },\n fields: [\n {\n name: \"apiKey\",\n type: \"password\",\n label: \"API Key\",\n },\n {\n name: \"domain\",\n type: \"text\",\n label: \"Domain\",\n admin: {\n \n },\n },\n {\n name: \"webhookSecret\",\n type: \"password\",\n label: \"Webhook Secret\",\n admin: {\n \n },\n },\n ],\n },\n {\n name: \"testEmail\",\n type: \"email\",\n label: \"Test Email\",\n admin: {\n \n },\n },\n ],\n};\n","// ============================================================================\n// Storage Settings Global\n// ============================================================================\n\nimport type { GlobalConfig } from \"../../registry/types.js\";\n\nexport const storageSettingsGlobal: GlobalConfig = {\n slug: \"storage-settings\",\n label: \"Storage Settings\",\n \n\n admin: {\n group: \"settings\",\n \n },\n\n access: {\n read: () => true,\n update: () => true,\n },\n\n fields: [\n {\n name: \"provider\",\n type: \"select\",\n label: \"Storage Provider\",\n defaultValue: \"local\",\n options: [\n { label: \"Local Server\", value: \"local\" },\n { label: \"AWS S3\", value: \"s3\" },\n { label: \"Cloudinary\", value: \"cloudinary\" },\n { label: \"Imgix (Transforms Only)\", value: \"imgix\" },\n ],\n },\n {\n name: \"local\",\n type: \"group\",\n label: \"Local Storage\",\n fields: [\n {\n name: \"uploadDir\",\n type: \"text\",\n label: \"Upload Directory\",\n defaultValue: \"./public/uploads\",\n admin: {\n \n },\n },\n {\n name: \"baseUrl\",\n type: \"text\",\n label: \"Base URL\",\n defaultValue: \"/uploads\",\n admin: {\n \n },\n },\n ],\n },\n {\n name: \"s3\",\n type: \"group\",\n label: \"AWS S3 Settings\",\n fields: [\n {\n name: \"bucket\",\n type: \"text\",\n label: \"Bucket Name\",\n },\n {\n name: \"region\",\n type: \"text\",\n label: \"Region\",\n admin: {\n placeholder: \"us-east-1\",\n },\n },\n {\n name: \"accessKeyId\",\n type: \"password\",\n label: \"Access Key ID\",\n },\n {\n name: \"secretAccessKey\",\n type: \"password\",\n label: \"Secret Access Key\",\n },\n {\n name: \"cdnUrl\",\n type: \"text\",\n label: \"CDN URL\",\n admin: {\n \n },\n },\n {\n name: \"prefix\",\n type: \"text\",\n label: \"Path Prefix\",\n admin: {\n \n },\n },\n ],\n },\n {\n name: \"cloudinary\",\n type: \"group\",\n label: \"Cloudinary Settings\",\n fields: [\n {\n name: \"cloudName\",\n type: \"text\",\n label: \"Cloud Name\",\n },\n {\n name: \"apiKey\",\n type: \"password\",\n label: \"API Key\",\n },\n {\n name: \"apiSecret\",\n type: \"password\",\n label: \"API Secret\",\n },\n {\n name: \"folder\",\n type: \"text\",\n label: \"Folder\",\n admin: {\n \n },\n },\n ],\n },\n {\n name: \"imgix\",\n type: \"group\",\n label: \"Imgix Settings\",\n fields: [\n {\n name: \"domain\",\n type: \"text\",\n label: \"Imgix Domain\",\n admin: {\n placeholder: \"your-source.imgix.net\",\n \n },\n },\n {\n name: \"signKey\",\n type: \"password\",\n label: \"Signing Key\",\n admin: {\n \n },\n },\n ],\n },\n {\n name: \"limits\",\n type: \"group\",\n label: \"Upload Limits\",\n fields: [\n {\n name: \"maxFileSize\",\n type: \"number\",\n label: \"Max File Size (bytes)\",\n defaultValue: 10485760,\n admin: {\n \n },\n },\n {\n name: \"allowedTypes\",\n type: \"json\",\n label: \"Allowed MIME Types\",\n defaultValue: [\"image/*\", \"video/*\", \"audio/*\", \"application/pdf\"],\n admin: {\n \n },\n },\n {\n name: \"maxFilesPerUpload\",\n type: \"number\",\n label: \"Max Files per Upload\",\n defaultValue: 10,\n },\n ],\n },\n ],\n};\n","// ============================================================================\n// Access Control Settings Global\n// ============================================================================\n\nimport type { GlobalConfig } from \"../../registry/types.js\";\n\nexport const accessSettingsGlobal: GlobalConfig = {\n slug: \"access-settings\",\n label: \"Access Control\",\n \n\n admin: {\n group: \"settings\",\n \n },\n\n access: {\n read: () => true,\n update: () => true,\n },\n\n fields: [\n {\n name: \"enablePublicAccess\",\n type: \"checkbox\",\n label: \"Enable Public Access\",\n defaultValue: true,\n admin: {\n \n },\n },\n {\n name: \"defaultCollectionAccess\",\n type: \"select\",\n label: \"Default Collection Access\",\n defaultValue: \"read\",\n options: [\n { label: \"Read Only\", value: \"read\" },\n { label: \"Read & Create\", value: \"create\" },\n { label: \"Read & Create & Update\", value: \"update\" },\n { label: \"Full Access\", value: \"admin\" },\n { label: \"No Access\", value: \"none\" },\n ],\n admin: {\n \n },\n },\n {\n name: \"apiAccess\",\n type: \"group\",\n label: \"API Access\",\n fields: [\n {\n name: \"restEnabled\",\n type: \"checkbox\",\n label: \"Enable REST API\",\n defaultValue: true,\n },\n {\n name: \"graphqlEnabled\",\n type: \"checkbox\",\n label: \"Enable GraphQL\",\n defaultValue: false,\n },\n {\n name: \"trpcEnabled\",\n type: \"checkbox\",\n label: \"Enable tRPC\",\n defaultValue: false,\n },\n {\n name: \"wsEnabled\",\n type: \"checkbox\",\n label: \"Enable WebSocket\",\n defaultValue: false,\n },\n {\n name: \"requireAuth\",\n type: \"checkbox\",\n label: \"Require Authentication\",\n defaultValue: false,\n admin: {\n \n },\n },\n {\n name: \"allowedOrigins\",\n type: \"json\",\n label: \"CORS Allowed Origins\",\n admin: {\n \n },\n },\n ],\n },\n {\n name: \"rateLimiting\",\n type: \"group\",\n label: \"Rate Limiting\",\n fields: [\n {\n name: \"enabled\",\n type: \"checkbox\",\n label: \"Enable Rate Limiting\",\n defaultValue: true,\n },\n {\n name: \"maxRequests\",\n type: \"number\",\n label: \"Max Requests\",\n defaultValue: 100,\n admin: {\n \n },\n },\n {\n name: \"windowMs\",\n type: \"number\",\n label: \"Window (ms)\",\n defaultValue: 60000,\n admin: {\n \n },\n },\n ],\n },\n ],\n};\n","// ============================================================================\n// E-commerce Store Settings Global\n// ============================================================================\n\nimport type { GlobalConfig } from \"../../registry/types.js\";\n\nconst countryOptions = [\n { label: \"United States\", value: \"US\" },\n { label: \"United Kingdom\", value: \"GB\" },\n { label: \"Canada\", value: \"CA\" },\n { label: \"Australia\", value: \"AU\" },\n { label: \"Germany\", value: \"DE\" },\n { label: \"France\", value: \"FR\" },\n { label: \"Netherlands\", value: \"NL\" },\n { label: \"Belgium\", value: \"BE\" },\n { label: \"Spain\", value: \"ES\" },\n { label: \"Italy\", value: \"IT\" },\n { label: \"Portugal\", value: \"PT\" },\n { label: \"Sweden\", value: \"SE\" },\n { label: \"Norway\", value: \"NO\" },\n { label: \"Denmark\", value: \"DK\" },\n { label: \"Finland\", value: \"FI\" },\n { label: \"Austria\", value: \"AT\" },\n { label: \"Switzerland\", value: \"CH\" },\n { label: \"Japan\", value: \"JP\" },\n { label: \"South Korea\", value: \"KR\" },\n { label: \"China\", value: \"CN\" },\n { label: \"India\", value: \"IN\" },\n { label: \"Brazil\", value: \"BR\" },\n { label: \"Mexico\", value: \"MX\" },\n];\n\nexport const storeSettingsGlobal: GlobalConfig = {\n slug: \"store-settings\",\n label: \"Store Settings\",\n \n\n admin: {\n group: \"settings\",\n \n },\n\n access: {\n read: () => true,\n update: () => true,\n },\n\n fields: [\n {\n name: \"storeName\",\n type: \"text\",\n label: \"Store Name\",\n required: true,\n },\n {\n name: \"storeEmail\",\n type: \"email\",\n label: \"Contact Email\",\n required: true,\n },\n {\n name: \"storePhone\",\n type: \"text\",\n label: \"Phone Number\",\n },\n {\n name: \"address\",\n type: \"group\",\n label: \"Store Address\",\n fields: [\n {\n name: \"street\",\n type: \"text\",\n label: \"Street Address\",\n },\n {\n name: \"city\",\n type: \"text\",\n label: \"City\",\n },\n {\n name: \"state\",\n type: \"text\",\n label: \"State/Province\",\n },\n {\n name: \"postalCode\",\n type: \"text\",\n label: \"Postal Code\",\n },\n {\n name: \"country\",\n type: \"select\",\n label: \"Country\",\n options: countryOptions,\n },\n ],\n },\n {\n name: \"currency\",\n type: \"group\",\n label: \"Currency\",\n fields: [\n {\n name: \"code\",\n type: \"select\",\n label: \"Currency Code\",\n defaultValue: \"USD\",\n options: [\n { label: \"USD - US Dollar\", value: \"USD\" },\n { label: \"EUR - Euro\", value: \"EUR\" },\n { label: \"GBP - British Pound\", value: \"GBP\" },\n { label: \"CAD - Canadian Dollar\", value: \"CAD\" },\n { label: \"AUD - Australian Dollar\", value: \"AUD\" },\n { label: \"JPY - Japanese Yen\", value: \"JPY\" },\n { label: \"CNY - Chinese Yuan\", value: \"CNY\" },\n { label: \"INR - Indian Rupee\", value: \"INR\" },\n { label: \"BRL - Brazilian Real\", value: \"BRL\" },\n { label: \"MXN - Mexican Peso\", value: \"MXN\" },\n ],\n },\n {\n name: \"symbol\",\n type: \"text\",\n label: \"Symbol\",\n defaultValue: \"$\",\n },\n {\n name: \"position\",\n type: \"select\",\n label: \"Symbol Position\",\n defaultValue: \"before\",\n options: [\n { label: \"Before amount\", value: \"before\" },\n { label: \"After amount\", value: \"after\" },\n ],\n },\n {\n name: \"decimals\",\n type: \"number\",\n label: \"Decimal Places\",\n defaultValue: 2,\n },\n ],\n },\n {\n name: \"tax\",\n type: \"group\",\n label: \"Tax Settings\",\n fields: [\n {\n name: \"enabled\",\n type: \"checkbox\",\n label: \"Enable Tax\",\n defaultValue: true,\n },\n {\n name: \"rate\",\n type: \"number\",\n label: \"Tax Rate (%)\",\n admin: {\n placeholder: \"10\",\n },\n },\n {\n name: \"includedInPrice\",\n type: \"checkbox\",\n label: \"Tax Included in Prices\",\n admin: {\n \n },\n },\n {\n name: \"taxId\",\n type: \"text\",\n label: \"Tax ID / VAT Number\",\n },\n ],\n },\n {\n name: \"shipping\",\n type: \"group\",\n label: \"Shipping\",\n fields: [\n {\n name: \"freeShippingThreshold\",\n type: \"number\",\n label: \"Free Shipping Minimum\",\n admin: {\n \n },\n },\n {\n name: \"flatRate\",\n type: \"number\",\n label: \"Flat Rate Shipping\",\n admin: {\n \n },\n },\n {\n name: \"enableLocalPickup\",\n type: \"checkbox\",\n label: \"Enable Local Pickup\",\n defaultValue: true,\n },\n ],\n },\n {\n name: \"orders\",\n type: \"group\",\n label: \"Orders\",\n fields: [\n {\n name: \"orderNumberPrefix\",\n type: \"text\",\n label: \"Order Number Prefix\",\n defaultValue: \"ORD\",\n admin: {\n \n },\n },\n {\n name: \"allowGuestCheckout\",\n type: \"checkbox\",\n label: \"Allow Guest Checkout\",\n defaultValue: true,\n },\n {\n name: \"requirePhone\",\n type: \"checkbox\",\n label: \"Require Phone Number\",\n defaultValue: true,\n },\n ],\n },\n ],\n};\n","// ============================================================================\n// Payment Settings Global\n// ============================================================================\n\nimport type { GlobalConfig } from \"../../registry/types.js\";\n\nexport const paymentSettingsGlobal: GlobalConfig = {\n slug: \"payment-settings\",\n label: \"Payment Settings\",\n \n\n admin: {\n group: \"settings\",\n \n },\n\n access: {\n read: () => true,\n update: () => true,\n },\n\n fields: [\n {\n name: \"testMode\",\n type: \"checkbox\",\n label: \"Test Mode\",\n defaultValue: true,\n admin: {\n \n },\n },\n {\n name: \"stripe\",\n type: \"group\",\n label: \"Stripe\",\n fields: [\n {\n name: \"enabled\",\n type: \"checkbox\",\n label: \"Enable Stripe\",\n defaultValue: false,\n },\n {\n name: \"publishableKey\",\n type: \"text\",\n label: \"Publishable Key\",\n admin: {\n placeholder: \"pk_live_...\",\n },\n },\n {\n name: \"secretKey\",\n type: \"password\",\n label: \"Secret Key\",\n },\n {\n name: \"webhookSecret\",\n type: \"password\",\n label: \"Webhook Secret\",\n admin: {\n \n },\n },\n ],\n },\n {\n name: \"paypal\",\n type: \"group\",\n label: \"PayPal\",\n fields: [\n {\n name: \"enabled\",\n type: \"checkbox\",\n label: \"Enable PayPal\",\n defaultValue: false,\n },\n {\n name: \"clientId\",\n type: \"text\",\n label: \"Client ID\",\n },\n {\n name: \"clientSecret\",\n type: \"password\",\n label: \"Client Secret\",\n },\n {\n name: \"mode\",\n type: \"select\",\n label: \"Mode\",\n defaultValue: \"sandbox\",\n options: [\n { label: \"Sandbox (Test)\", value: \"sandbox\" },\n { label: \"Live\", value: \"live\" },\n ],\n },\n ],\n },\n {\n name: \"square\",\n type: \"group\",\n label: \"Square\",\n fields: [\n {\n name: \"enabled\",\n type: \"checkbox\",\n label: \"Enable Square\",\n defaultValue: false,\n },\n {\n name: \"applicationId\",\n type: \"text\",\n label: \"Application ID\",\n },\n {\n name: \"accessToken\",\n type: \"password\",\n label: \"Access Token\",\n },\n {\n name: \"locationId\",\n type: \"text\",\n label: \"Location ID\",\n },\n ],\n },\n {\n name: \"methods\",\n type: \"group\",\n label: \"Manual Payment Methods\",\n fields: [\n {\n name: \"cod\",\n type: \"checkbox\",\n label: \"Cash on Delivery\",\n defaultValue: true,\n },\n {\n name: \"bankTransfer\",\n type: \"checkbox\",\n label: \"Bank Transfer\",\n defaultValue: true,\n },\n {\n name: \"cash\",\n type: \"checkbox\",\n label: \"Cash (Local Pickup)\",\n defaultValue: true,\n },\n {\n name: \"check\",\n type: \"checkbox\",\n label: \"Check\",\n defaultValue: false,\n },\n ],\n },\n {\n name: \"bankTransfer\",\n type: \"group\",\n label: \"Bank Transfer Details\",\n admin: {\n \n },\n fields: [\n {\n name: \"bankName\",\n type: \"text\",\n label: \"Bank Name\",\n },\n {\n name: \"accountName\",\n type: \"text\",\n label: \"Account Name\",\n },\n {\n name: \"accountNumber\",\n type: \"text\",\n label: \"Account Number\",\n },\n {\n name: \"routingNumber\",\n type: \"text\",\n label: \"Routing/Sort Code\",\n },\n {\n name: \"iban\",\n type: \"text\",\n label: \"IBAN\",\n },\n {\n name: \"swift\",\n type: \"text\",\n label: \"SWIFT/BIC\",\n },\n ],\n },\n ],\n};\n","// ============================================================================\n// Settings Globals Index\n// ============================================================================\n\nexport { siteSettingsGlobal } from \"./site.js\";\nexport { seoSettingsGlobal } from \"./seo.js\";\nexport { socialSettingsGlobal } from \"./social.js\";\nexport { emailSettingsGlobal } from \"./email.js\";\nexport { storageSettingsGlobal } from \"./storage.js\";\nexport { accessSettingsGlobal } from \"./access.js\";\nexport { storeSettingsGlobal } from \"./store.js\";\nexport { paymentSettingsGlobal } from \"./payments.js\";\n\nimport { siteSettingsGlobal } from \"./site.js\";\nimport { seoSettingsGlobal } from \"./seo.js\";\nimport { socialSettingsGlobal } from \"./social.js\";\nimport { emailSettingsGlobal } from \"./email.js\";\nimport { storageSettingsGlobal } from \"./storage.js\";\nimport { accessSettingsGlobal } from \"./access.js\";\nimport { storeSettingsGlobal } from \"./store.js\";\nimport { paymentSettingsGlobal } from \"./payments.js\";\nimport type { GlobalConfig } from \"../../registry/types.js\";\n\nexport const allSettingsGlobals: GlobalConfig[] = [\n siteSettingsGlobal,\n seoSettingsGlobal,\n socialSettingsGlobal,\n emailSettingsGlobal,\n storageSettingsGlobal,\n accessSettingsGlobal,\n storeSettingsGlobal,\n paymentSettingsGlobal,\n];\n\nexport const coreSettingsGlobals: GlobalConfig[] = [\n siteSettingsGlobal,\n seoSettingsGlobal,\n socialSettingsGlobal,\n emailSettingsGlobal,\n storageSettingsGlobal,\n accessSettingsGlobal,\n];\n\nexport const ecommerceSettingsGlobals: GlobalConfig[] = [\n storeSettingsGlobal,\n paymentSettingsGlobal,\n];\n\nexport const settingsBySlug: Record<string, GlobalConfig> = {\n [siteSettingsGlobal.slug]: siteSettingsGlobal,\n [seoSettingsGlobal.slug]: seoSettingsGlobal,\n [socialSettingsGlobal.slug]: socialSettingsGlobal,\n [emailSettingsGlobal.slug]: emailSettingsGlobal,\n [storageSettingsGlobal.slug]: storageSettingsGlobal,\n [accessSettingsGlobal.slug]: accessSettingsGlobal,\n [storeSettingsGlobal.slug]: storeSettingsGlobal,\n [paymentSettingsGlobal.slug]: paymentSettingsGlobal,\n};\n\nexport function getSettingsForTemplate(\n template: \"minimal\" | \"blog\" | \"ecommerce\" | \"kitchen-sink\",\n): GlobalConfig[] {\n switch (template) {\n case \"minimal\":\n case \"blog\":\n return coreSettingsGlobals;\n case \"ecommerce\":\n return [...coreSettingsGlobals, ...ecommerceSettingsGlobals];\n case \"kitchen-sink\":\n return allSettingsGlobals;\n default:\n return coreSettingsGlobals;\n }\n}\n","import type { CollectionConfig, GlobalConfig } from \"../registry/types.js\";\n\nexport { minimalCollections } from \"./minimal\";\nexport { blogCollections, blogGlobals } from \"./blog\";\nexport { ecommerceCollections, ecommerceGlobals } from \"./ecommerce\";\nexport { kitchenSinkCollections } from \"./kitchen-sink\";\n\nexport {\n mediaCollections,\n mediaCollection,\n mediaFoldersCollection,\n} from \"./media.js\";\nexport {\n allSettingsGlobals,\n coreSettingsGlobals,\n ecommerceSettingsGlobals,\n settingsBySlug,\n getSettingsForTemplate,\n siteSettingsGlobal,\n seoSettingsGlobal,\n socialSettingsGlobal,\n emailSettingsGlobal,\n storageSettingsGlobal,\n accessSettingsGlobal,\n storeSettingsGlobal,\n paymentSettingsGlobal,\n} from \"./settings/index.js\";\n\nimport { mediaCollections } from \"./media.js\";\nimport {\n allSettingsGlobals,\n coreSettingsGlobals,\n ecommerceSettingsGlobals,\n getSettingsForTemplate,\n settingsBySlug,\n siteSettingsGlobal,\n seoSettingsGlobal,\n socialSettingsGlobal,\n emailSettingsGlobal,\n storageSettingsGlobal,\n accessSettingsGlobal,\n storeSettingsGlobal,\n paymentSettingsGlobal,\n} from \"./settings/index.js\";\n\nexport interface TemplateConfig {\n collections?: CollectionConfig[];\n globals?: GlobalConfig[];\n}\n\nexport type TemplateType = \"minimal\" | \"blog\" | \"ecommerce\" | \"kitchen-sink\";\n\nexport interface CreateTemplateConfigOptions extends TemplateConfig {\n template?: TemplateType;\n collections?: CollectionConfig[];\n globals?: GlobalConfig[];\n includeMedia?: boolean;\n includeSettings?:\n | \"all\"\n | \"core\"\n | \"ecommerce\"\n | \"site\"\n | \"seo\"\n | \"social\"\n | \"email\"\n | \"storage\"\n | \"access\"\n | \"store\"\n | \"payments\"\n | string[];\n excludeSettings?: string[];\n}\n\nexport function createTemplateConfig(\n options: CreateTemplateConfigOptions,\n): TemplateConfig {\n const collections: CollectionConfig[] = options.collections\n ? [...options.collections]\n : [];\n const globals: GlobalConfig[] = options.globals ? [...options.globals] : [];\n\n if (options.includeMedia !== false) {\n collections.push(...mediaCollections);\n }\n\n const templateSettings = options.template\n ? getSettingsForTemplate(options.template)\n : coreSettingsGlobals;\n\n if (options.includeSettings) {\n if (options.includeSettings === \"all\") {\n globals.push(...allSettingsGlobals);\n } else if (options.includeSettings === \"core\") {\n globals.push(...coreSettingsGlobals);\n } else if (options.includeSettings === \"ecommerce\") {\n globals.push(...ecommerceSettingsGlobals);\n } else if (Array.isArray(options.includeSettings)) {\n for (const setting of options.includeSettings) {\n const global = settingsBySlug[setting];\n if (global) {\n globals.push(global);\n }\n }\n }\n } else if (!options.globals || options.globals.length === 0) {\n globals.push(...templateSettings);\n }\n\n if (options.excludeSettings && options.excludeSettings.length > 0) {\n const excludeSet = new Set(options.excludeSettings);\n const filtered = globals.filter(\n (g) =>\n !excludeSet.has(g.slug) &&\n !excludeSet.has(g.label?.toLowerCase().replace(/\\s+/g, \"-\") || \"\"),\n );\n globals.length = 0;\n globals.push(...filtered);\n }\n\n return {\n collections: collections.length > 0 ? collections : undefined,\n globals: globals.length > 0 ? globals : undefined,\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/api/graphql/schema.ts"],"names":["GraphQLString","GraphQLInt","GraphQLFloat","GraphQLBoolean","GraphQLObjectType","GraphQLList","GraphQLNonNull","GraphQLInputObjectType","GraphQLSchema"],"mappings":"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","file":"chunk-K7QF2QCM.cjs","sourcesContent":["import {\n GraphQLSchema,\n GraphQLObjectType,\n GraphQLString,\n GraphQLInt,\n GraphQLBoolean,\n GraphQLFloat,\n GraphQLList,\n GraphQLNonNull,\n GraphQLInputObjectType,\n type GraphQLFieldConfig,\n type GraphQLType,\n} from 'graphql';\nimport type { CollectionConfig, GlobalConfig, BaseAdapter } from '../../registry/types.js';\nimport { Registry } from '../../registry/index.js';\nimport type { Field, SelectField } from '../../fields/types.js';\nimport { evaluateAccess } from '../../access/types.js';\nimport type { User, Request } from '../../hooks/types.js';\n\n// ============================================================================\n// Field → GraphQL Type Mapping\n// ============================================================================\n\nfunction fieldToGraphQLType(field: Field, registry: Registry): GraphQLType {\n switch (field.type) {\n case 'text':\n case 'email':\n case 'password':\n case 'textarea':\n case 'color':\n case 'code':\n case 'markdown':\n case 'date':\n case 'select':\n case 'radio':\n case 'upload':\n return GraphQLString;\n case 'number':\n return field.integer ? GraphQLInt : GraphQLFloat;\n case 'checkbox':\n return GraphQLBoolean;\n case 'json':\n case 'richtext':\n return GraphQLString; // JSON as string\n case 'relationship':\n if (typeof field.relationTo === 'string') {\n const relatedCollection = registry.getCollection(field.relationTo);\n if (relatedCollection) {\n return new GraphQLObjectType({\n name: `${field.relationTo}_ref`,\n fields: () => ({\n id: { type: GraphQLString },\n ...buildFieldsFromCollection(relatedCollection, registry),\n }),\n });\n }\n }\n return GraphQLString;\n case 'array':\n return new GraphQLList(GraphQLString); // Simplified\n case 'group':\n return GraphQLString; // Simplified - JSON string\n case 'blocks':\n return new GraphQLList(GraphQLString); // Simplified\n case 'row':\n case 'collapsible':\n case 'tabs':\n return GraphQLString;\n default:\n return GraphQLString;\n }\n}\n\nfunction buildFieldsFromCollection(\n config: CollectionConfig,\n registry: Registry\n): Record<string, GraphQLFieldConfig<any, any>> {\n const fields: Record<string, GraphQLFieldConfig<any, any>> = {};\n\n for (const field of config.fields) {\n if (field.name && field.admin?.hidden !== true) {\n fields[field.name] = {\n type: field.required\n ? new GraphQLNonNull(fieldToGraphQLType(field, registry) as any)\n : (fieldToGraphQLType(field, registry) as any),\n description: field.admin?.description || field.label,\n };\n }\n }\n\n return fields;\n}\n\n// ============================================================================\n// GraphQL Schema Builder\n// ============================================================================\n\nexport interface GraphQLSchemaOptions {\n registry: Registry;\n db: BaseAdapter;\n user?: User;\n req?: Request;\n tenantID?: string;\n}\n\nexport function buildGraphQLSchema(options: GraphQLSchemaOptions): GraphQLSchema {\n const { registry, db, user, req, tenantID } = options;\n const collections = registry.getCollections();\n const globals = registry.getGlobals();\n\n // Build collection types\n const collectionTypes: Record<string, GraphQLObjectType> = {};\n const collectionInputTypes: Record<string, GraphQLInputObjectType> = {};\n\n for (const collection of collections) {\n // Output type\n collectionTypes[collection.slug] = new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_type`,\n fields: () => ({\n id: { type: GraphQLString },\n ...buildFieldsFromCollection(collection, registry),\n ...(collection.timestamps ? {\n createdAt: { type: GraphQLString },\n updatedAt: { type: GraphQLString },\n } : {}),\n ...(collection.tenantScoped ? {\n tenantID: { type: GraphQLString },\n } : {}),\n }),\n });\n\n // Input type for create/update\n const inputFields: Record<string, { type: GraphQLType }> = {};\n for (const field of collection.fields) {\n if (field.name && field.name !== 'id') {\n inputFields[field.name] = {\n type: fieldToGraphQLType(field, registry) as any,\n };\n }\n }\n\n collectionInputTypes[collection.slug] = new GraphQLInputObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_input`,\n fields: () => inputFields as any,\n });\n }\n\n // Build global types\n const globalTypes: Record<string, GraphQLObjectType> = {};\n\n for (const global of globals) {\n globalTypes[global.slug] = new GraphQLObjectType({\n name: `${global.slug.replace(/-/g, '_')}_global_type`,\n fields: () => ({\n id: { type: GraphQLString },\n ...buildFieldsFromCollection(\n { slug: global.slug, fields: global.fields } as CollectionConfig,\n registry\n ),\n }),\n });\n }\n\n // Build query type\n const queryFields: Record<string, GraphQLFieldConfig<any, any>> = {};\n\n // List queries for each collection\n for (const collection of collections) {\n const type = collectionTypes[collection.slug];\n if (!type) continue;\n\n // FindMany query\n queryFields[`${collection.slug}Find`] = {\n type: new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_find_result`,\n fields: {\n docs: { type: new GraphQLList(type) },\n totalDocs: { type: GraphQLInt },\n page: { type: GraphQLInt },\n totalPages: { type: GraphQLInt },\n hasNextPage: { type: GraphQLBoolean },\n hasPrevPage: { type: GraphQLBoolean },\n },\n }),\n args: {\n where: { type: GraphQLString },\n sort: { type: GraphQLString },\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n },\n resolve: async (_: any, args: any) => {\n let where = {};\n if (args.where) {\n try {\n where = JSON.parse(args.where);\n } catch {}\n }\n\n return db.find({\n collection: collection.slug,\n where,\n sort: args.sort,\n limit: args.limit || 10,\n page: args.page || 1,\n tenantID,\n });\n },\n };\n\n // FindByID query\n queryFields[`${collection.slug}FindByID`] = {\n type,\n args: {\n id: { type: new GraphQLNonNull(GraphQLString) },\n },\n resolve: async (_: any, args: any) => {\n const doc = await db.findByID({\n collection: collection.slug,\n id: args.id,\n tenantID,\n });\n return doc;\n },\n };\n\n // Count query\n queryFields[`${collection.slug}Count`] = {\n type: new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_count`,\n fields: {\n totalDocs: { type: GraphQLInt },\n },\n }),\n args: {\n where: { type: GraphQLString },\n },\n resolve: async (_: any, args: any) => {\n let where = {};\n if (args.where) {\n try {\n where = JSON.parse(args.where);\n } catch {}\n }\n const count = await db.count({\n collection: collection.slug,\n where,\n tenantID,\n });\n return { totalDocs: count };\n },\n };\n }\n\n // Global queries\n for (const global of globals) {\n const type = globalTypes[global.slug];\n if (!type) continue;\n\n queryFields[`${global.slug}Get`] = {\n type,\n resolve: async () => {\n return db.findOne({\n collection: `_globals_${global.slug}`,\n where: {},\n tenantID,\n });\n },\n };\n }\n\n const Query = new GraphQLObjectType({\n name: 'Query',\n fields: queryFields,\n });\n\n // Build mutation type\n const mutationFields: Record<string, GraphQLFieldConfig<any, any>> = {};\n\n for (const collection of collections) {\n const type = collectionTypes[collection.slug];\n const inputType = collectionInputTypes[collection.slug];\n if (!type || !inputType) continue;\n\n // Create mutation\n mutationFields[`${collection.slug}Create`] = {\n type: new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_create_result`,\n fields: {\n doc: { type },\n message: { type: GraphQLString },\n },\n }),\n args: {\n data: { type: new GraphQLNonNull(inputType) },\n },\n resolve: async (_: any, args: any) => {\n // Validate\n const schema = registry.getCreateZodSchema(collection.slug);\n const validated = schema.parse(args.data);\n\n const doc = await db.create({\n collection: collection.slug,\n data: validated,\n tenantID,\n });\n\n return { doc, message: 'Created successfully' };\n },\n };\n\n // Update mutation\n mutationFields[`${collection.slug}Update`] = {\n type: new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_update_result`,\n fields: {\n doc: { type },\n message: { type: GraphQLString },\n },\n }),\n args: {\n id: { type: new GraphQLNonNull(GraphQLString) },\n data: { type: new GraphQLNonNull(inputType) },\n },\n resolve: async (_: any, args: any) => {\n // Validate\n const schema = registry.getUpdateZodSchema(collection.slug);\n const validated = schema.parse(args.data);\n\n const doc = await db.update({\n collection: collection.slug,\n id: args.id,\n data: validated,\n tenantID,\n });\n\n return { doc, message: 'Updated successfully' };\n },\n };\n\n // Delete mutation\n mutationFields[`${collection.slug}Delete`] = {\n type: new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_delete_result`,\n fields: {\n doc: { type },\n message: { type: GraphQLString },\n },\n }),\n args: {\n id: { type: new GraphQLNonNull(GraphQLString) },\n },\n resolve: async (_: any, args: any) => {\n const doc = await db.delete({\n collection: collection.slug,\n id: args.id,\n tenantID,\n });\n\n return { doc, message: 'Deleted successfully' };\n },\n };\n }\n\n const Mutation = new GraphQLObjectType({\n name: 'Mutation',\n fields: mutationFields,\n });\n\n return new GraphQLSchema({\n query: Query,\n mutation: Mutation,\n });\n}\n\n// ============================================================================\n// Factory\n// ============================================================================\n\nexport function createGraphQLSchema(registry: Registry, db: BaseAdapter, options?: {\n user?: User;\n req?: Request;\n tenantID?: string;\n}): GraphQLSchema {\n return buildGraphQLSchema({\n registry,\n db,\n user: options?.user,\n req: options?.req,\n tenantID: options?.tenantID,\n });\n}\n"]}
@@ -1,86 +0,0 @@
1
- import { auth_exports } from './chunk-XTZSUDSI.js';
2
- import { drizzle } from 'drizzle-orm/postgres-js';
3
- import postgres from 'postgres';
4
- import { migrate } from 'drizzle-orm/postgres-js/migrator';
5
-
6
- function getEnv(key, fallback = "") {
7
- return process.env[key] || fallback;
8
- }
9
- function getEnvNum(key, fallback = 0) {
10
- const val = process.env[key];
11
- if (!val) return fallback;
12
- return parseInt(val, 10);
13
- }
14
- async function createDatabase(config) {
15
- const databaseUrl = config?.url || getEnv(
16
- "DATABASE_URL",
17
- "postgresql://postgres:postgres@localhost:5432/kyro_cms"
18
- );
19
- const maxConnections = config?.maxConnections || getEnvNum("DATABASE_POOL_MAX", 10);
20
- const ssl = config?.ssl || getEnv("DATABASE_SSL", "false") === "true";
21
- const client = postgres(databaseUrl, {
22
- max: maxConnections,
23
- ssl: ssl ? "require" : false
24
- });
25
- const db = drizzle(client, { schema: auth_exports });
26
- return { client, db };
27
- }
28
- async function runMigrations(db) {
29
- console.log("Running migrations...");
30
- await migrate(db, { migrationsFolder: "./drizzle" });
31
- console.log("Migrations complete");
32
- }
33
- async function seedDefaultRoles(db) {
34
- const { roles } = auth_exports;
35
- const defaultRoles = [
36
- {
37
- name: "super_admin",
38
- level: 100,
39
- inherits: [],
40
- description: "Full system access across all tenants",
41
- isSystem: true
42
- },
43
- {
44
- name: "admin",
45
- level: 90,
46
- inherits: ["editor"],
47
- description: "Full tenant access with all content permissions",
48
- isSystem: true
49
- },
50
- {
51
- name: "editor",
52
- level: 70,
53
- inherits: ["author"],
54
- description: "Edit and publish all content",
55
- isSystem: true
56
- },
57
- {
58
- name: "author",
59
- level: 50,
60
- inherits: ["customer"],
61
- description: "Create and edit own content",
62
- isSystem: true
63
- },
64
- {
65
- name: "customer",
66
- level: 30,
67
- inherits: [],
68
- description: "Access own data and make purchases",
69
- isSystem: true
70
- },
71
- {
72
- name: "guest",
73
- level: 10,
74
- inherits: [],
75
- description: "Public read-only access",
76
- isSystem: true
77
- }
78
- ];
79
- for (const role of defaultRoles) {
80
- await db.insert(roles).values(role).onConflictDoNothing();
81
- }
82
- }
83
-
84
- export { createDatabase, runMigrations, seedDefaultRoles };
85
- //# sourceMappingURL=chunk-LRTZJJPD.js.map
86
- //# sourceMappingURL=chunk-LRTZJJPD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/database/drizzle/database.ts"],"names":[],"mappings":"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","file":"chunk-LRTZJJPD.js","sourcesContent":["import { drizzle } from \"drizzle-orm/postgres-js\";\nimport postgres from \"postgres\";\nimport { migrate } from \"drizzle-orm/postgres-js/migrator\";\nimport * as schema from \"./schema/auth.js\";\n\nfunction getEnv(key: string, fallback: string = \"\"): string {\n return process.env[key] || fallback;\n}\n\nfunction getEnvNum(key: string, fallback: number = 0): number {\n const val = process.env[key];\n if (!val) return fallback;\n return parseInt(val, 10);\n}\n\nexport interface DatabaseConfig {\n url: string;\n maxConnections: number;\n ssl: boolean;\n}\n\nexport async function createDatabase(config?: Partial<DatabaseConfig>) {\n const databaseUrl =\n config?.url ||\n getEnv(\n \"DATABASE_URL\",\n \"postgresql://postgres:postgres@localhost:5432/kyro_cms\",\n );\n const maxConnections =\n config?.maxConnections || getEnvNum(\"DATABASE_POOL_MAX\", 10);\n const ssl = config?.ssl || getEnv(\"DATABASE_SSL\", \"false\") === \"true\";\n\n const client = postgres(databaseUrl, {\n max: maxConnections,\n ssl: ssl ? \"require\" : false,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const db = drizzle(client, { schema: schema as any });\n\n return { client, db };\n}\n\nexport async function runMigrations(db: ReturnType<typeof drizzle>) {\n console.log(\"Running migrations...\");\n await migrate(db, { migrationsFolder: \"./drizzle\" });\n console.log(\"Migrations complete\");\n}\n\nexport async function seedDefaultRoles(db: ReturnType<typeof drizzle>) {\n const { roles } = schema;\n\n const defaultRoles = [\n {\n name: \"super_admin\",\n level: 100,\n inherits: [],\n description: \"Full system access across all tenants\",\n isSystem: true,\n },\n {\n name: \"admin\",\n level: 90,\n inherits: [\"editor\"],\n description: \"Full tenant access with all content permissions\",\n isSystem: true,\n },\n {\n name: \"editor\",\n level: 70,\n inherits: [\"author\"],\n description: \"Edit and publish all content\",\n isSystem: true,\n },\n {\n name: \"author\",\n level: 50,\n inherits: [\"customer\"],\n description: \"Create and edit own content\",\n isSystem: true,\n },\n {\n name: \"customer\",\n level: 30,\n inherits: [],\n description: \"Access own data and make purchases\",\n isSystem: true,\n },\n {\n name: \"guest\",\n level: 10,\n inherits: [],\n description: \"Public read-only access\",\n isSystem: true,\n },\n ];\n\n for (const role of defaultRoles) {\n await db.insert(roles).values(role).onConflictDoNothing();\n }\n}\n"]}
@@ -1,15 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
3
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
4
- }) : x)(function(x) {
5
- if (typeof require !== "undefined") return require.apply(this, arguments);
6
- throw Error('Dynamic require of "' + x + '" is not supported');
7
- });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
-
13
- export { __export, __require };
14
- //# sourceMappingURL=chunk-NSBPE2FW.js.map
15
- //# sourceMappingURL=chunk-NSBPE2FW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/api/graphql/schema.ts"],"names":[],"mappings":"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","file":"chunk-OG3KX56O.js","sourcesContent":["import {\n GraphQLSchema,\n GraphQLObjectType,\n GraphQLString,\n GraphQLInt,\n GraphQLBoolean,\n GraphQLFloat,\n GraphQLList,\n GraphQLNonNull,\n GraphQLInputObjectType,\n type GraphQLFieldConfig,\n type GraphQLType,\n} from 'graphql';\nimport type { CollectionConfig, GlobalConfig, BaseAdapter } from '../../registry/types.js';\nimport { Registry } from '../../registry/index.js';\nimport type { Field, SelectField } from '../../fields/types.js';\nimport { evaluateAccess } from '../../access/types.js';\nimport type { User, Request } from '../../hooks/types.js';\n\n// ============================================================================\n// Field → GraphQL Type Mapping\n// ============================================================================\n\nfunction fieldToGraphQLType(field: Field, registry: Registry): GraphQLType {\n switch (field.type) {\n case 'text':\n case 'email':\n case 'password':\n case 'textarea':\n case 'color':\n case 'code':\n case 'markdown':\n case 'date':\n case 'select':\n case 'radio':\n case 'upload':\n return GraphQLString;\n case 'number':\n return field.integer ? GraphQLInt : GraphQLFloat;\n case 'checkbox':\n return GraphQLBoolean;\n case 'json':\n case 'richtext':\n return GraphQLString; // JSON as string\n case 'relationship':\n if (typeof field.relationTo === 'string') {\n const relatedCollection = registry.getCollection(field.relationTo);\n if (relatedCollection) {\n return new GraphQLObjectType({\n name: `${field.relationTo}_ref`,\n fields: () => ({\n id: { type: GraphQLString },\n ...buildFieldsFromCollection(relatedCollection, registry),\n }),\n });\n }\n }\n return GraphQLString;\n case 'array':\n return new GraphQLList(GraphQLString); // Simplified\n case 'group':\n return GraphQLString; // Simplified - JSON string\n case 'blocks':\n return new GraphQLList(GraphQLString); // Simplified\n case 'row':\n case 'collapsible':\n case 'tabs':\n return GraphQLString;\n default:\n return GraphQLString;\n }\n}\n\nfunction buildFieldsFromCollection(\n config: CollectionConfig,\n registry: Registry\n): Record<string, GraphQLFieldConfig<any, any>> {\n const fields: Record<string, GraphQLFieldConfig<any, any>> = {};\n\n for (const field of config.fields) {\n if (field.name && field.admin?.hidden !== true) {\n fields[field.name] = {\n type: field.required\n ? new GraphQLNonNull(fieldToGraphQLType(field, registry) as any)\n : (fieldToGraphQLType(field, registry) as any),\n description: field.admin?.description || field.label,\n };\n }\n }\n\n return fields;\n}\n\n// ============================================================================\n// GraphQL Schema Builder\n// ============================================================================\n\nexport interface GraphQLSchemaOptions {\n registry: Registry;\n db: BaseAdapter;\n user?: User;\n req?: Request;\n tenantID?: string;\n}\n\nexport function buildGraphQLSchema(options: GraphQLSchemaOptions): GraphQLSchema {\n const { registry, db, user, req, tenantID } = options;\n const collections = registry.getCollections();\n const globals = registry.getGlobals();\n\n // Build collection types\n const collectionTypes: Record<string, GraphQLObjectType> = {};\n const collectionInputTypes: Record<string, GraphQLInputObjectType> = {};\n\n for (const collection of collections) {\n // Output type\n collectionTypes[collection.slug] = new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_type`,\n fields: () => ({\n id: { type: GraphQLString },\n ...buildFieldsFromCollection(collection, registry),\n ...(collection.timestamps ? {\n createdAt: { type: GraphQLString },\n updatedAt: { type: GraphQLString },\n } : {}),\n ...(collection.tenantScoped ? {\n tenantID: { type: GraphQLString },\n } : {}),\n }),\n });\n\n // Input type for create/update\n const inputFields: Record<string, { type: GraphQLType }> = {};\n for (const field of collection.fields) {\n if (field.name && field.name !== 'id') {\n inputFields[field.name] = {\n type: fieldToGraphQLType(field, registry) as any,\n };\n }\n }\n\n collectionInputTypes[collection.slug] = new GraphQLInputObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_input`,\n fields: () => inputFields as any,\n });\n }\n\n // Build global types\n const globalTypes: Record<string, GraphQLObjectType> = {};\n\n for (const global of globals) {\n globalTypes[global.slug] = new GraphQLObjectType({\n name: `${global.slug.replace(/-/g, '_')}_global_type`,\n fields: () => ({\n id: { type: GraphQLString },\n ...buildFieldsFromCollection(\n { slug: global.slug, fields: global.fields } as CollectionConfig,\n registry\n ),\n }),\n });\n }\n\n // Build query type\n const queryFields: Record<string, GraphQLFieldConfig<any, any>> = {};\n\n // List queries for each collection\n for (const collection of collections) {\n const type = collectionTypes[collection.slug];\n if (!type) continue;\n\n // FindMany query\n queryFields[`${collection.slug}Find`] = {\n type: new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_find_result`,\n fields: {\n docs: { type: new GraphQLList(type) },\n totalDocs: { type: GraphQLInt },\n page: { type: GraphQLInt },\n totalPages: { type: GraphQLInt },\n hasNextPage: { type: GraphQLBoolean },\n hasPrevPage: { type: GraphQLBoolean },\n },\n }),\n args: {\n where: { type: GraphQLString },\n sort: { type: GraphQLString },\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n },\n resolve: async (_: any, args: any) => {\n let where = {};\n if (args.where) {\n try {\n where = JSON.parse(args.where);\n } catch {}\n }\n\n return db.find({\n collection: collection.slug,\n where,\n sort: args.sort,\n limit: args.limit || 10,\n page: args.page || 1,\n tenantID,\n });\n },\n };\n\n // FindByID query\n queryFields[`${collection.slug}FindByID`] = {\n type,\n args: {\n id: { type: new GraphQLNonNull(GraphQLString) },\n },\n resolve: async (_: any, args: any) => {\n const doc = await db.findByID({\n collection: collection.slug,\n id: args.id,\n tenantID,\n });\n return doc;\n },\n };\n\n // Count query\n queryFields[`${collection.slug}Count`] = {\n type: new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_count`,\n fields: {\n totalDocs: { type: GraphQLInt },\n },\n }),\n args: {\n where: { type: GraphQLString },\n },\n resolve: async (_: any, args: any) => {\n let where = {};\n if (args.where) {\n try {\n where = JSON.parse(args.where);\n } catch {}\n }\n const count = await db.count({\n collection: collection.slug,\n where,\n tenantID,\n });\n return { totalDocs: count };\n },\n };\n }\n\n // Global queries\n for (const global of globals) {\n const type = globalTypes[global.slug];\n if (!type) continue;\n\n queryFields[`${global.slug}Get`] = {\n type,\n resolve: async () => {\n return db.findOne({\n collection: `_globals_${global.slug}`,\n where: {},\n tenantID,\n });\n },\n };\n }\n\n const Query = new GraphQLObjectType({\n name: 'Query',\n fields: queryFields,\n });\n\n // Build mutation type\n const mutationFields: Record<string, GraphQLFieldConfig<any, any>> = {};\n\n for (const collection of collections) {\n const type = collectionTypes[collection.slug];\n const inputType = collectionInputTypes[collection.slug];\n if (!type || !inputType) continue;\n\n // Create mutation\n mutationFields[`${collection.slug}Create`] = {\n type: new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_create_result`,\n fields: {\n doc: { type },\n message: { type: GraphQLString },\n },\n }),\n args: {\n data: { type: new GraphQLNonNull(inputType) },\n },\n resolve: async (_: any, args: any) => {\n // Validate\n const schema = registry.getCreateZodSchema(collection.slug);\n const validated = schema.parse(args.data);\n\n const doc = await db.create({\n collection: collection.slug,\n data: validated,\n tenantID,\n });\n\n return { doc, message: 'Created successfully' };\n },\n };\n\n // Update mutation\n mutationFields[`${collection.slug}Update`] = {\n type: new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_update_result`,\n fields: {\n doc: { type },\n message: { type: GraphQLString },\n },\n }),\n args: {\n id: { type: new GraphQLNonNull(GraphQLString) },\n data: { type: new GraphQLNonNull(inputType) },\n },\n resolve: async (_: any, args: any) => {\n // Validate\n const schema = registry.getUpdateZodSchema(collection.slug);\n const validated = schema.parse(args.data);\n\n const doc = await db.update({\n collection: collection.slug,\n id: args.id,\n data: validated,\n tenantID,\n });\n\n return { doc, message: 'Updated successfully' };\n },\n };\n\n // Delete mutation\n mutationFields[`${collection.slug}Delete`] = {\n type: new GraphQLObjectType({\n name: `${collection.slug.replace(/-/g, '_')}_delete_result`,\n fields: {\n doc: { type },\n message: { type: GraphQLString },\n },\n }),\n args: {\n id: { type: new GraphQLNonNull(GraphQLString) },\n },\n resolve: async (_: any, args: any) => {\n const doc = await db.delete({\n collection: collection.slug,\n id: args.id,\n tenantID,\n });\n\n return { doc, message: 'Deleted successfully' };\n },\n };\n }\n\n const Mutation = new GraphQLObjectType({\n name: 'Mutation',\n fields: mutationFields,\n });\n\n return new GraphQLSchema({\n query: Query,\n mutation: Mutation,\n });\n}\n\n// ============================================================================\n// Factory\n// ============================================================================\n\nexport function createGraphQLSchema(registry: Registry, db: BaseAdapter, options?: {\n user?: User;\n req?: Request;\n tenantID?: string;\n}): GraphQLSchema {\n return buildGraphQLSchema({\n registry,\n db,\n user: options?.user,\n req: options?.req,\n tenantID: options?.tenantID,\n });\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/database/drizzle/postgres-auth-adapter.ts"],"names":[],"mappings":"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","file":"chunk-QUJ4OLSC.js","sourcesContent":["import type { PostgresJsDatabase } from \"drizzle-orm/postgres-js\";\nimport { eq, and, gt, desc } from \"drizzle-orm\";\nimport bcrypt from \"bcryptjs\";\nimport { randomBytes } from \"crypto\";\nimport type {\n AuthAdapter,\n AuthUser,\n Session,\n UserRole,\n} from \"../../auth/types.js\";\nimport {\n users,\n sessions,\n passwordHistory,\n auditLogs,\n lockouts,\n type AuthUser as AuthUserRow,\n} from \"./schema/auth.js\";\n\nexport interface PostgresAuthAdapterOptions {\n db: PostgresJsDatabase;\n prefix?: string;\n sessionTTL?: number;\n refreshTokenTTL?: number;\n}\n\nexport class PostgresAuthAdapter implements AuthAdapter {\n private db: PostgresJsDatabase;\n private prefix: string;\n private sessionTTL: number;\n private refreshTokenTTL: number;\n\n constructor(options: PostgresAuthAdapterOptions) {\n this.db = options.db;\n this.prefix = options.prefix || \"kyro:\";\n this.sessionTTL = options.sessionTTL || 86400;\n this.refreshTokenTTL = options.refreshTokenTTL || 604800;\n }\n\n async createUser(data: {\n email: string;\n passwordHash: string;\n role?: UserRole;\n tenantId?: string;\n }): Promise<AuthUser> {\n const [user] = await this.db\n .insert(users)\n .values({\n email: data.email.toLowerCase(),\n passwordHash: data.passwordHash,\n role: (data.role || \"customer\") as string,\n tenantId: data.tenantId,\n })\n .returning();\n\n return this.userToAuthUser(user);\n }\n\n async findUserByEmail(email: string): Promise<AuthUser | null> {\n const [user] = await this.db\n .select()\n .from(users)\n .where(eq(users.email, email.toLowerCase()))\n .limit(1);\n\n return user ? this.userToAuthUser(user) : null;\n }\n\n async findUserById(id: string): Promise<AuthUser | null> {\n const [user] = await this.db\n .select()\n .from(users)\n .where(eq(users.id, id))\n .limit(1);\n\n return user ? this.userToAuthUser(user) : null;\n }\n\n async updateUser(\n id: string,\n data: Partial<AuthUser>,\n ): Promise<AuthUser | null> {\n const dbData: Record<string, unknown> = { updatedAt: new Date() };\n if (data.email !== undefined) dbData.email = data.email;\n if (data.passwordHash !== undefined)\n dbData.passwordHash = data.passwordHash;\n if (data.role !== undefined) dbData.role = data.role;\n if (data.tenantId !== undefined) dbData.tenantId = data.tenantId;\n if (data.emailVerified !== undefined)\n dbData.emailVerified = data.emailVerified;\n if (data.locked !== undefined) dbData.locked = data.locked;\n if (data.lastLogin !== undefined)\n dbData.lastLogin = data.lastLogin ? new Date(data.lastLogin) : null;\n if (data.failedLoginAttempts !== undefined)\n dbData.failedLoginAttempts = data.failedLoginAttempts;\n\n const [user] = await this.db\n .update(users)\n .set(dbData)\n .where(eq(users.id, id))\n .returning();\n\n return user ? this.userToAuthUser(user) : null;\n }\n\n async deleteUser(id: string): Promise<boolean> {\n const result = await this.db.delete(users).where(eq(users.id, id));\n return true;\n }\n\n async verifyPassword(password: string, hash: string): Promise<boolean> {\n return bcrypt.compare(password, hash);\n }\n\n async hashPassword(password: string): Promise<string> {\n return bcrypt.hash(password, 12);\n }\n\n async createSession(\n userId: string,\n data?: { ipAddress?: string; userAgent?: string },\n ): Promise<Session> {\n const token = randomBytes(32).toString(\"base64url\");\n const refreshToken = randomBytes(32).toString(\"base64url\");\n const expiresAt = new Date(Date.now() + this.sessionTTL * 1000);\n const refreshExpiresAt = new Date(Date.now() + this.refreshTokenTTL * 1000);\n\n const [session] = await this.db\n .insert(sessions)\n .values({\n userId,\n token,\n refreshToken,\n ipAddress: data?.ipAddress,\n userAgent: data?.userAgent,\n expiresAt,\n })\n .returning();\n\n return this.sessionToSession(session);\n }\n\n async findSessionByToken(token: string): Promise<Session | null> {\n const [session] = await this.db\n .select()\n .from(sessions)\n .where(and(eq(sessions.token, token), gt(sessions.expiresAt, new Date())))\n .limit(1);\n\n return session ? this.sessionToSession(session) : null;\n }\n\n async deleteSession(sessionId: string): Promise<boolean> {\n await this.db.delete(sessions).where(eq(sessions.id, sessionId));\n return true;\n }\n\n async deleteUserSessions(userId: string): Promise<number> {\n const result = await this.db\n .delete(sessions)\n .where(eq(sessions.userId, userId));\n return 1;\n }\n\n async addPasswordToHistory(\n userId: string,\n passwordHash: string,\n ): Promise<void> {\n await this.db.insert(passwordHistory).values({\n userId,\n passwordHash,\n });\n }\n\n async getPasswordHistory(\n userId: string,\n count: number = 5,\n ): Promise<string[]> {\n const history = await this.db\n .select({ passwordHash: passwordHistory.passwordHash })\n .from(passwordHistory)\n .where(eq(passwordHistory.userId, userId))\n .orderBy(desc(passwordHistory.createdAt))\n .limit(count);\n\n return history.map((h) => h.passwordHash);\n }\n\n async isPasswordInHistory(\n password: string,\n userId: string,\n historyCount: number = 5,\n ): Promise<boolean> {\n const history = await this.getPasswordHistory(userId, historyCount);\n\n for (const hash of history) {\n if (await this.verifyPassword(password, hash)) {\n return true;\n }\n }\n\n return false;\n }\n\n async isLocked(userId: string): Promise<boolean> {\n const [lockout] = await this.db\n .select()\n .from(lockouts)\n .where(\n and(eq(lockouts.userId, userId), gt(lockouts.lockedUntil, new Date())),\n )\n .limit(1);\n\n return !!lockout;\n }\n\n async getLockout(userId: string): Promise<{ lockedUntil: Date } | null> {\n const [lockout] = await this.db\n .select()\n .from(lockouts)\n .where(\n and(eq(lockouts.userId, userId), gt(lockouts.lockedUntil, new Date())),\n )\n .limit(1);\n\n return lockout ? { lockedUntil: lockout.lockedUntil } : null;\n }\n\n async recordFailedAttempt(\n userId: string,\n ipAddress?: string,\n ): Promise<{ attempts: number; locked: boolean }> {\n const user = await this.findUserById(userId);\n const attempts = (user?.failedLoginAttempts || 0) + 1;\n\n await this.updateUser(userId, { failedLoginAttempts: attempts });\n\n const maxAttempts = 5;\n const locked = attempts >= maxAttempts;\n\n if (locked) {\n const lockoutDuration = 15 * 60 * 1000;\n await this.db.insert(lockouts).values({\n userId,\n ipAddress,\n reason: \"Too many failed login attempts\",\n lockedUntil: new Date(Date.now() + lockoutDuration),\n });\n }\n\n return { attempts, locked };\n }\n\n async resetAttempts(userId: string): Promise<void> {\n await this.updateUser(userId, { failedLoginAttempts: 0 });\n }\n\n private userToAuthUser(user: AuthUserRow): AuthUser {\n return {\n id: user.id,\n email: user.email,\n passwordHash: user.passwordHash || undefined,\n role: user.role as UserRole,\n tenantId: user.tenantId || undefined,\n emailVerified: user.emailVerified || false,\n locked: user.locked || false,\n lastLogin: user.lastLogin?.toISOString(),\n failedLoginAttempts: user.failedLoginAttempts || 0,\n createdAt: user.createdAt.toISOString(),\n updatedAt: user.updatedAt.toISOString(),\n };\n }\n\n private sessionToSession(session: typeof sessions.$inferSelect): Session {\n return {\n id: session.id,\n userId: session.userId,\n token: session.token,\n refreshToken: session.refreshToken || undefined,\n expiresAt: session.expiresAt.toISOString(),\n createdAt: session.createdAt.toISOString(),\n ipAddress: session.ipAddress || undefined,\n userAgent: session.userAgent || undefined,\n };\n }\n}\n"]}
@@ -1,34 +0,0 @@
1
- 'use strict';
2
-
3
- // src/access/types.ts
4
- async function evaluateAccess(access, args) {
5
- if (typeof access === "boolean") {
6
- return access;
7
- }
8
- if (typeof access === "function") {
9
- return await access(args);
10
- }
11
- return true;
12
- }
13
- function mergeWhereClauses(...whereClauses) {
14
- const result = {};
15
- for (const clause of whereClauses) {
16
- if (clause && typeof clause === "object") {
17
- Object.assign(result, clause);
18
- }
19
- }
20
- return result;
21
- }
22
- function getWhereClause(access, args) {
23
- return evaluateAccess(access, args).then((result) => {
24
- if (result === true) return void 0;
25
- if (result === false) return { _id: { $eq: null } };
26
- return result;
27
- });
28
- }
29
-
30
- exports.evaluateAccess = evaluateAccess;
31
- exports.getWhereClause = getWhereClause;
32
- exports.mergeWhereClauses = mergeWhereClauses;
33
- //# sourceMappingURL=chunk-R3XIBBAW.cjs.map
34
- //# sourceMappingURL=chunk-R3XIBBAW.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/access/types.ts"],"names":[],"mappings":";;;AA+CA,eAAsB,cAAA,CACpB,QACA,IAAA,EACgC;AAChC,EAAA,IAAI,OAAO,WAAW,SAAA,EAAW;AAC/B,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,IAAI,OAAO,WAAW,UAAA,EAAY;AAChC,IAAA,OAAO,MAAM,OAAO,IAAI,CAAA;AAAA,EAC1B;AACA,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,qBACX,YAAA,EACU;AACb,EAAA,MAAM,SAAsB,EAAC;AAC7B,EAAA,KAAA,MAAW,UAAU,YAAA,EAAc;AACjC,IAAA,IAAI,MAAA,IAAU,OAAO,MAAA,KAAW,QAAA,EAAU;AACxC,MAAA,MAAA,CAAO,MAAA,CAAO,QAAQ,MAAM,CAAA;AAAA,IAC9B;AAAA,EACF;AACA,EAAA,OAAO,MAAA;AACT;AAEO,SAAS,cAAA,CACd,QACA,IAAA,EACkC;AAClC,EAAA,OAAO,cAAA,CAAe,MAAA,EAAQ,IAAI,CAAA,CAAE,KAAK,CAAA,MAAA,KAAU;AACjD,IAAA,IAAI,MAAA,KAAW,MAAM,OAAO,MAAA;AAC5B,IAAA,IAAI,MAAA,KAAW,OAAO,OAAO,EAAE,KAAK,EAAE,GAAA,EAAK,MAAK,EAAE;AAClD,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AACH","file":"chunk-R3XIBBAW.cjs","sourcesContent":["import type { User, Request } from '../hooks/types.js';\n\n// ============================================================================\n// Access Control Types\n// ============================================================================\n\nexport interface WhereClause {\n [field: string]: any;\n}\n\nexport interface AccessArgs {\n req: Request;\n user?: User;\n data?: any;\n doc?: any;\n id?: string;\n tenantID?: string;\n context?: Record<string, any>;\n}\n\nexport type AccessControl = boolean | ((args: AccessArgs) => Promise<boolean | WhereClause> | boolean | WhereClause);\n\nexport interface CollectionAccess {\n create?: AccessControl;\n read?: AccessControl;\n update?: AccessControl;\n delete?: AccessControl;\n admin?: AccessControl;\n unlock?: AccessControl;\n readVersions?: AccessControl;\n}\n\nexport interface GlobalAccess {\n read?: AccessControl;\n update?: AccessControl;\n}\n\nexport interface FieldAccess {\n create?: AccessControl;\n read?: AccessControl;\n update?: AccessControl;\n}\n\n// ============================================================================\n// Access Control Evaluation\n// ============================================================================\n\nexport async function evaluateAccess(\n access: AccessControl,\n args: AccessArgs\n): Promise<boolean | WhereClause> {\n if (typeof access === 'boolean') {\n return access;\n }\n if (typeof access === 'function') {\n return await access(args);\n }\n return true;\n}\n\nexport function mergeWhereClauses(\n ...whereClauses: (WhereClause | boolean | undefined)[]\n): WhereClause {\n const result: WhereClause = {};\n for (const clause of whereClauses) {\n if (clause && typeof clause === 'object') {\n Object.assign(result, clause);\n }\n }\n return result;\n}\n\nexport function getWhereClause(\n access: AccessControl,\n args: AccessArgs\n): Promise<WhereClause | undefined> {\n return evaluateAccess(access, args).then(result => {\n if (result === true) return undefined;\n if (result === false) return { _id: { $eq: null } };\n return result;\n });\n}\n"]}