@kyro-cms/core 0.1.1 → 0.1.2
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.
- package/README.md +196 -109
- package/dist/bootstrap-2WJK6PG7.cjs +29 -0
- package/dist/bootstrap-2WJK6PG7.cjs.map +1 -0
- package/dist/bootstrap-Q2TWUQF3.js +4 -0
- package/dist/bootstrap-Q2TWUQF3.js.map +1 -0
- package/dist/chunk-3QX6KG2S.js +2125 -0
- package/dist/chunk-3QX6KG2S.js.map +1 -0
- package/dist/chunk-5AOILNGY.cjs +212 -0
- package/dist/chunk-5AOILNGY.cjs.map +1 -0
- package/dist/{chunk-DKSMFC3L.js → chunk-EINVJPFM.js} +2 -2
- package/dist/{chunk-DKSMFC3L.js.map → chunk-EINVJPFM.js.map} +1 -1
- package/dist/chunk-F5B64H5S.cjs +2149 -0
- package/dist/chunk-F5B64H5S.cjs.map +1 -0
- package/dist/chunk-I4BORBXT.cjs +914 -0
- package/dist/chunk-I4BORBXT.cjs.map +1 -0
- package/dist/chunk-KA3UOIFC.js +206 -0
- package/dist/chunk-KA3UOIFC.js.map +1 -0
- package/dist/chunk-KWTKEBHM.cjs +176 -0
- package/dist/chunk-KWTKEBHM.cjs.map +1 -0
- package/dist/chunk-M4JFHQ5J.js +170 -0
- package/dist/chunk-M4JFHQ5J.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +9 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/chunk-Q7SFCCGT.cjs +11 -0
- package/dist/chunk-Q7SFCCGT.cjs.map +1 -0
- package/dist/chunk-U4CHJTWX.cjs +94 -0
- package/dist/chunk-U4CHJTWX.cjs.map +1 -0
- package/dist/{chunk-3Q3FS5J4.cjs → chunk-V3B25QOK.cjs} +2 -2
- package/dist/{chunk-3Q3FS5J4.cjs.map → chunk-V3B25QOK.cjs.map} +1 -1
- package/dist/chunk-V67YXRBT.js +899 -0
- package/dist/chunk-V67YXRBT.js.map +1 -0
- package/dist/chunk-XLMVCGXA.js +86 -0
- package/dist/chunk-XLMVCGXA.js.map +1 -0
- package/dist/cli/index.cjs +106 -14
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +106 -14
- package/dist/cli/index.js.map +1 -1
- package/dist/database-37KXWUER.js +5 -0
- package/dist/database-37KXWUER.js.map +1 -0
- package/dist/database-LJKD3HE4.cjs +22 -0
- package/dist/database-LJKD3HE4.cjs.map +1 -0
- package/dist/drizzle/index.cjs +25 -5
- package/dist/drizzle/index.d.cts +5 -49
- package/dist/drizzle/index.d.ts +5 -49
- package/dist/drizzle/index.js +5 -1
- package/dist/graphql/index.cjs +1 -0
- package/dist/graphql/index.js +1 -0
- package/dist/index-BVFlb7uU.d.ts +192 -0
- package/dist/index-CzkEHKqu.d.cts +192 -0
- package/dist/index.cjs +1203 -23
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +382 -68
- package/dist/index.d.ts +382 -68
- package/dist/index.js +1110 -20
- package/dist/index.js.map +1 -1
- package/dist/mongodb/index.cjs +1 -0
- package/dist/mongodb/index.js +1 -0
- package/dist/postgres-auth-adapter-CYZAVPPP.cjs +14 -0
- package/dist/postgres-auth-adapter-CYZAVPPP.cjs.map +1 -0
- package/dist/postgres-auth-adapter-LTDUGBMB.js +5 -0
- package/dist/postgres-auth-adapter-LTDUGBMB.js.map +1 -0
- package/dist/rest/index.cjs +1 -0
- package/dist/rest/index.js +1 -0
- package/dist/templates/index.cjs +94 -536
- package/dist/templates/index.cjs.map +1 -1
- package/dist/templates/index.d.cts +45 -1
- package/dist/templates/index.d.ts +45 -1
- package/dist/templates/index.js +2 -535
- package/dist/templates/index.js.map +1 -1
- package/dist/trpc/index.cjs +1 -0
- package/dist/trpc/index.js +1 -0
- package/dist/ws/index.cjs +1 -0
- package/dist/ws/index.js +1 -0
- package/package.json +23 -8
|
@@ -0,0 +1 @@
|
|
|
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-3QX6KG2S.js","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"]}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkQ7SFCCGT_cjs = require('./chunk-Q7SFCCGT.cjs');
|
|
4
|
+
var pgCore = require('drizzle-orm/pg-core');
|
|
5
|
+
|
|
6
|
+
// src/database/drizzle/schema/auth.ts
|
|
7
|
+
var auth_exports = {};
|
|
8
|
+
chunkQ7SFCCGT_cjs.__export(auth_exports, {
|
|
9
|
+
apiKeys: () => apiKeys,
|
|
10
|
+
auditLogs: () => auditLogs,
|
|
11
|
+
emailVerifications: () => emailVerifications,
|
|
12
|
+
lockouts: () => lockouts,
|
|
13
|
+
passwordHistory: () => passwordHistory,
|
|
14
|
+
passwordResets: () => passwordResets,
|
|
15
|
+
permissions: () => permissions,
|
|
16
|
+
roles: () => roles,
|
|
17
|
+
sessions: () => sessions,
|
|
18
|
+
tenants: () => tenants,
|
|
19
|
+
users: () => users
|
|
20
|
+
});
|
|
21
|
+
var users = pgCore.pgTable(
|
|
22
|
+
"users",
|
|
23
|
+
{
|
|
24
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
25
|
+
email: pgCore.varchar("email", { length: 255 }).notNull(),
|
|
26
|
+
passwordHash: pgCore.varchar("password_hash", { length: 255 }),
|
|
27
|
+
role: pgCore.varchar("role", { length: 50 }).notNull().default("customer"),
|
|
28
|
+
tenantId: pgCore.uuid("tenant_id"),
|
|
29
|
+
emailVerified: pgCore.boolean("email_verified").default(false),
|
|
30
|
+
locked: pgCore.boolean("locked").default(false),
|
|
31
|
+
lastLogin: pgCore.timestamp("last_login"),
|
|
32
|
+
failedLoginAttempts: pgCore.integer("failed_login_attempts").default(0),
|
|
33
|
+
metadata: pgCore.jsonb("metadata").$type(),
|
|
34
|
+
createdAt: pgCore.timestamp("created_at").defaultNow().notNull(),
|
|
35
|
+
updatedAt: pgCore.timestamp("updated_at").defaultNow().notNull()
|
|
36
|
+
},
|
|
37
|
+
(table) => [
|
|
38
|
+
pgCore.uniqueIndex("users_email_idx").on(table.email),
|
|
39
|
+
pgCore.index("users_tenant_idx").on(table.tenantId),
|
|
40
|
+
pgCore.index("users_role_idx").on(table.role)
|
|
41
|
+
]
|
|
42
|
+
);
|
|
43
|
+
var roles = pgCore.pgTable(
|
|
44
|
+
"roles",
|
|
45
|
+
{
|
|
46
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
47
|
+
name: pgCore.varchar("name", { length: 100 }).notNull().unique(),
|
|
48
|
+
level: pgCore.integer("level").notNull().default(0),
|
|
49
|
+
inherits: pgCore.text("inherits").array(),
|
|
50
|
+
description: pgCore.text("description"),
|
|
51
|
+
permissions: pgCore.jsonb("permissions").$type().default([]),
|
|
52
|
+
isSystem: pgCore.boolean("is_system").default(false),
|
|
53
|
+
createdAt: pgCore.timestamp("created_at").defaultNow().notNull(),
|
|
54
|
+
updatedAt: pgCore.timestamp("updated_at").defaultNow().notNull()
|
|
55
|
+
},
|
|
56
|
+
(table) => [pgCore.index("roles_level_idx").on(table.level)]
|
|
57
|
+
);
|
|
58
|
+
var permissions = pgCore.pgTable(
|
|
59
|
+
"permissions",
|
|
60
|
+
{
|
|
61
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
62
|
+
roleId: pgCore.uuid("role_id").references(() => roles.id, { onDelete: "cascade" }),
|
|
63
|
+
resource: pgCore.varchar("resource", { length: 100 }).notNull(),
|
|
64
|
+
action: pgCore.varchar("action", { length: 50 }).notNull(),
|
|
65
|
+
conditions: pgCore.jsonb("conditions").$type(),
|
|
66
|
+
createdAt: pgCore.timestamp("created_at").defaultNow().notNull()
|
|
67
|
+
},
|
|
68
|
+
(table) => [
|
|
69
|
+
pgCore.index("permissions_role_idx").on(table.roleId),
|
|
70
|
+
pgCore.index("permissions_resource_idx").on(table.resource)
|
|
71
|
+
]
|
|
72
|
+
);
|
|
73
|
+
var sessions = pgCore.pgTable(
|
|
74
|
+
"sessions",
|
|
75
|
+
{
|
|
76
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
77
|
+
userId: pgCore.uuid("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
78
|
+
token: pgCore.varchar("token", { length: 512 }).notNull().unique(),
|
|
79
|
+
refreshToken: pgCore.varchar("refresh_token", { length: 512 }),
|
|
80
|
+
ipAddress: pgCore.varchar("ip_address", { length: 45 }),
|
|
81
|
+
userAgent: pgCore.text("user_agent"),
|
|
82
|
+
expiresAt: pgCore.timestamp("expires_at").notNull(),
|
|
83
|
+
createdAt: pgCore.timestamp("created_at").defaultNow().notNull()
|
|
84
|
+
},
|
|
85
|
+
(table) => [
|
|
86
|
+
pgCore.index("sessions_user_idx").on(table.userId),
|
|
87
|
+
pgCore.index("sessions_token_idx").on(table.token),
|
|
88
|
+
pgCore.index("sessions_expires_idx").on(table.expiresAt)
|
|
89
|
+
]
|
|
90
|
+
);
|
|
91
|
+
var auditLogs = pgCore.pgTable(
|
|
92
|
+
"audit_logs",
|
|
93
|
+
{
|
|
94
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
95
|
+
action: pgCore.varchar("action", { length: 100 }).notNull(),
|
|
96
|
+
userId: pgCore.uuid("user_id").references(() => users.id, {
|
|
97
|
+
onDelete: "set null"
|
|
98
|
+
}),
|
|
99
|
+
userEmail: pgCore.varchar("user_email", { length: 255 }),
|
|
100
|
+
role: pgCore.varchar("role", { length: 50 }),
|
|
101
|
+
resource: pgCore.varchar("resource", { length: 100 }).notNull(),
|
|
102
|
+
resourceId: pgCore.uuid("resource_id"),
|
|
103
|
+
changes: pgCore.jsonb("changes").$type(),
|
|
104
|
+
ipAddress: pgCore.varchar("ip_address", { length: 45 }),
|
|
105
|
+
userAgent: pgCore.text("user_agent"),
|
|
106
|
+
success: pgCore.boolean("success").notNull().default(true),
|
|
107
|
+
error: pgCore.text("error"),
|
|
108
|
+
metadata: pgCore.jsonb("metadata").$type(),
|
|
109
|
+
timestamp: pgCore.timestamp("timestamp").defaultNow().notNull()
|
|
110
|
+
},
|
|
111
|
+
(table) => [
|
|
112
|
+
pgCore.index("audit_logs_user_idx").on(table.userId),
|
|
113
|
+
pgCore.index("audit_logs_action_idx").on(table.action),
|
|
114
|
+
pgCore.index("audit_logs_resource_idx").on(table.resource),
|
|
115
|
+
pgCore.index("audit_logs_timestamp_idx").on(table.timestamp)
|
|
116
|
+
]
|
|
117
|
+
);
|
|
118
|
+
var tenants = pgCore.pgTable(
|
|
119
|
+
"tenants",
|
|
120
|
+
{
|
|
121
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
122
|
+
name: pgCore.varchar("name", { length: 255 }).notNull(),
|
|
123
|
+
slug: pgCore.varchar("slug", { length: 100 }).notNull().unique(),
|
|
124
|
+
settings: pgCore.jsonb("settings").$type().default({}),
|
|
125
|
+
isActive: pgCore.boolean("is_active").default(true),
|
|
126
|
+
createdAt: pgCore.timestamp("created_at").defaultNow().notNull(),
|
|
127
|
+
updatedAt: pgCore.timestamp("updated_at").defaultNow().notNull()
|
|
128
|
+
},
|
|
129
|
+
(table) => [pgCore.uniqueIndex("tenants_slug_idx").on(table.slug)]
|
|
130
|
+
);
|
|
131
|
+
var apiKeys = pgCore.pgTable(
|
|
132
|
+
"api_keys",
|
|
133
|
+
{
|
|
134
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
135
|
+
userId: pgCore.uuid("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
136
|
+
name: pgCore.varchar("name", { length: 255 }).notNull(),
|
|
137
|
+
key: pgCore.varchar("key", { length: 64 }).notNull().unique(),
|
|
138
|
+
keyPrefix: pgCore.varchar("key_prefix", { length: 8 }).notNull(),
|
|
139
|
+
permissions: pgCore.jsonb("permissions").$type().default([]),
|
|
140
|
+
lastUsedAt: pgCore.timestamp("last_used_at"),
|
|
141
|
+
expiresAt: pgCore.timestamp("expires_at"),
|
|
142
|
+
createdAt: pgCore.timestamp("created_at").defaultNow().notNull()
|
|
143
|
+
},
|
|
144
|
+
(table) => [
|
|
145
|
+
pgCore.index("api_keys_user_idx").on(table.userId),
|
|
146
|
+
pgCore.index("api_keys_key_idx").on(table.key)
|
|
147
|
+
]
|
|
148
|
+
);
|
|
149
|
+
var emailVerifications = pgCore.pgTable(
|
|
150
|
+
"email_verifications",
|
|
151
|
+
{
|
|
152
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
153
|
+
userId: pgCore.uuid("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
154
|
+
token: pgCore.varchar("token", { length: 64 }).notNull().unique(),
|
|
155
|
+
expiresAt: pgCore.timestamp("expires_at").notNull(),
|
|
156
|
+
createdAt: pgCore.timestamp("created_at").defaultNow().notNull()
|
|
157
|
+
},
|
|
158
|
+
(table) => [
|
|
159
|
+
pgCore.index("email_verifications_token_idx").on(table.token),
|
|
160
|
+
pgCore.index("email_verifications_user_idx").on(table.userId)
|
|
161
|
+
]
|
|
162
|
+
);
|
|
163
|
+
var passwordResets = pgCore.pgTable(
|
|
164
|
+
"password_resets",
|
|
165
|
+
{
|
|
166
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
167
|
+
userId: pgCore.uuid("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
168
|
+
token: pgCore.varchar("token", { length: 64 }).notNull().unique(),
|
|
169
|
+
expiresAt: pgCore.timestamp("expires_at").notNull(),
|
|
170
|
+
usedAt: pgCore.timestamp("used_at"),
|
|
171
|
+
createdAt: pgCore.timestamp("created_at").defaultNow().notNull()
|
|
172
|
+
},
|
|
173
|
+
(table) => [
|
|
174
|
+
pgCore.index("password_resets_token_idx").on(table.token),
|
|
175
|
+
pgCore.index("password_resets_user_idx").on(table.userId)
|
|
176
|
+
]
|
|
177
|
+
);
|
|
178
|
+
var passwordHistory = pgCore.pgTable(
|
|
179
|
+
"password_history",
|
|
180
|
+
{
|
|
181
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
182
|
+
userId: pgCore.uuid("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
183
|
+
passwordHash: pgCore.varchar("password_hash", { length: 255 }).notNull(),
|
|
184
|
+
createdAt: pgCore.timestamp("created_at").defaultNow().notNull()
|
|
185
|
+
},
|
|
186
|
+
(table) => [pgCore.index("password_history_user_idx").on(table.userId)]
|
|
187
|
+
);
|
|
188
|
+
var lockouts = pgCore.pgTable(
|
|
189
|
+
"lockouts",
|
|
190
|
+
{
|
|
191
|
+
id: pgCore.uuid("id").primaryKey().defaultRandom(),
|
|
192
|
+
userId: pgCore.uuid("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
193
|
+
ipAddress: pgCore.varchar("ip_address", { length: 45 }),
|
|
194
|
+
reason: pgCore.varchar("reason", { length: 255 }),
|
|
195
|
+
lockedUntil: pgCore.timestamp("locked_until").notNull(),
|
|
196
|
+
releasedAt: pgCore.timestamp("released_at"),
|
|
197
|
+
createdAt: pgCore.timestamp("created_at").defaultNow().notNull()
|
|
198
|
+
},
|
|
199
|
+
(table) => [
|
|
200
|
+
pgCore.index("lockouts_user_idx").on(table.userId),
|
|
201
|
+
pgCore.index("lockouts_ip_idx").on(table.ipAddress),
|
|
202
|
+
pgCore.index("lockouts_locked_until_idx").on(table.lockedUntil)
|
|
203
|
+
]
|
|
204
|
+
);
|
|
205
|
+
|
|
206
|
+
exports.auth_exports = auth_exports;
|
|
207
|
+
exports.lockouts = lockouts;
|
|
208
|
+
exports.passwordHistory = passwordHistory;
|
|
209
|
+
exports.sessions = sessions;
|
|
210
|
+
exports.users = users;
|
|
211
|
+
//# sourceMappingURL=chunk-5AOILNGY.cjs.map
|
|
212
|
+
//# sourceMappingURL=chunk-5AOILNGY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/database/drizzle/schema/auth.ts"],"names":["__export","pgTable","uuid","varchar","boolean","timestamp","integer","jsonb","uniqueIndex","index","text"],"mappings":"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","file":"chunk-5AOILNGY.cjs","sourcesContent":["import {\n pgTable,\n uuid,\n varchar,\n boolean,\n timestamp,\n integer,\n text,\n jsonb,\n index,\n uniqueIndex,\n} from \"drizzle-orm/pg-core\";\n\nexport const users = pgTable(\n \"users\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n email: varchar(\"email\", { length: 255 }).notNull(),\n passwordHash: varchar(\"password_hash\", { length: 255 }),\n role: varchar(\"role\", { length: 50 }).notNull().default(\"customer\"),\n tenantId: uuid(\"tenant_id\"),\n emailVerified: boolean(\"email_verified\").default(false),\n locked: boolean(\"locked\").default(false),\n lastLogin: timestamp(\"last_login\"),\n failedLoginAttempts: integer(\"failed_login_attempts\").default(0),\n metadata: jsonb(\"metadata\").$type<Record<string, unknown>>(),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\").defaultNow().notNull(),\n },\n (table) => [\n uniqueIndex(\"users_email_idx\").on(table.email),\n index(\"users_tenant_idx\").on(table.tenantId),\n index(\"users_role_idx\").on(table.role),\n ],\n);\n\nexport const roles = pgTable(\n \"roles\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n name: varchar(\"name\", { length: 100 }).notNull().unique(),\n level: integer(\"level\").notNull().default(0),\n inherits: text(\"inherits\").array(),\n description: text(\"description\"),\n permissions: jsonb(\"permissions\").$type<string[]>().default([]),\n isSystem: boolean(\"is_system\").default(false),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\").defaultNow().notNull(),\n },\n (table) => [index(\"roles_level_idx\").on(table.level)],\n);\n\nexport const permissions = pgTable(\n \"permissions\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n roleId: uuid(\"role_id\").references(() => roles.id, { onDelete: \"cascade\" }),\n resource: varchar(\"resource\", { length: 100 }).notNull(),\n action: varchar(\"action\", { length: 50 }).notNull(),\n conditions: jsonb(\"conditions\").$type<Record<string, unknown>>(),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n },\n (table) => [\n index(\"permissions_role_idx\").on(table.roleId),\n index(\"permissions_resource_idx\").on(table.resource),\n ],\n);\n\nexport const sessions = pgTable(\n \"sessions\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n userId: uuid(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n token: varchar(\"token\", { length: 512 }).notNull().unique(),\n refreshToken: varchar(\"refresh_token\", { length: 512 }),\n ipAddress: varchar(\"ip_address\", { length: 45 }),\n userAgent: text(\"user_agent\"),\n expiresAt: timestamp(\"expires_at\").notNull(),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n },\n (table) => [\n index(\"sessions_user_idx\").on(table.userId),\n index(\"sessions_token_idx\").on(table.token),\n index(\"sessions_expires_idx\").on(table.expiresAt),\n ],\n);\n\nexport const auditLogs = pgTable(\n \"audit_logs\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n action: varchar(\"action\", { length: 100 }).notNull(),\n userId: uuid(\"user_id\").references(() => users.id, {\n onDelete: \"set null\",\n }),\n userEmail: varchar(\"user_email\", { length: 255 }),\n role: varchar(\"role\", { length: 50 }),\n resource: varchar(\"resource\", { length: 100 }).notNull(),\n resourceId: uuid(\"resource_id\"),\n changes:\n jsonb(\"changes\").$type<{ field: string; old: unknown; new: unknown }[]>(),\n ipAddress: varchar(\"ip_address\", { length: 45 }),\n userAgent: text(\"user_agent\"),\n success: boolean(\"success\").notNull().default(true),\n error: text(\"error\"),\n metadata: jsonb(\"metadata\").$type<Record<string, unknown>>(),\n timestamp: timestamp(\"timestamp\").defaultNow().notNull(),\n },\n (table) => [\n index(\"audit_logs_user_idx\").on(table.userId),\n index(\"audit_logs_action_idx\").on(table.action),\n index(\"audit_logs_resource_idx\").on(table.resource),\n index(\"audit_logs_timestamp_idx\").on(table.timestamp),\n ],\n);\n\nexport const tenants = pgTable(\n \"tenants\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n name: varchar(\"name\", { length: 255 }).notNull(),\n slug: varchar(\"slug\", { length: 100 }).notNull().unique(),\n settings: jsonb(\"settings\").$type<Record<string, unknown>>().default({}),\n isActive: boolean(\"is_active\").default(true),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\").defaultNow().notNull(),\n },\n (table) => [uniqueIndex(\"tenants_slug_idx\").on(table.slug)],\n);\n\nexport const apiKeys = pgTable(\n \"api_keys\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n userId: uuid(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n name: varchar(\"name\", { length: 255 }).notNull(),\n key: varchar(\"key\", { length: 64 }).notNull().unique(),\n keyPrefix: varchar(\"key_prefix\", { length: 8 }).notNull(),\n permissions: jsonb(\"permissions\").$type<string[]>().default([]),\n lastUsedAt: timestamp(\"last_used_at\"),\n expiresAt: timestamp(\"expires_at\"),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n },\n (table) => [\n index(\"api_keys_user_idx\").on(table.userId),\n index(\"api_keys_key_idx\").on(table.key),\n ],\n);\n\nexport const emailVerifications = pgTable(\n \"email_verifications\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n userId: uuid(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n token: varchar(\"token\", { length: 64 }).notNull().unique(),\n expiresAt: timestamp(\"expires_at\").notNull(),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n },\n (table) => [\n index(\"email_verifications_token_idx\").on(table.token),\n index(\"email_verifications_user_idx\").on(table.userId),\n ],\n);\n\nexport const passwordResets = pgTable(\n \"password_resets\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n userId: uuid(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n token: varchar(\"token\", { length: 64 }).notNull().unique(),\n expiresAt: timestamp(\"expires_at\").notNull(),\n usedAt: timestamp(\"used_at\"),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n },\n (table) => [\n index(\"password_resets_token_idx\").on(table.token),\n index(\"password_resets_user_idx\").on(table.userId),\n ],\n);\n\nexport const passwordHistory = pgTable(\n \"password_history\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n userId: uuid(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n passwordHash: varchar(\"password_hash\", { length: 255 }).notNull(),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n },\n (table) => [index(\"password_history_user_idx\").on(table.userId)],\n);\n\nexport const lockouts = pgTable(\n \"lockouts\",\n {\n id: uuid(\"id\").primaryKey().defaultRandom(),\n userId: uuid(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n ipAddress: varchar(\"ip_address\", { length: 45 }),\n reason: varchar(\"reason\", { length: 255 }),\n lockedUntil: timestamp(\"locked_until\").notNull(),\n releasedAt: timestamp(\"released_at\"),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n },\n (table) => [\n index(\"lockouts_user_idx\").on(table.userId),\n index(\"lockouts_ip_idx\").on(table.ipAddress),\n index(\"lockouts_locked_until_idx\").on(table.lockedUntil),\n ],\n);\n\nexport type AuthUser = typeof users.$inferSelect;\nexport type AuthUserNew = typeof users.$inferInsert;\nexport type AuthRole = typeof roles.$inferSelect;\nexport type AuthRoleNew = typeof roles.$inferInsert;\nexport type AuthSession = typeof sessions.$inferSelect;\nexport type AuthSessionNew = typeof sessions.$inferInsert;\nexport type AuthAuditLog = typeof auditLogs.$inferSelect;\nexport type AuthAuditLogNew = typeof auditLogs.$inferInsert;\nexport type AuthTenant = typeof tenants.$inferSelect;\nexport type AuthTenantNew = typeof tenants.$inferInsert;\nexport type AuthApiKey = typeof apiKeys.$inferSelect;\nexport type AuthApiKeyNew = typeof apiKeys.$inferInsert;\nexport type AuthEmailVerification = typeof emailVerifications.$inferSelect;\nexport type AuthPasswordReset = typeof passwordResets.$inferSelect;\nexport type AuthPasswordHistoryEntry = typeof passwordHistory.$inferSelect;\nexport type AuthLockout = typeof lockouts.$inferSelect;\n"]}
|
|
@@ -264,5 +264,5 @@ function createDrizzleAdapter(options) {
|
|
|
264
264
|
}
|
|
265
265
|
|
|
266
266
|
export { DrizzleAdapter, collectionToDrizzleSchema, createDrizzleAdapter, fieldToDrizzleType };
|
|
267
|
-
//# sourceMappingURL=chunk-
|
|
268
|
-
//# sourceMappingURL=chunk-
|
|
267
|
+
//# sourceMappingURL=chunk-EINVJPFM.js.map
|
|
268
|
+
//# sourceMappingURL=chunk-EINVJPFM.js.map
|