1const a=Symbol.for("drizzle:entityKind");function h(t,e){if(!t||typeof t!="object")return!1;if(t instanceof e)return!0;if(!Object.prototype.hasOwnProperty.call(e,a))throw new Error(`Class "${e.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(t).constructor;if(r)for(;r;){if(a in r&&r[a]===e[a])return!0;r=Object.getPrototypeOf(r)}return!1}class V{constructor(e,r){this.table=e,this.config=r,this.name=r.name,this.keyAsName=r.keyAsName,this.notNull=r.notNull,this.default=r.default,this.defaultFn=r.defaultFn,this.onUpdateFn=r.onUpdateFn,this.hasDefault=r.hasDefault,this.primary=r.primaryKey,this.isUnique=r.isUnique,this.uniqueName=r.uniqueName,this.uniqueType=r.uniqueType,this.dataType=r.dataType,this.columnType=r.columnType,this.generated=r.generated,this.generatedIdentity=r.generatedIdentity}static[a]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class Z{static[a]="ColumnBuilder";config;constructor(e,r,n){this.config={name:e,keyAsName:e==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:r,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){this.config.name===""&&(this.config.name=e)}}const I=Symbol.for("drizzle:Name"),O=Symbol.for("drizzle:isPgEnum");function k(t){return!!t&&typeof t=="function"&&O in t&&t[O]===!0}class R{static[a]="Subquery";constructor(e,r,n,m=!1,u=[]){this._={brand:"Subquery",sql:e,selectedFields:r,alias:n,isWith:m,usedTables:u}}}const ee={startActiveSpan(t,e){return e()}},w=Symbol.for("drizzle:ViewBaseConfig"),q=Symbol.for("drizzle:Schema"),E=Symbol.for("drizzle:Columns"),$=Symbol.for("drizzle:ExtraConfigColumns"),C=Symbol.for("drizzle:OriginalName"),v=Symbol.for("drizzle:BaseName"),A=Symbol.for("drizzle:IsAlias"),j=Symbol.for("drizzle:ExtraConfigBuilder"),te=Symbol.for("drizzle:IsDrizzleTable");class y{static[a]="Table";static Symbol={Name:I,Schema:q,OriginalName:C,Columns:E,ExtraConfigColumns:$,BaseName:v,IsAlias:A,ExtraConfigBuilder:j};[I];[C];[q];[E];[$];[v];[A]=!1;[te]=!0;[j]=void 0;constructor(e,r,n){this[I]=this[C]=e,this[q]=r,this[v]=n}}function re(t){return t!=null&&typeof t.getSQL=="function"}function ie(t){const e={sql:"",params:[]};for(const r of t)e.sql+=r.sql,e.params.push(...r.params),r.typings?.length&&(e.typings||(e.typings=[]),e.typings.push(...r.typings));return e}class N{static[a]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new p([this])}}class p{constructor(e){this.queryChunks=e;for(const r of e)if(h(r,y)){const n=r[y.Symbol.Schema];this.usedTables.push(n===void 0?r[y.Symbol.Name]:n+"."+r[y.Symbol.Name])}}static[a]="SQL";decoder=M;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return ee.startActiveSpan("drizzle.buildSQL",r=>{const n=this.buildQueryFromSourceParams(this.queryChunks,e);return r?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(e,r){const n=Object.assign({},r,{inlineParams:r.inlineParams||this.shouldInlineParams,paramStartIndex:r.paramStartIndex||{value:0}}),{casing:m,escapeName:u,escapeParam:_,prepareTyping:g,inlineParams:c,paramStartIndex:S}=n;return ie(e.map(o=>{if(h(o,N))return{sql:o.value.join(""),params:[]};if(h(o,z))return{sql:u(o.value),params:[]};if(o===void 0)return{sql:"",params:[]};if(Array.isArray(o)){const l=[new N("(")];for(const[f,Y]of o.entries())l.push(Y),f<o.length-1&&l.push(new N(", "));return l.push(new N(")")),this.buildQueryFromSourceParams(l,n)}if(h(o,p))return this.buildQueryFromSourceParams(o.queryChunks,{...n,inlineParams:c||o.shouldInlineParams});if(h(o,y)){const l=o[y.Symbol.Schema],f=o[y.Symbol.Name];return{sql:l===void 0||o[A]?u(f):u(l)+"."+u(f),params:[]}}if(h(o,V)){const l=m.getColumnCasing(o);if(r.invokeSource==="indexes")return{sql:u(l),params:[]};const f=o.table[y.Symbol.Schema];return{sql:o.table[A]||f===void 0?u(o.table[y.Symbol.Name])+"."+u(l):u(f)+"."+u(o.table[y.Symbol.Name])+"."+u(l),params:[]}}if(h(o,se)){const l=o[w].schema,f=o[w].name;return{sql:l===void 0||o[w].isAlias?u(f):u(l)+"."+u(f),params:[]}}if(h(o,G)){if(h(o.value,P))return{sql:_(S.value++,o),params:[o],typings:["none"]};const l=o.value===null?null:o.encoder.mapToDriverValue(o.value);if(h(l,p))return this.buildQueryFromSourceParams([l],n);if(c)return{sql:this.mapInlineParam(l,n),params:[]};let f=["none"];return g&&(f=[g(o.encoder)]),{sql:_(S.value++,l),params:[l],typings:f}}return h(o,P)?{sql:_(S.value++,o),params:[o],typings:["none"]}:h(o,p.Aliased)&&o.fieldAlias!==void 0?{sql:u(o.fieldAlias),params:[]}:h(o,R)?o._.isWith?{sql:u(o._.alias),params:[]}:this.buildQueryFromSourceParams([new N("("),o._.sql,new N(") "),new z(o._.alias)],n):k(o)?o.schema?{sql:u(o.schema)+"."+u(o.enumName),params:[]}:{sql:u(o.enumName),params:[]}:re(o)?o.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([o.getSQL()],n):this.buildQueryFromSourceParams([new N("("),o.getSQL(),new N(")")],n):c?{sql:this.mapInlineParam(o,n),params:[]}:{sql:_(S.value++,o),params:[o],typings:["none"]}}))}mapInlineParam(e,{escapeString:r}){if(e===null)return"null";if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="string")return r(e);if(typeof e=="object"){const n=e.toString();return r(n==="[object Object]"?JSON.stringify(e):n)}throw new Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return e===void 0?this:new p.Aliased(this,e)}mapWith(e){return this.decoder=typeof e=="function"?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class z{constructor(e){this.value=e}static[a]="Name";brand;getSQL(){return new p([this])}}const M={mapFromDriverValue:t=>t},W={mapToDriverValue:t=>t};({...M,...W});class G{constructor(e,r=W){this.value=e,this.encoder=r}static[a]="Param";brand;getSQL(){return new p([this])}}function L(t,...e){const r=[];(e.length>0||t.length>0&&t[0]!=="")&&r.push(new N(t[0]));for(const[n,m]of e.entries())r.push(m,new N(t[n+1]));return new p(r)}(t=>{function e(){return new p([])}t.empty=e;function r(c){return new p(c)}t.fromList=r;function n(c){return new p([new N(c)])}t.raw=n;function m(c,S){const o=[];for(const[l,f]of c.entries())l>0&&S!==void 0&&o.push(S),o.push(f);return new p(o)}t.join=m;function u(c){return new z(c)}t.identifier=u;function _(c){return new P(c)}t.placeholder=_;function g(c,S){return new G(c,S)}t.param=g})(L||(L={}));(t=>{class e{constructor(n,m){this.sql=n,this.fieldAlias=m}static[a]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new e(this.sql,this.fieldAlias)}}t.Aliased=e})(p||(p={}));class P{constructor(e){this.name=e}static[a]="Placeholder";getSQL(){return new p([this])}}const ne=Symbol.for("drizzle:IsDrizzleView");class se{static[a]="View";[w];[ne]=!0;
1constructor({name:e,schema:r,selectedFields:n,query:m}){this[w]={name:e,originalName:e,schema:r,selectedFields:n,query:m,isExisting:!m,isAlias:!1}}getSQL(){return new p([this])}}V.prototype.getSQL=function(){return new p([this])};y.prototype.getSQL=function(){return new p([this])};R.prototype.getSQL=function(){return new p([this])};function D(t,e){return{name:typeof t=="string"&&t.length>0?t:"",config:typeof t=="object"?t:e}}const H=typeof TextDecoder>"u"?null:new TextDecoder;class oe{static[a]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(e,r){this.reference=()=>{const{name:n,columns:m,foreignColumns:u}=e();return{name:n,columns:m,foreignTable:u[0].table,foreignColumns:u}},r&&(this._onUpdate=r.onUpdate,this._onDelete=r.onDelete)}onUpdate(e){return this._onUpdate=e,this}onDelete(e){return this._onDelete=e,this}build(e){return new ae(e,this)}}class ae{constructor(e,r){this.table=e,this.reference=r.reference,this.onUpdate=r._onUpdate,this.onDelete=r._onDelete}static[a]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){const{name:e,columns:r,foreignColumns:n}=this.reference(),m=r.map(g=>g.name),u=n.map(g=>g.name),_=[this.table[I],...m,n[0].table[I],...u];return e??`${_.join("_")}_fk`}}function ue(t,e){return`${t[I]}_${e.join("_")}_unique`}class b extends Z{static[a]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(e,r={}){return this.foreignKeyConfigs.push({ref:e,actions:r}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,r){return this.config.generated={as:e,type:"always",mode:r?.mode??"virtual"},this}buildForeignKeys(e,r){return this.foreignKeyConfigs.map(({ref:n,actions:m})=>((u,_)=>{const g=new oe(()=>{const c=u();return{columns:[e],foreignColumns:[c]}});return _.onUpdate&&g.onUpdate(_.onUpdate),_.onDelete&&g.onDelete(_.onDelete),g.build(r)})(n,m))}}class x extends V{constructor(e,r){r.uniqueName||(r.uniqueName=ue(e,[r.name])),super(e,r),this.table=e}static[a]="SQLiteColumn"}class le extends b{static[a]="SQLiteBigIntBuilder";constructor(e){super(e,"bigint","SQLiteBigInt")}build(e){return new de(e,this.config)}}class de extends x{static[a]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){const r=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return BigInt(r.toString("utf8"))}return BigInt(H.decode(e))}mapToDriverValue(e){return Buffer.from(e.toString())}}class me extends b{static[a]="SQLiteBlobJsonBuilder";constructor(e){super(e,"json","SQLiteBlobJson")}build(e){return new ce(e,this.config)}}class ce extends x{static[a]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){const r=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return JSON.parse(r.toString("utf8"))}return JSON.parse(H.decode(e))}mapToDriverValue(e){return Buffer.from(JSON.stringify(e))}}class pe extends b{static[a]="SQLiteBlobBufferBuilder";constructor(e){super(e,"buffer","SQLiteBlobBuffer")}build(e){return new fe(e,this.config)}}class fe extends x{static[a]="SQLiteBlobBuffer";mapFromDriverValue(e){return Buffer.isBuffer(e)?e:Buffer.from(e)}getSQLType(){return"blob"}}function ye(t,e){const{name:r,config:n}=D(t,e);return n?.mode==="json"?new me(r):n?.mode==="bigint"?new le(r):new pe(r)}class ge extends b{static[a]="SQLiteCustomColumnBuilder";constructor(e,r,n){super(e,"custom","SQLiteCustomColumn"),this.config.fieldConfig=r,this.config.customTypeParams=n}build(e){return new _e(e,this.config)}}class _e extends x{static[a]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(e,r){super(e,r),this.sqlName=r.customTypeParams.dataType(r.fieldConfig),this.mapTo=r.customTypeParams.toDriver,this.mapFrom=r.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom=="function"?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo=="function"?this.mapTo(e):e}}function he(t){return(e,r)=>{const{name:n,config:m}=D(e,r);return new ge(n,m,t)}}class K extends b{static[a]="SQLiteBaseIntegerBuilder";constructor(e,r,n){super(e,r,n),this.config.autoIncrement=!1}primaryKey(e){return e?.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}class U extends x{static[a]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class Se extends K{static[a]="SQLiteIntegerBuilder";constructor(e){super(e,"number","SQLiteInteger")}build(e){return new Ne(e,this.config)}}class Ne extends U{static[a]="SQLiteInteger"}class be extends K{static[a]="SQLiteTimestampBuilder";constructor(e,r){super(e,"date","SQLiteTimestamp"),this.config.mode=r}defaultNow(){return this.default(L`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(e){return new xe(e,this.config)}}class xe extends U{static[a]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(e){return this.config.mode==="timestamp"?new Date(e*1e3):new Date(e)}mapToDriverValue(e){const r=e.getTime();return this.config.mode==="timestamp"?Math.floor(r/1e3):r}}class Qe extends K{static[a]="SQLiteBooleanBuilder";constructor(e,r){super(e,"boolean","SQLiteBoolean"),this.config.mode=r}build(e){return new Le(e,this.config)}}class Le extends U{static[a]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(e){return Number(e)===1}mapToDriverValue(e){return e?1:0}}function s(t,e){const{name:r,config:n}=D(t,e);return n?.mode==="timestamp"||n?.mode==="timestamp_ms"?new be(r,n.mode):n?.mode==="boolean"?new Qe(r,n.mode):new Se(r)}class Be extends b{static[a]="SQLiteNumericBuilder";constructor(e){super(e,"string","SQLiteNumeric")}build(e){return new Ie(e,this.config)}}class Ie extends x{static[a]="SQLiteNumeric";mapFromDriverValue(e){return typeof e=="string"?e:String(e)}getSQLType(){return"numeric"}}class we extends b{static[a]="SQLiteNumericNumberBuilder";constructor(e){super(e,"number","SQLiteNumericNumber")}build(e){return new Te(e,this.config)}}class Te extends x{static[a]="SQLiteNumericNumber";mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}mapToDriverValue=String;getSQLType(){return"numeric"}}class De extends b{static[a]="SQLiteNumericBigIntBuilder";constructor(e){super(e,"bigint","SQLiteNumericBigInt")}build(e){return new Ae(e,this.config)}}class Ae extends x{static[a]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function qe(t,e){const{name:r,config:n}=D(t,e),m=n?.mode;return m==="number"?new we(r):m==="bigint"?new De(r):new Be(r)}class Ce extends b{static[a]="SQLiteRealBuilder";constructor(e){super(e,"number","SQLiteReal")}build(e){return new ve(e,this.config)}}class ve extends x{static[a]="SQLiteReal";getSQLType(){return"real"}}function ze(t){return new Ce(t??"")}class Pe extends b{static[a]="SQLiteTextBuilder";constructor(e,r){super(e,"string","SQLiteText"),this.config.enumValues=r.enum,this.config.length=r.length}build(e){return new Fe(e,this.config)}}class Fe extends x{static[a]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(e,r){super(e,r)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class Ve extends b{static[a]="SQLiteTextJsonBuilder";constructor(e){super(e,"json","SQLiteTextJson")}build(e){return new Ke(e,this.config)}}class Ke extends x{static[a]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(e){return JSON.parse(e)}mapToDriverValue(e){return JSON.stringify(e)}}function i(t,e={}){const{name:r,config:n}=D(t,e);
1return n.mode==="json"?new Ve(r):new Pe(r,n)}function Ue(){return{blob:ye,customType:he,integer:s,numeric:qe,real:ze,text:i}}const F=Symbol.for("drizzle:SQLiteInlineForeignKeys");class J extends y{static[a]="SQLiteTable";static Symbol=Object.assign({},y.Symbol,{InlineForeignKeys:F});[y.Symbol.Columns];[F]=[];[y.Symbol.ExtraConfigBuilder]=void 0}function Oe(t,e,r,n,m=t){const u=new J(t,n,m),_=typeof e=="function"?e(Ue()):e,g=Object.fromEntries(Object.entries(_).map(([S,o])=>{const l=o;l.setName(S);const f=l.build(u);return u[F].push(...l.buildForeignKeys(f,u)),[S,f]})),c=Object.assign(u,g);return c[y.Symbol.Columns]=g,c[y.Symbol.ExtraConfigColumns]=g,r&&(c[J.Symbol.ExtraConfigBuilder]=r),c}const Q=(t,e,r)=>Oe(t,e,r);class X{constructor(e,r){this.name=e,this.unique=r}static[a]="SQLiteIndexBuilderOn";on(...e){return new Ee(this.name,e,this.unique)}}class Ee{static[a]="SQLiteIndexBuilder";config;constructor(e,r,n){this.config={name:e,columns:r,unique:n,where:void 0}}where(e){return this.config.where=e,this}build(e){return new $e(this.config,e)}}class $e{static[a]="SQLiteIndex";config;constructor(e,r){this.config={...e,table:r}}}function d(t){return new X(t,!1)}function je(t){return new X(t,!0)}const B=Q("user",{id:i("id").primaryKey(),name:i("name").notNull(),email:i("email").notNull().unique(),emailVerified:s("email_verified",{mode:"boolean"}).default(!1).notNull(),image:i("image"),createdAt:s("created_at",{mode:"timestamp_ms"}).default(L`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),updatedAt:s("updated_at",{mode:"timestamp_ms"}).default(L`(cast(unixepoch('subsecond') * 1000 as integer))`).$onUpdate(()=>new Date).notNull(),role:i("role"),banned:s("banned",{mode:"boolean"}).default(!1),banReason:i("ban_reason"),banExpires:s("ban_expires",{mode:"timestamp_ms"}),normalizedEmail:i("normalized_email").unique(),customerId:i("customer_id"),currentPlan:i("current_plan").default("free"),subscriptionStatus:i("subscription_status").default("none"),subscriptionEndAt:s("subscription_end_at",{mode:"timestamp_ms"})});Q("session",{id:i("id").primaryKey(),expiresAt:s("expires_at",{mode:"timestamp_ms"}).notNull(),token:i("token").notNull().unique(),createdAt:s("created_at",{mode:"timestamp_ms"}).default(L`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),updatedAt:s("updated_at",{mode:"timestamp_ms"}).$onUpdate(()=>new Date).notNull(),ipAddress:i("ip_address"),userAgent:i("user_agent"),userId:i("user_id").notNull().references(()=>B.id,{onDelete:"cascade"}),impersonatedBy:i("impersonated_by")},t=>[d("session_userId_idx").on(t.userId)]);Q("account",{id:i("id").primaryKey(),accountId:i("account_id").notNull(),providerId:i("provider_id").notNull(),userId:i("user_id").notNull().references(()=>B.id,{onDelete:"cascade"}),accessToken:i("access_token"),refreshToken:i("refresh_token"),idToken:i("id_token"),accessTokenExpiresAt:s("access_token_expires_at",{mode:"timestamp_ms"}),refreshTokenExpiresAt:s("refresh_token_expires_at",{mode:"timestamp_ms"}),scope:i("scope"),password:i("password"),createdAt:s("created_at",{mode:"timestamp_ms"}).default(L`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),updatedAt:s("updated_at",{mode:"timestamp_ms"}).$onUpdate(()=>new Date).notNull()},t=>[d("account_userId_idx").on(t.userId)]);Q("verification",{id:i("id").primaryKey(),identifier:i("identifier").notNull(),value:i("value").notNull(),expiresAt:s("expires_at",{mode:"timestamp_ms"}).notNull(),createdAt:s("created_at",{mode:"timestamp_ms"}).default(L`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),updatedAt:s("updated_at",{mode:"timestamp_ms"}).default(L`(cast(unixepoch('subsecond') * 1000 as integer))`).$onUpdate(()=>new Date).notNull()},t=>[d("verification_identifier_idx").on(t.identifier)]);Q("apikey",{id:i("id").primaryKey(),name:i("name"),start:i("start"),prefix:i("prefix"),key:i("key").notNull(),userId:i("user_id").notNull().references(()=>B.id,{onDelete:"cascade"}),refillInterval:s("refill_interval"),refillAmount:s("refill_amount"),lastRefillAt:s("last_refill_at",{mode:"timestamp_ms"}),enabled:s("enabled",{mode:"boolean"}).default(!0),rateLimitEnabled:s("rate_limit_enabled",{mode:"boolean"}).default(!0),rateLimitTimeWindow:s("rate_limit_time_window").default(864e5),rateLimitMax:s("rate_limit_max").default(10),requestCount:s("request_count").default(0),remaining:s("remaining"),lastRequest:s("last_request",{mode:"timestamp_ms"}),expiresAt:s("expires_at",{mode:"timestamp_ms"}),createdAt:s("created_at",{mode:"timestamp_ms"}).notNull(),updatedAt:s("updated_at",{mode:"timestamp_ms"}).notNull(),permissions:i("permissions"),metadata:i("metadata")},t=>[d("apikey_key_idx").on(t.key),d("apikey_userId_idx").on(t.userId)]);Q("payment",{id:i("id").primaryKey(),userId:i("user_id").notNull().references(()=>
1B.id,{onDelete:"cascade"}),subscriptionId:i("subscription_id"),customerId:i("customer_id").notNull(),priceId:i("price_id").notNull(),sessionId:i("session_id"),invoiceId:i("invoice_id").unique(),providerTransactionId:i("provider_transaction_id"),type:i("type").notNull().$type(),status:i("status").notNull().$type(),paid:s("paid",{mode:"boolean"}).notNull().default(!1),amount:s("amount").notNull(),currency:i("currency").notNull().default("USD"),planName:i("plan_name").notNull(),creditsAmount:s("credits_amount").notNull().default(0),createdAt:s("created_at",{mode:"timestamp_ms"}).notNull(),updatedAt:s("updated_at",{mode:"timestamp_ms"}).notNull()},t=>[d("payment_user_id_idx").on(t.userId),d("payment_customer_id_idx").on(t.customerId),d("payment_subscription_id_idx").on(t.subscriptionId),d("payment_session_id_idx").on(t.sessionId),d("payment_invoice_id_idx").on(t.invoiceId),d("payment_provider_transaction_id_idx").on(t.providerTransactionId),d("payment_paid_idx").on(t.paid),d("payment_user_paid_idx").on(t.userId,t.paid)]);Q("user_files",{id:i("id").primaryKey(),userId:i("user_id").notNull().references(()=>B.id,{onDelete:"cascade"}),filename:i("filename").notNull(),originalName:i("original_name").notNull(),contentType:i("content_type").notNull(),size:s("size").notNull(),r2Key:i("r2_key").notNull(),isPublic:s("is_public",{mode:"boolean"}),description:i("description"),createdAt:s("created_at",{mode:"timestamp_ms"}).notNull(),updatedAt:s("updated_at",{mode:"timestamp_ms"}).notNull()},t=>[d("user_files_user_id_idx").on(t.userId),d("user_files_r2_key_idx").on(t.r2Key)]);const T=L`(cast(unixepoch('subsecond') * 1000 as integer))`;Q("credit_transaction",{id:i("id").primaryKey(),userId:i("user_id").notNull().references(()=>B.id,{onDelete:"cascade"}),transactionNo:i("transaction_no").notNull().unique(),transactionType:i("transaction_type").notNull(),transactionScene:i("transaction_scene").notNull(),credits:s("credits").notNull(),remainingCredits:s("remaining_credits").default(0),expiresAt:s("expires_at"),relatedPaymentId:i("related_payment_id"),description:i("description"),consumeDetail:i("c
1onsume_detail"),status:i("status").notNull(),createdAt:s("created_at").default(T).notNull(),updatedAt:s("updated_at").default(T).notNull()},t=>[d("idx_credit_fifo").on(t.userId,t.status,t.transactionType,t.remainingCredits,t.expiresAt),d("idx_credit_user_created").on(t.userId,t.createdAt),d("idx_credit_payment").on(t.relatedPaymentId)]);Q("subscription",{id:i("id").primaryKey(),userId:i("user_id").notNull().references(()=>B.id,{onDelete:"cascade"}),subscriptionId:i("subscription_id").notNull().unique(),customerId:i("customer_id").notNull(),priceId:i("price_id").notNull(),status:i("status").notNull().$type(),planName:i("plan_name").notNull(),interval:i("interval").notNull().$type(),amount:s("amount").notNull(),currency:i("currency").notNull().default("USD"),currentPeriodStart:s("current_period_start",{mode:"timestamp_ms"}),currentPeriodEnd:s("current_period_end",{mode:"timestamp_ms"}),trialStart:s("trial_start",{mode:"timestamp_ms"}),trialEnd:s("trial_end",{mode:"timestamp_ms"}),canceledAt:s("canceled_at",{mode:"timestamp_ms"}),cancelAtPeriodEnd:s("cancel_at_period_end",{mode:"boolean"}).notNull().default(!1),creditsPerPeriod:s("credits_per_period").notNull().default(0),createdAt:s("created_at",{mode:"timestamp_ms"}).notNull(),updatedAt:s("updated_at",{mode:"timestamp_ms"}).notNull()},t=>[d("idx_subscription_user").on(t.userId,t.status),d("idx_subscription_provider_id").on(t.subscriptionId)]);Q("generation_task",{id:i("id").primaryKey(),userId:i("user_id").notNull().references(()=>B.id,{onDelete:"cascade"}),taskType:i("task_type").notNull(),prompt:i("prompt"),inputFileUrl:i("input_file_url"),inputParams:i("input_params"),status:i("status").notNull(),errorMessage:i("error_message"),costCredits:s("cost_credits").notNull().default(0),processingTime:s("processing_time"),provider:i("provider").default("fal"),providerModel:i("provider_model"),providerTaskId:i("provider_task_id"),outputImages:i("output_images"),isPublic:s("is_public",{mode:"boolean"}).notNull().default(!1),costDetails:i("cost_details"),curationStatus:i("curation_status").notNull().default("pending"),createdAt:s("created_at").default(T).notNull(),updatedAt:s("updated_at").default(T).notNull()},t=>[d("idx_gen_task_user").on(t.userId,t.createdAt),d("idx_gen_task_status").on(t.status,t.createdAt),d("idx_gen_task_public").on(t.isPublic,t.createdAt),d("idx_gen_task_curation").on(t.status,t.isPublic,t.curationStatus,t.createdAt)]);Q("gallery_item",{id:i("id").primaryKey(),title:i("title").notNull(),slug:i("slug").notNull(),imageUrl:i("image_url").notNull(),prompt:i("prompt"),alt:i("alt").notNull(),description:i("description"),category:i("category").notNull().$type(),tags:i("tags").notNull(),resolution:i("resolution"),width:s("width").notNull(),height:s("height").notNull(),featured:s("featured",{mode:"boolean"}).notNull().default(!1),createdAt:s("created_at").default(T).notNull()},t=>[je("idx_gallery_slug_unique").on(t.slug),d("idx_gallery_featured").on(t.featured,t.createdAt,t.id),d("idx_gallery_category").on(t.category,t.featured,t.createdAt,t.id)]);export{B as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.