@dyrected/core 2.9.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{app-config-gEQJFvnN.d.cts → app-config-DQhcrGDE.d.cts} +297 -37
- package/dist/{app-config-gEQJFvnN.d.ts → app-config-DQhcrGDE.d.ts} +297 -37
- package/dist/{chunk-XRIONGRY.js → chunk-TYPDQTE2.js} +110 -30
- package/dist/index.cjs +173 -67
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +64 -38
- package/dist/server.cjs +130 -32
- package/dist/server.d.cts +2 -2
- package/dist/server.d.ts +2 -2
- package/dist/server.js +21 -3
- package/package.json +1 -1
|
@@ -4363,39 +4363,94 @@ function generateOpenApi(config) {
|
|
|
4363
4363
|
post: {
|
|
4364
4364
|
tags: [collectionTag],
|
|
4365
4365
|
summary: `Aggregate ${labels.plural}`,
|
|
4366
|
-
description: `Compute statistical aggregations (count, sum, avg, min, max) across ${labels.plural}.`,
|
|
4366
|
+
description: `Compute statistical aggregations (count, countDistinct, distinct, sum, avg, min, max, groupBy) across ${labels.plural}.`,
|
|
4367
|
+
parameters: [
|
|
4368
|
+
{
|
|
4369
|
+
name: "groupBy",
|
|
4370
|
+
in: "query",
|
|
4371
|
+
description: "Optional field name to compute aggregates grouped by distinct values",
|
|
4372
|
+
required: false,
|
|
4373
|
+
schema: { type: "string" }
|
|
4374
|
+
}
|
|
4375
|
+
],
|
|
4367
4376
|
requestBody: {
|
|
4368
4377
|
required: true,
|
|
4369
4378
|
content: {
|
|
4370
4379
|
"application/json": {
|
|
4371
4380
|
schema: {
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
|
|
4375
|
-
|
|
4376
|
-
|
|
4377
|
-
sum: { type: "string", description: "Field to sum" },
|
|
4378
|
-
avg: { type: "string", description: "Field to average" },
|
|
4379
|
-
min: { type: "string", description: "Field for minimum" },
|
|
4380
|
-
max: { type: "string", description: "Field for maximum" },
|
|
4381
|
-
cast: {
|
|
4382
|
-
type: "string",
|
|
4383
|
-
enum: [
|
|
4384
|
-
"number",
|
|
4385
|
-
"integer",
|
|
4386
|
-
"float",
|
|
4387
|
-
"boolean",
|
|
4388
|
-
"date",
|
|
4389
|
-
"string"
|
|
4390
|
-
]
|
|
4391
|
-
},
|
|
4392
|
-
where: {
|
|
4381
|
+
oneOf: [
|
|
4382
|
+
{
|
|
4383
|
+
type: "object",
|
|
4384
|
+
description: "Flat aggregate operations dictionary",
|
|
4385
|
+
additionalProperties: {
|
|
4393
4386
|
type: "object",
|
|
4394
|
-
|
|
4395
|
-
|
|
4387
|
+
properties: {
|
|
4388
|
+
count: { type: "string", example: "*" },
|
|
4389
|
+
countDistinct: { type: "string", description: "Field to count unique non-null values" },
|
|
4390
|
+
distinct: { type: "string", description: "Field to extract unique non-null values" },
|
|
4391
|
+
sum: { type: "string", description: "Field to sum" },
|
|
4392
|
+
avg: { type: "string", description: "Field to average" },
|
|
4393
|
+
min: { type: "string", description: "Field for minimum" },
|
|
4394
|
+
max: { type: "string", description: "Field for maximum" },
|
|
4395
|
+
cast: {
|
|
4396
|
+
type: "string",
|
|
4397
|
+
enum: [
|
|
4398
|
+
"number",
|
|
4399
|
+
"integer",
|
|
4400
|
+
"float",
|
|
4401
|
+
"boolean",
|
|
4402
|
+
"date",
|
|
4403
|
+
"string"
|
|
4404
|
+
]
|
|
4405
|
+
},
|
|
4406
|
+
where: {
|
|
4407
|
+
type: "object",
|
|
4408
|
+
description: "Per-aggregate filter condition",
|
|
4409
|
+
additionalProperties: true
|
|
4410
|
+
}
|
|
4411
|
+
}
|
|
4396
4412
|
}
|
|
4413
|
+
},
|
|
4414
|
+
{
|
|
4415
|
+
type: "object",
|
|
4416
|
+
description: "Grouped aggregate payload with explicit groupBy property",
|
|
4417
|
+
properties: {
|
|
4418
|
+
groupBy: { type: "string", description: "Field name to group aggregates by" },
|
|
4419
|
+
aggregates: {
|
|
4420
|
+
type: "object",
|
|
4421
|
+
additionalProperties: {
|
|
4422
|
+
type: "object",
|
|
4423
|
+
properties: {
|
|
4424
|
+
count: { type: "string", example: "*" },
|
|
4425
|
+
countDistinct: { type: "string", description: "Field to count unique non-null values" },
|
|
4426
|
+
distinct: { type: "string", description: "Field to extract unique non-null values" },
|
|
4427
|
+
sum: { type: "string", description: "Field to sum" },
|
|
4428
|
+
avg: { type: "string", description: "Field to average" },
|
|
4429
|
+
min: { type: "string", description: "Field for minimum" },
|
|
4430
|
+
max: { type: "string", description: "Field for maximum" },
|
|
4431
|
+
cast: {
|
|
4432
|
+
type: "string",
|
|
4433
|
+
enum: [
|
|
4434
|
+
"number",
|
|
4435
|
+
"integer",
|
|
4436
|
+
"float",
|
|
4437
|
+
"boolean",
|
|
4438
|
+
"date",
|
|
4439
|
+
"string"
|
|
4440
|
+
]
|
|
4441
|
+
},
|
|
4442
|
+
where: {
|
|
4443
|
+
type: "object",
|
|
4444
|
+
description: "Per-aggregate filter condition",
|
|
4445
|
+
additionalProperties: true
|
|
4446
|
+
}
|
|
4447
|
+
}
|
|
4448
|
+
}
|
|
4449
|
+
}
|
|
4450
|
+
},
|
|
4451
|
+
required: ["aggregates"]
|
|
4397
4452
|
}
|
|
4398
|
-
|
|
4453
|
+
]
|
|
4399
4454
|
}
|
|
4400
4455
|
}
|
|
4401
4456
|
}
|
|
@@ -4406,11 +4461,36 @@ function generateOpenApi(config) {
|
|
|
4406
4461
|
content: {
|
|
4407
4462
|
"application/json": {
|
|
4408
4463
|
schema: {
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4464
|
+
oneOf: [
|
|
4465
|
+
{
|
|
4466
|
+
type: "object",
|
|
4467
|
+
description: "Flat aggregate results map",
|
|
4468
|
+
additionalProperties: {
|
|
4469
|
+
oneOf: [
|
|
4470
|
+
{ type: "number", nullable: true },
|
|
4471
|
+
{ type: "array", items: { type: "string" } }
|
|
4472
|
+
]
|
|
4473
|
+
}
|
|
4474
|
+
},
|
|
4475
|
+
{
|
|
4476
|
+
type: "object",
|
|
4477
|
+
description: "Grouped aggregate results breakdown",
|
|
4478
|
+
properties: {
|
|
4479
|
+
groups: {
|
|
4480
|
+
type: "object",
|
|
4481
|
+
additionalProperties: {
|
|
4482
|
+
type: "object",
|
|
4483
|
+
additionalProperties: {
|
|
4484
|
+
oneOf: [
|
|
4485
|
+
{ type: "number", nullable: true },
|
|
4486
|
+
{ type: "array", items: { type: "string" } }
|
|
4487
|
+
]
|
|
4488
|
+
}
|
|
4489
|
+
}
|
|
4490
|
+
}
|
|
4491
|
+
}
|
|
4492
|
+
}
|
|
4493
|
+
]
|
|
4414
4494
|
}
|
|
4415
4495
|
}
|
|
4416
4496
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -2449,37 +2449,10 @@ var LIFECYCLE_EVENT_NAMES = [
|
|
|
2449
2449
|
|
|
2450
2450
|
// src/types/views.ts
|
|
2451
2451
|
function defineView(config) {
|
|
2452
|
-
return
|
|
2453
|
-
slug: config.slug,
|
|
2454
|
-
label: config.label,
|
|
2455
|
-
icon: config.icon,
|
|
2456
|
-
layout: config.layout ?? "table",
|
|
2457
|
-
filter: config.filter,
|
|
2458
|
-
groupBy: config.groupBy,
|
|
2459
|
-
dateField: config.dateField,
|
|
2460
|
-
startDateField: config.startDateField,
|
|
2461
|
-
endDateField: config.endDateField,
|
|
2462
|
-
columns: config.columns,
|
|
2463
|
-
sort: config.sort,
|
|
2464
|
-
actions: config.actions,
|
|
2465
|
-
features: config.features,
|
|
2466
|
-
actionOrder: config.actionOrder,
|
|
2467
|
-
metrics: config.metrics,
|
|
2468
|
-
access: config.access
|
|
2469
|
-
};
|
|
2452
|
+
return config;
|
|
2470
2453
|
}
|
|
2471
2454
|
function defineAction(config) {
|
|
2472
|
-
return
|
|
2473
|
-
name: config.name,
|
|
2474
|
-
label: config.label,
|
|
2475
|
-
icon: config.icon,
|
|
2476
|
-
type: config.type ?? "row",
|
|
2477
|
-
confirm: config.confirm,
|
|
2478
|
-
fields: config.fields,
|
|
2479
|
-
mutation: config.mutation,
|
|
2480
|
-
handler: config.handler,
|
|
2481
|
-
access: config.access
|
|
2482
|
-
};
|
|
2455
|
+
return config;
|
|
2483
2456
|
}
|
|
2484
2457
|
|
|
2485
2458
|
// src/auth/token.ts
|
|
@@ -4298,7 +4271,7 @@ function normalizeConfig(config) {
|
|
|
4298
4271
|
function assertNever(op, context) {
|
|
4299
4272
|
throw new Error(`[dyrected/core] Unhandled where operator "${op}" in ${context}`);
|
|
4300
4273
|
}
|
|
4301
|
-
function parseSqlWhere(where, getJsonField, placeholder = "?", likeOperator = "LIKE") {
|
|
4274
|
+
function parseSqlWhere(where, getJsonField, placeholder = "?", likeOperator = placeholder === "pg" ? "ILIKE" : "LIKE") {
|
|
4302
4275
|
const params = [];
|
|
4303
4276
|
let pgIndex = 1;
|
|
4304
4277
|
function next() {
|
|
@@ -4309,8 +4282,16 @@ function parseSqlWhere(where, getJsonField, placeholder = "?", likeOperator = "L
|
|
|
4309
4282
|
}
|
|
4310
4283
|
function buildOperator(field, value) {
|
|
4311
4284
|
const c = col(field);
|
|
4285
|
+
const isJsonExtract = c.startsWith("data->>") || c.startsWith("json_extract(") || c.startsWith("JSON_UNQUOTE(");
|
|
4312
4286
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
4313
|
-
|
|
4287
|
+
if (value === null) {
|
|
4288
|
+
return `${c} IS NULL`;
|
|
4289
|
+
}
|
|
4290
|
+
if (value === "" && placeholder === "pg") {
|
|
4291
|
+
params.push("");
|
|
4292
|
+
return `(${c})::text = ${next()}`;
|
|
4293
|
+
}
|
|
4294
|
+
params.push(typeof value === "boolean" && isJsonExtract ? String(value) : value);
|
|
4314
4295
|
return `${c} = ${next()}`;
|
|
4315
4296
|
}
|
|
4316
4297
|
const entries = Object.entries(value);
|
|
@@ -4321,18 +4302,63 @@ function parseSqlWhere(where, getJsonField, placeholder = "?", likeOperator = "L
|
|
|
4321
4302
|
return buildSingleOp(c, op, operand);
|
|
4322
4303
|
}
|
|
4323
4304
|
function buildSingleOp(c, op, operand) {
|
|
4305
|
+
const isJsonExtract = c.startsWith("data->>") || c.startsWith("json_extract(") || c.startsWith("JSON_UNQUOTE(");
|
|
4324
4306
|
switch (op) {
|
|
4325
4307
|
case "equals":
|
|
4326
|
-
|
|
4308
|
+
if (operand === null) {
|
|
4309
|
+
return `${c} IS NULL`;
|
|
4310
|
+
}
|
|
4311
|
+
if (operand === "" && placeholder === "pg") {
|
|
4312
|
+
params.push("");
|
|
4313
|
+
return `(${c})::text = ${next()}`;
|
|
4314
|
+
}
|
|
4315
|
+
if (typeof operand === "boolean") {
|
|
4316
|
+
if (placeholder === "?") {
|
|
4317
|
+
params.push(operand ? 1 : 0);
|
|
4318
|
+
} else if (isJsonExtract) {
|
|
4319
|
+
params.push(String(operand));
|
|
4320
|
+
} else {
|
|
4321
|
+
params.push(operand);
|
|
4322
|
+
}
|
|
4323
|
+
} else {
|
|
4324
|
+
params.push(operand);
|
|
4325
|
+
}
|
|
4327
4326
|
return `${c} = ${next()}`;
|
|
4328
4327
|
case "not_equals":
|
|
4329
|
-
|
|
4328
|
+
if (operand === null) {
|
|
4329
|
+
return `${c} IS NOT NULL`;
|
|
4330
|
+
}
|
|
4331
|
+
if (operand === "" && placeholder === "pg") {
|
|
4332
|
+
params.push("");
|
|
4333
|
+
return `(${c})::text != ${next()}`;
|
|
4334
|
+
}
|
|
4335
|
+
if (typeof operand === "boolean") {
|
|
4336
|
+
if (placeholder === "?") {
|
|
4337
|
+
params.push(operand ? 1 : 0);
|
|
4338
|
+
} else if (isJsonExtract) {
|
|
4339
|
+
params.push(String(operand));
|
|
4340
|
+
} else {
|
|
4341
|
+
params.push(operand);
|
|
4342
|
+
}
|
|
4343
|
+
} else {
|
|
4344
|
+
params.push(operand);
|
|
4345
|
+
}
|
|
4330
4346
|
return `${c} != ${next()}`;
|
|
4331
4347
|
case "in": {
|
|
4332
4348
|
const vals = Array.isArray(operand) ? operand : [operand];
|
|
4333
4349
|
if (vals.length === 0) return "1=0";
|
|
4334
4350
|
const placeholders = vals.map((v) => {
|
|
4335
|
-
|
|
4351
|
+
if (typeof v === "boolean") {
|
|
4352
|
+
if (placeholder === "?") {
|
|
4353
|
+
params.push(v ? 1 : 0);
|
|
4354
|
+
} else if (isJsonExtract) {
|
|
4355
|
+
params.push(String(v));
|
|
4356
|
+
} else {
|
|
4357
|
+
params.push(v);
|
|
4358
|
+
}
|
|
4359
|
+
} else {
|
|
4360
|
+
params.push(v);
|
|
4361
|
+
}
|
|
4336
4362
|
return next();
|
|
4337
4363
|
});
|
|
4338
4364
|
return `${c} IN (${placeholders.join(", ")})`;
|
|
@@ -4341,7 +4367,7 @@ function parseSqlWhere(where, getJsonField, placeholder = "?", likeOperator = "L
|
|
|
4341
4367
|
const vals = Array.isArray(operand) ? operand : [operand];
|
|
4342
4368
|
if (vals.length === 0) return "1=1";
|
|
4343
4369
|
const placeholders = vals.map((v) => {
|
|
4344
|
-
params.push(typeof v === "boolean" ? String(v) : v);
|
|
4370
|
+
params.push(typeof v === "boolean" && isJsonExtract ? String(v) : v);
|
|
4345
4371
|
return next();
|
|
4346
4372
|
});
|
|
4347
4373
|
return `${c} NOT IN (${placeholders.join(", ")})`;
|
|
@@ -4367,10 +4393,10 @@ function parseSqlWhere(where, getJsonField, placeholder = "?", likeOperator = "L
|
|
|
4367
4393
|
case "contains":
|
|
4368
4394
|
case "like":
|
|
4369
4395
|
params.push(`%${operand}%`);
|
|
4370
|
-
return `${c} ${likeOperator} ${next()}`;
|
|
4396
|
+
return placeholder === "pg" ? `(${c})::text ${likeOperator} ${next()}` : `${c} ${likeOperator} ${next()}`;
|
|
4371
4397
|
case "starts_with":
|
|
4372
4398
|
params.push(`${operand}%`);
|
|
4373
|
-
return `${c} ${likeOperator} ${next()}`;
|
|
4399
|
+
return placeholder === "pg" ? `(${c})::text ${likeOperator} ${next()}` : `${c} ${likeOperator} ${next()}`;
|
|
4374
4400
|
case "exists":
|
|
4375
4401
|
return operand ? `${c} IS NOT NULL` : `${c} IS NULL`;
|
|
4376
4402
|
default:
|
|
@@ -5151,39 +5177,94 @@ function generateOpenApi(config) {
|
|
|
5151
5177
|
post: {
|
|
5152
5178
|
tags: [collectionTag],
|
|
5153
5179
|
summary: `Aggregate ${labels.plural}`,
|
|
5154
|
-
description: `Compute statistical aggregations (count, sum, avg, min, max) across ${labels.plural}.`,
|
|
5180
|
+
description: `Compute statistical aggregations (count, countDistinct, distinct, sum, avg, min, max, groupBy) across ${labels.plural}.`,
|
|
5181
|
+
parameters: [
|
|
5182
|
+
{
|
|
5183
|
+
name: "groupBy",
|
|
5184
|
+
in: "query",
|
|
5185
|
+
description: "Optional field name to compute aggregates grouped by distinct values",
|
|
5186
|
+
required: false,
|
|
5187
|
+
schema: { type: "string" }
|
|
5188
|
+
}
|
|
5189
|
+
],
|
|
5155
5190
|
requestBody: {
|
|
5156
5191
|
required: true,
|
|
5157
5192
|
content: {
|
|
5158
5193
|
"application/json": {
|
|
5159
5194
|
schema: {
|
|
5160
|
-
|
|
5161
|
-
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
sum: { type: "string", description: "Field to sum" },
|
|
5166
|
-
avg: { type: "string", description: "Field to average" },
|
|
5167
|
-
min: { type: "string", description: "Field for minimum" },
|
|
5168
|
-
max: { type: "string", description: "Field for maximum" },
|
|
5169
|
-
cast: {
|
|
5170
|
-
type: "string",
|
|
5171
|
-
enum: [
|
|
5172
|
-
"number",
|
|
5173
|
-
"integer",
|
|
5174
|
-
"float",
|
|
5175
|
-
"boolean",
|
|
5176
|
-
"date",
|
|
5177
|
-
"string"
|
|
5178
|
-
]
|
|
5179
|
-
},
|
|
5180
|
-
where: {
|
|
5195
|
+
oneOf: [
|
|
5196
|
+
{
|
|
5197
|
+
type: "object",
|
|
5198
|
+
description: "Flat aggregate operations dictionary",
|
|
5199
|
+
additionalProperties: {
|
|
5181
5200
|
type: "object",
|
|
5182
|
-
|
|
5183
|
-
|
|
5201
|
+
properties: {
|
|
5202
|
+
count: { type: "string", example: "*" },
|
|
5203
|
+
countDistinct: { type: "string", description: "Field to count unique non-null values" },
|
|
5204
|
+
distinct: { type: "string", description: "Field to extract unique non-null values" },
|
|
5205
|
+
sum: { type: "string", description: "Field to sum" },
|
|
5206
|
+
avg: { type: "string", description: "Field to average" },
|
|
5207
|
+
min: { type: "string", description: "Field for minimum" },
|
|
5208
|
+
max: { type: "string", description: "Field for maximum" },
|
|
5209
|
+
cast: {
|
|
5210
|
+
type: "string",
|
|
5211
|
+
enum: [
|
|
5212
|
+
"number",
|
|
5213
|
+
"integer",
|
|
5214
|
+
"float",
|
|
5215
|
+
"boolean",
|
|
5216
|
+
"date",
|
|
5217
|
+
"string"
|
|
5218
|
+
]
|
|
5219
|
+
},
|
|
5220
|
+
where: {
|
|
5221
|
+
type: "object",
|
|
5222
|
+
description: "Per-aggregate filter condition",
|
|
5223
|
+
additionalProperties: true
|
|
5224
|
+
}
|
|
5225
|
+
}
|
|
5184
5226
|
}
|
|
5227
|
+
},
|
|
5228
|
+
{
|
|
5229
|
+
type: "object",
|
|
5230
|
+
description: "Grouped aggregate payload with explicit groupBy property",
|
|
5231
|
+
properties: {
|
|
5232
|
+
groupBy: { type: "string", description: "Field name to group aggregates by" },
|
|
5233
|
+
aggregates: {
|
|
5234
|
+
type: "object",
|
|
5235
|
+
additionalProperties: {
|
|
5236
|
+
type: "object",
|
|
5237
|
+
properties: {
|
|
5238
|
+
count: { type: "string", example: "*" },
|
|
5239
|
+
countDistinct: { type: "string", description: "Field to count unique non-null values" },
|
|
5240
|
+
distinct: { type: "string", description: "Field to extract unique non-null values" },
|
|
5241
|
+
sum: { type: "string", description: "Field to sum" },
|
|
5242
|
+
avg: { type: "string", description: "Field to average" },
|
|
5243
|
+
min: { type: "string", description: "Field for minimum" },
|
|
5244
|
+
max: { type: "string", description: "Field for maximum" },
|
|
5245
|
+
cast: {
|
|
5246
|
+
type: "string",
|
|
5247
|
+
enum: [
|
|
5248
|
+
"number",
|
|
5249
|
+
"integer",
|
|
5250
|
+
"float",
|
|
5251
|
+
"boolean",
|
|
5252
|
+
"date",
|
|
5253
|
+
"string"
|
|
5254
|
+
]
|
|
5255
|
+
},
|
|
5256
|
+
where: {
|
|
5257
|
+
type: "object",
|
|
5258
|
+
description: "Per-aggregate filter condition",
|
|
5259
|
+
additionalProperties: true
|
|
5260
|
+
}
|
|
5261
|
+
}
|
|
5262
|
+
}
|
|
5263
|
+
}
|
|
5264
|
+
},
|
|
5265
|
+
required: ["aggregates"]
|
|
5185
5266
|
}
|
|
5186
|
-
|
|
5267
|
+
]
|
|
5187
5268
|
}
|
|
5188
5269
|
}
|
|
5189
5270
|
}
|
|
@@ -5194,11 +5275,36 @@ function generateOpenApi(config) {
|
|
|
5194
5275
|
content: {
|
|
5195
5276
|
"application/json": {
|
|
5196
5277
|
schema: {
|
|
5197
|
-
|
|
5198
|
-
|
|
5199
|
-
|
|
5200
|
-
|
|
5201
|
-
|
|
5278
|
+
oneOf: [
|
|
5279
|
+
{
|
|
5280
|
+
type: "object",
|
|
5281
|
+
description: "Flat aggregate results map",
|
|
5282
|
+
additionalProperties: {
|
|
5283
|
+
oneOf: [
|
|
5284
|
+
{ type: "number", nullable: true },
|
|
5285
|
+
{ type: "array", items: { type: "string" } }
|
|
5286
|
+
]
|
|
5287
|
+
}
|
|
5288
|
+
},
|
|
5289
|
+
{
|
|
5290
|
+
type: "object",
|
|
5291
|
+
description: "Grouped aggregate results breakdown",
|
|
5292
|
+
properties: {
|
|
5293
|
+
groups: {
|
|
5294
|
+
type: "object",
|
|
5295
|
+
additionalProperties: {
|
|
5296
|
+
type: "object",
|
|
5297
|
+
additionalProperties: {
|
|
5298
|
+
oneOf: [
|
|
5299
|
+
{ type: "number", nullable: true },
|
|
5300
|
+
{ type: "array", items: { type: "string" } }
|
|
5301
|
+
]
|
|
5302
|
+
}
|
|
5303
|
+
}
|
|
5304
|
+
}
|
|
5305
|
+
}
|
|
5306
|
+
}
|
|
5307
|
+
]
|
|
5202
5308
|
}
|
|
5203
5309
|
}
|
|
5204
5310
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { F as Field, B as Block, D as DyrectedConfig, C as CollectionConfig, A as AdminAuthConfig, P as PublicAdminAuthConfig, G as GlobalConfig, a as DeclarativeHookExpression, W as WorkflowConfig, b as AuthenticatedUser, c as WorkflowTransition, L as LifecycleEventName, d as LifecycleEvent, e as BaseDocument, H as HookRequestContext, f as DetailComputedOptions, g as ComputedHandler, h as DetailComputed, i as DetailCustomOptions, j as DetailCustom, k as DetailDividerOptions, l as DetailDivider, m as DisplayFieldOptions, n as DetailField, o as DetailItem, p as DetailGridOptions, q as DetailGrid, r as DetailRepeatOptions, s as DetailRepeat, t as DetailSectionOptions, u as DetailSection, v as DetailTabOptions, w as DetailTab, x as DetailTabsOptions, y as DetailTabs, z as DetailTextOptions, E as DetailText, I as DetailSchema, J as ArrayField, K as BlocksField, M as BooleanField, N as AuthConfig, O as AccessPolicyResolver, Q as DateField, R as DateTimeField, S as EmailField, T as IconField, U as ImageField, V as JoinField, X as JsonField, Y as MultiSelectField, Z as NumberField, _ as ObjectField, $ as RadioField, a0 as RelationshipField, a1 as RichTextField, a2 as RowField, a3 as SelectField, a4 as TextField, a5 as TextareaField, a6 as TimeField, a7 as UrlField } from './app-config-
|
|
2
|
-
export { a8 as AccessConfig, a9 as AccessFunction, aa as AccessFunctionArgs, ab as AccessResult, ac as AccessRule, ad as ActionConfig, ae as ActionContext, af as ActionType, ag as AdminAuthAccessResolution, ah as AdminAuthClaimMapping, ai as AdminAuthMember, aj as AdminAuthProvider, ak as AdminAuthProviderMembersConfig, al as AdminAuthProvisioningMode, am as AdminAuthResolveAccessArgs, an as AdminAuthResolvedIdentity, ao as AdminConfig, ap as AdminDashboardComponentSlots, aq as AdminIconName, ar as AggregateArgs, as as AggregateCastType, at as AggregateInput, au as AggregateOperation, av as AggregateResult, aw as BaseAdminAuthProvider, ax as BaseFieldAdmin, ay as BlockVariant, az as BooleanFieldAdmin, aA as BooleanFormat, aB as CharacterLimitFieldAdmin, aC as CharacterLimitFieldConfig, aD as CollectionAfterChangeHook, aE as CollectionAfterDeleteHook, aF as CollectionAfterReadHook, aG as CollectionAfterReadHookEntry, aH as CollectionAfterTransitionHook, aI as CollectionBeforeChangeHook, aJ as CollectionBeforeChangeHookEntry, aK as CollectionBeforeDeleteHook, aL as CollectionBeforeReadHook, aM as CollectionBeforeReadHookEntry, aN as CollectionBeforeTransitionHook, aO as CollectionListComponentSlots, aP as CountOperation, aQ as CustomAdminAuthProvider, aR as DatabaseAdapter, aS as DateFieldAdmin, aT as DateFormat, aU as DefineActionOptions, aV as DefineViewOptions, aW as DetailSpan, aX as DisplayTone, aY as DisplayVariant, aZ as
|
|
1
|
+
import { F as Field, B as Block, D as DyrectedConfig, C as CollectionConfig, A as AdminAuthConfig, P as PublicAdminAuthConfig, G as GlobalConfig, a as DeclarativeHookExpression, W as WorkflowConfig, b as AuthenticatedUser, c as WorkflowTransition, L as LifecycleEventName, d as LifecycleEvent, e as BaseDocument, H as HookRequestContext, f as DetailComputedOptions, g as ComputedHandler, h as DetailComputed, i as DetailCustomOptions, j as DetailCustom, k as DetailDividerOptions, l as DetailDivider, m as DisplayFieldOptions, n as DetailField, o as DetailItem, p as DetailGridOptions, q as DetailGrid, r as DetailRepeatOptions, s as DetailRepeat, t as DetailSectionOptions, u as DetailSection, v as DetailTabOptions, w as DetailTab, x as DetailTabsOptions, y as DetailTabs, z as DetailTextOptions, E as DetailText, I as DetailSchema, J as ArrayField, K as BlocksField, M as BooleanField, N as AuthConfig, O as AccessPolicyResolver, Q as DateField, R as DateTimeField, S as EmailField, T as IconField, U as ImageField, V as JoinField, X as JsonField, Y as MultiSelectField, Z as NumberField, _ as ObjectField, $ as RadioField, a0 as RelationshipField, a1 as RichTextField, a2 as RowField, a3 as SelectField, a4 as TextField, a5 as TextareaField, a6 as TimeField, a7 as UrlField } from './app-config-DQhcrGDE.cjs';
|
|
2
|
+
export { a8 as AccessConfig, a9 as AccessFunction, aa as AccessFunctionArgs, ab as AccessResult, ac as AccessRule, ad as ActionConfig, ae as ActionContext, af as ActionType, ag as AdminAuthAccessResolution, ah as AdminAuthClaimMapping, ai as AdminAuthMember, aj as AdminAuthProvider, ak as AdminAuthProviderMembersConfig, al as AdminAuthProvisioningMode, am as AdminAuthResolveAccessArgs, an as AdminAuthResolvedIdentity, ao as AdminConfig, ap as AdminDashboardComponentSlots, aq as AdminIconName, ar as AggregateArgs, as as AggregateCastType, at as AggregateInput, au as AggregateOperation, av as AggregateResult, aw as BaseAdminAuthProvider, ax as BaseFieldAdmin, ay as BlockVariant, az as BooleanFieldAdmin, aA as BooleanFormat, aB as CharacterLimitFieldAdmin, aC as CharacterLimitFieldConfig, aD as CollectionAfterChangeHook, aE as CollectionAfterDeleteHook, aF as CollectionAfterReadHook, aG as CollectionAfterReadHookEntry, aH as CollectionAfterTransitionHook, aI as CollectionBeforeChangeHook, aJ as CollectionBeforeChangeHookEntry, aK as CollectionBeforeDeleteHook, aL as CollectionBeforeReadHook, aM as CollectionBeforeReadHookEntry, aN as CollectionBeforeTransitionHook, aO as CollectionListComponentSlots, aP as CountOperation, aQ as CustomAdminAuthProvider, aR as DatabaseAdapter, aS as DateFieldAdmin, aT as DateFormat, aU as DefineActionOptions, aV as DefineViewOptions, aW as DetailSpan, aX as DisplayTone, aY as DisplayVariant, aZ as DistinctCountOperation, a_ as DistinctValuesOperation, a$ as DynamicOptionItem, b0 as DynamicOptionsConfig, b1 as DynamicOptionsResolver, b2 as DynamicOptionsResolverArgs, b3 as DyrectedLoggerConfig, b4 as DyrectedObservabilityConfig, b5 as EmailFieldAdmin, b6 as FieldAdminHooks, b7 as FieldAdminOnChangeHook, b8 as FieldAdminOnChangeHookArgs, b9 as FieldAdminOptionsHook, ba as FieldAdminOptionsHookArgs, bb as FieldAdminOptionsHookResult, bc as FieldAfterReadHook, bd as FieldAfterReadHookArgs, be as FieldBase, bf as FieldBeforeChangeHook, bg as FieldBeforeChangeHookArgs, bh as FieldHook, bi as FieldHooks, bj as FieldType, bk as FileData, bl as GlobalAfterChangeHook, bm as GlobalAfterReadHook, bn as GlobalAfterReadHookEntry, bo as GlobalBeforeChangeHook, bp as GlobalBeforeChangeHookEntry, bq as GlobalBeforeReadHook, br as GlobalBeforeReadHookEntry, bs as HeadingLevel, bt as HookFunction, bu as IconFieldAdmin, bv as ImageService, bw as InferAggregateResult, bx as JoinFieldAdmin, by as JsonFieldAdmin, bz as JsonFormat, bA as LIFECYCLE_EVENT_NAMES, bB as LifecycleEventHandler, bC as LinkFormat, bD as MetricColor, bE as MultiSelectFieldAdmin, bF as NamedAccessPolicy, bG as NumberFieldAdmin, bH as NumberFormat, bI as NumberLimitFieldAdmin, bJ as NumberLimitFieldConfig, bK as NumericOperation, bL as OIDCAdminAuthProvider, bM as OptionFormat, bN as PaginatedResult, bO as PublicAdminAuthProvider, bP as RadioFieldAdmin, bQ as RateLimitConfig, bR as ReadonlyDatabaseAdapter, bS as RichTextFeature, bT as RichTextFieldConfig, bU as SelectFieldAdmin, bV as StorageAdapter, bW as TextFieldAdmin, bX as TextFormat, bY as TextareaFieldAdmin, bZ as TrustProxyConfig, b_ as TypedField, b$ as UploadConfig, c0 as UrlFieldAdmin, c1 as UrlLinkValue, c2 as ViewActionFeatures, c3 as ViewConfig, c4 as ViewLayout, c5 as ViewMetric, c6 as ViewSubMetric, c7 as WordLimitFieldAdmin, c8 as WordLimitFieldConfig, c9 as WorkflowMetadata, ca as WorkflowRole, cb as WorkflowState, cc as WorkflowTransitionContext, cd as defineAction, ce as defineView } from './app-config-DQhcrGDE.cjs';
|
|
3
3
|
import jexl from 'jexl';
|
|
4
4
|
import 'lucide-react';
|
|
5
5
|
import 'pino';
|
|
@@ -159,7 +159,7 @@ interface SqlWhereResult {
|
|
|
159
159
|
declare function parseSqlWhere(where: WhereClause, getJsonField: (field: string) => string, placeholder?: '?' | 'pg',
|
|
160
160
|
/**
|
|
161
161
|
* SQL keyword used for `contains`/`starts_with`. Postgres `LIKE` is
|
|
162
|
-
* case-sensitive, so the Postgres adapter
|
|
162
|
+
* case-sensitive, so the Postgres adapter defaults to `'ILIKE'` to keep substring
|
|
163
163
|
* matching case-insensitive like SQLite and MySQL.
|
|
164
164
|
*/
|
|
165
165
|
likeOperator?: 'LIKE' | 'ILIKE'): SqlWhereResult;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { F as Field, B as Block, D as DyrectedConfig, C as CollectionConfig, A as AdminAuthConfig, P as PublicAdminAuthConfig, G as GlobalConfig, a as DeclarativeHookExpression, W as WorkflowConfig, b as AuthenticatedUser, c as WorkflowTransition, L as LifecycleEventName, d as LifecycleEvent, e as BaseDocument, H as HookRequestContext, f as DetailComputedOptions, g as ComputedHandler, h as DetailComputed, i as DetailCustomOptions, j as DetailCustom, k as DetailDividerOptions, l as DetailDivider, m as DisplayFieldOptions, n as DetailField, o as DetailItem, p as DetailGridOptions, q as DetailGrid, r as DetailRepeatOptions, s as DetailRepeat, t as DetailSectionOptions, u as DetailSection, v as DetailTabOptions, w as DetailTab, x as DetailTabsOptions, y as DetailTabs, z as DetailTextOptions, E as DetailText, I as DetailSchema, J as ArrayField, K as BlocksField, M as BooleanField, N as AuthConfig, O as AccessPolicyResolver, Q as DateField, R as DateTimeField, S as EmailField, T as IconField, U as ImageField, V as JoinField, X as JsonField, Y as MultiSelectField, Z as NumberField, _ as ObjectField, $ as RadioField, a0 as RelationshipField, a1 as RichTextField, a2 as RowField, a3 as SelectField, a4 as TextField, a5 as TextareaField, a6 as TimeField, a7 as UrlField } from './app-config-
|
|
2
|
-
export { a8 as AccessConfig, a9 as AccessFunction, aa as AccessFunctionArgs, ab as AccessResult, ac as AccessRule, ad as ActionConfig, ae as ActionContext, af as ActionType, ag as AdminAuthAccessResolution, ah as AdminAuthClaimMapping, ai as AdminAuthMember, aj as AdminAuthProvider, ak as AdminAuthProviderMembersConfig, al as AdminAuthProvisioningMode, am as AdminAuthResolveAccessArgs, an as AdminAuthResolvedIdentity, ao as AdminConfig, ap as AdminDashboardComponentSlots, aq as AdminIconName, ar as AggregateArgs, as as AggregateCastType, at as AggregateInput, au as AggregateOperation, av as AggregateResult, aw as BaseAdminAuthProvider, ax as BaseFieldAdmin, ay as BlockVariant, az as BooleanFieldAdmin, aA as BooleanFormat, aB as CharacterLimitFieldAdmin, aC as CharacterLimitFieldConfig, aD as CollectionAfterChangeHook, aE as CollectionAfterDeleteHook, aF as CollectionAfterReadHook, aG as CollectionAfterReadHookEntry, aH as CollectionAfterTransitionHook, aI as CollectionBeforeChangeHook, aJ as CollectionBeforeChangeHookEntry, aK as CollectionBeforeDeleteHook, aL as CollectionBeforeReadHook, aM as CollectionBeforeReadHookEntry, aN as CollectionBeforeTransitionHook, aO as CollectionListComponentSlots, aP as CountOperation, aQ as CustomAdminAuthProvider, aR as DatabaseAdapter, aS as DateFieldAdmin, aT as DateFormat, aU as DefineActionOptions, aV as DefineViewOptions, aW as DetailSpan, aX as DisplayTone, aY as DisplayVariant, aZ as
|
|
1
|
+
import { F as Field, B as Block, D as DyrectedConfig, C as CollectionConfig, A as AdminAuthConfig, P as PublicAdminAuthConfig, G as GlobalConfig, a as DeclarativeHookExpression, W as WorkflowConfig, b as AuthenticatedUser, c as WorkflowTransition, L as LifecycleEventName, d as LifecycleEvent, e as BaseDocument, H as HookRequestContext, f as DetailComputedOptions, g as ComputedHandler, h as DetailComputed, i as DetailCustomOptions, j as DetailCustom, k as DetailDividerOptions, l as DetailDivider, m as DisplayFieldOptions, n as DetailField, o as DetailItem, p as DetailGridOptions, q as DetailGrid, r as DetailRepeatOptions, s as DetailRepeat, t as DetailSectionOptions, u as DetailSection, v as DetailTabOptions, w as DetailTab, x as DetailTabsOptions, y as DetailTabs, z as DetailTextOptions, E as DetailText, I as DetailSchema, J as ArrayField, K as BlocksField, M as BooleanField, N as AuthConfig, O as AccessPolicyResolver, Q as DateField, R as DateTimeField, S as EmailField, T as IconField, U as ImageField, V as JoinField, X as JsonField, Y as MultiSelectField, Z as NumberField, _ as ObjectField, $ as RadioField, a0 as RelationshipField, a1 as RichTextField, a2 as RowField, a3 as SelectField, a4 as TextField, a5 as TextareaField, a6 as TimeField, a7 as UrlField } from './app-config-DQhcrGDE.js';
|
|
2
|
+
export { a8 as AccessConfig, a9 as AccessFunction, aa as AccessFunctionArgs, ab as AccessResult, ac as AccessRule, ad as ActionConfig, ae as ActionContext, af as ActionType, ag as AdminAuthAccessResolution, ah as AdminAuthClaimMapping, ai as AdminAuthMember, aj as AdminAuthProvider, ak as AdminAuthProviderMembersConfig, al as AdminAuthProvisioningMode, am as AdminAuthResolveAccessArgs, an as AdminAuthResolvedIdentity, ao as AdminConfig, ap as AdminDashboardComponentSlots, aq as AdminIconName, ar as AggregateArgs, as as AggregateCastType, at as AggregateInput, au as AggregateOperation, av as AggregateResult, aw as BaseAdminAuthProvider, ax as BaseFieldAdmin, ay as BlockVariant, az as BooleanFieldAdmin, aA as BooleanFormat, aB as CharacterLimitFieldAdmin, aC as CharacterLimitFieldConfig, aD as CollectionAfterChangeHook, aE as CollectionAfterDeleteHook, aF as CollectionAfterReadHook, aG as CollectionAfterReadHookEntry, aH as CollectionAfterTransitionHook, aI as CollectionBeforeChangeHook, aJ as CollectionBeforeChangeHookEntry, aK as CollectionBeforeDeleteHook, aL as CollectionBeforeReadHook, aM as CollectionBeforeReadHookEntry, aN as CollectionBeforeTransitionHook, aO as CollectionListComponentSlots, aP as CountOperation, aQ as CustomAdminAuthProvider, aR as DatabaseAdapter, aS as DateFieldAdmin, aT as DateFormat, aU as DefineActionOptions, aV as DefineViewOptions, aW as DetailSpan, aX as DisplayTone, aY as DisplayVariant, aZ as DistinctCountOperation, a_ as DistinctValuesOperation, a$ as DynamicOptionItem, b0 as DynamicOptionsConfig, b1 as DynamicOptionsResolver, b2 as DynamicOptionsResolverArgs, b3 as DyrectedLoggerConfig, b4 as DyrectedObservabilityConfig, b5 as EmailFieldAdmin, b6 as FieldAdminHooks, b7 as FieldAdminOnChangeHook, b8 as FieldAdminOnChangeHookArgs, b9 as FieldAdminOptionsHook, ba as FieldAdminOptionsHookArgs, bb as FieldAdminOptionsHookResult, bc as FieldAfterReadHook, bd as FieldAfterReadHookArgs, be as FieldBase, bf as FieldBeforeChangeHook, bg as FieldBeforeChangeHookArgs, bh as FieldHook, bi as FieldHooks, bj as FieldType, bk as FileData, bl as GlobalAfterChangeHook, bm as GlobalAfterReadHook, bn as GlobalAfterReadHookEntry, bo as GlobalBeforeChangeHook, bp as GlobalBeforeChangeHookEntry, bq as GlobalBeforeReadHook, br as GlobalBeforeReadHookEntry, bs as HeadingLevel, bt as HookFunction, bu as IconFieldAdmin, bv as ImageService, bw as InferAggregateResult, bx as JoinFieldAdmin, by as JsonFieldAdmin, bz as JsonFormat, bA as LIFECYCLE_EVENT_NAMES, bB as LifecycleEventHandler, bC as LinkFormat, bD as MetricColor, bE as MultiSelectFieldAdmin, bF as NamedAccessPolicy, bG as NumberFieldAdmin, bH as NumberFormat, bI as NumberLimitFieldAdmin, bJ as NumberLimitFieldConfig, bK as NumericOperation, bL as OIDCAdminAuthProvider, bM as OptionFormat, bN as PaginatedResult, bO as PublicAdminAuthProvider, bP as RadioFieldAdmin, bQ as RateLimitConfig, bR as ReadonlyDatabaseAdapter, bS as RichTextFeature, bT as RichTextFieldConfig, bU as SelectFieldAdmin, bV as StorageAdapter, bW as TextFieldAdmin, bX as TextFormat, bY as TextareaFieldAdmin, bZ as TrustProxyConfig, b_ as TypedField, b$ as UploadConfig, c0 as UrlFieldAdmin, c1 as UrlLinkValue, c2 as ViewActionFeatures, c3 as ViewConfig, c4 as ViewLayout, c5 as ViewMetric, c6 as ViewSubMetric, c7 as WordLimitFieldAdmin, c8 as WordLimitFieldConfig, c9 as WorkflowMetadata, ca as WorkflowRole, cb as WorkflowState, cc as WorkflowTransitionContext, cd as defineAction, ce as defineView } from './app-config-DQhcrGDE.js';
|
|
3
3
|
import jexl from 'jexl';
|
|
4
4
|
import 'lucide-react';
|
|
5
5
|
import 'pino';
|
|
@@ -159,7 +159,7 @@ interface SqlWhereResult {
|
|
|
159
159
|
declare function parseSqlWhere(where: WhereClause, getJsonField: (field: string) => string, placeholder?: '?' | 'pg',
|
|
160
160
|
/**
|
|
161
161
|
* SQL keyword used for `contains`/`starts_with`. Postgres `LIKE` is
|
|
162
|
-
* case-sensitive, so the Postgres adapter
|
|
162
|
+
* case-sensitive, so the Postgres adapter defaults to `'ILIKE'` to keep substring
|
|
163
163
|
* matching case-insensitive like SQLite and MySQL.
|
|
164
164
|
*/
|
|
165
165
|
likeOperator?: 'LIKE' | 'ILIKE'): SqlWhereResult;
|