gemi 0.4.28 → 0.4.30

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/dist/app/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import"../http/index.js";import{f as D1,k as w6,m as A2} from"../chunk-700835a3a709b370.js";import{p as _V,q as l1} from"../chunk-9350baa090b5a424.js";import{r as J2,s as G3} from"../chunk-06eebef7eb056baa.js";import{t as I1,v as i0,x as H6} from"../chunk-c8f1115d77efc1c0.js";var K3=l1((s5,Z3)=>{var I6=function(w){return typeof w=="function"?w:(H)=>H.$extends(w)},k6=function(w){return w},T6=function(...w){return(H)=>H},y=function(w,H){let X=new RegExp(`\\x1b\\[${H}m`,"g"),V=`\x1B[${w}m`,W=`\x1B[${H}m`;return function($){return!B4.enabled||$==null?$:V+(~(""+$).indexOf(W)?$.replace(X,W+V):$)+W}},l6=function(w){let H={color:O3[u6++%O3.length],enabled:e0.enabled(w),namespace:w,log:e0.log,extend:()=>{}};return new Proxy((...V)=>{let{enabled:W,namespace:$,color:A,log:J}=H;if(V.length!==0&&t0.push([$,...V]),t0.length>p6&&t0.shift(),e0.enabled($)||W){let Y=V.map((K)=>typeof K=="string"?K:s6(K)),Z=`+${Date.now()-L3}ms`;L3=Date.now(),globalThis.DEBUG_COLORS?J(O2[A](J0($)),...Y,O2[A](Z)):J($,...Y,Z)}},{get:(V,W)=>H[W],set:(V,W,$)=>H[W]=$})},s6=function(w,H=2){let X=new Set;return JSON.stringify(w,(V,W)=>{if(typeof W=="object"&&W!==null){if(X.has(W))return"[Circular *]";X.add(W)}else if(typeof W=="bigint")return W.toString();return W},H)},a6=function(w=7500){let H=t0.map(([X,...V])=>`${X} ${V.map((W)=>typeof W=="string"?W:JSON.stringify(W)).join(" ")}`).join(`
2
+ import"../http/index.js";import{f as D1,j as A2,m as H6} from"../chunk-ad656a60ce7912bb.js";import{p as _V,q as l1} from"../chunk-9350baa090b5a424.js";import{r as J2,s as G3} from"../chunk-06eebef7eb056baa.js";import{t as I1,v as i0,x as w6} from"../chunk-c8f1115d77efc1c0.js";var K3=l1((s5,Z3)=>{var I6=function(w){return typeof w=="function"?w:(H)=>H.$extends(w)},k6=function(w){return w},T6=function(...w){return(H)=>H},y=function(w,H){let X=new RegExp(`\\x1b\\[${H}m`,"g"),V=`\x1B[${w}m`,W=`\x1B[${H}m`;return function($){return!B4.enabled||$==null?$:V+(~(""+$).indexOf(W)?$.replace(X,W+V):$)+W}},l6=function(w){let H={color:O3[u6++%O3.length],enabled:e0.enabled(w),namespace:w,log:e0.log,extend:()=>{}};return new Proxy((...V)=>{let{enabled:W,namespace:$,color:A,log:J}=H;if(V.length!==0&&t0.push([$,...V]),t0.length>p6&&t0.shift(),e0.enabled($)||W){let Y=V.map((K)=>typeof K=="string"?K:s6(K)),Z=`+${Date.now()-L3}ms`;L3=Date.now(),globalThis.DEBUG_COLORS?J(O2[A](J0($)),...Y,O2[A](Z)):J($,...Y,Z)}},{get:(V,W)=>H[W],set:(V,W,$)=>H[W]=$})},s6=function(w,H=2){let X=new Set;return JSON.stringify(w,(V,W)=>{if(typeof W=="object"&&W!==null){if(X.has(W))return"[Circular *]";X.add(W)}else if(typeof W=="bigint")return W.toString();return W},H)},a6=function(w=7500){let H=t0.map(([X,...V])=>`${X} ${V.map((W)=>typeof W=="string"?W:JSON.stringify(W)).join(" ")}`).join(`
3
3
  `);return H.length<w?H:H.slice(-w)},o6=function(){t0.length=0},n6=function(){let w=process.env.PRISMA_QUERY_ENGINE_LIBRARY;if(!(w&&i6.default.existsSync(w))&&process.arch==="ia32")throw new Error('The default query engine type (Node-API, "library") is currently not supported for 32bit Node. Please set `engineType = "binary"` in the "generator" block of your "schema.prisma" file (or use the environment variables "PRISMA_CLIENT_ENGINE_TYPE=binary" and/or "PRISMA_CLI_QUERY_ENGINE_TYPE=binary".)')},t6=function(w,H){let X=H==="url";return w.includes("windows")?X?"query_engine.dll.node":`query_engine-${w}.dll.node`:w.includes("darwin")?X?`${k1}.dylib.node`:`${k1}-${w}.dylib.node`:X?`${k1}.so.node`:`${k1}-${w}.so.node`},V0=function(w){return Object.assign(w,{optional:()=>H7(w),and:(H)=>g(w,H),or:(H)=>X7(w,H),select:(H)=>H===void 0?B3(w):B3(H,w)})},H7=function(w){return V0({[x0]:()=>({match:(H)=>{let X={},V=(W,$)=>{X[W]=$};return H===void 0?(N0(w).forEach((W)=>V(W,void 0)),{matched:!0,selections:X}):{matched:G0(w,H,V),selections:X}},getSelectionKeys:()=>N0(w),matcherType:"optional"})})},g=function(...w){return V0({[x0]:()=>({match:(H)=>{let X={},V=(W,$)=>{X[W]=$};return{matched:w.every((W)=>G0(W,H,V)),selections:X}},getSelectionKeys:()=>W1(w,N0),matcherType:"and"})})},X7=function(...w){return V0({[x0]:()=>({match:(H)=>{let X={},V=(W,$)=>{X[W]=$};return W1(w,N0).forEach((W)=>V(W,void 0)),{matched:w.some((W)=>G0(W,H,V)),selections:X}},getSelectionKeys:()=>W1(w,N0),matcherType:"or"})})},S=function(w){return{[x0]:()=>({match:(H)=>({matched:!!w(H)})})}},B3=function(...w){let H=typeof w[0]=="string"?w[0]:void 0,X=w.length===2?w[1]:typeof w[0]=="string"?void 0:w[0];return V0({[x0]:()=>({match:(V)=>{let W={[H??g1]:V};return{matched:X===void 0||G0(X,V,($,A)=>{W[$]=A}),selections:W}},getSelectionKeys:()=>[H??g1].concat(X===void 0?[]:N0(X))})})},K0=function(w){return typeof w=="number"},T0=function(w){return typeof w=="string"},C0=function(w){return typeof w=="bigint"},a1=function(w){return new V7(w,U2)},Y2=function(w,...H){A7.warn()&&console.warn(`${$7.warn} ${w}`,...H)};async function Z7(){let w=_2.default.platform(),H=process.arch;if(w==="freebsd"){let A=await E1("freebsd-version");if(A&&A.trim().length>0){let J=/^(\d+)\.?/.exec(A);if(J)return{platform:"freebsd",targetDistro:`freebsd${J[1]}`,arch:H}}}if(w!=="linux")return{platform:w,arch:H};let X=await z7(),V=await U7(),W=G7({arch:H,archFromUname:V,familyDistro:X.familyDistro}),{libssl:$}=await F7(W);return{platform:"linux",libssl:$,arch:H,archFromUname:V,...X}}var K7=function(w){let H=/^ID="?([^"\n]*)"?$/im,X=/^ID_LIKE="?([^"\n]*)"?$/im,V=H.exec(w),W=V&&V[1]&&V[1].toLowerCase()||"",$=X.exec(w),A=$&&$[1]&&$[1].toLowerCase()||"",J=a1({id:W,idLike:A}).with({id:"alpine"},({id:Y})=>({targetDistro:"musl",familyDistro:Y,originalDistro:Y})).with({id:"raspbian"},({id:Y})=>({targetDistro:"arm",familyDistro:"debian",originalDistro:Y})).with({id:"nixos"},({id:Y})=>({targetDistro:"nixos",originalDistro:Y,familyDistro:"nixos"})).with({id:"debian"},{id:"ubuntu"},({id:Y})=>({targetDistro:"debian",familyDistro:"debian",originalDistro:Y})).with({id:"rhel"},{id:"centos"},{id:"fedora"},({id:Y})=>({targetDistro:"rhel",familyDistro:"rhel",originalDistro:Y})).when(({idLike:Y})=>Y.includes("debian")||Y.includes("ubuntu"),({id:Y})=>({targetDistro:"debian",familyDistro:"debian",originalDistro:Y})).when(({idLike:Y})=>W==="arch"||Y.includes("arch"),({id:Y})=>({targetDistro:"debian",familyDistro:"arch",originalDistro:Y})).when(({idLike:Y})=>Y.includes("centos")||Y.includes("fedora")||Y.includes("rhel")||Y.includes("suse"),({id:Y})=>({targetDistro:"rhel",familyDistro:"rhel",originalDistro:Y})).otherwise(({id:Y})=>({targetDistro:void 0,familyDistro:void 0,originalDistro:Y}));return o(`Found distro info:
4
4
  ${JSON.stringify(J,null,2)}`),J};async function z7(){let w="/etc/os-release";try{let H=await Q4.default.readFile(w,{encoding:"utf-8"});return K7(H)}catch{return{targetDistro:void 0,familyDistro:void 0,originalDistro:void 0}}}var j7=function(w){let H=/^OpenSSL\s(\d+\.\d+)\.\d+/.exec(w);if(H){let X=`${H[1]}.x`;return U4(X)}},_3=function(w){let H=/libssl\.so\.(\d)(\.\d)?/.exec(w);if(H){let X=`${H[1]}${H[2]??".0"}.x`;return U4(X)}},U4=function(w){let H=(()=>{if(D4(w))return w;let X=w.split(".");return X[1]="0",X.join(".")})();if(Y7.includes(H))return H},G7=function(w){return a1(w).with({familyDistro:"musl"},()=>(o('Trying platform-specific paths for "alpine"'),["/lib"])).with({familyDistro:"debian"},({archFromUname:H})=>(o('Trying platform-specific paths for "debian" (and "ubuntu")'),[`/usr/lib/${H}-linux-gnu`,`/lib/${H}-linux-gnu`])).with({familyDistro:"rhel"},()=>(o('Trying platform-specific paths for "rhel"'),["/lib64","/usr/lib64"])).otherwise(({familyDistro:H,arch:X,archFromUname:V})=>(o(`Don't know any platform-specific paths for "${H}" on ${X} (${V})`),[]))};async function F7(w){let H='grep -v "libssl.so.0"',X=await Q3(w);if(X){o(`Found libssl.so file using platform-specific paths: ${X}`);let $=_3(X);if(o(`The parsed libssl version is: ${$}`),$)return{libssl:$,strategy:"libssl-specific-path"}}o('Falling back to "ldconfig" and other generic paths');let V=await E1(`ldconfig -p | sed "s/.*=>s*//" | sed "s|.*/||" | grep libssl | sort | ${H}`);if(V||(V=await Q3(["/lib64","/usr/lib64","/lib"])),V){o(`Found libssl.so file using "ldconfig" or other generic paths: ${V}`);let $=_3(V);if(o(`The parsed libssl version is: ${$}`),$)return{libssl:$,strategy:"ldconfig"}}let W=await E1("openssl version -v");if(W){o(`Found openssl binary with version: ${W}`);let $=j7(W);if(o(`The parsed openssl version is: ${$}`),$)return{libssl:$,strategy:"openssl-binary"}}return o("Couldn't find any version of libssl or OpenSSL in the system"),{}}async function Q3(w){for(let H of w){let X=await O7(H);if(X)return X}}async function O7(w){try{return(await Q4.default.readdir(w)).find((H)=>H.startsWith("libssl.so.")&&!H.startsWith("libssl.so.0"))}catch(H){if(H.code==="ENOENT")return;throw H}}async function u2(){let{binaryTarget:w}=await x4();return w}var L7=function(w){return w.binaryTarget!==void 0};async function B7(){let{memoized:w,...H}=await x4();return H}async function x4(){if(L7(T1))return Promise.resolve({...T1,memoized:!0});let w=await Z7(),H=_7(w);return T1={...w,binaryTarget:H},{...T1,memoized:!1}}var _7=function(w){let{platform:H,arch:X,archFromUname:V,libssl:W,targetDistro:$,familyDistro:A,originalDistro:J}=w;H==="linux"&&!["x64","arm64"].includes(X)&&Y2(`Prisma only officially supports Linux on amd64 (x86_64) and arm64 (aarch64) system architectures (detected "${X}" instead). If you are using your own custom Prisma engines, you can ignore this warning, as long as you've compiled the engines for your system architecture "${V}".`);let Y="1.1.x";if(H==="linux"&&W===void 0){let K=a1({familyDistro:A}).with({familyDistro:"debian"},()=>"Please manually install OpenSSL via `apt-get update -y && apt-get install -y openssl` and try installing Prisma again. If you're running Prisma on Docker, add this command to your Dockerfile, or switch to an image that already has OpenSSL installed.").otherwise(()=>"Please manually install OpenSSL and try installing Prisma again.");Y2(`Prisma failed to detect the libssl/openssl version to use, and may not work as expected. Defaulting to "openssl-${Y}".
5
5
  ${K}`)}let Z="debian";if(H==="linux"&&$===void 0&&o(`Distro is "${J}". Falling back to Prisma engines built for "${Z}".`),H==="darwin"&&X==="arm64")return"darwin-arm64";if(H==="darwin")return"darwin";if(H==="win32")return"windows";if(H==="freebsd")return $;if(H==="openbsd")return"openbsd";if(H==="netbsd")return"netbsd";if(H==="linux"&&$==="nixos")return"linux-nixos";if(H==="linux"&&X==="arm64")return`${$==="musl"?"linux-musl-arm64":"linux-arm64"}-openssl-${W||Y}`;if(H==="linux"&&X==="arm")return`linux-arm-openssl-${W||Y}`;if(H==="linux"&&$==="musl"){let K="linux-musl";return!W||D4(W)?K:`${K}-openssl-${W}`}return H==="linux"&&$&&W?`${$}-openssl-${W}`:(H!=="linux"&&Y2(`Prisma detected unknown OS "${H}" and may not work as expected. Defaulting to "linux".`),W?`${Z}-openssl-${W}`:$?`${$}-openssl-${Y}`:`${Z}-openssl-${Y}`)};async function Q7(w){try{return await w()}catch{return}}var E1=function(w){return Q7(async()=>{let H=await J7(w);return o(`Command "${w}" successfully returned "${H.stdout}"`),H.stdout})};async function U7(){return typeof _2.default.machine=="function"?_2.default.machine():(await E1("uname -m"))?.trim()}var D4=function(w){return w.startsWith("1.")},D7=function(w){return x7.default(w,w,{fallback:H0})},I7=function(){return f.default.join(__dirname,"../")},k7=function(w){if(process.platform==="win32")return;let H=U3.default.statSync(w),X=H.mode|64|8|1;if(H.mode===X){x3(`Execution permissions of ${w} are fine`);return}let V=X.toString(8).slice(-3);x3(`Have to call chmodPlusX on ${w}`),U3.default.chmodSync(w,V)},T7=function(w){let H=w.e,X=(J)=>`Prisma cannot find the required \`${J}\` system library in your system`,V=H.message.includes("cannot open shared object file"),W=`Please refer to the documentation about Prisma's system requirements: ${D7("https://pris.ly/d/system-requirements")}`,$=`Unable to require(\`${z1(w.id)}\`).`,A=a1({message:H.message,code:H.code}).with({code:"ENOENT"},()=>"File does not exist.").when(({message:J})=>V&&J.includes("libz"),()=>`${X("libz")}. Please install it and try again.`).when(({message:J})=>V&&J.includes("libgcc_s"),()=>`${X("libgcc_s")}. Please install it and try again.`).when(({message:J})=>V&&J.includes("libssl"),()=>{let J=w.platformInfo.libssl?`openssl-${w.platformInfo.libssl}`:"openssl";return`${X("libssl")}. Please install ${J} and try again.`}).when(({message:J})=>J.includes("GLIBC"),()=>`Prisma has detected an incompatible version of the \`glibc\` C standard library installed in your system. This probably means your system may be too old to run Prisma. ${W}`).when(({message:J})=>w.platformInfo.platform==="linux"&&J.includes("symbol not found"),()=>`The Prisma engines are not compatible with your system ${w.platformInfo.originalDistro} on (${w.platformInfo.archFromUname}) which uses the \`${w.platformInfo.binaryTarget}\` binaryTarget by default. ${W}`).otherwise(()=>`The Prisma engines do not seem to be compatible with your system. ${W}`);return`${$}
@@ -139,4 +139,4 @@ decimal.js/decimal.mjs:
139
139
  * Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
140
140
  * MIT Licence
141
141
  *)
142
- */});var i5=l1((z3)=>{var __dirname="/Users/enes.tuefekci/personal/projects/gemi/node_modules/.prisma/client";Object.defineProperty(z3,"__esModule",{value:!0});var{PrismaClientKnownRequestError:eX,PrismaClientUnknownRequestError:wV,PrismaClientRustPanicError:HV,PrismaClientInitializationError:XV,PrismaClientValidationError:VV,NotFoundError:WV,getPrismaClient:$V,sqltag:AV,empty:JV,join:YV,raw:ZV,Decimal:KV,Debug:H$,objectEnumValues:o0,makeStrictEnum:zV,Extensions:o5,warnOnce:X$,defineDmmfProperty:jV,Public:GV,getRuntime:V$}=K3(),d={};z3.Prisma=d;z3.$Enums={};d.prismaVersion={client:"5.14.0",engine:"34ace0eb2704183d2c05b60b52fba5c43c13f303"};d.PrismaClientKnownRequestError=eX;d.PrismaClientUnknownRequestError=wV;d.PrismaClientRustPanicError=HV;d.PrismaClientInitializationError=XV;d.PrismaClientValidationError=VV;d.NotFoundError=WV;d.Decimal=KV;d.sql=AV;d.empty=JV;d.join=YV;d.raw=ZV;d.validator=GV.validator;d.getExtensionContext=o5.getExtensionContext;d.defineExtension=o5.defineExtension;d.DbNull=o0.instances.DbNull;d.JsonNull=o0.instances.JsonNull;d.AnyNull=o0.instances.AnyNull;d.NullTypes={DbNull:o0.classes.DbNull,JsonNull:o0.classes.JsonNull,AnyNull:o0.classes.AnyNull};var D0=import.meta.require("path");z3.Prisma.TransactionIsolationLevel=zV({Serializable:"Serializable"});z3.Prisma.UserScalarFieldEnum={id:"id",email:"email",name:"name"};z3.Prisma.PostScalarFieldEnum={id:"id",publicId:"publicId",title:"title",content:"content",published:"published",authorId:"authorId"};z3.Prisma.SortOrder={asc:"asc",desc:"desc"};z3.Prisma.NullsOrder={first:"first",last:"last"};z3.Prisma.ModelName={User:"User",Post:"Post"};var w0={generator:{name:"client",provider:{fromEnvVar:null,value:"prisma-client-js"},output:{value:"/Users/enes.tuefekci/personal/projects/gemi/node_modules/@prisma/client",fromEnvVar:null},config:{engineType:"library"},binaryTargets:[{fromEnvVar:null,value:"darwin-arm64",native:!0}],previewFeatures:["driverAdapters"],sourceFilePath:"/Users/enes.tuefekci/personal/projects/gemi/templates/saas-starter/prisma/schema.prisma"},relativeEnvPaths:{rootEnvPath:null,schemaEnvPath:"../../../templates/saas-starter/.env"},relativePath:"../../../templates/saas-starter/prisma",clientVersion:"5.14.0",engineVersion:"34ace0eb2704183d2c05b60b52fba5c43c13f303",datasourceNames:["db"],activeProvider:"sqlite",postinstall:!1,inlineDatasources:{db:{url:{fromEnvVar:"DATABASE_URL",value:null}}},inlineSchema:"// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client-js\"\n previewFeatures = [\"driverAdapters\"]\n}\n\ndatasource db {\n provider = \"sqlite\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel User {\n id Int @id @default(autoincrement())\n email String @unique\n name String?\n posts Post[]\n}\n\nmodel Post {\n id Int @id @default(autoincrement())\n publicId String @unique @default(cuid())\n title String\n content String?\n published Boolean @default(false)\n author User? @relation(fields: [authorId], references: [id])\n authorId Int?\n}\n",inlineSchemaHash:"0fdc645180adab0c748b9fa16f9aca5de0687497c0b03b12504201d9f6937ff9",copyEngine:!0},a5=import.meta.require("fs");w0.dirname=__dirname;if(!a5.existsSync(D0.join(__dirname,"schema.prisma"))){const w=["../../node_modules/.prisma/client","../node_modules/.prisma/client"],H=w.find((X)=>{return a5.existsSync(D0.join(process.cwd(),X,"schema.prisma"))})??w[0];w0.dirname=D0.join(process.cwd(),H),w0.isBundled=!0}w0.runtimeDataModel=JSON.parse("{\"models\":{\"User\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"posts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Post\",\"relationName\":\"PostToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Post\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"publicId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"content\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"published\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"author\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"PostToUser\",\"relationFromFields\":[\"authorId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authorId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}");jV(z3.Prisma,w0.runtimeDataModel);w0.engineWasm=void 0;var{warnEnvConflicts:FV}=K3();FV({rootEnvPath:w0.relativeEnvPaths.rootEnvPath&&D0.resolve(w0.dirname,w0.relativeEnvPaths.rootEnvPath),schemaEnvPath:w0.relativeEnvPaths.schemaEnvPath&&D0.resolve(w0.dirname,w0.relativeEnvPaths.schemaEnvPath)});var OV=$V(w0);z3.PrismaClient=OV;Object.assign(z3,d);D0.join(__dirname,"libquery_engine-darwin-arm64.dylib.node");D0.join(process.cwd(),"../../node_modules/.prisma/client/libquery_engine-darwin-arm64.dylib.node");D0.join(__dirname,"schema.prisma");D0.join(process.cwd(),"../../node_modules/.prisma/client/schema.prisma")});var r5=l1(($$,n5)=>{n5.exports={...i5()}});var e5=l1((A$,t5)=>{t5.exports={...r5()}});function W2(w){let H=[];for(let[X,V]of w)H.push(X,...W2(V).flat());return Array.from(new Set(H))}function Q1(w){const H=[];for(let[X,V]of Object.entries(w))if("prepare"in V){const{viewPath:W,children:$}=V.prepare();if(Object.entries($).length>0){const A=Q1($);H.push([W,A])}else H.push([W,[]])}else{const W=new V,$=Q1(W.routes);H.push(...$)}return H}function U1(w){const H={};for(let[X,V]of Object.entries(w))if("prepare"in V){const W=V.prepare();if(Object.entries(W.children).length>0){const $=U1(W.children);if(W.kind==="view")H[X]={exec:[W.exec],middleware:W.middlewares};for(let[A,{exec:J,middleware:Y}]of Object.entries($)){const Z=X==="/"?A:`${X}${A}`,K=A==="/"&&X!=="/"?X:Z;H[K]={exec:[W.exec,...J],middleware:[...W.middlewares,...Y]}}}else H[X]={exec:[W.exec],middleware:W.middlewares}}else{const W=new V,$=U1(W.routes);for(let[A,{exec:J,middleware:Y}]of Object.entries($)){const Z=X==="/"?A:`${X}${A}`,K=A==="/"&&X!=="/"?X:Z;H[K]={exec:J,middleware:[...W.middlewares,...Y]}}}return H}function x1(w){const H={};for(let[X,V]of Object.entries(w))if("prepare"in V){const{viewPath:W,children:$,kind:A}=V.prepare();if(A==="view")H[X]=[W];if(Object.entries($).length>0){const J=x1($);for(let[Y,Z]of Object.entries(J)){const K=X==="/"?Y:`${X}${Y}`,z=Y==="/"&&X!=="/"?X:K;H[z]=[W,...Z]}}else H[X]=[W]}else{const W=new V,$=x1(W.routes);for(let[A,J]of Object.entries($)){const Y=X==="/"?A:`${X}${A}`,Z=A==="/"&&X!=="/"?X:Y;H[Z]=J}}return H}var W6=function(w){return D1(w)};function $2(w){const H={};for(let[X,V]of Object.entries(w))if("run"in V){const W=V;if(!H[X])H[X]={};const{method:$,middlewares:A}=W,J=W.run.bind(W);H[X][$]={exec:J,middleware:[...A,...W.middlewares]}}else if(W6(V)){const W=new V,$=$2(W.routes);for(let[A,J]of Object.entries($)){const Y=A==="/"?"":A,Z=X==="/"?"":X,K=`${Z}${Y}`===""?"/":`${Z}${Y}`;if(!H[K])H[K]={};for(let[z,j]of Object.entries(J))H[K][z]={exec:j.exec,middleware:[W.middleware,...W.middlewares,...j.middleware]}}}else for(let W of Object.values(V)){if(!H[X])H[X]={};const{method:$,middlewares:A}=W,J=W.run.bind(W);H[X][$]={exec:J,middleware:A}}return H}import{renderToReadableStream as $6} from"react-dom/server.browser";import{createElement as j3,Fragment as A6} from"react";class F3{renderParams={styles:[],manifest:{},serverManifest:{},bootstrapModules:[]};flatViewRoutes={};flatApiRoutes={};routeManifest={};name="APP";appId;componentTree;middlewareAliases={};devVersion=0;params;apiRouter;viewRouter;Root;kernel;constructor(w){this.params=w,this.apiRouter=w.apiRouter,this.viewRouter=w.viewRouter,this.Root=w.root,this.kernel=new w.kernel,this.prepare(),this.appId=G3(Date.now())}prepare(){const w=this.params;this.middlewareAliases=w.middlewareAliases??{};const H=this.kernel.getServices.call(this.kernel),X=H.authenticationServiceProvider.basePath;let V={"/":this.viewRouter,[X]:H.authenticationServiceProvider.routers.view},W={"/":this.apiRouter,[X]:H.authenticationServiceProvider.routers.api};for(let $ of w.plugins??[]){const A=new $;if(A.viewRouter)V={...V,[A.viewRoutesBasePath]:A.viewRouter};if(A.apiRouter)W={...W,[A.apiRoutesBasePath]:A.apiRouter}}this.flatViewRoutes=U1(V),this.componentTree=Q1(V),this.routeManifest=x1(V),this.flatApiRoutes=$2(W)}getComponentTree(){return this.componentTree}setRenderParams(w){this.renderParams=w}runMiddleware(w){return w.map((H)=>{if(typeof H==="string"){const X=H,W=this.kernel.getServices.call(this.kernel).middlewareServiceProvider.aliases[X];if(W)return new W().run}else{if(D1(H))return new H().run;return H}}).filter(Boolean).reduce((H,X)=>{return async(V,W)=>{return{...await H(V,W),...await X(V,W)}}},(H)=>Promise.resolve({}))}async handleApiRequest(w){const X=new URL(w.url).pathname.replace("/api","");for(let[V,W]of Object.entries(this.flatApiRoutes)){const $=new J2({pathname:V});if($.test({pathname:X})){const A=$.exec({pathname:X})?.pathname.groups;if(!W[w.method])return new Response(JSON.stringify({error:{message:"Not found"}}));const J=W[w.method].exec,Y=W[w.method].middleware,Z=this.runMiddleware(Y);return await i0.run(async()=>{const K=new A2(w,A),z=i0.getStore();z.setRequest(K);let j=J?()=>J(K,A):()=>Promise.resolve({});try{await Z(K)}catch(O){if(O.kind===I1){const{status:U=400,data:I,headers:B}=O.payload.api;return new Response(JSON.stringify(I),{status:U,headers:{"Content-Type":"application/json",...B}})}else throw console.error(O),O}let G={};try{G=await j()}catch(O){if(O.kind===I1){const{status:U=400,data:I,headers:B}=O.payload.api;return new Response(JSON.stringify(I),{status:U,headers:{"Content-Type":"application/json",...B}})}else throw console.error(O),O}const L=new Headers;return L.append("Content-Type","application/json"),z.cookies.forEach((O)=>L.append("Set-Cookie",O.toString())),new Response(JSON.stringify(G),{headers:L})})}}return new Response(JSON.stringify({error:{message:"Not found"}}),{status:404})}async handleViewRequest(w){const H=new URL(w.url);let X=null;try{let T=[],C=[],e=null,N={};const u=Object.entries(this.flatViewRoutes).sort(([n],[R])=>R.length-n.length).sort(([n],[R])=>R.split(":").length-n.split(":").length);for(let[n,R]of u){const M=new J2({pathname:n});if(M.test({pathname:H.pathname}))e=n,N=M.exec({pathname:H.pathname})?.pathname.groups,T=R.exec,C=R.middleware}const $0=this.runMiddleware(C),{data:c,cookies:I0,user:m0}=await i0.run(async()=>{const n=new A2(w,N),R=i0.getStore();return R.setRequest(n),await $0(n),{data:await Promise.all(T.map((V6)=>V6(n))),cookies:R.cookies,user:R.user}});X={data:c,currentPathName:e,user:m0,params:N,cookies:I0}}catch(T){if(T.kind===I1)return new Response(null,{...T.payload.view});else throw T}const{data:V,params:W,currentPathName:$,user:A,cookies:J}=X,Y=V.reduce((T,C)=>{return{...T,...C}},{});if(H.searchParams.get("json")){const T=new Headers;return T.set("Content-Type","application/json"),J.forEach((C)=>T.append("Set-Cookie",C.toString())),new Response(JSON.stringify({data:{[H.pathname]:Y},is404:!$}),{headers:T})}const{styles:Z,manifest:K,serverManifest:z,bootstrapModules:j}=this.renderParams,G={};let L=null;const O=(T,C)=>`"${T}": () => import("${C}")`,U=[];for(let T of["404",...W2(this.componentTree)])if(!K){L=`${process.env.APP_DIR}`;const C=await import(`${L}/views/${T}.tsx`);G[T]=C.default,U.push(O(T,`${L}/views/${T}.tsx`))}else{const C=z[`app/views/${T}.tsx`],e=await import(`${process.env.DIST_DIR}/server/${C?.file}`);G[T]=e.default;const N=K[`app/views/${T}.tsx`];if(N)U.push(O(T,`/${N?.file}`))}const I=`{${U.join(",")}}`,B=new Headers;B.set("Content-Type","text/html"),B.set("Cache-Control",A?"private, no-cache, no-store, max-age=0, must-revalidate":"public, max-age=864000, must-revalidate"),B.set("ETag",this.appId),X.cookies.forEach((T)=>B.append("Set-Cookie",T.toString()));const x={kind:"view",data:{pageData:{[H.pathname]:Y},auth:{user:A},routeManifest:this.routeManifest,router:{pathname:$,params:W,currentPath:H.pathname,searchParams:H.search,is404:!$?!0:!1},componentTree:[["404",[]],...this.componentTree]},head:{}},P=await $6(j3(A6,{children:[Z,j3(this.Root,{data:x.data,viewImportMap:G})]}),{bootstrapScriptContent:`window.__GEMI_DATA__ = ${JSON.stringify(x.data)}; window.loaders=${I}`,bootstrapModules:j});return new Response(P,{status:!$?404:200,headers:B})}async fetch(w){const H=new URL(w.url);return this.kernel.run.bind(this.kernel)(async()=>{if(H.pathname.startsWith("/api"))return await this.handleApiRequest(w);else return await this.handleViewRequest(w)})}handleWebSocketMessage=(w,H)=>{};handleWebSocketOpen=(w)=>{console.log("socket opened")};handleWebSocketClose=(w,H,X)=>{console.log("socket closed")};websocket={message:this.handleWebSocketMessage,open:this.handleWebSocketOpen,close:this.handleWebSocketClose}}var X6=_V(e5(),1);var QV=X6.Prisma.defineExtension({name:"Gemi Policies",query:{async $allOperations({args:w,operation:H,query:X,model:V}){const $=H6.getStore().policiesServiceProvider.policiesList[`${V}Policies`];if(!$)return await X(w);if(!await $.all.call($,H,w))throw new w6;return await X(w)}}});export{QV as prismaExtension,F3 as App};
142
+ */});var i5=l1((z3)=>{var __dirname="/Users/enes.tuefekci/personal/projects/gemi/node_modules/.prisma/client";Object.defineProperty(z3,"__esModule",{value:!0});var{PrismaClientKnownRequestError:eX,PrismaClientUnknownRequestError:wV,PrismaClientRustPanicError:HV,PrismaClientInitializationError:XV,PrismaClientValidationError:VV,NotFoundError:WV,getPrismaClient:$V,sqltag:AV,empty:JV,join:YV,raw:ZV,Decimal:KV,Debug:H$,objectEnumValues:o0,makeStrictEnum:zV,Extensions:o5,warnOnce:X$,defineDmmfProperty:jV,Public:GV,getRuntime:V$}=K3(),d={};z3.Prisma=d;z3.$Enums={};d.prismaVersion={client:"5.14.0",engine:"34ace0eb2704183d2c05b60b52fba5c43c13f303"};d.PrismaClientKnownRequestError=eX;d.PrismaClientUnknownRequestError=wV;d.PrismaClientRustPanicError=HV;d.PrismaClientInitializationError=XV;d.PrismaClientValidationError=VV;d.NotFoundError=WV;d.Decimal=KV;d.sql=AV;d.empty=JV;d.join=YV;d.raw=ZV;d.validator=GV.validator;d.getExtensionContext=o5.getExtensionContext;d.defineExtension=o5.defineExtension;d.DbNull=o0.instances.DbNull;d.JsonNull=o0.instances.JsonNull;d.AnyNull=o0.instances.AnyNull;d.NullTypes={DbNull:o0.classes.DbNull,JsonNull:o0.classes.JsonNull,AnyNull:o0.classes.AnyNull};var D0=import.meta.require("path");z3.Prisma.TransactionIsolationLevel=zV({Serializable:"Serializable"});z3.Prisma.UserScalarFieldEnum={id:"id",email:"email",name:"name"};z3.Prisma.PostScalarFieldEnum={id:"id",publicId:"publicId",title:"title",content:"content",published:"published",authorId:"authorId"};z3.Prisma.SortOrder={asc:"asc",desc:"desc"};z3.Prisma.NullsOrder={first:"first",last:"last"};z3.Prisma.ModelName={User:"User",Post:"Post"};var w0={generator:{name:"client",provider:{fromEnvVar:null,value:"prisma-client-js"},output:{value:"/Users/enes.tuefekci/personal/projects/gemi/node_modules/@prisma/client",fromEnvVar:null},config:{engineType:"library"},binaryTargets:[{fromEnvVar:null,value:"darwin-arm64",native:!0}],previewFeatures:["driverAdapters"],sourceFilePath:"/Users/enes.tuefekci/personal/projects/gemi/templates/saas-starter/prisma/schema.prisma"},relativeEnvPaths:{rootEnvPath:null,schemaEnvPath:"../../../templates/saas-starter/.env"},relativePath:"../../../templates/saas-starter/prisma",clientVersion:"5.14.0",engineVersion:"34ace0eb2704183d2c05b60b52fba5c43c13f303",datasourceNames:["db"],activeProvider:"sqlite",postinstall:!1,inlineDatasources:{db:{url:{fromEnvVar:"DATABASE_URL",value:null}}},inlineSchema:"// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client-js\"\n previewFeatures = [\"driverAdapters\"]\n}\n\ndatasource db {\n provider = \"sqlite\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel User {\n id Int @id @default(autoincrement())\n email String @unique\n name String?\n posts Post[]\n}\n\nmodel Post {\n id Int @id @default(autoincrement())\n publicId String @unique @default(cuid())\n title String\n content String?\n published Boolean @default(false)\n author User? @relation(fields: [authorId], references: [id])\n authorId Int?\n}\n",inlineSchemaHash:"0fdc645180adab0c748b9fa16f9aca5de0687497c0b03b12504201d9f6937ff9",copyEngine:!0},a5=import.meta.require("fs");w0.dirname=__dirname;if(!a5.existsSync(D0.join(__dirname,"schema.prisma"))){const w=["../../node_modules/.prisma/client","../node_modules/.prisma/client"],H=w.find((X)=>{return a5.existsSync(D0.join(process.cwd(),X,"schema.prisma"))})??w[0];w0.dirname=D0.join(process.cwd(),H),w0.isBundled=!0}w0.runtimeDataModel=JSON.parse("{\"models\":{\"User\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"posts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Post\",\"relationName\":\"PostToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Post\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"publicId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"content\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"published\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"author\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"PostToUser\",\"relationFromFields\":[\"authorId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authorId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}");jV(z3.Prisma,w0.runtimeDataModel);w0.engineWasm=void 0;var{warnEnvConflicts:FV}=K3();FV({rootEnvPath:w0.relativeEnvPaths.rootEnvPath&&D0.resolve(w0.dirname,w0.relativeEnvPaths.rootEnvPath),schemaEnvPath:w0.relativeEnvPaths.schemaEnvPath&&D0.resolve(w0.dirname,w0.relativeEnvPaths.schemaEnvPath)});var OV=$V(w0);z3.PrismaClient=OV;Object.assign(z3,d);D0.join(__dirname,"libquery_engine-darwin-arm64.dylib.node");D0.join(process.cwd(),"../../node_modules/.prisma/client/libquery_engine-darwin-arm64.dylib.node");D0.join(__dirname,"schema.prisma");D0.join(process.cwd(),"../../node_modules/.prisma/client/schema.prisma")});var r5=l1(($$,n5)=>{n5.exports={...i5()}});var e5=l1((A$,t5)=>{t5.exports={...r5()}});function W2(w){let H=[];for(let[X,V]of w)H.push(X,...W2(V).flat());return Array.from(new Set(H))}function Q1(w){const H=[];for(let[X,V]of Object.entries(w))if("prepare"in V){const{viewPath:W,children:$}=V.prepare();if(Object.entries($).length>0){const A=Q1($);H.push([W,A])}else H.push([W,[]])}else{const W=new V,$=Q1(W.routes);H.push(...$)}return H}function U1(w){const H={};for(let[X,V]of Object.entries(w))if("prepare"in V){const W=V.prepare();if(Object.entries(W.children).length>0){const $=U1(W.children);if(W.kind==="view")H[X]={exec:[W.exec],middleware:W.middlewares};for(let[A,{exec:J,middleware:Y}]of Object.entries($)){const Z=X==="/"?A:`${X}${A}`,K=A==="/"&&X!=="/"?X:Z;H[K]={exec:[W.exec,...J],middleware:[...W.middlewares,...Y]}}}else H[X]={exec:[W.exec],middleware:W.middlewares}}else{const W=new V,$=U1(W.routes);for(let[A,{exec:J,middleware:Y}]of Object.entries($)){const Z=X==="/"?A:`${X}${A}`,K=A==="/"&&X!=="/"?X:Z;H[K]={exec:J,middleware:[...W.middlewares,...Y]}}}return H}function x1(w){const H={};for(let[X,V]of Object.entries(w))if("prepare"in V){const{viewPath:W,children:$,kind:A}=V.prepare();if(A==="view")H[X]=[W];if(Object.entries($).length>0){const J=x1($);for(let[Y,Z]of Object.entries(J)){const K=X==="/"?Y:`${X}${Y}`,z=Y==="/"&&X!=="/"?X:K;H[z]=[W,...Z]}}else H[X]=[W]}else{const W=new V,$=x1(W.routes);for(let[A,J]of Object.entries($)){const Y=X==="/"?A:`${X}${A}`,Z=A==="/"&&X!=="/"?X:Y;H[Z]=J}}return H}var W6=function(w){return D1(w)};function $2(w){const H={};for(let[X,V]of Object.entries(w))if("run"in V){const W=V;if(!H[X])H[X]={};const{method:$,middlewares:A}=W,J=W.run.bind(W);H[X][$]={exec:J,middleware:[...A,...W.middlewares]}}else if(W6(V)){const W=new V,$=$2(W.routes);for(let[A,J]of Object.entries($)){const Y=A==="/"?"":A,Z=X==="/"?"":X,K=`${Z}${Y}`===""?"/":`${Z}${Y}`;if(!H[K])H[K]={};for(let[z,j]of Object.entries(J))H[K][z]={exec:j.exec,middleware:[W.middleware,...W.middlewares,...j.middleware]}}}else for(let W of Object.values(V)){if(!H[X])H[X]={};const{method:$,middlewares:A}=W,J=W.run.bind(W);H[X][$]={exec:J,middleware:A}}return H}import{renderToReadableStream as $6} from"react-dom/server.browser";import{createElement as j3,Fragment as A6} from"react";class F3{renderParams={styles:[],manifest:{},serverManifest:{},bootstrapModules:[]};flatViewRoutes={};flatApiRoutes={};routeManifest={};name="APP";appId;componentTree;middlewareAliases={};devVersion=0;params;apiRouter;viewRouter;Root;kernel;constructor(w){this.params=w,this.apiRouter=w.apiRouter,this.viewRouter=w.viewRouter,this.Root=w.root,this.kernel=new w.kernel,this.prepare(),this.appId=G3(Date.now())}prepare(){const w=this.params;this.middlewareAliases=w.middlewareAliases??{};const H=this.kernel.getServices.call(this.kernel),X=H.authenticationServiceProvider.basePath;let V={"/":this.viewRouter,[X]:H.authenticationServiceProvider.routers.view},W={"/":this.apiRouter,[X]:H.authenticationServiceProvider.routers.api};for(let $ of w.plugins??[]){const A=new $;if(A.viewRouter)V={...V,[A.viewRoutesBasePath]:A.viewRouter};if(A.apiRouter)W={...W,[A.apiRoutesBasePath]:A.apiRouter}}this.flatViewRoutes=U1(V),this.componentTree=Q1(V),this.routeManifest=x1(V),this.flatApiRoutes=$2(W)}getComponentTree(){return this.componentTree}setRenderParams(w){this.renderParams=w}runMiddleware(w){return w.map((H)=>{if(typeof H==="string"){const X=H,W=this.kernel.getServices.call(this.kernel).middlewareServiceProvider.aliases[X];if(W)return new W().run}else{if(D1(H))return new H().run;return H}}).filter(Boolean).reduce((H,X)=>{return async(V,W)=>{return{...await H(V,W),...await X(V,W)}}},(H)=>Promise.resolve({}))}async handleApiRequest(w){const X=new URL(w.url).pathname.replace("/api","");for(let[V,W]of Object.entries(this.flatApiRoutes)){const $=new J2({pathname:V});if($.test({pathname:X})){const A=$.exec({pathname:X})?.pathname.groups;if(!W[w.method])return new Response(JSON.stringify({error:{message:"Not found"}}));const J=W[w.method].exec,Y=W[w.method].middleware,Z=this.runMiddleware(Y);return await i0.run(async()=>{const K=new A2(w,A),z=i0.getStore();z.setRequest(K);let j=J?()=>J(K,A):()=>Promise.resolve({});try{await Z(K)}catch(O){if(O.kind===I1){const{status:U=400,data:I,headers:B}=O.payload.api;return new Response(JSON.stringify(I),{status:U,headers:{"Content-Type":"application/json",...B}})}else throw console.error(O),O}let G={};try{G=await j()}catch(O){if(O.kind===I1){const{status:U=400,data:I,headers:B}=O.payload.api;return new Response(JSON.stringify(I),{status:U,headers:{"Content-Type":"application/json",...B}})}else throw console.error(O),O}const L=new Headers;return L.append("Content-Type","application/json"),z.cookies.forEach((O)=>L.append("Set-Cookie",O.toString())),new Response(JSON.stringify(G),{headers:L})})}}return new Response(JSON.stringify({error:{message:"Not found"}}),{status:404})}async handleViewRequest(w){const H=new URL(w.url);let X=null;try{let T=[],C=[],e=null,N={};const u=Object.entries(this.flatViewRoutes).sort(([n],[R])=>R.length-n.length).sort(([n],[R])=>R.split(":").length-n.split(":").length);for(let[n,R]of u){const M=new J2({pathname:n});if(M.test({pathname:H.pathname}))e=n,N=M.exec({pathname:H.pathname})?.pathname.groups,T=R.exec,C=R.middleware}const $0=this.runMiddleware(C),{data:c,cookies:I0,user:m0}=await i0.run(async()=>{const n=new A2(w,N),R=i0.getStore();return R.setRequest(n),await $0(n),{data:await Promise.all(T.map((V6)=>V6(n))),cookies:R.cookies,user:R.user}});X={data:c,currentPathName:e,user:m0,params:N,cookies:I0}}catch(T){if(T.kind===I1)return new Response(null,{...T.payload.view});else throw T}const{data:V,params:W,currentPathName:$,user:A,cookies:J}=X,Y=V.reduce((T,C)=>{return{...T,...C}},{});if(H.searchParams.get("json")){const T=new Headers;return T.set("Content-Type","application/json"),J.forEach((C)=>T.append("Set-Cookie",C.toString())),new Response(JSON.stringify({data:{[H.pathname]:Y},is404:!$}),{headers:T})}const{styles:Z,manifest:K,serverManifest:z,bootstrapModules:j}=this.renderParams,G={};let L=null;const O=(T,C)=>`"${T}": () => import("${C}")`,U=[];for(let T of["404",...W2(this.componentTree)])if(!K){L=`${process.env.APP_DIR}`;const C=await import(`${L}/views/${T}.tsx`);G[T]=C.default,U.push(O(T,`${L}/views/${T}.tsx`))}else{const C=z[`app/views/${T}.tsx`],e=await import(`${process.env.DIST_DIR}/server/${C?.file}`);G[T]=e.default;const N=K[`app/views/${T}.tsx`];if(N)U.push(O(T,`/${N?.file}`))}const I=`{${U.join(",")}}`,B=new Headers;B.set("Content-Type","text/html"),B.set("Cache-Control",A?"private, no-cache, no-store, max-age=0, must-revalidate":"public, max-age=864000, must-revalidate"),B.set("ETag",this.appId),X.cookies.forEach((T)=>B.append("Set-Cookie",T.toString()));const x={kind:"view",data:{pageData:{[H.pathname]:Y},auth:{user:A},routeManifest:this.routeManifest,router:{pathname:$,params:W,currentPath:H.pathname,searchParams:H.search,is404:!$?!0:!1},componentTree:[["404",[]],...this.componentTree]},head:{}},P=await $6(j3(A6,{children:[Z,j3(this.Root,{data:x.data,viewImportMap:G})]}),{bootstrapScriptContent:`window.__GEMI_DATA__ = ${JSON.stringify(x.data)}; window.loaders=${I}`,bootstrapModules:j});return new Response(P,{status:!$?404:200,headers:B})}async fetch(w){const H=new URL(w.url);return this.kernel.run.bind(this.kernel)(async()=>{if(H.pathname.startsWith("/api"))return await this.handleApiRequest(w);else return await this.handleViewRequest(w)})}handleWebSocketMessage=(w,H)=>{};handleWebSocketOpen=(w)=>{console.log("socket opened")};handleWebSocketClose=(w,H,X)=>{console.log("socket closed")};websocket={message:this.handleWebSocketMessage,open:this.handleWebSocketOpen,close:this.handleWebSocketClose}}var X6=_V(e5(),1);var QV=X6.Prisma.defineExtension({name:"Gemi Policies",query:{async $allOperations({args:w,operation:H,query:X,model:V}){const $=w6.getStore().policiesServiceProvider.policiesList[`${V}Policies`];if(!$)return await X(w);if(!await $.all.call($,H,w))throw new H6;return await X(w)}}});export{QV as prismaExtension,F3 as App};
@@ -0,0 +1,2 @@
1
+ import{u as l,v as w} from"./chunk-c8f1115d77efc1c0.js";class m{requests={};static kind="controller";constructor(){}}class C extends m{constructor(){super(...arguments)}}function P(e){return typeof e==="function"&&e.prototype!==void 0}var H=function(e){return P(e)};class d{e;t;r;middlewares=[];constructor(e,t,r){this.method=e;this.handler=t;this.methodName=r;this.handler=t,this.methodName=r,this.method=e}run(e){let t=e;if(H(this.handler)){const r=new this.handler,n=r[this.methodName].bind(r);return t=r.requests[this.methodName]?new r.requests[this.methodName](e.rawRequest,e.params):t,n(t)}else return this.handler(e)}middleware(e){return this.middlewares=e,this}}class R{routes={};middlewares=[];middleware(e){}get(e,t){return new d("GET",e,t)}post(e,t){return new d("POST",e,t)}put(e,t){return new d("PUT",e,t)}patch(e,t){return new d("PATCH",e,t)}delete(e,t){return new d("DELETE",e,t)}resource(e){class t extends R{constructor(){super(...arguments)}routes={"/":{list:this.get(e,"list"),create:this.post(e,"create")},"/:id":{show:this.get(e,"show"),update:this.put(e,"update"),delete:this.delete(e,"delete")}}}return t}}class f{routes={};middlewares=[];middleware(e){}layout(e,...t){function r(n=[]){const[o,s]=t;let a=s??{};if(o&&o.constructor===Object)a=o;return{exec:async(u)=>{let i=()=>Promise.resolve({[e]:{}});if(typeof o==="function")i=o;if(Array.isArray(o)){const[h,y]=o,p=new h;i=p[y].bind(p)}const T=await i(u);return{[e]:T}},children:a,viewPath:e,middlewares:n,kind:"layout"}}return{prepare:r,middleware:(n)=>({prepare:()=>r(n)})}}view(e,...t){function r(n=[]){const[o,s]=t;let a=s??{};if(o&&o.constructor===Object)a=o;return{exec:async(u)=>{let i=()=>Promise.resolve({[e]:{}});if(typeof o==="function")i=o;if(Array.isArray(o)){const[h,y]=o,p=new h;i=p[y].bind(p)}const T=await i(u);return{[e]:T}},children:a,viewPath:e,middlewares:n,kind:"view"}}return{prepare:r,middleware:(n)=>({prepare:()=>r(n)})}}}class c extends l{errors={};constructor(e){super("Validation error");this.name="ValidationError",this.errors=e,this.payload={api:{status:400,data:{error:{kind:"validation_error",messages:e}},headers:{"Content-Type":"application/json"}},view:{status:400}}}}var K=function(e){const[t,r]=e.split(":");switch(t){case"required":return(n)=>{return n!==null&&n!==void 0&&n?.length>0};case"password":return(n)=>{return/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/.test(n)};case"number":return(n)=>{if(typeof n!=="number")return!1;return!isNaN(n)};case"min":return(n)=>{return n?.length>=parseInt(r)};case"max":return(n)=>{return n?.length<=parseInt(r)};case"email":return(n)=>{return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(n)};default:return()=>!0}};class x{e;constructor(e){this.data=e}get(e){return this.data[e]}set(e,t){this.data[e]=t}has(e){return this.data[e]!==void 0}toJSON(){return this.data}}class g{rawRequest;headers;cookies;schema={};params;ctx=w.getStore();constructor(e,t){this.params=t,this.rawRequest=e,this.headers=e.headers;const r=this.rawRequest.headers.get("Cookie"),n=new Map;if(r){const o=r.split(";");for(let s of o){const[a,u]=s.split("=");n.set(a.trim(),u.trim())}}this.cookies=n}refine(e){return{}}async parseBody(){const e=new x({});if(this.rawRequest.headers.get("Content-Type")==="application/json"){const t=await this.rawRequest.json();for(let[r,n]of Object.entries(t))e.set(r,n)}if(this.rawRequest.headers.get("Content-Type")==="application/x-www-form-urlencoded"){const t=await this.rawRequest.formData();for(let[r,n]of t)e.set(r,n)}if(this.rawRequest.headers.get("Content-Type").startsWith("multipart/form-data")){const t=await this.rawRequest.formData();for(let[r,n]of t)if(e.has(r)){const o=e.get(r);if(Array.isArray(o))o.push(n),e.set(r,o);else e.set(r,[o,n])}else e.set(r,n)}return e}validateInput(e){const t={};for(let[r,n]of Object.entries(this.schema))for(let[o,s]of Object.entries(n))if(!K(o)(e.get(r))){if(!t[r])t[r]=[];if(o==="required"){t[r]=[String(s)];break}else t[r].push(String(s))}for(let[r,n]of Object.entries(this.refine(e.toJSON())??{})){if(!t[r])t[r]=[];t[r]=[...t[r],n]}if(Object.keys(t).length>0)throw new c(t);else return e}async input(){return this.validateInput(await this.parseBody())}async safeInput(){const e=await this.parseBody();try{return this.validateInput(e),{isValid:!0,errors:{},input:e}}catch(t){if(!(t instanceof c))throw t;return{isValid:!1,errors:t.errors,input:e}}}async terminate(e){throw"not implemented"}}class b{aliases={}}class O extends l{error;constructor(e="Not authorized"){super("Authentication error");this.name="AuthenticationError",this.error=e,this.payload={api:{status:401,data:{error:this.error}},view:{}}}}class M extends l{error;constructor(e="Insufficient permissions"){super("Authentication error");this.name="AuthenticationError",this.error=e,this.payload={api:{status:401,data:{error:this.error}},view:{}}}}class I extends l{constructor(){super("Authentication error");this.name="AuthenticationError"}payload={api:{status:401,data:{error:"Authentication error"}},view:{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:"/auth/sign-in"}}}}class q{policiesList={};constructor(){const e=this.register();for(let t of e){const r=new t;this.policiesList[t.name]=r}}register(){return[]}}
2
+ export{m as d,C as e,P as f,R as g,f as h,c as i,g as j,b as k,O as l,M as m,I as n,q as o};
@@ -1526,7 +1526,7 @@ const Link = (props) => {
1526
1526
  return /* @__PURE__ */ jsx(
1527
1527
  "a",
1528
1528
  {
1529
- "data-active": p === pathname,
1529
+ "data-active": p === "/" ? pathname === p : pathname.startsWith(p),
1530
1530
  href: path,
1531
1531
  onClick: (e) => {
1532
1532
  e.preventDefault();
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import"../facades/index.js";import{b as w,c} from"../kernel/index.js";import"../chunk-700835a3a709b370.js";import"../chunk-9350baa090b5a424.js";import"../chunk-c8f1115d77efc1c0.js";import{renderToStaticMarkup as u} from"react-dom/server";var x=(t)=>{return`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">${u(t)}`};class s{static async send(t,r){const e=new t,{to:a=e.to,from:l=e.from,subject:m=e.subject,cc:p=e.cc,bcc:T=e.bcc,attachments:d=e.attachments,data:E}=r,n=x(e.render(E));if(process.env.EMAIL_DEBUG){const o=`${process.env.ROOT_DIR}/.debug/emails/${(new Date()).toISOString()}${m}.html`;await Bun.write(o,n),Bun.spawnSync(["open",o]);return}await c.getContext().emailServiceProvider.send({bcc:T,cc:p,from:l,subject:m,to:a,attachments:d,html:n})}}import{createElement as f,Fragment as g} from"react";class i{from="doe@gemijs.dev";to=["hi@gemijs.dev"];subject="Welcome";cc=[];bcc=[];attachments=[];render(t){return console.log("EmailTemplate"),f(g,null,"EmailTemplate")}}export{i as EmailTemplate,w as EmailServiceProvider,s as Email};
2
+ import"../facades/index.js";import{b as w,c} from"../kernel/index.js";import"../chunk-ad656a60ce7912bb.js";import"../chunk-9350baa090b5a424.js";import"../chunk-c8f1115d77efc1c0.js";import{renderToStaticMarkup as u} from"react-dom/server";var x=(t)=>{return`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">${u(t)}`};class s{static async send(t,r){const e=new t,{to:a=e.to,from:l=e.from,subject:m=e.subject,cc:p=e.cc,bcc:T=e.bcc,attachments:d=e.attachments,data:E}=r,n=x(e.render(E));if(process.env.EMAIL_DEBUG){const o=`${process.env.ROOT_DIR}/.debug/emails/${(new Date()).toISOString()}${m}.html`;await Bun.write(o,n),Bun.spawnSync(["open",o]);return}await c.getContext().emailServiceProvider.send({bcc:T,cc:p,from:l,subject:m,to:a,attachments:d,html:n})}}import{createElement as f,Fragment as g} from"react";class i{from="doe@gemijs.dev";to=["hi@gemijs.dev"];subject="Welcome";cc=[];bcc=[];attachments=[];render(t){return console.log("EmailTemplate"),f(g,null,"EmailTemplate")}}export{i as EmailTemplate,w as EmailServiceProvider,s as Email};
@@ -30,7 +30,7 @@ export declare class HttpRequest<T extends Body = Record<string, never>, Params
30
30
  setRequest(req: HttpRequest<any, any>): void;
31
31
  };
32
32
  constructor(req: Request, params: Params);
33
- refine(input: T): Record<string, string>;
33
+ refine(input: T): Record<string, string> | undefined;
34
34
  private parseBody;
35
35
  private validateInput;
36
36
  input(): Promise<Input<T>>;
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../http/HttpRequest.ts"],"names":[],"mappings":"AAIA,cAAM,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,CAAC;IAEpB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAI7B,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAInC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;IAIhB,MAAM,IAAI,CAAC;CAGnB;AA4CD,KAAK,UAAU,GAAG,QAAQ,CAAC;AAC3B,KAAK,UAAU,GAAG,QAAQ,CAAC;AAC3B,KAAK,WAAW,GAAG,SAAS,CAAC;AAC7B,KAAK,aAAa,GAAG,OAAO,MAAM,EAAE,CAAC;AACrC,KAAK,aAAa,GAAG,OAAO,MAAM,EAAE,CAAC;AACrC,KAAK,YAAY,GAAG,UAAU,CAAC;AAC/B,KAAK,SAAS,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,aAAa,GACb,YAAY,CAAC;AAEjB,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,IAAI,IAAI,MAAM,CACzC,MAAM,CAAC,EACP,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CACnC,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvC,qBAAa,WAAW,CACtB,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACtC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEvB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAG,CAAM;IAEjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG;;;;;;;MAA6B;gBAE3B,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAgBjC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YAIjC,SAAS;IAwCvB,OAAO,CAAC,aAAa;IAoCR,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAI1B,SAAS,IAAI,OAAO,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB,CAAC;IAsBW,SAAS,CAAC,MAAM,EAAE,eAAe;CAG/C;AAeD,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../http/HttpRequest.ts"],"names":[],"mappings":"AAIA,cAAM,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,CAAC;IAEpB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAI7B,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAInC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;IAIhB,MAAM,IAAI,CAAC;CAGnB;AA4CD,KAAK,UAAU,GAAG,QAAQ,CAAC;AAC3B,KAAK,UAAU,GAAG,QAAQ,CAAC;AAC3B,KAAK,WAAW,GAAG,SAAS,CAAC;AAC7B,KAAK,aAAa,GAAG,OAAO,MAAM,EAAE,CAAC;AACrC,KAAK,aAAa,GAAG,OAAO,MAAM,EAAE,CAAC;AACrC,KAAK,YAAY,GAAG,UAAU,CAAC;AAC/B,KAAK,SAAS,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,aAAa,GACb,YAAY,CAAC;AAEjB,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,IAAI,IAAI,MAAM,CACzC,MAAM,CAAC,EACP,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CACnC,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvC,qBAAa,WAAW,CACtB,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACtC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEvB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAG,CAAM;IAEjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG;;;;;;;MAA6B;gBAE3B,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAgBjC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;YAI7C,SAAS;IAwCvB,OAAO,CAAC,aAAa;IAoCR,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAI1B,SAAS,IAAI,OAAO,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB,CAAC;IAsBW,SAAS,CAAC,MAAM,EAAE,eAAe;CAG/C;AAeD,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC"}
@@ -2,7 +2,6 @@ export { Controller, ResourceController } from "./Controller";
2
2
  export { ApiRouter, type CreateRPC } from "./ApiRouter";
3
3
  export { ViewRouter } from "./ViewRouter";
4
4
  export { ValidationError } from "./Router";
5
- export { AuthenticationError } from "./errors";
6
5
  export { HttpRequest } from "./HttpRequest";
7
6
  export { Middleware } from "./Middleware";
8
7
  export { getCookies } from "./getCookies";
@@ -11,4 +10,5 @@ export { MiddlewareServiceProvider } from "./MiddlewareServiceProvider";
11
10
  export { AuthenticationMiddleware } from "./AuthenticationMiddlware";
12
11
  export { PoliciesServiceProvider } from "./PoliciesServiceProvider";
13
12
  export { Policies } from "./Policy";
13
+ export { AuthenticationError, AuthorizationError, InsufficientPermissionsError, } from "./errors";
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,UAAU,CAAC"}
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{d,e as x,g,h as w,i as k,l as n,m as R,n as h,o as C} from"../chunk-700835a3a709b370.js";import"../chunk-9350baa090b5a424.js";import{u as q,v as a,x as p} from"../chunk-c8f1115d77efc1c0.js";class s{async run(o){return{}}}function l(o){const e=o.headers.get("cookie");if(!e)return new Map;const r=new Map,t=e.split(";");for(let i of t){const[m,f]=i.split("=");r.set(m.trim(),f)}return r}class c extends s{constructor(){super(...arguments)}async run(o){const e=a.getStore(),r=e.req.cookies.get("access_token");if(!r)throw new n;let t=e.user;if(!t){const i=await p.getStore().authenticationServiceProvider.adapter.findSession({token:r,userAgent:e.req.headers.get("User-Agent")});if(!i)throw new n;t=i?.user,e.setUser(t)}return{}}}class u{all(o,e){return!0}}export{l as getCookies,w as ViewRouter,k as ValidationError,x as ResourceController,q as RequestBreakerError,C as PoliciesServiceProvider,u as Policies,h as MiddlewareServiceProvider,s as Middleware,R as HttpRequest,d as Controller,c as AuthenticationMiddleware,n as AuthenticationError,g as ApiRouter};
2
+ import{d,e as x,g,h as w,i as k,j as R,k as h,l as C,m as M,n,o as P} from"../chunk-ad656a60ce7912bb.js";import"../chunk-9350baa090b5a424.js";import{u as q,v as a,x as c} from"../chunk-c8f1115d77efc1c0.js";class s{async run(o){return{}}}function l(o){const e=o.headers.get("cookie");if(!e)return new Map;const r=new Map,t=e.split(";");for(let i of t){const[f,m]=i.split("=");r.set(f.trim(),m)}return r}class p extends s{constructor(){super(...arguments)}async run(o){const e=a.getStore(),r=e.req.cookies.get("access_token");if(!r)throw new n;let t=e.user;if(!t){const i=await c.getStore().authenticationServiceProvider.adapter.findSession({token:r,userAgent:e.req.headers.get("User-Agent")});if(!i)throw new n;t=i?.user,e.setUser(t)}return{}}}class u{all(o,e){return!0}}export{l as getCookies,w as ViewRouter,k as ValidationError,x as ResourceController,q as RequestBreakerError,P as PoliciesServiceProvider,u as Policies,h as MiddlewareServiceProvider,s as Middleware,M as InsufficientPermissionsError,R as HttpRequest,d as Controller,C as AuthorizationError,p as AuthenticationMiddleware,n as AuthenticationError,g as ApiRouter};