@zeroxsolutions/db 10.0.0 → 10.2.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/CHANGELOG.md +22 -1
- package/README.md +20 -2
- package/dist/base/d1/entity.d.ts.map +1 -1
- package/dist/base/d1/outbox.d.ts.map +1 -1
- package/dist/base/d1/outbox.js +1 -3
- package/dist/base/d1/repository.d.ts +8 -0
- package/dist/base/d1/repository.d.ts.map +1 -1
- package/dist/base/d1/repository.js +9 -0
- package/dist/base/d1/unit-of-work.d.ts.map +1 -1
- package/dist/base/postgres/entity.d.ts.map +1 -1
- package/dist/base/postgres/outbox.d.ts.map +1 -1
- package/dist/base/postgres/outbox.js +1 -3
- package/dist/base/postgres/repository.d.ts +8 -0
- package/dist/base/postgres/repository.d.ts.map +1 -1
- package/dist/base/postgres/repository.js +17 -1
- package/dist/base/postgres/unit-of-work.d.ts.map +1 -1
- package/dist/base/read-engine.d.ts +4 -5
- package/dist/base/read-engine.d.ts.map +1 -1
- package/dist/base/read-engine.js +6 -5
- package/dist/utils/filter.d.ts +11 -5
- package/dist/utils/filter.d.ts.map +1 -1
- package/dist/utils/filter.js +2 -2
- package/dist/utils/read.d.ts +2 -0
- package/dist/utils/read.d.ts.map +1 -1
- package/dist/utils/reads.d.ts +12 -6
- package/dist/utils/reads.d.ts.map +1 -1
- package/dist/utils/reads.js +3 -0
- package/package.json +8 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## 10.2.0 (2026-10-20)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- **db:** hand a repository the condition a count under its options runs ([8030b5a](https://github.com/zeroxsolutions/zeroxsolutions/commit/8030b5a))
|
|
6
|
+
|
|
7
|
+
### ❤️ Thank You
|
|
8
|
+
|
|
9
|
+
- Lương Văn Tú
|
|
10
|
+
|
|
11
|
+
## 10.1.0 (2026-10-19)
|
|
12
|
+
|
|
13
|
+
### 🚀 Features
|
|
14
|
+
|
|
15
|
+
- **db:** hand a virtual name the request's own values as context ([3008328](https://github.com/zeroxsolutions/zeroxsolutions/commit/3008328))
|
|
16
|
+
|
|
17
|
+
### ❤️ Thank You
|
|
18
|
+
|
|
19
|
+
- Claude Opus 5.5
|
|
20
|
+
- Lương Văn Tú
|
|
21
|
+
|
|
1
22
|
# 10.0.0 (2026-10-18)
|
|
2
23
|
|
|
3
24
|
### 🚀 Features
|
|
@@ -184,7 +205,7 @@ This was a version bump only for @zeroxsolutions/db to align it with other proje
|
|
|
184
205
|
- **db:** the audit columns store an instant, not a wall clock ([8760d45](https://github.com/zeroxsolutions/zeroxsolutions/commit/8760d45))
|
|
185
206
|
every Postgres consumer must run `drizzle:generate` and apply the
|
|
186
207
|
migration it emits. Read that SQL before committing it: a bare `ALTER COLUMN ... SET DATA
|
|
187
|
-
TYPE timestamptz` reinterprets existing values in the session's time zone, so a store
|
|
208
|
+
TYPE timestamptz` reinterprets existing values in the session's time zone, so a store
|
|
188
209
|
holding rows needs `USING <column> AT TIME ZONE 'UTC'` written explicitly rather than the
|
|
189
210
|
server default. A consumer that bumps without migrating keeps its old columns and gets the
|
|
190
211
|
new type only on tables it creates afterwards, which is the state this is worth a major to
|
package/README.md
CHANGED
|
@@ -129,6 +129,11 @@ On a multi-tenant table every one of them crosses tenants; a tenant-scoped repos
|
|
|
129
129
|
`softDeleteWhere` and `nullifyBy`, each taking a drizzle `where` beside the options. A finder's name states that
|
|
130
130
|
condition (`findAllAndCountByTenantId`), the way a Spring Data derived query's does.
|
|
131
131
|
|
|
132
|
+
An aggregate the base has no method for, such as one grouped count, takes `matchConditionOf(where, options)`: the
|
|
133
|
+
condition a count under those options runs, its filter, `virtual` names and soft-delete condition included, so the
|
|
134
|
+
aggregate matches the rows a page read under the same options does. It is protected, so a hand-written query stays
|
|
135
|
+
inside a repository.
|
|
136
|
+
|
|
132
137
|
#### Read options
|
|
133
138
|
|
|
134
139
|
```ts
|
|
@@ -136,6 +141,7 @@ type FindOneOptions = {
|
|
|
136
141
|
read?: Read; // what loads; every column and no relation where absent
|
|
137
142
|
softDeleted?: boolean; // whether marked root rows match (default: false)
|
|
138
143
|
at?: Date; // the instant a virtual name is decided at (default: the call)
|
|
144
|
+
context?: unknown; // the request's own values a virtual name is decided against, handed through unchecked
|
|
139
145
|
};
|
|
140
146
|
type FindAllOptions = FindOneOptions & {
|
|
141
147
|
filter?: FilterNode[]; // the condition tree; root nodes join by `and`
|
|
@@ -143,7 +149,7 @@ type FindAllOptions = FindOneOptions & {
|
|
|
143
149
|
limit?: number; // with none, every match
|
|
144
150
|
offset?: number;
|
|
145
151
|
};
|
|
146
|
-
type CountOptions = { filter?: FilterNode[]; softDeleted?: boolean; at?: Date };
|
|
152
|
+
type CountOptions = { filter?: FilterNode[]; softDeleted?: boolean; at?: Date; context?: unknown };
|
|
147
153
|
```
|
|
148
154
|
|
|
149
155
|
A read holds no transaction: one that must see a write in progress belongs to an aggregate repository on the unit of
|
|
@@ -174,7 +180,9 @@ before any SQL is built.
|
|
|
174
180
|
```ts
|
|
175
181
|
import { defineReads } from '@zeroxsolutions/db/utils';
|
|
176
182
|
|
|
177
|
-
|
|
183
|
+
type PlaceReadContext = { origin: { lat: number; lng: number } };
|
|
184
|
+
|
|
185
|
+
export const READS = defineReads<typeof schema, PlaceReadContext>(schema, {
|
|
178
186
|
openingHoursTable: { orderBy: [{ field: 'weekday', direction: 'asc' }] },
|
|
179
187
|
placesTable: {
|
|
180
188
|
virtual: {
|
|
@@ -182,14 +190,24 @@ export const READS = defineReads(schema, {
|
|
|
182
190
|
filter: (condition, { at }) => sql`(<an expression over ${placesTable.id} and ${at}>) = ${condition.value}`,
|
|
183
191
|
order: ({ at }) => sql`<an expression over ${placesTable.id} and ${at}>`,
|
|
184
192
|
},
|
|
193
|
+
distance: {
|
|
194
|
+
order: ({ context }) => sql`<the distance from ${context?.origin.lat}, ${context?.origin.lng} to the place>`,
|
|
195
|
+
},
|
|
185
196
|
},
|
|
186
197
|
},
|
|
187
198
|
});
|
|
199
|
+
|
|
200
|
+
// a route hands the request's values beside the guarded query
|
|
201
|
+
places.findAllAndCount({ ...findOptionsOf(query, permits), context: { origin } });
|
|
188
202
|
```
|
|
189
203
|
|
|
190
204
|
Each key is a table's export name and each order field one of its columns, checked when `defineReads` runs. A
|
|
191
205
|
`virtual` filter expression is wrapped in parentheses, so its `or` cannot reach the soft-delete condition.
|
|
192
206
|
|
|
207
|
+
A `virtual` name receives `at` and the finder's `context`, typed by `defineReads`'s second type argument. The finder
|
|
208
|
+
does not check `context`, and hands `undefined` where the caller passed none, so a name reading it decides what it
|
|
209
|
+
means without one. A count reads `context` as the page does, so a total and its page match the same rows.
|
|
210
|
+
|
|
193
211
|
#### Nullify FK
|
|
194
212
|
|
|
195
213
|
`nullifyBy` sets a foreign key column to `null` where it matches a given value, from inside a named method:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/base/d1/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/base/d1/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI7E,yGAAyG;AACzG,eAAO,MAAM,UAAU;;;;CAStB,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,QAAQ,2PAEQ,CAAC;AAE9B,iGAAiG;AACjG,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,0GAA0G;AAC1G,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAMxG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../../src/base/d1/outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;GAIG;AACH,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBADV,EAAE,EAAE,iBAAiB,EACrB,SAAS,CAAC,EAAE,cAAc,YAAA;IAG7C,oGAAoG;IAC9F,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../../src/base/d1/outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;GAIG;AACH,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBADV,EAAE,EAAE,iBAAiB,EACrB,SAAS,CAAC,EAAE,cAAc,YAAA;IAG7C,oGAAoG;IAC9F,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAejD,0FAA0F;IAC1F,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IASpD,4GAA4G;IACtG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAOrE"}
|
package/dist/base/d1/outbox.js
CHANGED
|
@@ -16,9 +16,7 @@ export class DrizzleOutbox {
|
|
|
16
16
|
async stage(events) {
|
|
17
17
|
if (events.length === 0)
|
|
18
18
|
return;
|
|
19
|
-
const statement = this.db
|
|
20
|
-
.insert(outboxTable)
|
|
21
|
-
.values(events.map((event) => ({
|
|
19
|
+
const statement = this.db.insert(outboxTable).values(events.map((event) => ({
|
|
22
20
|
type: event.type,
|
|
23
21
|
payload: JSON.stringify(event),
|
|
24
22
|
})));
|
|
@@ -16,6 +16,7 @@ export type FindOneOptions<TSchema extends Record<string, unknown> = Record<stri
|
|
|
16
16
|
read?: Read<ColumnName<TSchema, TTableName>>;
|
|
17
17
|
softDeleted?: boolean;
|
|
18
18
|
at?: Date;
|
|
19
|
+
context?: unknown;
|
|
19
20
|
};
|
|
20
21
|
/**
|
|
21
22
|
* A read of many rows: a read of one, and the filter they match, their order (the primary key appended) and their page
|
|
@@ -106,6 +107,13 @@ export declare abstract class BaseRepository<TTable extends SQLiteTable<TableCon
|
|
|
106
107
|
protected findAllAndCountWhere<R extends Partial<InferSelectModel<TTable>> = InferSelectModel<TTable>>(where: SQL | undefined, options?: FindAllOptions<TSchema, TTableName>): Promise<[R[], number]>;
|
|
107
108
|
/** The first row matching `where`, loaded as the options' `read` names. */
|
|
108
109
|
protected findOneWhere<R extends Partial<InferSelectModel<TTable>> = InferSelectModel<TTable>>(where: SQL | undefined, options?: FindOneOptions<TSchema, TTableName>): Promise<R | null>;
|
|
110
|
+
/**
|
|
111
|
+
* The condition a count under `options` runs: `where`, the options' filter with its `virtual` names decided at `at`
|
|
112
|
+
* against `context`, and the soft-delete condition. It is for an aggregate the base has no method for, such as one
|
|
113
|
+
* grouped count where a count per value would repeat the whole filter, so the aggregate matches the same rows a page
|
|
114
|
+
* read under the same options does.
|
|
115
|
+
*/
|
|
116
|
+
protected matchConditionOf(where: SQL | undefined, options?: MatchOptions): SQL | undefined;
|
|
109
117
|
/** How many rows match `where` and the options' filter. */
|
|
110
118
|
protected countWhere(where: SQL | undefined, options?: CountOptions): Promise<number>;
|
|
111
119
|
/** Whether any row matches `where` and the options' filter. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/base/d1/repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAiD,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAmC,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAgB,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAYlD,mGAAmG;AACnG,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAE5G,iFAAiF;AACjF,MAAM,MAAM,WAAW,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,aAAa,CAC5G,WAAW,EACX,0BAA0B,CAAC,WAAW,CAAC,CACxC,CAAC;AACF,4FAA4F;AAC5F,MAAM,MAAM,QAAQ,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACtF,iBAAiB,CAAC,WAAW,CAAC,GAC9B,WAAW,CAAC,WAAW,CAAC,CAAC;AAE7B,mHAAmH;AACnH,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,UAAU,SAAS,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAClF;IACF,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/base/d1/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,6 +112,15 @@ export class BaseRepository {
|
|
|
112
112
|
.limit(1);
|
|
113
113
|
return rows[0] ?? null;
|
|
114
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* The condition a count under `options` runs: `where`, the options' filter with its `virtual` names decided at `at`
|
|
117
|
+
* against `context`, and the soft-delete condition. It is for an aggregate the base has no method for, such as one
|
|
118
|
+
* grouped count where a count per value would repeat the whole filter, so the aggregate matches the same rows a page
|
|
119
|
+
* read under the same options does.
|
|
120
|
+
*/
|
|
121
|
+
matchConditionOf(where, options) {
|
|
122
|
+
return conditionOf(this.source, this.getExecutor(), where, options);
|
|
123
|
+
}
|
|
115
124
|
/** How many rows match `where` and the options' filter. */
|
|
116
125
|
async countWhere(where, options) {
|
|
117
126
|
const result = await this.getExecutor()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-of-work.d.ts","sourceRoot":"","sources":["../../../src/base/d1/unit-of-work.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7F,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC/B,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAmB,CAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,aAAa,CACb,YAAW,WAAW,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"unit-of-work.d.ts","sourceRoot":"","sources":["../../../src/base/d1/unit-of-work.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7F,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC/B,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAmB,CAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,aAAa,CACb,YAAW,WAAW,CAAC,aAAa,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAC9B,gBAAgB,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,aAAa;IAG5E,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAe5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/base/postgres/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/base/postgres/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAI3E;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;CAOtB,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,QAAQ,wMAEQ,CAAC;AAE9B,iGAAiG;AACjG,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED,0GAA0G;AAC1G,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAMxG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../../src/base/postgres/outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;;GAIG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAEzC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../../src/base/postgres/outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;;GAIG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAEzC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAS9C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAIrE"}
|
|
@@ -13,9 +13,7 @@ export class DrizzleOutbox {
|
|
|
13
13
|
async stage(events) {
|
|
14
14
|
if (events.length === 0)
|
|
15
15
|
return;
|
|
16
|
-
await this.executor
|
|
17
|
-
.insert(outboxTable)
|
|
18
|
-
.values(events.map((event) => ({ type: event.type, payload: event })));
|
|
16
|
+
await this.executor.insert(outboxTable).values(events.map((event) => ({ type: event.type, payload: event })));
|
|
19
17
|
}
|
|
20
18
|
pullUnpublished(limit) {
|
|
21
19
|
return this.executor
|
|
@@ -17,6 +17,7 @@ export type FindOneOptions<TSchema extends Record<string, unknown> = Record<stri
|
|
|
17
17
|
read?: Read<ColumnName<TSchema, TTableName>>;
|
|
18
18
|
softDeleted?: boolean;
|
|
19
19
|
at?: Date;
|
|
20
|
+
context?: unknown;
|
|
20
21
|
};
|
|
21
22
|
/**
|
|
22
23
|
* A read of many rows: a read of one, and the filter they match, their order (the primary key appended) and their page
|
|
@@ -103,6 +104,13 @@ export declare abstract class BaseRepository<TTable extends PgTable<TableConfig>
|
|
|
103
104
|
protected findAllAndCountWhere<R extends Partial<InferSelectModel<TTable>> = InferSelectModel<TTable>>(where: SQL | undefined, options?: FindAllOptions<TSchema, TTableName>): Promise<[R[], number]>;
|
|
104
105
|
/** The first row matching `where`, loaded as the options' `read` names. */
|
|
105
106
|
protected findOneWhere<R extends Partial<InferSelectModel<TTable>> = InferSelectModel<TTable>>(where: SQL | undefined, options?: FindOneOptions<TSchema, TTableName>): Promise<R | null>;
|
|
107
|
+
/**
|
|
108
|
+
* The condition a count under `options` runs: `where`, the options' filter with its `virtual` names decided at `at`
|
|
109
|
+
* against `context`, and the soft-delete condition. It is for an aggregate the base has no method for, such as one
|
|
110
|
+
* grouped count where a count per value would repeat the whole filter, so the aggregate matches the same rows a page
|
|
111
|
+
* read under the same options does.
|
|
112
|
+
*/
|
|
113
|
+
protected matchConditionOf(where: SQL | undefined, options?: MatchOptions): SQL | undefined;
|
|
106
114
|
/** How many rows match `where` and the options' filter. */
|
|
107
115
|
protected countWhere(where: SQL | undefined, options?: CountOptions): Promise<number>;
|
|
108
116
|
/** Whether any row matches `where` and the options' filter. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/base/postgres/repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/base/postgres/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,6 +109,15 @@ export class BaseRepository {
|
|
|
109
109
|
.limit(1);
|
|
110
110
|
return rows[0] ?? null;
|
|
111
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* The condition a count under `options` runs: `where`, the options' filter with its `virtual` names decided at `at`
|
|
114
|
+
* against `context`, and the soft-delete condition. It is for an aggregate the base has no method for, such as one
|
|
115
|
+
* grouped count where a count per value would repeat the whole filter, so the aggregate matches the same rows a page
|
|
116
|
+
* read under the same options does.
|
|
117
|
+
*/
|
|
118
|
+
matchConditionOf(where, options) {
|
|
119
|
+
return conditionOf(this.source, this.getExecutor(), where, options);
|
|
120
|
+
}
|
|
112
121
|
/** How many rows match `where` and the options' filter. */
|
|
113
122
|
async countWhere(where, options) {
|
|
114
123
|
const result = await this.getExecutor()
|
|
@@ -218,7 +227,14 @@ export class BaseViewRepository {
|
|
|
218
227
|
return getViewSelectedFields(this.viewTable);
|
|
219
228
|
}
|
|
220
229
|
get fields() {
|
|
221
|
-
return {
|
|
230
|
+
return {
|
|
231
|
+
columns: this.selectable,
|
|
232
|
+
relationKeys: {},
|
|
233
|
+
virtual: {},
|
|
234
|
+
at: new Date(),
|
|
235
|
+
context: undefined,
|
|
236
|
+
caseInsensitiveOperator: true,
|
|
237
|
+
};
|
|
222
238
|
}
|
|
223
239
|
async findAll(options) {
|
|
224
240
|
return this.findAllWhere(undefined, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-of-work.d.ts","sourceRoot":"","sources":["../../../src/base/postgres/unit-of-work.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,iBAAiB,
|
|
1
|
+
{"version":3,"file":"unit-of-work.d.ts","sourceRoot":"","sources":["../../../src/base/postgres/unit-of-work.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,iBAAiB,CAC5B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,aAAa,CACb,YAAW,WAAW,CAAC,aAAa,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAC/B,gBAAgB,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,aAAa;IAGhF,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGtE"}
|
|
@@ -22,20 +22,19 @@ export declare function metadataOf(executor: unknown): RelationalMetadata | unde
|
|
|
22
22
|
* name: the key holds its own copies of the columns, so its column objects are not the table's (drizzle-orm@0.45.1).
|
|
23
23
|
*/
|
|
24
24
|
export declare function primaryKeyFields(table: Table): string[];
|
|
25
|
-
/** What resolving a filter or an order name of this table needs, decided at `at`. */
|
|
26
|
-
export declare function fieldContextOf(source: ReadSource, executor: unknown,
|
|
25
|
+
/** What resolving a filter or an order name of this table needs, decided at `at` against `context`. */
|
|
26
|
+
export declare function fieldContextOf(source: ReadSource, executor: unknown, options: Pick<MatchOptions, 'at' | 'context'> | undefined): FieldContext;
|
|
27
27
|
/** The root table's soft-delete condition, unless the read asks for marked rows or the table marks none. */
|
|
28
28
|
export declare function liveCondition(table: Table, softDeleted: boolean | undefined): SQL | undefined;
|
|
29
29
|
/** A finder's own `where`, the caller's filter and the soft-delete condition, joined. */
|
|
30
30
|
export declare function conditionOf(source: ReadSource, executor: unknown, where: SQL | undefined, options: MatchOptions | undefined): SQL | undefined;
|
|
31
31
|
/** The order a read of many rows runs in, the primary key appended. */
|
|
32
|
-
export declare function orderClausesOf(source: ReadSource, executor: unknown, options: {
|
|
32
|
+
export declare function orderClausesOf(source: ReadSource, executor: unknown, options: ({
|
|
33
33
|
orderBy?: readonly {
|
|
34
34
|
field: string;
|
|
35
35
|
direction: 'asc' | 'desc';
|
|
36
36
|
}[];
|
|
37
|
-
|
|
38
|
-
} | undefined): SQL[];
|
|
37
|
+
} & Pick<MatchOptions, 'at' | 'context'>) | undefined): SQL[];
|
|
39
38
|
/** Whether a read loads any relation, which only drizzle's relational query can. */
|
|
40
39
|
export declare function loadsRelations(read: Read | undefined): boolean;
|
|
41
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-engine.d.ts","sourceRoot":"","sources":["../../src/base/read-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAGvG,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IACxD,2DAA2D;IAC3D,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CAM5E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAOvD;AAiBD,
|
|
1
|
+
{"version":3,"file":"read-engine.d.ts","sourceRoot":"","sources":["../../src/base/read-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAGvG,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IACxD,2DAA2D;IAC3D,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CAM5E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAOvD;AAiBD,uGAAuG;AACvG,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,SAAS,GACxD,YAAY,CAUd;AAED,4GAA4G;AAC5G,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS,CAG7F;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CACzB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,GAAG,GAAG,SAAS,EACtB,OAAO,EAAE,YAAY,GAAG,SAAS,GAChC,GAAG,GAAG,SAAS,CAGjB;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,OAAO,EACjB,OAAO,EACH,CAAC;IAAE,OAAO,CAAC,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC,GAC9G,SAAS,GACZ,GAAG,EAAE,CAEP;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,IAAI,GAAG,SAAS,GACrB,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,MAAM,CAAC,CAS5C;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAKzF"}
|
package/dist/base/read-engine.js
CHANGED
|
@@ -41,14 +41,15 @@ function relationKeysOf(source, metadata) {
|
|
|
41
41
|
}
|
|
42
42
|
return keys;
|
|
43
43
|
}
|
|
44
|
-
/** What resolving a filter or an order name of this table needs, decided at `at`. */
|
|
45
|
-
export function fieldContextOf(source, executor,
|
|
44
|
+
/** What resolving a filter or an order name of this table needs, decided at `at` against `context`. */
|
|
45
|
+
export function fieldContextOf(source, executor, options) {
|
|
46
46
|
const metadata = metadataOf(executor);
|
|
47
47
|
return {
|
|
48
48
|
columns: getTableColumns(source.table),
|
|
49
49
|
relationKeys: relationKeysOf(source, metadata),
|
|
50
50
|
virtual: (source.queryKey !== undefined ? source.reads[source.queryKey]?.virtual : undefined) ?? {},
|
|
51
|
-
at: at ?? new Date(),
|
|
51
|
+
at: options?.at ?? new Date(),
|
|
52
|
+
context: options?.context,
|
|
52
53
|
caseInsensitiveOperator: source.caseInsensitiveOperator,
|
|
53
54
|
};
|
|
54
55
|
}
|
|
@@ -59,12 +60,12 @@ export function liveCondition(table, softDeleted) {
|
|
|
59
60
|
}
|
|
60
61
|
/** A finder's own `where`, the caller's filter and the soft-delete condition, joined. */
|
|
61
62
|
export function conditionOf(source, executor, where, options) {
|
|
62
|
-
const context = fieldContextOf(source, executor, options
|
|
63
|
+
const context = fieldContextOf(source, executor, options);
|
|
63
64
|
return and(where, whereOf(context, options?.filter), liveCondition(source.table, options?.softDeleted));
|
|
64
65
|
}
|
|
65
66
|
/** The order a read of many rows runs in, the primary key appended. */
|
|
66
67
|
export function orderClausesOf(source, executor, options) {
|
|
67
|
-
return orderOf(fieldContextOf(source, executor, options
|
|
68
|
+
return orderOf(fieldContextOf(source, executor, options), options?.orderBy, primaryKeyFields(source.table));
|
|
68
69
|
}
|
|
69
70
|
/** Whether a read loads any relation, which only drizzle's relational query can. */
|
|
70
71
|
export function loadsRelations(read) {
|
package/dist/utils/filter.d.ts
CHANGED
|
@@ -82,17 +82,22 @@ export type FilterValue = z.infer<typeof filterValueSchema>;
|
|
|
82
82
|
export declare class UnknownQueryField extends Error {
|
|
83
83
|
constructor(field: string);
|
|
84
84
|
}
|
|
85
|
-
/**
|
|
86
|
-
|
|
85
|
+
/**
|
|
86
|
+
* What a `virtual` name is decided against: the instant the finder was handed, and the request's own values it was
|
|
87
|
+
* handed as `context`, such as a traveller's position. The finder passes `context` through unchecked; `undefined` where
|
|
88
|
+
* the caller handed none.
|
|
89
|
+
*/
|
|
90
|
+
export interface VirtualContext<TContext = unknown> {
|
|
87
91
|
at: Date;
|
|
92
|
+
context: TContext | undefined;
|
|
88
93
|
}
|
|
89
94
|
/**
|
|
90
95
|
* A filter or an order name no column holds, as `READS` declares it: the expression a condition on it becomes, and the
|
|
91
96
|
* expression it orders by. A `filter` answering `undefined` contributes no condition, like an empty `in`.
|
|
92
97
|
*/
|
|
93
|
-
export interface VirtualField {
|
|
94
|
-
filter
|
|
95
|
-
order
|
|
98
|
+
export interface VirtualField<TContext = unknown> {
|
|
99
|
+
filter?(condition: FilterValue, context: VirtualContext<TContext>): SQL | undefined;
|
|
100
|
+
order?(context: VirtualContext<TContext>): SQL | Column;
|
|
96
101
|
}
|
|
97
102
|
/** What resolving a field needs: the table's columns, its relations to one row by their key, and its `virtual` names. */
|
|
98
103
|
export interface FieldContext {
|
|
@@ -101,6 +106,7 @@ export interface FieldContext {
|
|
|
101
106
|
relationKeys: Readonly<Record<string, Column>>;
|
|
102
107
|
virtual: Readonly<Record<string, VirtualField>>;
|
|
103
108
|
at: Date;
|
|
109
|
+
context: unknown;
|
|
104
110
|
/** Postgres matches text case-insensitively with `ILIKE`; SQLite has no `ILIKE`, and its `LIKE` already is. */
|
|
105
111
|
caseInsensitiveOperator: boolean;
|
|
106
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/utils/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAmB/C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,uGAAuG;AACvG,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;EAgB/B,CAAC;AAIH,iHAAiH;AACjH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAiC5B,CAAC;AAEH,gGAAgG;AAChG,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;AAEvD,wEAAwE;AACxE,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AAEjD,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAKnD,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAmD,CAAC;AAEvG,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,WAAW,CAEnE;AAED,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAW5D;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,EAAE,MAAM;CAG1B;AAED
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/utils/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAmB/C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,uGAAuG;AACvG,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;EAgB/B,CAAC;AAIH,iHAAiH;AACjH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAiC5B,CAAC;AAEH,gGAAgG;AAChG,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;AAEvD,wEAAwE;AACxE,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AAEjD,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAKnD,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAmD,CAAC;AAEvG,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,WAAW,CAEnE;AAED,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAW5D;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,EAAE,MAAM;CAG1B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,QAAQ,GAAG,OAAO;IAChD,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,GAAG,OAAO;IAG9C,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;IACpF,KAAK,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC;CACzD;AAED,yHAAyH;AACzH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,2GAA2G;IAC3G,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAChD,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,+GAA+G;IAC/G,uBAAuB,EAAE,OAAO,CAAC;CAClC;AA+FD;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS,CAIzG;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,EAAE,GAAG,SAAS,EAC5E,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,GAAG,EAAE,CAeP"}
|
package/dist/utils/filter.js
CHANGED
|
@@ -111,7 +111,7 @@ function buildCondition(context, filter) {
|
|
|
111
111
|
if (virtual?.filter) {
|
|
112
112
|
// Parenthesized because the expression may be a bare `a or b`, and `and()` joins its operands without grouping
|
|
113
113
|
// them: beside a sibling or the soft-delete condition it would read `a or (b and deleted_at is null)`.
|
|
114
|
-
const expression = virtual.filter(filter, { at: context.at });
|
|
114
|
+
const expression = virtual.filter(filter, { at: context.at, context: context.context });
|
|
115
115
|
return expression === undefined ? undefined : sql `(${expression})`;
|
|
116
116
|
}
|
|
117
117
|
const relationKey = Object.hasOwn(context.relationKeys, filter.field)
|
|
@@ -203,7 +203,7 @@ export function orderOf(context, orderBy, primaryKey) {
|
|
|
203
203
|
];
|
|
204
204
|
return entries.map((entry) => {
|
|
205
205
|
const virtual = Object.hasOwn(context.virtual, entry.field) ? context.virtual[entry.field] : undefined;
|
|
206
|
-
const expression = virtual?.order?.({ at: context.at }) ??
|
|
206
|
+
const expression = virtual?.order?.({ at: context.at, context: context.context }) ??
|
|
207
207
|
(Object.hasOwn(context.columns, entry.field) ? context.columns[entry.field] : undefined);
|
|
208
208
|
if (!expression)
|
|
209
209
|
throw new UnknownQueryField(entry.field);
|
package/dist/utils/read.d.ts
CHANGED
|
@@ -41,6 +41,8 @@ export interface MatchOptions {
|
|
|
41
41
|
softDeleted?: boolean;
|
|
42
42
|
/** The instant a `virtual` name of `READS` is decided at; the moment of the call where absent. */
|
|
43
43
|
at?: Date;
|
|
44
|
+
/** The request's own values a `virtual` name of `READS` is decided against, handed to it unchecked. */
|
|
45
|
+
context?: unknown;
|
|
44
46
|
}
|
|
45
47
|
/** A read naming a column or a relation its table does not hold. */
|
|
46
48
|
export declare class UnknownReadName extends Error {
|
package/dist/utils/read.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/utils/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,0BAA0B,EAC/B,KAAK,QAAQ,EACb,KAAK,GAAG,EACR,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,oEAAoE;AACpE,KAAK,gBAAgB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAErG;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,SAAS,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAC9G,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GACjE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,oGAAoG;AACpG,MAAM,WAAW,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,IAAI,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACnD,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,IAAI;IACxC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC/B,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kGAAkG;IAClG,EAAE,CAAC,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/utils/read.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/reads.d.ts
CHANGED
|
@@ -2,23 +2,29 @@ import { type ExtractTablesWithRelations } from 'drizzle-orm';
|
|
|
2
2
|
import type { VirtualField } from './filter.js';
|
|
3
3
|
import type { ColumnName, OrderEntry } from './read.js';
|
|
4
4
|
/** What holds for one table whichever read reaches it. */
|
|
5
|
-
export interface TableReads<TColumn extends string = string> {
|
|
5
|
+
export interface TableReads<TColumn extends string = string, TContext = unknown> {
|
|
6
6
|
/** The order its rows load in as a relation that holds many; a relation's own `orderBy` replaces it. */
|
|
7
7
|
orderBy?: readonly OrderEntry<TColumn>[];
|
|
8
8
|
/** The filter and order names no column of it holds, each with the expression it becomes. */
|
|
9
|
-
virtual?: Readonly<Record<string, VirtualField
|
|
9
|
+
virtual?: Readonly<Record<string, VirtualField<TContext>>>;
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
/**
|
|
12
|
+
* A context's reads, keyed by each table's EXPORT name in the schema. `TContext` types the request values its `virtual`
|
|
13
|
+
* names are decided against.
|
|
14
|
+
*/
|
|
15
|
+
export type Reads<TSchema extends Record<string, unknown> = Record<string, unknown>, TContext = unknown> = {
|
|
16
|
+
readonly [K in keyof ExtractTablesWithRelations<TSchema> & string]?: TableReads<ColumnName<TSchema, K>, TContext>;
|
|
14
17
|
};
|
|
15
18
|
/**
|
|
16
19
|
* Declares, once per context, what holds for each table whichever read reaches it: the order its rows load in as a
|
|
17
20
|
* relation, and its `virtual` filter and order names. Every repository of the context hands the same value to its base.
|
|
18
21
|
*
|
|
22
|
+
* `TContext` is the shape of the `context` a finder is handed for its `virtual` names; each receives it, or
|
|
23
|
+
* `undefined` where the caller handed none.
|
|
24
|
+
*
|
|
19
25
|
* @param schema - the schema barrel the repositories are typed by; each key is checked against it
|
|
20
26
|
* @throws Error at declaration on a key that is no table export of `schema`, or an order naming a column its table
|
|
21
27
|
* does not hold
|
|
22
28
|
*/
|
|
23
|
-
export declare function defineReads<TSchema extends Record<string, unknown
|
|
29
|
+
export declare function defineReads<TSchema extends Record<string, unknown>, TContext = unknown>(schema: TSchema, reads: Reads<TSchema, TContext>): Reads<TSchema, TContext>;
|
|
24
30
|
//# sourceMappingURL=reads.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reads.d.ts","sourceRoot":"","sources":["../../src/utils/reads.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAExD,0DAA0D;AAC1D,MAAM,WAAW,UAAU,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"reads.d.ts","sourceRoot":"","sources":["../../src/utils/reads.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAExD,0DAA0D;AAC1D,MAAM,WAAW,UAAU,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAG,OAAO;IAC7E,wGAAwG;IACxG,OAAO,CAAC,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAC5D;AAED;;;GAGG;AACH,MAAM,MAAM,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,IAAI;IACzG,QAAQ,EAAE,CAAC,IAAI,MAAM,0BAA0B,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC;CAClH,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,EACrF,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC9B,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAY1B"}
|
package/dist/utils/reads.js
CHANGED
|
@@ -3,6 +3,9 @@ import { createTableRelationsHelpers, extractTablesRelationalConfig, } from 'dri
|
|
|
3
3
|
* Declares, once per context, what holds for each table whichever read reaches it: the order its rows load in as a
|
|
4
4
|
* relation, and its `virtual` filter and order names. Every repository of the context hands the same value to its base.
|
|
5
5
|
*
|
|
6
|
+
* `TContext` is the shape of the `context` a finder is handed for its `virtual` names; each receives it, or
|
|
7
|
+
* `undefined` where the caller handed none.
|
|
8
|
+
*
|
|
6
9
|
* @param schema - the schema barrel the repositories are typed by; each key is checked against it
|
|
7
10
|
* @throws Error at declaration on a key that is no table export of `schema`, or an order naming a column its table
|
|
8
11
|
* does not hold
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeroxsolutions/db",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.2.0",
|
|
4
4
|
"description": "Generic Drizzle toolkit - the id column and audit timestamps a table takes, a base repository, the unit-of-work and transactional outbox impls, and the filter/sort/pagination query helpers, for PostgreSQL (postgres-js) and Cloudflare D1; ships no domain schema. Shared across ZeroXSolutions services.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"tslib": "^2.3.0",
|
|
44
44
|
"uuid": "^14.0.1",
|
|
45
|
-
"@zeroxsolutions/
|
|
46
|
-
"@zeroxsolutions/
|
|
45
|
+
"@zeroxsolutions/cosmic": "0.3.4",
|
|
46
|
+
"@zeroxsolutions/query": "0.7.4"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"@testcontainers/postgresql": "^12.1.0",
|
|
@@ -69,5 +69,10 @@
|
|
|
69
69
|
"drizzle-orm": "^0.45.1",
|
|
70
70
|
"postgres": "^3.4.9",
|
|
71
71
|
"zod": "^4.3.6"
|
|
72
|
+
},
|
|
73
|
+
"nx": {
|
|
74
|
+
"targets": {
|
|
75
|
+
"lint-deps": {}
|
|
76
|
+
}
|
|
72
77
|
}
|
|
73
78
|
}
|