@nymbalhq/platform 0.0.0-stage → 0.2.0

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 (48) hide show
  1. package/dist/chunk-74KODSYJ.js +2564 -0
  2. package/dist/chunk-74KODSYJ.js.map +1 -0
  3. package/dist/chunk-PW6ILJF7.js +740 -0
  4. package/dist/chunk-PW6ILJF7.js.map +1 -0
  5. package/dist/chunk-PZ5AY32C.js +10 -0
  6. package/dist/chunk-PZ5AY32C.js.map +1 -0
  7. package/dist/db/schema/index.d.ts +10125 -0
  8. package/dist/db/schema/index.js +10 -0
  9. package/dist/db/schema/index.js.map +1 -0
  10. package/dist/index.d.ts +1372 -0
  11. package/dist/index.js +6652 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/register-IVFYBJSX.js +8 -0
  14. package/dist/register-IVFYBJSX.js.map +1 -0
  15. package/drizzle.config.postgres.ts +10 -0
  16. package/drizzle.config.sqlite.ts +10 -0
  17. package/migrations/postgres/0000_tearful_longshot.sql +166 -0
  18. package/migrations/postgres/0001_neat_zeigeist.sql +1 -0
  19. package/migrations/postgres/0002_sloppy_mad_thinker.sql +20 -0
  20. package/migrations/postgres/0003_violet_violations.sql +15 -0
  21. package/migrations/postgres/0004_white_reavers.sql +15 -0
  22. package/migrations/postgres/0005_natural_nico_minoru.sql +12 -0
  23. package/migrations/postgres/0006_minor_dragon_man.sql +28 -0
  24. package/migrations/postgres/meta/0000_snapshot.json +1172 -0
  25. package/migrations/postgres/meta/0001_snapshot.json +1187 -0
  26. package/migrations/postgres/meta/0002_snapshot.json +1325 -0
  27. package/migrations/postgres/meta/0003_snapshot.json +1432 -0
  28. package/migrations/postgres/meta/0004_snapshot.json +1439 -0
  29. package/migrations/postgres/meta/0005_snapshot.json +1461 -0
  30. package/migrations/postgres/meta/0006_snapshot.json +1598 -0
  31. package/migrations/postgres/meta/_journal.json +55 -0
  32. package/migrations/sqlite/0000_glorious_vision.sql +166 -0
  33. package/migrations/sqlite/0001_tricky_glorian.sql +1 -0
  34. package/migrations/sqlite/0002_puzzling_epoch.sql +19 -0
  35. package/migrations/sqlite/0003_fantastic_captain_stacy.sql +15 -0
  36. package/migrations/sqlite/0004_remarkable_shriek.sql +12 -0
  37. package/migrations/sqlite/0005_conscious_speedball.sql +13 -0
  38. package/migrations/sqlite/0006_flat_psylocke.sql +28 -0
  39. package/migrations/sqlite/meta/0000_snapshot.json +1093 -0
  40. package/migrations/sqlite/meta/0001_snapshot.json +1100 -0
  41. package/migrations/sqlite/meta/0002_snapshot.json +1222 -0
  42. package/migrations/sqlite/meta/0003_snapshot.json +1320 -0
  43. package/migrations/sqlite/meta/0004_snapshot.json +1328 -0
  44. package/migrations/sqlite/meta/0005_snapshot.json +1343 -0
  45. package/migrations/sqlite/meta/0006_snapshot.json +1470 -0
  46. package/migrations/sqlite/meta/_journal.json +55 -0
  47. package/package.json +69 -3
  48. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/db/schema/sqlite.ts","../src/db/schema/postgres.ts"],"sourcesContent":["import { sql } from 'drizzle-orm'\nimport { sqliteTable, text, integer, uniqueIndex, index, primaryKey } from 'drizzle-orm/sqlite-core'\n\n// --- Categories ------------------------------------------------------------\n\nexport const categories = sqliteTable(\n 'categories',\n {\n id: text('id').primaryKey(),\n parentId: text('parent_id'),\n slug: text('slug').notNull(),\n name: text('name').notNull(),\n description: text('description').notNull().default(''),\n position: integer('position').notNull().default(0),\n createdAt: text('created_at').notNull(),\n },\n (t) => ({\n slugUnique: uniqueIndex('categories_slug_unique').on(t.slug),\n parentIdx: index('categories_parent_idx').on(t.parentId),\n }),\n)\n\n// --- Products --------------------------------------------------------------\n\nexport const products = sqliteTable(\n 'products',\n {\n id: text('id').primaryKey(),\n slug: text('slug').notNull(),\n name: text('name').notNull(),\n description: text('description').notNull().default(''),\n shortDescription: text('short_description').notNull().default(''),\n status: text('status', { enum: ['draft', 'active', 'archived'] })\n .notNull()\n .default('draft'),\n type: text('type', { enum: ['simple', 'variable'] })\n .notNull()\n .default('simple'),\n seoTitle: text('seo_title').notNull().default(''),\n seoDescription: text('seo_description').notNull().default(''),\n media: text('media').notNull().default('[]'),\n metadata: text('metadata').notNull().default('{}'),\n createdAt: text('created_at').notNull(),\n updatedAt: text('updated_at').notNull(),\n },\n (t) => ({\n slugUnique: uniqueIndex('products_slug_unique').on(t.slug),\n statusIdx: index('products_status_idx').on(t.status),\n }),\n)\n\n// --- Variants --------------------------------------------------------------\n\nexport const variants = sqliteTable(\n 'variants',\n {\n id: text('id').primaryKey(),\n productId: text('product_id').notNull(),\n sku: text('sku').notNull(),\n name: text('name').notNull().default(''),\n priceMinor: integer('price_minor').notNull(),\n compareAtPriceMinor: integer('compare_at_price_minor'),\n weightGrams: integer('weight_grams'),\n dimensions: text('dimensions'),\n stock: integer('stock').notNull().default(0),\n lowStockThreshold: integer('low_stock_threshold').notNull().default(0),\n options: text('options').notNull().default('[]'),\n status: text('status', { enum: ['active', 'inactive'] })\n .notNull()\n .default('active'),\n createdAt: text('created_at').notNull(),\n updatedAt: text('updated_at').notNull(),\n },\n (t) => ({\n skuUnique: uniqueIndex('variants_sku_unique').on(t.sku),\n productIdx: index('variants_product_idx').on(t.productId),\n }),\n)\n\n// --- Product ↔ Category join ----------------------------------------------\n\nexport const productCategories = sqliteTable(\n 'product_categories',\n {\n productId: text('product_id').notNull(),\n categoryId: text('category_id').notNull(),\n },\n (t) => ({\n pk: primaryKey({ columns: [t.productId, t.categoryId] }),\n categoryIdx: index('product_categories_category_idx').on(t.categoryId),\n }),\n)\n\n// --- Customers -------------------------------------------------------------\n\nexport const customers = sqliteTable(\n 'customers',\n {\n id: text('id').primaryKey(),\n email: text('email').notNull(),\n passwordHash: text('password_hash').notNull(),\n firstName: text('first_name').notNull().default(''),\n lastName: text('last_name').notNull().default(''),\n phone: text('phone').notNull().default(''),\n addresses: text('addresses').notNull().default('[]'),\n orderCount: integer('order_count').notNull().default(0),\n totalSpentMinor: integer('total_spent_minor').notNull().default(0),\n metadata: text('metadata').notNull().default('{}'),\n roles: text('roles').notNull().default('[\"customer\"]'),\n requiresPasswordReset: integer('requires_password_reset', { mode: 'boolean' })\n .notNull()\n .default(false),\n createdAt: text('created_at').notNull(),\n updatedAt: text('updated_at').notNull(),\n },\n (t) => ({\n emailUnique: uniqueIndex('customers_email_unique').on(t.email),\n }),\n)\n\n// --- Refresh tokens --------------------------------------------------------\n\nexport const refreshTokens = sqliteTable(\n 'refresh_tokens',\n {\n id: text('id').primaryKey(),\n customerId: text('customer_id').notNull(),\n tokenHash: text('token_hash').notNull(),\n revokedAt: text('revoked_at'),\n replacedByJti: text('replaced_by_jti'),\n expiresAt: text('expires_at').notNull(),\n createdAt: text('created_at').notNull(),\n },\n (t) => ({\n customerIdx: index('refresh_tokens_customer_idx').on(t.customerId),\n }),\n)\n\n// --- Orders ----------------------------------------------------------------\n\nexport const orders = sqliteTable(\n 'orders',\n {\n id: text('id').primaryKey(),\n orderNumber: text('order_number').notNull(),\n sequence: integer('sequence').notNull(),\n customerId: text('customer_id'),\n status: text('status', {\n enum: [\n 'pending',\n 'confirmed',\n 'processing',\n 'shipped',\n 'delivered',\n 'cancelled',\n 'refunded',\n 'partially_refunded',\n ],\n })\n .notNull()\n .default('pending'),\n email: text('email').notNull(),\n billingAddress: text('billing_address').notNull(),\n shippingAddress: text('shipping_address').notNull(),\n lineItems: text('line_items').notNull(),\n subtotalMinor: integer('subtotal_minor').notNull(),\n taxTotalMinor: integer('tax_total_minor').notNull().default(0),\n shippingTotalMinor: integer('shipping_total_minor').notNull().default(0),\n discountTotalMinor: integer('discount_total_minor').notNull().default(0),\n totalMinor: integer('total_minor').notNull(),\n currency: text('currency').notNull(),\n notes: text('notes').notNull().default(''),\n metadata: text('metadata').notNull().default('{}'),\n paymentIntentId: text('payment_intent_id'),\n /** The cart the order was placed from; null for imported orders. */\n cartToken: text('cart_token'),\n capturedMinor: integer('captured_minor').notNull().default(0),\n capturedAt: text('captured_at'),\n /** Σ of the succeeded `order_refunds`, written in the transaction that settles each. */\n refundedMinor: integer('refunded_minor').notNull().default(0),\n captureMethod: text('capture_method', { enum: ['provider', 'manual', 'import'] }),\n createdAt: text('created_at').notNull(),\n updatedAt: text('updated_at').notNull(),\n },\n (t) => ({\n numberUnique: uniqueIndex('orders_number_unique').on(t.orderNumber),\n sequenceUnique: uniqueIndex('orders_sequence_unique').on(t.sequence),\n customerIdx: index('orders_customer_idx').on(t.customerId),\n statusIdx: index('orders_status_idx').on(t.status),\n paymentIntentIdx: index('orders_payment_intent_idx').on(t.paymentIntentId),\n // One pending order per cart, whatever the checkout's lock does.\n pendingCartUnique: uniqueIndex('orders_pending_cart_unique')\n .on(t.cartToken)\n .where(sql`status = 'pending'`),\n }),\n)\n\nexport const orderHistory = sqliteTable(\n 'order_history',\n {\n id: text('id').primaryKey(),\n orderId: text('order_id').notNull(),\n fromStatus: text('from_status'),\n toStatus: text('to_status').notNull(),\n actor: text('actor').notNull(),\n note: text('note').notNull().default(''),\n timestamp: text('timestamp').notNull(),\n },\n (t) => ({\n orderIdx: index('order_history_order_idx').on(t.orderId),\n }),\n)\n\nexport const orderRefunds = sqliteTable(\n 'order_refunds',\n {\n id: text('id').primaryKey(),\n orderId: text('order_id').notNull(),\n amountMinor: integer('amount_minor').notNull(),\n currency: text('currency').notNull(),\n providerRefundId: text('provider_refund_id'),\n status: text('status', { enum: ['pending', 'succeeded', 'failed'] })\n .notNull()\n .default('pending'),\n reason: text('reason'),\n actor: text('actor').notNull(),\n createdAt: text('created_at').notNull(),\n /** The client's key for one refund request: a repeat of it on the order answers the refund it made. */\n requestId: text('request_id'),\n },\n (t) => ({\n orderIdx: index('order_refunds_order_idx').on(t.orderId),\n requestIdx: uniqueIndex('order_refunds_order_request_idx').on(t.orderId, t.requestId),\n }),\n)\n\nexport const orderSequences = sqliteTable('order_sequences', {\n id: integer('id').primaryKey(),\n nextValue: integer('next_value').notNull(),\n})\n\n// --- Inventory -------------------------------------------------------------\n\nexport const inventoryReservations = sqliteTable(\n 'inventory_reservations',\n {\n reservationId: text('reservation_id').primaryKey(),\n variantId: text('variant_id').notNull(),\n qty: integer('qty').notNull(),\n orderRef: text('order_ref'),\n expiresAt: text('expires_at').notNull(),\n createdAt: text('created_at').notNull(),\n },\n (t) => ({\n variantIdx: index('inv_reservations_variant_idx').on(t.variantId),\n expiresIdx: index('inv_reservations_expires_idx').on(t.expiresAt),\n }),\n)\n\nexport const stockAdjustments = sqliteTable(\n 'stock_adjustments',\n {\n id: text('id').primaryKey(),\n variantId: text('variant_id').notNull(),\n adjustment: integer('adjustment').notNull(),\n reason: text('reason', {\n enum: ['sale', 'return', 'manual', 'import', 'reservation-commit', 'reservation-release'],\n }).notNull(),\n actor: text('actor').notNull(),\n previousQty: integer('previous_qty').notNull(),\n newQty: integer('new_qty').notNull(),\n timestamp: text('timestamp').notNull(),\n },\n (t) => ({\n variantIdx: index('stock_adjustments_variant_idx').on(t.variantId),\n }),\n)\n\n// --- Reviews ---------------------------------------------------------------\n\nexport const reviews = sqliteTable(\n 'reviews',\n {\n id: text('id').primaryKey(),\n productId: text('product_id').notNull(),\n customerId: text('customer_id'),\n orderId: text('order_id'),\n rating: integer('rating').notNull(),\n title: text('title').notNull().default(''),\n body: text('body').notNull().default(''),\n moderationStatus: text('moderation_status', {\n enum: ['pending', 'approved', 'rejected'],\n })\n .notNull()\n .default('pending'),\n submittedAt: text('submitted_at').notNull(),\n moderatedAt: text('moderated_at'),\n moderatedBy: text('moderated_by'),\n },\n (t) => ({\n productIdx: index('reviews_product_idx').on(t.productId),\n statusIdx: index('reviews_status_idx').on(t.moderationStatus),\n }),\n)\n\n// --- Carts -----------------------------------------------------------------\n\nexport const carts = sqliteTable(\n 'carts',\n {\n token: text('token').primaryKey(),\n customerId: text('customer_id'),\n currency: text('currency').notNull(),\n items: text('items').notNull().default('[]'),\n lineCount: integer('line_count').notNull().default(0),\n subtotalMinor: integer('subtotal_minor').notNull().default(0),\n expiresAt: text('expires_at').notNull(),\n createdAt: text('created_at').notNull(),\n updatedAt: text('updated_at').notNull(),\n /** Set by the abandonment sweeper's claim; every cart write clears it, starting a new inactivity period. */\n abandonedNotifiedAt: text('abandoned_notified_at'),\n },\n (t) => ({\n expiresIdx: index('carts_expires_idx').on(t.expiresAt),\n updatedIdx: index('carts_updated_idx').on(t.updatedAt),\n }),\n)\n\n// --- Event log (outbox) and handler idempotency ----------------------------\n\nexport const events = sqliteTable(\n 'events',\n {\n seq: integer('seq').primaryKey({ autoIncrement: true }),\n id: text('id').notNull(),\n type: text('type').notNull(),\n envelope: text('envelope').notNull(),\n createdAt: text('created_at').notNull(),\n deliveredAt: text('delivered_at'),\n attempts: integer('attempts').notNull().default(0),\n deadAt: text('dead_at'),\n },\n (t) => ({\n idUnique: uniqueIndex('events_id_unique').on(t.id),\n undeliveredIdx: index('events_undelivered_idx').on(t.deliveredAt, t.seq),\n }),\n)\n\nexport const processedEvents = sqliteTable(\n 'processed_events',\n {\n handlerName: text('handler_name').notNull(),\n eventId: text('event_id').notNull(),\n processedAt: text('processed_at').notNull(),\n },\n (t) => ({\n pk: primaryKey({ columns: [t.handlerName, t.eventId] }),\n }),\n)\n\nexport const schema = {\n categories,\n products,\n variants,\n productCategories,\n customers,\n refreshTokens,\n orders,\n orderHistory,\n orderSequences,\n inventoryReservations,\n stockAdjustments,\n reviews,\n carts,\n events,\n processedEvents,\n}\n","import { sql } from 'drizzle-orm'\nimport {\n pgTable,\n bigserial,\n text,\n integer,\n timestamp,\n jsonb,\n boolean,\n uniqueIndex,\n index,\n primaryKey,\n} from 'drizzle-orm/pg-core'\n\n// --- Categories ------------------------------------------------------------\n\nexport const categories = pgTable(\n 'categories',\n {\n id: text('id').primaryKey(),\n parentId: text('parent_id'),\n slug: text('slug').notNull(),\n name: text('name').notNull(),\n description: text('description').notNull().default(''),\n position: integer('position').notNull().default(0),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull(),\n },\n (t) => ({\n slugUnique: uniqueIndex('categories_slug_unique').on(t.slug),\n parentIdx: index('categories_parent_idx').on(t.parentId),\n }),\n)\n\n// --- Products --------------------------------------------------------------\n\nexport const products = pgTable(\n 'products',\n {\n id: text('id').primaryKey(),\n slug: text('slug').notNull(),\n name: text('name').notNull(),\n description: text('description').notNull().default(''),\n shortDescription: text('short_description').notNull().default(''),\n status: text('status', { enum: ['draft', 'active', 'archived'] })\n .notNull()\n .default('draft'),\n type: text('type', { enum: ['simple', 'variable'] })\n .notNull()\n .default('simple'),\n seoTitle: text('seo_title').notNull().default(''),\n seoDescription: text('seo_description').notNull().default(''),\n media: jsonb('media').notNull().default([]),\n metadata: jsonb('metadata').notNull().default({}),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull(),\n updatedAt: timestamp('updated_at', { withTimezone: true }).notNull(),\n },\n (t) => ({\n slugUnique: uniqueIndex('products_slug_unique').on(t.slug),\n statusIdx: index('products_status_idx').on(t.status),\n }),\n)\n\n// --- Variants --------------------------------------------------------------\n\nexport const variants = pgTable(\n 'variants',\n {\n id: text('id').primaryKey(),\n productId: text('product_id').notNull(),\n sku: text('sku').notNull(),\n name: text('name').notNull().default(''),\n priceMinor: integer('price_minor').notNull(),\n compareAtPriceMinor: integer('compare_at_price_minor'),\n weightGrams: integer('weight_grams'),\n dimensions: jsonb('dimensions'),\n stock: integer('stock').notNull().default(0),\n lowStockThreshold: integer('low_stock_threshold').notNull().default(0),\n options: jsonb('options').notNull().default([]),\n status: text('status', { enum: ['active', 'inactive'] })\n .notNull()\n .default('active'),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull(),\n updatedAt: timestamp('updated_at', { withTimezone: true }).notNull(),\n },\n (t) => ({\n skuUnique: uniqueIndex('variants_sku_unique').on(t.sku),\n productIdx: index('variants_product_idx').on(t.productId),\n }),\n)\n\n// --- Product ↔ Category join ----------------------------------------------\n\nexport const productCategories = pgTable(\n 'product_categories',\n {\n productId: text('product_id').notNull(),\n categoryId: text('category_id').notNull(),\n },\n (t) => ({\n pk: primaryKey({ columns: [t.productId, t.categoryId] }),\n categoryIdx: index('product_categories_category_idx').on(t.categoryId),\n }),\n)\n\n// --- Customers -------------------------------------------------------------\n\nexport const customers = pgTable(\n 'customers',\n {\n id: text('id').primaryKey(),\n email: text('email').notNull(),\n passwordHash: text('password_hash').notNull(),\n firstName: text('first_name').notNull().default(''),\n lastName: text('last_name').notNull().default(''),\n phone: text('phone').notNull().default(''),\n addresses: jsonb('addresses').notNull().default([]),\n orderCount: integer('order_count').notNull().default(0),\n totalSpentMinor: integer('total_spent_minor').notNull().default(0),\n metadata: jsonb('metadata').notNull().default({}),\n roles: jsonb('roles').notNull().default(['customer']),\n requiresPasswordReset: boolean('requires_password_reset').notNull().default(false),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull(),\n updatedAt: timestamp('updated_at', { withTimezone: true }).notNull(),\n },\n (t) => ({\n emailUnique: uniqueIndex('customers_email_unique').on(t.email),\n }),\n)\n\n// --- Refresh tokens --------------------------------------------------------\n\nexport const refreshTokens = pgTable(\n 'refresh_tokens',\n {\n id: text('id').primaryKey(),\n customerId: text('customer_id').notNull(),\n tokenHash: text('token_hash').notNull(),\n revokedAt: timestamp('revoked_at', { withTimezone: true }),\n replacedByJti: text('replaced_by_jti'),\n expiresAt: timestamp('expires_at', { withTimezone: true }).notNull(),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull(),\n },\n (t) => ({\n customerIdx: index('refresh_tokens_customer_idx').on(t.customerId),\n }),\n)\n\n// --- Orders ----------------------------------------------------------------\n\nexport const orders = pgTable(\n 'orders',\n {\n id: text('id').primaryKey(),\n orderNumber: text('order_number').notNull(),\n sequence: integer('sequence').notNull(),\n customerId: text('customer_id'),\n status: text('status', {\n enum: [\n 'pending',\n 'confirmed',\n 'processing',\n 'shipped',\n 'delivered',\n 'cancelled',\n 'refunded',\n 'partially_refunded',\n ],\n })\n .notNull()\n .default('pending'),\n email: text('email').notNull(),\n billingAddress: jsonb('billing_address').notNull(),\n shippingAddress: jsonb('shipping_address').notNull(),\n lineItems: jsonb('line_items').notNull(),\n subtotalMinor: integer('subtotal_minor').notNull(),\n taxTotalMinor: integer('tax_total_minor').notNull().default(0),\n shippingTotalMinor: integer('shipping_total_minor').notNull().default(0),\n discountTotalMinor: integer('discount_total_minor').notNull().default(0),\n totalMinor: integer('total_minor').notNull(),\n currency: text('currency').notNull(),\n notes: text('notes').notNull().default(''),\n metadata: jsonb('metadata').notNull().default({}),\n paymentIntentId: text('payment_intent_id'),\n /** The cart the order was placed from; null for imported orders. */\n cartToken: text('cart_token'),\n capturedMinor: integer('captured_minor').notNull().default(0),\n capturedAt: timestamp('captured_at', { withTimezone: true }),\n /** Σ of the succeeded `order_refunds`, written in the transaction that settles each. */\n refundedMinor: integer('refunded_minor').notNull().default(0),\n captureMethod: text('capture_method', { enum: ['provider', 'manual', 'import'] }),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull(),\n updatedAt: timestamp('updated_at', { withTimezone: true }).notNull(),\n },\n (t) => ({\n numberUnique: uniqueIndex('orders_number_unique').on(t.orderNumber),\n sequenceUnique: uniqueIndex('orders_sequence_unique').on(t.sequence),\n customerIdx: index('orders_customer_idx').on(t.customerId),\n statusIdx: index('orders_status_idx').on(t.status),\n paymentIntentIdx: index('orders_payment_intent_idx').on(t.paymentIntentId),\n // One pending order per cart, whatever the checkout's lock does.\n pendingCartUnique: uniqueIndex('orders_pending_cart_unique')\n .on(t.cartToken)\n .where(sql`status = 'pending'`),\n }),\n)\n\nexport const orderHistory = pgTable(\n 'order_history',\n {\n id: text('id').primaryKey(),\n orderId: text('order_id').notNull(),\n fromStatus: text('from_status'),\n toStatus: text('to_status').notNull(),\n actor: text('actor').notNull(),\n note: text('note').notNull().default(''),\n timestamp: timestamp('timestamp', { withTimezone: true }).notNull(),\n },\n (t) => ({\n orderIdx: index('order_history_order_idx').on(t.orderId),\n }),\n)\n\nexport const orderRefunds = pgTable(\n 'order_refunds',\n {\n id: text('id').primaryKey(),\n orderId: text('order_id').notNull(),\n amountMinor: integer('amount_minor').notNull(),\n currency: text('currency').notNull(),\n providerRefundId: text('provider_refund_id'),\n status: text('status', { enum: ['pending', 'succeeded', 'failed'] })\n .notNull()\n .default('pending'),\n reason: text('reason'),\n actor: text('actor').notNull(),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull(),\n /** The client's key for one refund request: a repeat of it on the order answers the refund it made. */\n requestId: text('request_id'),\n },\n (t) => ({\n orderIdx: index('order_refunds_order_idx').on(t.orderId),\n requestIdx: uniqueIndex('order_refunds_order_request_idx').on(t.orderId, t.requestId),\n }),\n)\n\nexport const orderSequences = pgTable('order_sequences', {\n id: integer('id').primaryKey(),\n nextValue: integer('next_value').notNull(),\n})\n\n// --- Inventory -------------------------------------------------------------\n\nexport const inventoryReservations = pgTable(\n 'inventory_reservations',\n {\n reservationId: text('reservation_id').primaryKey(),\n variantId: text('variant_id').notNull(),\n qty: integer('qty').notNull(),\n orderRef: text('order_ref'),\n expiresAt: timestamp('expires_at', { withTimezone: true }).notNull(),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull(),\n },\n (t) => ({\n variantIdx: index('inv_reservations_variant_idx').on(t.variantId),\n expiresIdx: index('inv_reservations_expires_idx').on(t.expiresAt),\n }),\n)\n\nexport const stockAdjustments = pgTable(\n 'stock_adjustments',\n {\n id: text('id').primaryKey(),\n variantId: text('variant_id').notNull(),\n adjustment: integer('adjustment').notNull(),\n reason: text('reason', {\n enum: ['sale', 'return', 'manual', 'import', 'reservation-commit', 'reservation-release'],\n }).notNull(),\n actor: text('actor').notNull(),\n previousQty: integer('previous_qty').notNull(),\n newQty: integer('new_qty').notNull(),\n timestamp: timestamp('timestamp', { withTimezone: true }).notNull(),\n },\n (t) => ({\n variantIdx: index('stock_adjustments_variant_idx').on(t.variantId),\n }),\n)\n\n// --- Reviews ---------------------------------------------------------------\n\nexport const reviews = pgTable(\n 'reviews',\n {\n id: text('id').primaryKey(),\n productId: text('product_id').notNull(),\n customerId: text('customer_id'),\n orderId: text('order_id'),\n rating: integer('rating').notNull(),\n title: text('title').notNull().default(''),\n body: text('body').notNull().default(''),\n moderationStatus: text('moderation_status', {\n enum: ['pending', 'approved', 'rejected'],\n })\n .notNull()\n .default('pending'),\n submittedAt: timestamp('submitted_at', { withTimezone: true }).notNull(),\n moderatedAt: timestamp('moderated_at', { withTimezone: true }),\n moderatedBy: text('moderated_by'),\n },\n (t) => ({\n productIdx: index('reviews_product_idx').on(t.productId),\n statusIdx: index('reviews_status_idx').on(t.moderationStatus),\n }),\n)\n\n// --- Carts -----------------------------------------------------------------\n\nexport const carts = pgTable(\n 'carts',\n {\n token: text('token').primaryKey(),\n customerId: text('customer_id'),\n currency: text('currency').notNull(),\n items: jsonb('items').notNull().default([]),\n lineCount: integer('line_count').notNull().default(0),\n subtotalMinor: integer('subtotal_minor').notNull().default(0),\n expiresAt: timestamp('expires_at', { withTimezone: true }).notNull(),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull(),\n updatedAt: timestamp('updated_at', { withTimezone: true }).notNull(),\n /** Set by the abandonment sweeper's claim; every cart write clears it, starting a new inactivity period. */\n abandonedNotifiedAt: timestamp('abandoned_notified_at', { withTimezone: true }),\n },\n (t) => ({\n expiresIdx: index('carts_expires_idx').on(t.expiresAt),\n updatedIdx: index('carts_updated_idx').on(t.updatedAt),\n }),\n)\n\n// --- Event log (outbox) and handler idempotency ----------------------------\n\nexport const events = pgTable(\n 'events',\n {\n seq: bigserial('seq', { mode: 'number' }).primaryKey(),\n id: text('id').notNull(),\n type: text('type').notNull(),\n envelope: jsonb('envelope').notNull(),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull(),\n deliveredAt: timestamp('delivered_at', { withTimezone: true }),\n attempts: integer('attempts').notNull().default(0),\n deadAt: timestamp('dead_at', { withTimezone: true }),\n },\n (t) => ({\n idUnique: uniqueIndex('events_id_unique').on(t.id),\n undeliveredIdx: index('events_undelivered_idx').on(t.deliveredAt, t.seq),\n }),\n)\n\nexport const processedEvents = pgTable(\n 'processed_events',\n {\n handlerName: text('handler_name').notNull(),\n eventId: text('event_id').notNull(),\n processedAt: timestamp('processed_at', { withTimezone: true }).notNull(),\n },\n (t) => ({\n pk: primaryKey({ columns: [t.handlerName, t.eventId] }),\n }),\n)\n\nexport const schema = {\n categories,\n products,\n variants,\n productCategories,\n customers,\n refreshTokens,\n orders,\n orderHistory,\n orderSequences,\n inventoryReservations,\n stockAdjustments,\n reviews,\n carts,\n events,\n processedEvents,\n}\n"],"mappings":"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","names":["carts","categories","customers","events","inventoryReservations","orderHistory","orderRefunds","orderSequences","orders","processedEvents","productCategories","products","refreshTokens","reviews","schema","stockAdjustments","variants","sql","text","integer","uniqueIndex","index","primaryKey"]}
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-PZ5AY32C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}