@ghentcdh/crouton-api 0.0.1-alpha.57 → 0.0.1-alpha.59
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/index.cjs +101 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.js +102 -21
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -44,6 +44,8 @@ __export(index_exports, {
|
|
|
44
44
|
ResourceHooksSchema: () => ResourceHooksSchema,
|
|
45
45
|
SecurityGuardRegistry: () => SecurityGuardRegistry,
|
|
46
46
|
WriteOpSchema: () => WriteOpSchema,
|
|
47
|
+
applyAfterFindAll: () => applyAfterFindAll,
|
|
48
|
+
applyBeforeFindAll: () => applyBeforeFindAll,
|
|
47
49
|
buildFilterWhere: () => buildFilterWhere,
|
|
48
50
|
buildViews: () => buildViews,
|
|
49
51
|
decorateRow: () => decorateRow,
|
|
@@ -1993,7 +1995,9 @@ var import_zod21 = require("zod");
|
|
|
1993
1995
|
var isInstanceOf = /* @__PURE__ */ __name((zodSchema, className) => {
|
|
1994
1996
|
if (!(zodSchema instanceof import_zod21.z.ZodCustom)) return false;
|
|
1995
1997
|
const result = zodSchema.safeParse(null);
|
|
1996
|
-
|
|
1998
|
+
if (result.success) return false;
|
|
1999
|
+
const issue = result.error.issues[0];
|
|
2000
|
+
return issue?.expected === className || (issue?.message?.includes(className) ?? false);
|
|
1997
2001
|
}, "isInstanceOf");
|
|
1998
2002
|
var jsonSchemaOverride = /* @__PURE__ */ __name(({ zodSchema, jsonSchema }) => {
|
|
1999
2003
|
if (zodSchema instanceof import_zod21.z.ZodDate) {
|
|
@@ -5009,7 +5013,9 @@ var ReadOpSchema = import_zod39.z.enum([
|
|
|
5009
5013
|
var ResourceHooksSchema = import_zod39.z.object({
|
|
5010
5014
|
beforeWrite: import_zod39.z.custom().optional(),
|
|
5011
5015
|
afterWrite: import_zod39.z.custom().optional(),
|
|
5012
|
-
afterRead: import_zod39.z.custom().optional()
|
|
5016
|
+
afterRead: import_zod39.z.custom().optional(),
|
|
5017
|
+
beforeFindAll: import_zod39.z.custom().optional(),
|
|
5018
|
+
afterFindAll: import_zod39.z.custom().optional()
|
|
5013
5019
|
});
|
|
5014
5020
|
|
|
5015
5021
|
// src/lib/crud/hooks/hooks.loader.ts
|
|
@@ -5067,6 +5073,14 @@ var prepareWrite = /* @__PURE__ */ __name(async (data, op, target, adapter, id,
|
|
|
5067
5073
|
const hook = target.hooks?.beforeWrite;
|
|
5068
5074
|
return hook ? hook(normalized, hookCtxWrite(adapter, op, id, request, parent)) : normalized;
|
|
5069
5075
|
}, "prepareWrite");
|
|
5076
|
+
var applyBeforeFindAll = /* @__PURE__ */ __name(async (params, target, adapter, request, parent) => {
|
|
5077
|
+
const hook = target.hooks?.beforeFindAll;
|
|
5078
|
+
return hook ? hook(params, hookCtxRead(adapter, "findAll", request, parent)) : params;
|
|
5079
|
+
}, "applyBeforeFindAll");
|
|
5080
|
+
var applyAfterFindAll = /* @__PURE__ */ __name(async (rows, target, adapter, request, parent) => {
|
|
5081
|
+
const hook = target.hooks?.afterFindAll;
|
|
5082
|
+
return hook ? hook(rows, hookCtxRead(adapter, "findAll", request, parent)) : rows;
|
|
5083
|
+
}, "applyAfterFindAll");
|
|
5070
5084
|
var postWrite = /* @__PURE__ */ __name(async (result, op, target, adapter, id, request, parent) => {
|
|
5071
5085
|
const hook = target.hooks?.afterWrite;
|
|
5072
5086
|
return hook ? hook(result, hookCtxWrite(adapter, op, id, request, parent)) : result;
|
|
@@ -5365,9 +5379,11 @@ function createCrudRepository(prisma, config, dataSources, configRegistry) {
|
|
|
5365
5379
|
hooks: config.hooks,
|
|
5366
5380
|
valueLabelColumns: vlCols
|
|
5367
5381
|
};
|
|
5368
|
-
|
|
5382
|
+
const decorated = await decorateRows(rows, "findAll", target, adapter2, request);
|
|
5383
|
+
return applyAfterFindAll(decorated, config, adapter2, request);
|
|
5369
5384
|
}, "mkDecorateFindAll");
|
|
5370
5385
|
const decorateFindAll2 = mkDecorateFindAll(resolvedAdapter);
|
|
5386
|
+
const applyBefore = /* @__PURE__ */ __name((params, request) => applyBeforeFindAll(params, config, resolvedAdapter, request), "applyBefore");
|
|
5371
5387
|
const decorateFindOne2 = /* @__PURE__ */ __name((row, request) => decorateRow(row, "findOne", config, resolvedAdapter, request), "decorateFindOne");
|
|
5372
5388
|
const prepareData2 = /* @__PURE__ */ __name((data, op, id, request) => prepareWrite(data, op, config, resolvedAdapter, id, request), "prepareData");
|
|
5373
5389
|
const postData2 = /* @__PURE__ */ __name((result, op, id, request) => postWrite(result, op, config, resolvedAdapter, id, request), "postData");
|
|
@@ -5399,9 +5415,10 @@ function createCrudRepository(prisma, config, dataSources, configRegistry) {
|
|
|
5399
5415
|
return {
|
|
5400
5416
|
prisma,
|
|
5401
5417
|
findAllWithCount: /* @__PURE__ */ __name(async (params, request) => {
|
|
5402
|
-
const
|
|
5418
|
+
const effectiveParams = await applyBefore(params, request);
|
|
5419
|
+
const { data, count } = await resolvedAdapter.findAll(adapterModelKey, effectiveParams, {
|
|
5403
5420
|
...ctx(request, "findAll"),
|
|
5404
|
-
offset: offsetOf(
|
|
5421
|
+
offset: offsetOf(effectiveParams)
|
|
5405
5422
|
});
|
|
5406
5423
|
return {
|
|
5407
5424
|
data: await decorateFindAll2(data, request),
|
|
@@ -5409,9 +5426,10 @@ function createCrudRepository(prisma, config, dataSources, configRegistry) {
|
|
|
5409
5426
|
};
|
|
5410
5427
|
}, "findAllWithCount"),
|
|
5411
5428
|
findAll: /* @__PURE__ */ __name(async (params, request) => {
|
|
5412
|
-
const
|
|
5429
|
+
const effectiveParams = await applyBefore(params, request);
|
|
5430
|
+
const { data } = await resolvedAdapter.findAll(adapterModelKey, effectiveParams, {
|
|
5413
5431
|
...ctx(request, "findAll"),
|
|
5414
|
-
offset: offsetOf(
|
|
5432
|
+
offset: offsetOf(effectiveParams)
|
|
5415
5433
|
});
|
|
5416
5434
|
return decorateFindAll2(data, request);
|
|
5417
5435
|
}, "findAll"),
|
|
@@ -5473,7 +5491,8 @@ function createCrudRepository(prisma, config, dataSources, configRegistry) {
|
|
|
5473
5491
|
hooks: config.hooks,
|
|
5474
5492
|
valueLabelColumns: vlCols
|
|
5475
5493
|
};
|
|
5476
|
-
|
|
5494
|
+
const decorated = await decorateRows(rows, "findAll", target, adapter, request);
|
|
5495
|
+
return applyAfterFindAll(decorated, config, adapter, request);
|
|
5477
5496
|
}, "decorateFindAll");
|
|
5478
5497
|
const decorateFindOne = /* @__PURE__ */ __name((row, request) => decorateRow(row, "findOne", config, adapter, request), "decorateFindOne");
|
|
5479
5498
|
const prepareData = /* @__PURE__ */ __name((data, op, id, request) => prepareWrite(data, op, config, adapter, id, request), "prepareData");
|
|
@@ -5481,7 +5500,10 @@ function createCrudRepository(prisma, config, dataSources, configRegistry) {
|
|
|
5481
5500
|
const toId = /* @__PURE__ */ __name((id) => (config.idType ?? "string") === "number" ? +id : String(id), "toId");
|
|
5482
5501
|
return {
|
|
5483
5502
|
prisma,
|
|
5484
|
-
findAll: /* @__PURE__ */ __name(async (params, request) =>
|
|
5503
|
+
findAll: /* @__PURE__ */ __name(async (params, request) => {
|
|
5504
|
+
const effectiveParams = await applyBeforeFindAll(params, config, adapter, request);
|
|
5505
|
+
return decorateFindAll(await reader.findAll(effectiveParams, request), request);
|
|
5506
|
+
}, "findAll"),
|
|
5485
5507
|
count: reader.count.bind(reader),
|
|
5486
5508
|
findOne: /* @__PURE__ */ __name(async (id, request) => decorateFindOne(await reader.findOne(id, request), request), "findOne"),
|
|
5487
5509
|
findAllByParent: reader.findAllByParent.bind(reader),
|
|
@@ -7916,7 +7938,46 @@ var buildResourceDiffs = /* @__PURE__ */ __name(async (models, deps) => {
|
|
|
7916
7938
|
var import_node_child_process = require("child_process");
|
|
7917
7939
|
var import_node_fs7 = require("fs");
|
|
7918
7940
|
var import_promises7 = require("fs/promises");
|
|
7941
|
+
var import_node_module2 = require("module");
|
|
7919
7942
|
var import_node_path15 = require("path");
|
|
7943
|
+
var loadDotenv = /* @__PURE__ */ __name((dir) => {
|
|
7944
|
+
try {
|
|
7945
|
+
const _require2 = (0, import_node_module2.createRequire)(importMetaUrl);
|
|
7946
|
+
const dotenv = _require2("dotenv");
|
|
7947
|
+
let d = dir;
|
|
7948
|
+
for (let i = 0; i < 6; i++) {
|
|
7949
|
+
if ((0, import_node_fs7.readdirSync)(d).includes(".env")) {
|
|
7950
|
+
dotenv.config({
|
|
7951
|
+
path: (0, import_node_path15.join)(d, ".env")
|
|
7952
|
+
});
|
|
7953
|
+
return;
|
|
7954
|
+
}
|
|
7955
|
+
const parent = (0, import_node_path15.dirname)(d);
|
|
7956
|
+
if (parent === d) break;
|
|
7957
|
+
d = parent;
|
|
7958
|
+
}
|
|
7959
|
+
} catch {
|
|
7960
|
+
}
|
|
7961
|
+
}, "loadDotenv");
|
|
7962
|
+
var resolveBin = /* @__PURE__ */ __name((name, cwd) => {
|
|
7963
|
+
let d = cwd;
|
|
7964
|
+
for (let i = 0; i < 6; i++) {
|
|
7965
|
+
const bin = (0, import_node_path15.join)(d, "node_modules", ".bin", name);
|
|
7966
|
+
if ((0, import_node_fs7.existsSync)(bin)) return [
|
|
7967
|
+
bin,
|
|
7968
|
+
[]
|
|
7969
|
+
];
|
|
7970
|
+
const parent = (0, import_node_path15.dirname)(d);
|
|
7971
|
+
if (parent === d) break;
|
|
7972
|
+
d = parent;
|
|
7973
|
+
}
|
|
7974
|
+
return [
|
|
7975
|
+
"npx",
|
|
7976
|
+
[
|
|
7977
|
+
name
|
|
7978
|
+
]
|
|
7979
|
+
];
|
|
7980
|
+
}, "resolveBin");
|
|
7920
7981
|
var run = /* @__PURE__ */ __name((cmd, args, cwd) => new Promise((resolve7) => {
|
|
7921
7982
|
const child = (0, import_node_child_process.spawn)(cmd, args, {
|
|
7922
7983
|
cwd,
|
|
@@ -7953,8 +8014,9 @@ var backupSchema = /* @__PURE__ */ __name(async (schemaPath) => {
|
|
|
7953
8014
|
return dest;
|
|
7954
8015
|
}, "backupSchema");
|
|
7955
8016
|
var prismaDbPull = /* @__PURE__ */ __name(async (cwd, prismaConfig) => {
|
|
7956
|
-
const
|
|
7957
|
-
|
|
8017
|
+
const [bin, prefix] = resolveBin("prisma", cwd);
|
|
8018
|
+
const { code, stdout, stderr } = await run(bin, [
|
|
8019
|
+
...prefix,
|
|
7958
8020
|
"db",
|
|
7959
8021
|
"pull",
|
|
7960
8022
|
"--config",
|
|
@@ -7967,11 +8029,28 @@ ${stderr}`.trim()
|
|
|
7967
8029
|
};
|
|
7968
8030
|
}, "prismaDbPull");
|
|
7969
8031
|
var prismaCaseFormat = /* @__PURE__ */ __name(async (cwd, schemaPath) => {
|
|
7970
|
-
|
|
7971
|
-
|
|
7972
|
-
|
|
7973
|
-
|
|
7974
|
-
|
|
8032
|
+
let binPath;
|
|
8033
|
+
try {
|
|
8034
|
+
const _require2 = (0, import_node_module2.createRequire)(importMetaUrl);
|
|
8035
|
+
binPath = _require2.resolve("prisma-case-format/bin/cli.js");
|
|
8036
|
+
} catch {
|
|
8037
|
+
}
|
|
8038
|
+
const [cmd, args] = binPath ? [
|
|
8039
|
+
process.execPath,
|
|
8040
|
+
[
|
|
8041
|
+
binPath,
|
|
8042
|
+
"--file",
|
|
8043
|
+
schemaPath
|
|
8044
|
+
]
|
|
8045
|
+
] : [
|
|
8046
|
+
"npx",
|
|
8047
|
+
[
|
|
8048
|
+
"prisma-case-format",
|
|
8049
|
+
"--file",
|
|
8050
|
+
schemaPath
|
|
8051
|
+
]
|
|
8052
|
+
];
|
|
8053
|
+
const { code, stdout, stderr } = await run(cmd, args, cwd);
|
|
7975
8054
|
return {
|
|
7976
8055
|
ok: code === 0,
|
|
7977
8056
|
output: `${stdout}
|
|
@@ -7979,8 +8058,9 @@ ${stderr}`.trim()
|
|
|
7979
8058
|
};
|
|
7980
8059
|
}, "prismaCaseFormat");
|
|
7981
8060
|
var prismaGenerate = /* @__PURE__ */ __name(async (cwd, prismaConfig) => {
|
|
7982
|
-
const
|
|
7983
|
-
|
|
8061
|
+
const [bin, prefix] = resolveBin("prisma", cwd);
|
|
8062
|
+
const { code, stdout, stderr } = await run(bin, [
|
|
8063
|
+
...prefix,
|
|
7984
8064
|
"generate",
|
|
7985
8065
|
"--config",
|
|
7986
8066
|
prismaConfig
|
|
@@ -8021,6 +8101,7 @@ ${src}`, "utf-8");
|
|
|
8021
8101
|
}, "fixZodImports");
|
|
8022
8102
|
var pullAndGenerate = /* @__PURE__ */ __name(async (input) => {
|
|
8023
8103
|
const { root, prismaConfigPath, schemaPath, zodOutputDir } = input;
|
|
8104
|
+
loadDotenv(root);
|
|
8024
8105
|
const backupPath = await backupSchema(schemaPath);
|
|
8025
8106
|
const dbPull = await prismaDbPull(root, prismaConfigPath);
|
|
8026
8107
|
if (!dbPull.ok) {
|
|
@@ -9992,6 +10073,8 @@ var parseSchema = /* @__PURE__ */ __name((input, appConfig, view = "schemas") =>
|
|
|
9992
10073
|
ResourceHooksSchema,
|
|
9993
10074
|
SecurityGuardRegistry,
|
|
9994
10075
|
WriteOpSchema,
|
|
10076
|
+
applyAfterFindAll,
|
|
10077
|
+
applyBeforeFindAll,
|
|
9995
10078
|
buildFilterWhere,
|
|
9996
10079
|
buildViews,
|
|
9997
10080
|
decorateRow,
|