@palbase/backend 25.0.0 → 25.0.2
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/bin/palbase-backend.cjs +2 -0
- package/dist/bin/palbase-backend.cjs.map +1 -1
- package/dist/bin/palbase-backend.js +2 -2
- package/dist/{chunk-43A3KGWL.js → chunk-34I4GB7D.js} +4 -2
- package/dist/{chunk-43A3KGWL.js.map → chunk-34I4GB7D.js.map} +1 -1
- package/dist/{chunk-ZQRWW37O.js → chunk-35PNTIRN.js} +5 -1
- package/dist/chunk-35PNTIRN.js.map +1 -0
- package/dist/{chunk-OEQBHE2Z.js → chunk-7JSEN7UR.js} +20 -4
- package/dist/chunk-7JSEN7UR.js.map +1 -0
- package/dist/{chunk-5CMLOAEF.js → chunk-YOY5DFQS.js} +2 -2
- package/dist/db/env.cjs.map +1 -1
- package/dist/db/env.d.cts +2 -1
- package/dist/db/env.d.ts +2 -1
- package/dist/db/index.cjs +17 -3
- package/dist/db/index.cjs.map +1 -1
- package/dist/db/index.d.cts +2 -2
- package/dist/db/index.d.ts +2 -2
- package/dist/db/index.js +1 -1
- package/dist/{endpoint-DMwJjEHQ.d.ts → endpoint-CTEHhb7A.d.ts} +19 -8
- package/dist/{endpoint-BSGw1pTu.d.cts → endpoint-DYHMo6cC.d.cts} +19 -8
- package/dist/engine/index.cjs +2 -0
- package/dist/engine/index.cjs.map +1 -1
- package/dist/engine/index.d.cts +4 -4
- package/dist/engine/index.d.ts +4 -4
- package/dist/engine/index.js +2 -2
- package/dist/{index-BF1f0DfA.d.ts → index-CUomTA3e.d.ts} +3 -3
- package/dist/{index-Ct1iiB4N.d.ts → index-CW21M9Z3.d.ts} +24 -17
- package/dist/{index-CoaDN9dL.d.cts → index-ClpDeSos.d.cts} +3 -3
- package/dist/{index-CwaWRhyc.d.cts → index-CmBK76nx.d.cts} +24 -17
- package/dist/index.cjs +80 -51
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -11
- package/dist/index.d.ts +13 -11
- package/dist/index.js +62 -51
- package/dist/index.js.map +1 -1
- package/dist/openapi/index.cjs +1 -1
- package/dist/openapi/index.cjs.map +1 -1
- package/dist/openapi/index.d.cts +2 -2
- package/dist/openapi/index.d.ts +2 -2
- package/dist/openapi/index.js +3 -3
- package/dist/openapi/index.js.map +1 -1
- package/dist/{registry-CgJvDYUW.d.cts → registry-CC0WBQq6.d.cts} +1 -1
- package/dist/{registry-B8pld3fj.d.ts → registry-dZZ5JKYg.d.ts} +1 -1
- package/dist/test/index.d.cts +1 -1
- package/dist/test/index.d.ts +1 -1
- package/docs/README.md +9 -8
- package/docs/database.md +2 -2
- package/docs/endpoints.md +6 -5
- package/docs/getting-started.md +1 -1
- package/docs/llms-full.txt +74 -38
- package/docs/migrations.md +16 -14
- package/docs/schema.md +38 -7
- package/docs/services.md +2 -1
- package/package.json +1 -1
- package/dist/chunk-OEQBHE2Z.js.map +0 -1
- package/dist/chunk-ZQRWW37O.js.map +0 -1
- /package/dist/{chunk-5CMLOAEF.js.map → chunk-YOY5DFQS.js.map} +0 -0
package/dist/db/index.cjs
CHANGED
|
@@ -157,9 +157,16 @@ function defineTable(name, input) {
|
|
|
157
157
|
}
|
|
158
158
|
const policies = (input.policies ?? []).map(toPolicyDef);
|
|
159
159
|
const rls = policies.length > 0 || input.rls !== false;
|
|
160
|
+
const owned = {};
|
|
161
|
+
for (const [colName, b] of Object.entries(input.columns)) {
|
|
162
|
+
const builder = b;
|
|
163
|
+
const clone = Object.create(Object.getPrototypeOf(builder));
|
|
164
|
+
Object.defineProperty(clone, "_def", { value: { ...builder._def }, enumerable: true, writable: true });
|
|
165
|
+
owned[colName] = clone;
|
|
166
|
+
}
|
|
160
167
|
const def = {
|
|
161
168
|
name,
|
|
162
|
-
columns:
|
|
169
|
+
columns: owned,
|
|
163
170
|
rls,
|
|
164
171
|
policies
|
|
165
172
|
};
|
|
@@ -217,10 +224,10 @@ function defineTable(name, input) {
|
|
|
217
224
|
}
|
|
218
225
|
def.memory = input.memory;
|
|
219
226
|
}
|
|
220
|
-
for (const b of Object.values(
|
|
227
|
+
for (const b of Object.values(owned)) {
|
|
221
228
|
b._def.ownerTable = def;
|
|
222
229
|
}
|
|
223
|
-
const handle = { ...
|
|
230
|
+
const handle = { ...owned };
|
|
224
231
|
Object.defineProperty(handle, TABLE_META, { value: def, enumerable: false });
|
|
225
232
|
return handle;
|
|
226
233
|
}
|
|
@@ -480,6 +487,12 @@ var ColumnBuilder = class _ColumnBuilder {
|
|
|
480
487
|
* In a cycle, ONE side needs an explicit return type:
|
|
481
488
|
* `references((): AnyColumn => y.id)`. One side is enough — measured.
|
|
482
489
|
* For a self-reference use `selfReferences(column)`: no thunk, no annotation.
|
|
490
|
+
*
|
|
491
|
+
* `as` names the FORWARD relation (`author_id` → `author` by default);
|
|
492
|
+
* `reverseAs` names the REVERSE one on the parent, whose default is this
|
|
493
|
+
* table's own name (`users.posts`). Two foreign keys from one table onto one
|
|
494
|
+
* parent therefore need a `reverseAs` on at least one of them — the reverse
|
|
495
|
+
* names would otherwise both be this table's name.
|
|
483
496
|
*/
|
|
484
497
|
references(target, opts) {
|
|
485
498
|
refuseOnVector(this._def, "references");
|
|
@@ -490,6 +503,7 @@ var ColumnBuilder = class _ColumnBuilder {
|
|
|
490
503
|
}
|
|
491
504
|
this._def.referencesThunk = target;
|
|
492
505
|
if (opts?.as !== void 0) this._def.refAs = opts.as;
|
|
506
|
+
if (opts?.reverseAs !== void 0) this._def.reverseAs = opts.reverseAs;
|
|
493
507
|
if (opts?.onDelete !== void 0) this._def.onDeleteAction = opts.onDelete;
|
|
494
508
|
return new _ColumnBuilder(this._def.type, this._def);
|
|
495
509
|
}
|