@kyro-cms/core 0.10.6 → 0.10.8
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/api-handler-graphql.cjs +1 -1
- package/dist/api-handler-graphql.js +1 -1
- package/dist/api-handler-trpc.cjs +1 -1
- package/dist/api-handler-trpc.js +1 -1
- package/dist/api-handler.cjs +1 -1
- package/dist/api-handler.js +1 -1
- package/dist/{bootstrap-P7QPQYQP.js → bootstrap-IVQWSJXZ.js} +1 -1
- package/dist/{bootstrap-HIAV5ZFT.cjs → bootstrap-OHGQGMRV.cjs} +1 -1
- package/dist/chunk-5J6HXUF6.js +1 -0
- package/dist/{chunk-IFJJ44OQ.cjs → chunk-6CLRVJPP.cjs} +1 -1
- package/dist/chunk-AHSFSERC.cjs +1 -0
- package/dist/chunk-CIE3XMLH.cjs +2 -0
- package/dist/{chunk-KIW36TG7.cjs → chunk-F3Z67QWS.cjs} +4 -4
- package/dist/{chunk-EEWCANFX.js → chunk-MSSRVZH6.js} +1 -1
- package/dist/chunk-POWTSLKC.js +21 -0
- package/dist/chunk-PWGS2GPI.js +86 -0
- package/dist/chunk-R6UUTH3T.js +2 -0
- package/dist/chunk-TD6RULJU.cjs +21 -0
- package/dist/{chunk-CDL7ARXT.js → chunk-VKXQUYYV.js} +1 -1
- package/dist/{chunk-CUTFS6N2.cjs → chunk-Y7K26TBA.cjs} +1 -1
- package/dist/cli/index.cjs +2 -2
- package/dist/cli/index.js +2 -2
- package/dist/client.cjs +1 -1
- package/dist/client.js +1 -1
- package/dist/drizzle/index.cjs +1 -1
- package/dist/drizzle/index.js +1 -1
- package/dist/fields/index.cjs +1 -1
- package/dist/fields/index.js +1 -1
- package/dist/graphql/index.cjs +1 -1
- package/dist/graphql/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/integration.cjs +1 -1
- package/dist/integration.js +1 -1
- package/dist/{media-RNMCZYPZ.js → media-L5XDD47D.js} +1 -1
- package/dist/{media-NSSMOB7N.cjs → media-OUBQTIQP.cjs} +1 -1
- package/dist/{mongo-auth-adapter-XI7EPURZ.js → mongo-auth-adapter-LG5O4LIH.js} +1 -1
- package/dist/{mongo-auth-adapter-JYJ4GBZE.cjs → mongo-auth-adapter-YPONSOCY.cjs} +1 -1
- package/dist/mongodb/index.cjs +1 -1
- package/dist/mongodb/index.js +1 -1
- package/dist/{postgres-auth-adapter-F4KLOGAG.js → postgres-auth-adapter-33QOIRXT.js} +1 -1
- package/dist/{postgres-auth-adapter-E7OGMDD4.cjs → postgres-auth-adapter-JKDYYULH.cjs} +1 -1
- package/dist/{redis-adapter-AQJVABYT.cjs → redis-adapter-KECGVSVX.cjs} +1 -1
- package/dist/{redis-adapter-AUKOV74G.js → redis-adapter-VAXP43GR.js} +1 -1
- package/dist/rest/index.cjs +1 -1
- package/dist/rest/index.js +1 -1
- package/dist/{schema-6O4JTJRU.cjs → schema-HIUSHSUI.cjs} +1 -1
- package/dist/{schema-5XNROI7I.js → schema-KFYUM674.js} +1 -1
- package/dist/{sqlite-adapter-5XFLNJDH.js → sqlite-adapter-FP45QCYK.js} +1 -1
- package/dist/{sqlite-adapter-W53Q32N5.cjs → sqlite-adapter-Z3IBBI4X.cjs} +1 -1
- package/dist/templates/index.cjs +1 -1
- package/dist/templates/index.js +1 -1
- package/dist/trpc/index.cjs +1 -1
- package/dist/trpc/index.js +1 -1
- package/dist/ws/index.cjs +1 -1
- package/dist/ws/index.js +1 -1
- package/package.json +6 -18
- package/dist/chunk-DGJUBN33.js +0 -1
- package/dist/chunk-F7P36SLX.cjs +0 -74
- package/dist/chunk-FS7GL2BR.js +0 -73
- package/dist/chunk-LRGAPGG3.js +0 -74
- package/dist/chunk-OQD3WG6Z.cjs +0 -1
- package/dist/chunk-R7DVVXXI.cjs +0 -73
- package/dist/chunk-URCLFIME.js +0 -86
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkY7K26TBA_cjs=require('./chunk-Y7K26TBA.cjs');require('./chunk-TD6RULJU.cjs'),require('./chunk-UJNSOOYZ.cjs'),require('./chunk-65G73T7Z.cjs'),require('./chunk-CVVW4LXZ.cjs'),require('./chunk-CIE3XMLH.cjs'),require('./chunk-F3Z67QWS.cjs'),require('./chunk-AJAZ7D3W.cjs'),require('./chunk-WIZ6C5QZ.cjs'),require('./chunk-GFU7AOI3.cjs'),require('./chunk-ET6NN2V2.cjs'),require('./chunk-HVXO3OFB.cjs'),require('./chunk-ISWMETHJ.cjs'),require('./chunk-NY47CFVP.cjs'),require('./chunk-F7SR5IDT.cjs'),require('./chunk-4ORJMSJU.cjs'),require('./chunk-6CLRVJPP.cjs'),require('./chunk-GYQMNXXW.cjs'),require('./chunk-MIOMMB23.cjs'),require('./chunk-UBHFUFD4.cjs'),require('./chunk-UDSJGML2.cjs'),require('./chunk-ATLSIYRH.cjs'),require('./chunk-DV4LFLPL.cjs'),require('./chunk-Q3Q7BJVQ.cjs'),require('./chunk-AHSFSERC.cjs');function a(e){return new Response(e.body,e)}var p=async e=>{await chunkY7K26TBA_cjs.b();let t=await chunkY7K26TBA_cjs.a.getGraphQL().fetch(e.request,e.locals);return a(t)},c=async e=>{await chunkY7K26TBA_cjs.b();let t=await chunkY7K26TBA_cjs.a.getGraphQL().fetch(e.request,e.locals);return a(t)};exports.GET=c;exports.POST=p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {b,a as a$1}from'./chunk-
|
|
1
|
+
import {b,a as a$1}from'./chunk-MSSRVZH6.js';import'./chunk-POWTSLKC.js';import'./chunk-FO3HLBC7.js';import'./chunk-NZ35PV5R.js';import'./chunk-7N6NKCRT.js';import'./chunk-R6UUTH3T.js';import'./chunk-PWGS2GPI.js';import'./chunk-7WOX27LK.js';import'./chunk-K6WUOU6P.js';import'./chunk-AE6GXUT7.js';import'./chunk-2W4FK6CJ.js';import'./chunk-NRLIGDYF.js';import'./chunk-UVTS2IWM.js';import'./chunk-HLSB2MCK.js';import'./chunk-SL3LZQCF.js';import'./chunk-PP5S2UBV.js';import'./chunk-VKXQUYYV.js';import'./chunk-RHCWCG3O.js';import'./chunk-OG7CNQGU.js';import'./chunk-QRXDCV6K.js';import'./chunk-G6A7OSIG.js';import'./chunk-P7CESLDJ.js';import'./chunk-ZAQOSRP6.js';import'./chunk-KDNYHLD2.js';import'./chunk-5J6HXUF6.js';function a(e){return new Response(e.body,e)}var p=async e=>{await b();let t=await a$1.getGraphQL().fetch(e.request,e.locals);return a(t)},c=async e=>{await b();let t=await a$1.getGraphQL().fetch(e.request,e.locals);return a(t)};export{c as GET,p as POST};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkY7K26TBA_cjs=require('./chunk-Y7K26TBA.cjs');require('./chunk-TD6RULJU.cjs'),require('./chunk-UJNSOOYZ.cjs'),require('./chunk-65G73T7Z.cjs'),require('./chunk-CVVW4LXZ.cjs'),require('./chunk-CIE3XMLH.cjs'),require('./chunk-F3Z67QWS.cjs'),require('./chunk-AJAZ7D3W.cjs'),require('./chunk-WIZ6C5QZ.cjs'),require('./chunk-GFU7AOI3.cjs'),require('./chunk-ET6NN2V2.cjs'),require('./chunk-HVXO3OFB.cjs'),require('./chunk-ISWMETHJ.cjs'),require('./chunk-NY47CFVP.cjs'),require('./chunk-F7SR5IDT.cjs'),require('./chunk-4ORJMSJU.cjs'),require('./chunk-6CLRVJPP.cjs'),require('./chunk-GYQMNXXW.cjs'),require('./chunk-MIOMMB23.cjs'),require('./chunk-UBHFUFD4.cjs'),require('./chunk-UDSJGML2.cjs'),require('./chunk-ATLSIYRH.cjs'),require('./chunk-DV4LFLPL.cjs'),require('./chunk-Q3Q7BJVQ.cjs'),require('./chunk-AHSFSERC.cjs');var p=async t=>(await chunkY7K26TBA_cjs.b(),chunkY7K26TBA_cjs.a.getTRPC().fetch(t.request,t.locals));exports.ALL=p;
|
package/dist/api-handler-trpc.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {b,a}from'./chunk-
|
|
1
|
+
import {b,a}from'./chunk-MSSRVZH6.js';import'./chunk-POWTSLKC.js';import'./chunk-FO3HLBC7.js';import'./chunk-NZ35PV5R.js';import'./chunk-7N6NKCRT.js';import'./chunk-R6UUTH3T.js';import'./chunk-PWGS2GPI.js';import'./chunk-7WOX27LK.js';import'./chunk-K6WUOU6P.js';import'./chunk-AE6GXUT7.js';import'./chunk-2W4FK6CJ.js';import'./chunk-NRLIGDYF.js';import'./chunk-UVTS2IWM.js';import'./chunk-HLSB2MCK.js';import'./chunk-SL3LZQCF.js';import'./chunk-PP5S2UBV.js';import'./chunk-VKXQUYYV.js';import'./chunk-RHCWCG3O.js';import'./chunk-OG7CNQGU.js';import'./chunk-QRXDCV6K.js';import'./chunk-G6A7OSIG.js';import'./chunk-P7CESLDJ.js';import'./chunk-ZAQOSRP6.js';import'./chunk-KDNYHLD2.js';import'./chunk-5J6HXUF6.js';var p=async t=>(await b(),a.getTRPC().fetch(t.request,t.locals));export{p as ALL};
|
package/dist/api-handler.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkY7K26TBA_cjs=require('./chunk-Y7K26TBA.cjs');require('./chunk-TD6RULJU.cjs'),require('./chunk-UJNSOOYZ.cjs'),require('./chunk-65G73T7Z.cjs'),require('./chunk-CVVW4LXZ.cjs'),require('./chunk-CIE3XMLH.cjs'),require('./chunk-F3Z67QWS.cjs'),require('./chunk-AJAZ7D3W.cjs'),require('./chunk-WIZ6C5QZ.cjs'),require('./chunk-GFU7AOI3.cjs'),require('./chunk-ET6NN2V2.cjs'),require('./chunk-HVXO3OFB.cjs'),require('./chunk-ISWMETHJ.cjs'),require('./chunk-NY47CFVP.cjs'),require('./chunk-F7SR5IDT.cjs'),require('./chunk-4ORJMSJU.cjs'),require('./chunk-6CLRVJPP.cjs'),require('./chunk-GYQMNXXW.cjs'),require('./chunk-MIOMMB23.cjs'),require('./chunk-UBHFUFD4.cjs'),require('./chunk-UDSJGML2.cjs'),require('./chunk-ATLSIYRH.cjs'),require('./chunk-DV4LFLPL.cjs'),require('./chunk-Q3Q7BJVQ.cjs'),require('./chunk-AHSFSERC.cjs');Object.defineProperty(exports,"ALL",{enumerable:true,get:function(){return chunkY7K26TBA_cjs.c}});Object.defineProperty(exports,"kyroInstance",{enumerable:true,get:function(){return chunkY7K26TBA_cjs.a}});Object.defineProperty(exports,"warmKyroInstance",{enumerable:true,get:function(){return chunkY7K26TBA_cjs.b}});
|
package/dist/api-handler.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{c as ALL,a as kyroInstance,b as warmKyroInstance}from'./chunk-
|
|
1
|
+
export{c as ALL,a as kyroInstance,b as warmKyroInstance}from'./chunk-MSSRVZH6.js';import'./chunk-POWTSLKC.js';import'./chunk-FO3HLBC7.js';import'./chunk-NZ35PV5R.js';import'./chunk-7N6NKCRT.js';import'./chunk-R6UUTH3T.js';import'./chunk-PWGS2GPI.js';import'./chunk-7WOX27LK.js';import'./chunk-K6WUOU6P.js';import'./chunk-AE6GXUT7.js';import'./chunk-2W4FK6CJ.js';import'./chunk-NRLIGDYF.js';import'./chunk-UVTS2IWM.js';import'./chunk-HLSB2MCK.js';import'./chunk-SL3LZQCF.js';import'./chunk-PP5S2UBV.js';import'./chunk-VKXQUYYV.js';import'./chunk-RHCWCG3O.js';import'./chunk-OG7CNQGU.js';import'./chunk-QRXDCV6K.js';import'./chunk-G6A7OSIG.js';import'./chunk-P7CESLDJ.js';import'./chunk-ZAQOSRP6.js';import'./chunk-KDNYHLD2.js';import'./chunk-5J6HXUF6.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{d as autoBootstrap,a as bootstrapAdmin,e as bootstrapWithRetry,b as checkBootstrapRequired,c as getBootstrapFromEnv}from'./chunk-FO3HLBC7.js';import'./chunk-7WOX27LK.js';import'./chunk-K6WUOU6P.js';import'./chunk-2W4FK6CJ.js';import'./chunk-
|
|
1
|
+
export{d as autoBootstrap,a as bootstrapAdmin,e as bootstrapWithRetry,b as checkBootstrapRequired,c as getBootstrapFromEnv}from'./chunk-FO3HLBC7.js';import'./chunk-7WOX27LK.js';import'./chunk-K6WUOU6P.js';import'./chunk-2W4FK6CJ.js';import'./chunk-5J6HXUF6.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var chunkUJNSOOYZ_cjs=require('./chunk-UJNSOOYZ.cjs');require('./chunk-AJAZ7D3W.cjs'),require('./chunk-WIZ6C5QZ.cjs'),require('./chunk-ET6NN2V2.cjs'),require('./chunk-
|
|
1
|
+
'use strict';var chunkUJNSOOYZ_cjs=require('./chunk-UJNSOOYZ.cjs');require('./chunk-AJAZ7D3W.cjs'),require('./chunk-WIZ6C5QZ.cjs'),require('./chunk-ET6NN2V2.cjs'),require('./chunk-AHSFSERC.cjs');Object.defineProperty(exports,"autoBootstrap",{enumerable:true,get:function(){return chunkUJNSOOYZ_cjs.d}});Object.defineProperty(exports,"bootstrapAdmin",{enumerable:true,get:function(){return chunkUJNSOOYZ_cjs.a}});Object.defineProperty(exports,"bootstrapWithRetry",{enumerable:true,get:function(){return chunkUJNSOOYZ_cjs.e}});Object.defineProperty(exports,"checkBootstrapRequired",{enumerable:true,get:function(){return chunkUJNSOOYZ_cjs.b}});Object.defineProperty(exports,"getBootstrapFromEnv",{enumerable:true,get:function(){return chunkUJNSOOYZ_cjs.c}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var k=(b,a)=>()=>(b&&(a=b(b=0)),a);var l=(b,a)=>{for(var d in a)e(b,d,{get:a[d],enumerable:true});},j=(b,a,d,f)=>{if(a&&typeof a=="object"||typeof a=="function")for(let c of h(a))!i.call(b,c)&&c!==d&&e(b,c,{get:()=>a[c],enumerable:!(f=g(a,c))||f.enumerable});return b};var m=b=>j(e({},"__esModule",{value:true}),b);export{k as a,l as b,m as c};
|
|
@@ -129,5 +129,5 @@
|
|
|
129
129
|
created_at text NOT NULL,
|
|
130
130
|
updated_at text NOT NULL
|
|
131
131
|
)
|
|
132
|
-
`,await this.executeRaw(drizzleOrm.sql.raw(s));try{this.dialect==="postgres"?await this.executeRaw(drizzleOrm.sql.raw("ALTER TABLE kyro_versions ADD COLUMN IF NOT EXISTS autosave integer NOT NULL DEFAULT 0")):await this.executeRaw(drizzleOrm.sql.raw("ALTER TABLE kyro_versions ADD COLUMN autosave integer NOT NULL DEFAULT 0"));}catch{}this.versionsTableReady=true;}async executeRaw(s){let n=await this.client.execute(s);return Array.isArray(n)?n:Array.isArray(n?.rows)?n.rows:Array.isArray(n?.[0])?n[0]:[]}};function be(f){return new C(f)}var de=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-
|
|
132
|
+
`,await this.executeRaw(drizzleOrm.sql.raw(s));try{this.dialect==="postgres"?await this.executeRaw(drizzleOrm.sql.raw("ALTER TABLE kyro_versions ADD COLUMN IF NOT EXISTS autosave integer NOT NULL DEFAULT 0")):await this.executeRaw(drizzleOrm.sql.raw("ALTER TABLE kyro_versions ADD COLUMN autosave integer NOT NULL DEFAULT 0"));}catch{}this.versionsTableReady=true;}async executeRaw(s){let n=await this.client.execute(s);return Array.isArray(n)?n:Array.isArray(n?.rows)?n.rows:Array.isArray(n?.[0])?n[0]:[]}};function be(f){return new C(f)}var de=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-6CLRVJPP.cjs', document.baseURI).href))),ue="node:sqlite",{DatabaseSync:fe}=de(ue);function pe(){return process.env.DB_TYPE==="postgres"?"postgres":"sqlite"}function k(){return crypto.randomBytes(16).toString("hex")}async function Ie(){let f=pe();if(f==="sqlite"){let r=path.resolve(process.cwd(),"data","kyro.db");await promises.mkdir(path.dirname(r),{recursive:true});let a=new fe(r);return a.exec("PRAGMA journal_mode = WAL"),{db:a,dialect:f,genId:k}}let s=process.env.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/kyro_cms",n=parseInt(process.env.DB_POOL_MAX||"10",10),e=process.env.DB_SSL==="true",t=ne__default.default(s,{max:n,ssl:e?"require":false,onnotice:()=>{}});return {db:postgresJs.drizzle(t),dialect:f,genId:k}}async function Ce(f,s){}async function $e(f){let{roles:s}=await import('./schema-HIUSHSUI.cjs');await f.insert(s).values({name:"super_admin",level:100,inherits:[],description:"Full system access across all tenants",isSystem:true}).onConflictDoNothing();}
|
|
133
133
|
exports.a=b;exports.b=Ee;exports.c=C;exports.d=be;exports.e=k;exports.f=Ie;exports.g=Ce;exports.h=$e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var e=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var k=(b,a)=>()=>(b&&(a=b(b=0)),a);var l=(b,a)=>{for(var d in a)e(b,d,{get:a[d],enumerable:true});},j=(b,a,d,f)=>{if(a&&typeof a=="object"||typeof a=="function")for(let c of h(a))!i.call(b,c)&&c!==d&&e(b,c,{get:()=>a[c],enumerable:!(f=g(a,c))||f.enumerable});return b};var m=b=>j(e({},"__esModule",{value:true}),b);exports.a=k;exports.b=l;exports.c=m;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkNY47CFVP_cjs=require('./chunk-NY47CFVP.cjs'),chunkQ3Q7BJVQ_cjs=require('./chunk-Q3Q7BJVQ.cjs'),graphql=require('graphql');var J=class{db;tenantID;user;caches=new Map;pending=new Map;waiting=new Map;flushScheduled=false;constructor(n){this.db=n.db,this.tenantID=n.tenantID,this.user=n.user;}getCacheKey(n){return n}async load(n,e){let l=this.getCacheKey(n),o=this.caches.get(l);if(o||(o=new Map,this.caches.set(l,o)),o.has(e))return o.get(e);let s=this.pending.get(l);return s||(s=new Set,this.pending.set(l,s)),s.add(e),o.set(e,void 0),this.flushScheduled||(this.flushScheduled=true,queueMicrotask(()=>{this.flushScheduled=false,this.flushAll();})),new Promise(c=>{this.waiting.set(`${l}:${e}`,c);})}async flushAll(){for(let[n,e]of this.pending){if(e.size===0)continue;let l=this.caches.get(n),o=await this.db.find({collection:n,where:{id:{in:Array.from(e)}},limit:e.size,tenantID:this.tenantID,draft:!!this.user});for(let s of o.docs||[])if(s&&s.id){l.set(s.id,s);let c=this.waiting.get(`${n}:${s.id}`);c&&(c(s),this.waiting.delete(`${n}:${s.id}`));}}for(let[n,e]of this.waiting)e(void 0);this.waiting.clear(),this.pending.clear();}resolveOne(n,e){return this.caches.get(this.getCacheKey(n))?.get(e)}},v=new graphql.GraphQLScalarType({name:"JSON",description:"Arbitrary JSON value",serialize(a){return a},parseValue(a){return a},parseLiteral(a){switch(a.kind){case graphql.Kind.STRING:return a.value;case graphql.Kind.INT:case graphql.Kind.FLOAT:return parseFloat(a.value);case graphql.Kind.BOOLEAN:return a.value;case graphql.Kind.OBJECT:{let n={};for(let e of a.fields)n[e.name.value]=v.parseLiteral(e.value);return n}case graphql.Kind.LIST:return a.values.map(n=>v.parseLiteral(n));case graphql.Kind.NULL:return null;default:return null}}});function re(a){return n=>{let e=0;return {Field(){e++,e>a&&n.reportError(new Error(`Query exceeds max depth of ${a}`));},leaveField(){e--;}}}}function w(a){return a.split(/[-_]/).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join("")}function k(a){let n=w(a);return n.charAt(0).toLowerCase()+n.slice(1)}function b(a){return a.endsWith("s")&&a.length>1?a.slice(0,-1):a}async function _(a,n,e){let l=a.access?.[n];if(e.apiKey){if(e.apiKey.permissions?.length>0){let s=a.slug,Q=`${s}:${n==="read"?"read":n==="create"?"create":"update"}`;return !chunkNY47CFVP_cjs.h(e.apiKey.permissions,Q)&&!chunkNY47CFVP_cjs.h(e.apiKey.permissions,`${s}:admin`)?{allowed:false}:{allowed:true}}if(l){let s=await chunkNY47CFVP_cjs.a(l,{req:e.req,user:e.user,tenantID:e.tenantID});return typeof s=="boolean"?{allowed:s}:{allowed:true,extraWhere:s}}return {allowed:true}}if(e.user){let s=a.slug,Q=`${s}:${n==="read"?"read":n==="create"?"create":n==="update"?"update":"delete"}`;if(!chunkQ3Q7BJVQ_cjs.a({id:e.user.id,email:e.user.email,role:e.user.role},Q)&&!chunkQ3Q7BJVQ_cjs.a({id:e.user.id,email:e.user.email,role:e.user.role},`${s}:admin`)&&!l)return {allowed:false}}if(!l)return e.user?{allowed:true}:{allowed:false};let o=await chunkNY47CFVP_cjs.a(l,{req:e.req,user:e.user,tenantID:e.tenantID});return typeof o=="boolean"?{allowed:o}:{allowed:true,extraWhere:o}}async function Z(a,n,e){let l=a.access?.[n];if(e.apiKey){if(e.apiKey.permissions?.length>0){let s=a.slug,c=`${s}:${n}`;return !chunkNY47CFVP_cjs.h(e.apiKey.permissions,c)&&!chunkNY47CFVP_cjs.h(e.apiKey.permissions,`${s}:admin`)&&!chunkNY47CFVP_cjs.h(e.apiKey.permissions,`${s}:*`)?{allowed:false}:{allowed:true}}if(l){let s=await chunkNY47CFVP_cjs.a(l,{req:e.req,user:e.user,tenantID:e.tenantID});return {allowed:typeof s=="boolean"?s:true}}return {allowed:true}}if(!l){if(!e.user)return {allowed:false};let s=e.user.role;return s==="super_admin"||s==="admin"?{allowed:true}:{allowed:false}}let o=await chunkNY47CFVP_cjs.a(l,{req:e.req,user:e.user,tenantID:e.tenantID});return typeof o=="boolean"?{allowed:o}:{allowed:true}}function V(a,n){return a?a.startsWith("http://")||a.startsWith("https://")||a.startsWith("blob:")||a.startsWith("data:")?a:`${(process.env.KYRO_BASE_URL||n||"http://localhost:4321").replace(/\/+$/,"")}${a.startsWith("/")?"":"/"}${a}`:null}function R(a,n){return a&&(a.url&&(a.url=V(a.url,n)),a.thumbnailUrl&&(a.thumbnailUrl=V(a.thumbnailUrl,n)),a)}function E(a,n,e,l=false){switch(a.type){case "text":case "email":case "password":case "textarea":case "color":case "code":case "markdown":case "date":case "select":case "radio":return graphql.GraphQLString;case "upload":{let o=a;if(l)return o.hasMany?new graphql.GraphQLList(graphql.GraphQLString):graphql.GraphQLString;if(o.relationTo&&e?.[o.relationTo]){let s=e[o.relationTo];return o.hasMany?new graphql.GraphQLList(s):s}return v}case "image":{if(l)return graphql.GraphQLString;let o=a;return o.relationTo&&e?.[o.relationTo]?e[o.relationTo]:v}case "number":return a.integer?graphql.GraphQLInt:graphql.GraphQLFloat;case "checkbox":return graphql.GraphQLBoolean;case "json":case "richtext":case "blocks":case "tabs":return v;case "relationship":if(typeof a.relationTo=="string"){if(l)return a.hasMany?new graphql.GraphQLList(graphql.GraphQLString):graphql.GraphQLString;if(e?.[a.relationTo])return a.hasMany?new graphql.GraphQLList(e[a.relationTo]):e[a.relationTo];let o=n.getCollection(a.relationTo);if(o)return new graphql.GraphQLObjectType({name:`${w(a.relationTo)}Ref`,fields:()=>({id:{type:graphql.GraphQLString},...z(o,n,e)})})}return graphql.GraphQLString;case "array":return new graphql.GraphQLList(graphql.GraphQLString);case "group":return v;default:return graphql.GraphQLString}}function z(a,n,e){let l={};for(let o of a.fields)if(o.name&&o.admin?.hidden!==true){let s=ne(o,n,e);s&&(l[o.name]=s);}return l}function ne(a,n,e){if(!a.name)return null;let l=a.deprecated||void 0;if(a.type==="upload"){let s=E(a,n,e,false),c=a;return {type:a.required?new graphql.GraphQLNonNull(s):s,description:a.admin?.description||a.label,deprecationReason:l,resolve:async(Q,K,D)=>{let h=D?.relationLoader,u=Q?.[c.name],y=D?.req?.url?new URL(D.req.url).origin:void 0;if(!u)return null;if(c.hasMany){let G=Array.isArray(u)?u:[];return Promise.all(G.map(async g=>{let O=typeof g=="string"?g:g?.id;if(!O||typeof g=="object"&&g?.url)return R(g,y);if(h){let A=h.resolveOne(c.relationTo,O);if(A)return R(A,y);let P=await h.load(c.relationTo,O);if(P)return R(P,y)}return {id:O}}))}let L=typeof u=="string"?u:u?.id;if(!L||typeof u=="object"&&u?.url)return R(u,y);if(h){let G=h.resolveOne(c.relationTo,L);if(G)return R(G,y);let g=await h.load(c.relationTo,L);if(g)return R(g,y)}return {id:L}}}}if(a.type==="relationship"&&!a.hasMany){let s=E(a,n,e,false);return {type:a.required?new graphql.GraphQLNonNull(s):s,description:a.admin?.description||a.label,deprecationReason:l,resolve:async(c,Q,K)=>{let D=K?.relationLoader,h=a,u=c?.[h.name];if(!u)return null;if(D&&typeof u=="string"){let y=D.resolveOne(h.relationTo,u);if(y)return y;let L=await D.load(h.relationTo,u);if(L)return L}return {id:u}}}}if(a.type==="relationship"&&a.hasMany)return {type:E(a,n,e,false),description:a.admin?.description||a.label,deprecationReason:l,resolve:async(c,Q,K)=>{let D=K?.relationLoader,h=a,u=c?.[h.name]||[];if(!u.length)return [];if(D){let y=[];for(let L of u){let G=D.resolveOne(h.relationTo,L);if(G)y.push(G);else {let g=await D.load(h.relationTo,L);y.push(g||{id:L});}}return y}return u.map(y=>({id:y}))}};let o=E(a,n,e,false);return {type:a.required?new graphql.GraphQLNonNull(o):o,description:a.admin?.description||a.label,deprecationReason:l}}function Y(a){let{registry:n,db:e,user:l,req:o,tenantID:s,apiKey:c,settings:Q}=a;if(Q?.access?.apiAccess?.graphqlEnabled===false)throw new Error("GraphQL API is disabled");let D=n.getCollections(),h=n.getGlobals(),u={},y={};for(let t of D){u[t.slug]=new graphql.GraphQLObjectType({name:w(b(t.slug)),fields:()=>({id:{type:graphql.GraphQLString},...z(t,n,u),...t.timestamps?{createdAt:{type:graphql.GraphQLString},updatedAt:{type:graphql.GraphQLString}}:{},...t.tenantScoped?{tenantID:{type:graphql.GraphQLString}}:{}})});let f={};for(let m of t.fields)m.name&&m.name!=="id"&&(f[m.name]={type:E(m,n,u,true)});y[t.slug]=new graphql.GraphQLInputObjectType({name:`${w(b(t.slug))}Input`,fields:()=>f});}let L={},G={};for(let t of h)L[t.slug]=new graphql.GraphQLObjectType({name:`${w(t.slug)}Global`,fields:()=>({id:{type:graphql.GraphQLString},...z({slug:t.slug,fields:t.fields},n,u)})}),G[t.slug]=new graphql.GraphQLInputObjectType({name:`${w(t.slug)}GlobalInput`,fields:()=>{let f={};for(let m of t.fields)m.name&&m.name!=="id"&&(f[m.name]={type:E(m,n,u,true)});return f}});let g={};for(let t of D){let f=u[t.slug];f&&(g[k(t.slug)]={type:new graphql.GraphQLObjectType({name:`${w(b(t.slug))}FindResult`,fields:{docs:{type:new graphql.GraphQLList(f)},totalDocs:{type:graphql.GraphQLInt},page:{type:graphql.GraphQLInt},totalPages:{type:graphql.GraphQLInt},hasNextPage:{type:graphql.GraphQLBoolean},hasPrevPage:{type:graphql.GraphQLBoolean}}}),args:{where:{type:graphql.GraphQLString},sort:{type:graphql.GraphQLString},limit:{type:graphql.GraphQLInt},page:{type:graphql.GraphQLInt},draft:{type:graphql.GraphQLBoolean}},resolve:async(m,p,r)=>{let i=await _(t,"read",{user:r.user,req:r.req,tenantID:r.tenantID,apiKey:r.apiKey});if(!i.allowed)throw new Error("Access denied");r.tenantID&&e.setTenantContext({tenantId:r.tenantID,userId:r.user?.id??"",role:r.user?.role,isSuperAdmin:r.user?.role==="super_admin"});let I={};if(p.where)try{I=JSON.parse(p.where);}catch{}i.extraWhere&&(I={...I,...i.extraWhere});let T=p.draft??!!r.user;return e.find({collection:t.slug,where:I,sort:p.sort,limit:p.limit||10,page:p.page||1,tenantID:r.tenantID,draft:T})}},g[k(b(t.slug))]={type:f,args:{id:{type:graphql.GraphQLString},slug:{type:graphql.GraphQLString},draft:{type:graphql.GraphQLBoolean}},resolve:async(m,p,r)=>{if(!p.id&&!p.slug)throw new Error("Either id or slug is required");if(!(await _(t,"read",{user:r.user,req:r.req,tenantID:r.tenantID,apiKey:r.apiKey})).allowed)throw new Error("Access denied");r.tenantID&&e.setTenantContext({tenantId:r.tenantID,userId:r.user?.id??"",role:r.user?.role,isSuperAdmin:r.user?.role==="super_admin"});let I=p.draft??!!r.user;return p.id?e.findByID({collection:t.slug,id:p.id,tenantID:r.tenantID,draft:I}):(await e.find({collection:t.slug,where:{slug:{equals:p.slug}},limit:1,page:1,tenantID:r.tenantID,draft:I})).docs?.[0]||null}},g[`count${w(t.slug)}`]={type:new graphql.GraphQLObjectType({name:`${w(b(t.slug))}Count`,fields:{totalDocs:{type:graphql.GraphQLInt}}}),args:{where:{type:graphql.GraphQLString}},resolve:async(m,p,r)=>{if(!(await _(t,"read",{user:r.user,req:r.req,tenantID:r.tenantID,apiKey:r.apiKey})).allowed)return {totalDocs:0};let I={};if(p.where)try{I=JSON.parse(p.where);}catch{}return {totalDocs:await e.count({collection:t.slug,where:I,tenantID:r.tenantID})}}});}for(let t of h){let f=L[t.slug];f&&(g[k(b(t.slug))]={type:f,resolve:async(m,p,r)=>{if(!(await Z(t,"read",{user:r.user,req:r.req,tenantID:r.tenantID,apiKey:r.apiKey})).allowed)throw new Error("Access denied: cannot read global");return r.tenantID&&e.setTenantContext({tenantId:r.tenantID,userId:r.user?.id??"",role:r.user?.role,isSuperAdmin:r.user?.role==="super_admin"}),e.findOne({collection:`_globals_${t.slug}`,where:{},tenantID:r.tenantID})}});}let O=new graphql.GraphQLObjectType({name:"Query",fields:g}),A={};for(let t of D){let f=u[t.slug],m=y[t.slug];!f||!m||(A[`create${w(b(t.slug))}`]={type:new graphql.GraphQLObjectType({name:`${w(b(t.slug))}CreateResult`,fields:{doc:{type:f},message:{type:graphql.GraphQLString}}}),args:{data:{type:new graphql.GraphQLNonNull(m)}},resolve:async(p,r,i)=>{if(!(await _(t,"create",{user:i.user,req:i.req,tenantID:i.tenantID,apiKey:i.apiKey})).allowed)throw new Error("Access denied: cannot create");i.tenantID&&e.setTenantContext({tenantId:i.tenantID,userId:i.user?.id??"",role:i.user?.role,isSuperAdmin:i.user?.role==="super_admin"});let B=n.getCreateZodSchema(t.slug).parse(r.data);return {doc:await e.create({collection:t.slug,data:B,tenantID:i.tenantID}),message:"Created successfully"}}},A[`update${w(b(t.slug))}`]={type:new graphql.GraphQLObjectType({name:`${w(b(t.slug))}UpdateResult`,fields:{doc:{type:f},message:{type:graphql.GraphQLString}}}),args:{id:{type:new graphql.GraphQLNonNull(graphql.GraphQLString)},data:{type:new graphql.GraphQLNonNull(m)},baseUpdatedAt:{type:graphql.GraphQLString}},resolve:async(p,r,i)=>{if(!(await _(t,"update",{user:i.user,req:i.req,tenantID:i.tenantID,apiKey:i.apiKey})).allowed)throw new Error("Access denied: cannot update");if(i.tenantID&&e.setTenantContext({tenantId:i.tenantID,userId:i.user?.id??"",role:i.user?.role,isSuperAdmin:i.user?.role==="super_admin"}),r.baseUpdatedAt){let W=await e.findByID({collection:t.slug,id:r.id,tenantID:i.tenantID,draft:true});if(W&&W.updatedAt&&r.baseUpdatedAt!==W.updatedAt)throw new Error(`Revision conflict: document has changed since ${r.baseUpdatedAt}. Current updatedAt: ${W.updatedAt}`)}let B=n.getUpdateZodSchema(t.slug).parse(r.data);return {doc:await e.update({collection:t.slug,id:r.id,data:B,tenantID:i.tenantID}),message:"Updated successfully"}}},A[`delete${w(b(t.slug))}`]={type:new graphql.GraphQLObjectType({name:`${w(b(t.slug))}DeleteResult`,fields:{doc:{type:f},message:{type:graphql.GraphQLString}}}),args:{id:{type:new graphql.GraphQLNonNull(graphql.GraphQLString)}},resolve:async(p,r,i)=>{if(!(await _(t,"delete",{user:i.user,req:i.req,tenantID:i.tenantID,apiKey:i.apiKey})).allowed)throw new Error("Access denied: cannot delete");return i.tenantID&&e.setTenantContext({tenantId:i.tenantID,userId:i.user?.id??"",role:i.user?.role,isSuperAdmin:i.user?.role==="super_admin"}),{doc:await e.delete({collection:t.slug,id:r.id,tenantID:i.tenantID}),message:"Deleted successfully"}}});}for(let t of h){let f=G[t.slug];f&&(A[`update${w(t.slug)}`]={type:new graphql.GraphQLObjectType({name:`${w(t.slug)}UpdateResult`,fields:{doc:{type:L[t.slug]||graphql.GraphQLString},message:{type:graphql.GraphQLString}}}),args:{data:{type:new graphql.GraphQLNonNull(f)}},resolve:async(m,p,r)=>{if(!(await Z(t,"update",{user:r.user,req:r.req,tenantID:r.tenantID,apiKey:r.apiKey})).allowed)throw new Error("Access denied: cannot update global");r.tenantID&&e.setTenantContext({tenantId:r.tenantID,userId:r.user?.id??"",role:r.user?.role,isSuperAdmin:r.user?.role==="super_admin"});let I=await e.findOne({collection:`_globals_${t.slug}`,where:{},tenantID:r.tenantID}),T;return I?T=await e.update({collection:`_globals_${t.slug}`,id:I.id,data:p.data,tenantID:r.tenantID}):T=await e.create({collection:`_globals_${t.slug}`,data:p.data,tenantID:r.tenantID}),{doc:T,message:"Updated successfully"}}});}let P=new graphql.GraphQLObjectType({name:"Mutation",fields:A});return new graphql.GraphQLSchema({query:O,mutation:P})}function te(a,n,e){return Y({registry:a,db:n,user:e?.user,req:e?.req,tenantID:e?.tenantID,apiKey:e?.apiKey})}
|
|
2
|
+
Object.defineProperty(exports,"e",{enumerable:true,get:function(){return graphql.printSchema}});exports.a=J;exports.b=re;exports.c=Y;exports.d=te;
|