@kernhq/module-quire 0.8.0 → 0.9.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/README.md +93 -55
- package/dist/{server → client}/formula.d.ts +6 -0
- package/dist/client/formula.d.ts.map +1 -0
- package/dist/{server → client}/formula.js +6 -0
- package/dist/client/formula.js.map +1 -0
- package/dist/contract/properties.d.ts +26 -0
- package/dist/contract/properties.d.ts.map +1 -1
- package/dist/contract/properties.js +24 -0
- package/dist/contract/properties.js.map +1 -1
- package/dist/contract/router.d.ts +334 -0
- package/dist/contract/router.d.ts.map +1 -1
- package/dist/contract/router.js +43 -1
- package/dist/contract/router.js.map +1 -1
- package/dist/server/_impl.d.ts +341 -0
- package/dist/server/_impl.d.ts.map +1 -1
- package/dist/server/_impl.js +79 -10
- package/dist/server/_impl.js.map +1 -1
- package/dist/server/services/databases.d.ts +73 -1
- package/dist/server/services/databases.d.ts.map +1 -1
- package/dist/server/services/databases.js +167 -10
- package/dist/server/services/databases.js.map +1 -1
- package/dist/server/services/pages.d.ts.map +1 -1
- package/dist/server/services/pages.js +11 -1
- package/dist/server/services/pages.js.map +1 -1
- package/dist/server/services/query.d.ts.map +1 -1
- package/dist/server/services/query.js +93 -37
- package/dist/server/services/query.js.map +1 -1
- package/migrations/0006_rank_collation.sql +14 -0
- package/migrations/meta/_journal.json +7 -0
- package/package.json +3 -2
- package/src/client/components/PageTreeRow.svelte +1 -1
- package/src/client/core-api.ts +38 -0
- package/src/client/database/BoardView.svelte +354 -0
- package/src/client/database/CalendarView.svelte +346 -0
- package/src/client/database/DatabaseView.svelte +785 -0
- package/src/client/database/FilterMenu.svelte +281 -0
- package/src/client/database/FilterValue.svelte +176 -0
- package/src/client/database/GalleryView.svelte +177 -0
- package/src/client/database/ListView.svelte +108 -0
- package/src/client/database/OptionChip.svelte +38 -0
- package/src/client/database/PropertyDialog.svelte +460 -0
- package/src/client/database/PropertyMenu.svelte +162 -0
- package/src/client/database/RowPanel.svelte +157 -0
- package/src/client/database/SortMenu.svelte +199 -0
- package/src/client/database/TableView.svelte +388 -0
- package/src/client/database/ViewDialog.svelte +229 -0
- package/src/client/database/cells/Cell.svelte +103 -0
- package/src/client/database/cells/CheckboxCell.svelte +33 -0
- package/src/client/database/cells/ComputedCell.svelte +100 -0
- package/src/client/database/cells/DateCell.svelte +97 -0
- package/src/client/database/cells/LinkCell.svelte +143 -0
- package/src/client/database/cells/NumberCell.svelte +131 -0
- package/src/client/database/cells/PersonCell.svelte +116 -0
- package/src/client/database/cells/RelationCell.svelte +222 -0
- package/src/client/database/cells/SelectCell.svelte +133 -0
- package/src/client/database/cells/TextCell.svelte +85 -0
- package/src/client/database/colours.ts +27 -0
- package/src/client/database/property-types.test.ts +64 -0
- package/src/client/database/property-types.ts +294 -0
- package/src/client/database/view-config.test.ts +148 -0
- package/src/client/database/view-config.ts +102 -0
- package/src/client/formula.test.ts +139 -0
- package/src/client/formula.ts +430 -0
- package/src/client/i18n.ts +1176 -0
- package/src/client/index.ts +31 -0
- package/src/client/mock.ts +511 -1
- package/src/client/pages/PageView.svelte +47 -17
- package/src/client/pages/SpacePage.svelte +8 -2
- package/src/client/query.ts +17 -4
- package/src/contract/properties.ts +28 -0
- package/src/contract/router.ts +46 -0
- package/dist/server/formula.d.ts.map +0 -1
- package/dist/server/formula.js.map +0 -1
package/dist/server/_impl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_impl.js","sourceRoot":"","sources":["../../src/server/_impl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_impl.js","sourceRoot":"","sources":["../../src/server/_impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,45 @@
|
|
|
1
1
|
import type { Principal } from '@kernhq/contracts';
|
|
2
2
|
import { type Kernel, type Tx } from '@kernhq/kernel';
|
|
3
|
-
import type { Database, Property, Row, View, ViewConfig } from '../../contract/index.js';
|
|
3
|
+
import type { Database, DatabaseRef, Property, Row, RowRef, View, ViewConfig } from '../../contract/index.js';
|
|
4
4
|
import { pages, properties, views } from '../schema.js';
|
|
5
5
|
import type { QuireAccess } from './access.js';
|
|
6
6
|
type PropertyRow = typeof properties.$inferSelect;
|
|
7
7
|
type ViewRow = typeof views.$inferSelect;
|
|
8
8
|
type PageRow = typeof pages.$inferSelect;
|
|
9
9
|
export declare const toProperty: (r: PropertyRow) => Property;
|
|
10
|
+
/**
|
|
11
|
+
* `config` is **parsed**, never cast.
|
|
12
|
+
*
|
|
13
|
+
* The column is one jsonb blob written by whatever the client last sent, so a cast promises
|
|
14
|
+
* `filterMode: 'and'` and hands the caller `undefined`. Every default in `ViewConfig` exists to be
|
|
15
|
+
* relied on — parsing here is what makes the type the client is given true.
|
|
16
|
+
*/
|
|
10
17
|
export declare const toView: (r: ViewRow) => View;
|
|
11
18
|
export declare const toRow: (p: PageRow) => Row;
|
|
12
19
|
export declare function quireDatabases(kernel: Kernel, access: QuireAccess): {
|
|
13
20
|
get(tx: Tx, workspaceId: string, databaseId: string): Promise<Database>;
|
|
21
|
+
/** Every database in a space, named. What a relation or a rollup is allowed to point at. */
|
|
22
|
+
list(tx: Tx, workspaceId: string, spaceId: string): Promise<DatabaseRef[]>;
|
|
23
|
+
/**
|
|
24
|
+
* The database a page *is*, or null.
|
|
25
|
+
*
|
|
26
|
+
* `pages.database_id` points the other way — it says which database a row belongs to — so this
|
|
27
|
+
* is the only way a `database` page can find what to draw. Null rather than a refusal: a page
|
|
28
|
+
* whose kind says database but which has none yet is a state the interface has to render.
|
|
29
|
+
*/
|
|
30
|
+
forPage(tx: Tx, workspaceId: string, pageId: string): Promise<Database | null>;
|
|
31
|
+
/**
|
|
32
|
+
* Rows by name — what a relation cell draws and what it searches.
|
|
33
|
+
*
|
|
34
|
+
* `ids` and `query` are OR-ed rather than AND-ed on purpose: a cell asks for the rows it holds
|
|
35
|
+
* *and* the rows matching what is being typed in one call, and a cell that loses the chips it
|
|
36
|
+
* already had the moment somebody types is the bug this shape avoids.
|
|
37
|
+
*/
|
|
38
|
+
lookup(tx: Tx, workspaceId: string, databaseId: string, opts: {
|
|
39
|
+
query: string;
|
|
40
|
+
ids: string[];
|
|
41
|
+
limit: number;
|
|
42
|
+
}): Promise<RowRef[]>;
|
|
14
43
|
/**
|
|
15
44
|
* Create a database on a page.
|
|
16
45
|
*
|
|
@@ -153,6 +182,41 @@ export declare function quireDatabases(kernel: Kernel, access: QuireAccess): {
|
|
|
153
182
|
position: string;
|
|
154
183
|
hidden: boolean;
|
|
155
184
|
}>;
|
|
185
|
+
/**
|
|
186
|
+
* Put a column behind another one.
|
|
187
|
+
*
|
|
188
|
+
* The rank is minted here, between the two neighbours, exactly as `pages.move` does it — the
|
|
189
|
+
* contract exposes `afterId` and never a raw position, because a client that writes its own
|
|
190
|
+
* fractional index writes one somebody else is already using.
|
|
191
|
+
*/
|
|
192
|
+
moveProperty(tx: Tx, workspaceId: string, propertyId: string, afterId: string | null): Promise<{
|
|
193
|
+
id: string;
|
|
194
|
+
databaseId: string;
|
|
195
|
+
key: string;
|
|
196
|
+
name: string;
|
|
197
|
+
type: "number" | "date" | "email" | "text" | "select" | "multi_select" | "status" | "person" | "files" | "checkbox" | "url" | "phone" | "relation" | "rollup" | "formula" | "created_time" | "created_by" | "edited_time" | "edited_by";
|
|
198
|
+
config: {
|
|
199
|
+
options?: {
|
|
200
|
+
id: string;
|
|
201
|
+
label: string;
|
|
202
|
+
colour: string;
|
|
203
|
+
group?: "todo" | "doing" | "done" | undefined;
|
|
204
|
+
}[] | undefined;
|
|
205
|
+
format?: string | undefined;
|
|
206
|
+
precision?: number | undefined;
|
|
207
|
+
includeTime?: boolean | undefined;
|
|
208
|
+
isRange?: boolean | undefined;
|
|
209
|
+
relationDatabaseId?: string | undefined;
|
|
210
|
+
relationPropertyId?: string | undefined;
|
|
211
|
+
rollupRelationPropertyId?: string | undefined;
|
|
212
|
+
rollupTargetPropertyId?: string | undefined;
|
|
213
|
+
rollupFunction?: "count" | "count_values" | "count_unique" | "sum" | "average" | "min" | "max" | "range" | "show_original" | "checked" | "unchecked" | "percent_checked" | undefined;
|
|
214
|
+
expression?: string | undefined;
|
|
215
|
+
multiple?: boolean | undefined;
|
|
216
|
+
};
|
|
217
|
+
position: string;
|
|
218
|
+
hidden: boolean;
|
|
219
|
+
}>;
|
|
156
220
|
removeProperty(tx: Tx, workspaceId: string, propertyId: string): Promise<{
|
|
157
221
|
id: string;
|
|
158
222
|
databaseId: string;
|
|
@@ -237,6 +301,14 @@ export declare function quireDatabases(kernel: Kernel, access: QuireAccess): {
|
|
|
237
301
|
position: string;
|
|
238
302
|
isDefault: boolean;
|
|
239
303
|
}>;
|
|
304
|
+
/**
|
|
305
|
+
* Delete a view.
|
|
306
|
+
*
|
|
307
|
+
* Refused when it is the **last** one, not when it is the default — those are different rules,
|
|
308
|
+
* and the first tab of every database is the default, so refusing the default meant the first
|
|
309
|
+
* tab could never be deleted however many others existed. When the default goes, the next view
|
|
310
|
+
* by position takes over; a database with views and no default renders nothing at all.
|
|
311
|
+
*/
|
|
240
312
|
removeView(tx: Tx, workspaceId: string, viewId: string): Promise<{
|
|
241
313
|
id: string;
|
|
242
314
|
databaseId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../../src/server/services/databases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAa,KAAK,MAAM,EAAE,KAAK,EAAE,EAAU,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../../src/server/services/databases.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { KernError, uuidv7 } from '@kernhq/kernel';
|
|
2
|
-
import { and, asc, eq, inArray, isNull, sql } from 'drizzle-orm';
|
|
2
|
+
import { and, asc, eq, ilike, inArray, isNull, or, sql } from 'drizzle-orm';
|
|
3
|
+
import { evaluateFormula, formulaDependencies, parseFormula, } from '../../client/formula.js';
|
|
3
4
|
import { initialRank, rankBetween } from '../../client/rank.js';
|
|
4
|
-
import {
|
|
5
|
+
import { ViewConfig as ViewConfigSchema } from '../../contract/index.js';
|
|
5
6
|
import { databases, pages, properties, relations, views } from '../schema.js';
|
|
6
7
|
import { filterToSql, propertyFor, sortToSql } from './query.js';
|
|
7
8
|
export const toProperty = (r) => ({
|
|
@@ -14,12 +15,19 @@ export const toProperty = (r) => ({
|
|
|
14
15
|
position: r.position,
|
|
15
16
|
hidden: r.hidden,
|
|
16
17
|
});
|
|
18
|
+
/**
|
|
19
|
+
* `config` is **parsed**, never cast.
|
|
20
|
+
*
|
|
21
|
+
* The column is one jsonb blob written by whatever the client last sent, so a cast promises
|
|
22
|
+
* `filterMode: 'and'` and hands the caller `undefined`. Every default in `ViewConfig` exists to be
|
|
23
|
+
* relied on — parsing here is what makes the type the client is given true.
|
|
24
|
+
*/
|
|
17
25
|
export const toView = (r) => ({
|
|
18
26
|
id: r.id,
|
|
19
27
|
databaseId: r.databaseId,
|
|
20
28
|
name: r.name,
|
|
21
29
|
kind: r.kind,
|
|
22
|
-
config: r.config,
|
|
30
|
+
config: ViewConfigSchema.parse((r.config ?? {})),
|
|
23
31
|
position: r.position,
|
|
24
32
|
isDefault: r.isDefault,
|
|
25
33
|
});
|
|
@@ -94,6 +102,50 @@ export function quireDatabases(kernel, access) {
|
|
|
94
102
|
updatedAt: db.updatedAt.toISOString(),
|
|
95
103
|
};
|
|
96
104
|
},
|
|
105
|
+
/** Every database in a space, named. What a relation or a rollup is allowed to point at. */
|
|
106
|
+
async list(tx, workspaceId, spaceId) {
|
|
107
|
+
const rows = await tx
|
|
108
|
+
.select({ id: databases.id, pageId: databases.pageId, name: databases.name })
|
|
109
|
+
.from(databases)
|
|
110
|
+
.where(and(eq(databases.workspaceId, workspaceId), eq(databases.spaceId, spaceId)))
|
|
111
|
+
.orderBy(asc(databases.name));
|
|
112
|
+
return rows;
|
|
113
|
+
},
|
|
114
|
+
/**
|
|
115
|
+
* The database a page *is*, or null.
|
|
116
|
+
*
|
|
117
|
+
* `pages.database_id` points the other way — it says which database a row belongs to — so this
|
|
118
|
+
* is the only way a `database` page can find what to draw. Null rather than a refusal: a page
|
|
119
|
+
* whose kind says database but which has none yet is a state the interface has to render.
|
|
120
|
+
*/
|
|
121
|
+
async forPage(tx, workspaceId, pageId) {
|
|
122
|
+
const [db] = await tx
|
|
123
|
+
.select({ id: databases.id })
|
|
124
|
+
.from(databases)
|
|
125
|
+
.where(and(eq(databases.workspaceId, workspaceId), eq(databases.pageId, pageId)))
|
|
126
|
+
.limit(1);
|
|
127
|
+
return db ? this.get(tx, workspaceId, db.id) : null;
|
|
128
|
+
},
|
|
129
|
+
/**
|
|
130
|
+
* Rows by name — what a relation cell draws and what it searches.
|
|
131
|
+
*
|
|
132
|
+
* `ids` and `query` are OR-ed rather than AND-ed on purpose: a cell asks for the rows it holds
|
|
133
|
+
* *and* the rows matching what is being typed in one call, and a cell that loses the chips it
|
|
134
|
+
* already had the moment somebody types is the bug this shape avoids.
|
|
135
|
+
*/
|
|
136
|
+
async lookup(tx, workspaceId, databaseId, opts) {
|
|
137
|
+
const wanted = [
|
|
138
|
+
opts.ids.length > 0 ? inArray(pages.id, opts.ids) : undefined,
|
|
139
|
+
opts.query.trim() ? ilike(pages.title, `%${opts.query.trim()}%`) : undefined,
|
|
140
|
+
].filter((c) => c !== undefined);
|
|
141
|
+
const rows = await tx
|
|
142
|
+
.select({ id: pages.id, title: pages.title, icon: pages.icon })
|
|
143
|
+
.from(pages)
|
|
144
|
+
.where(and(eq(pages.workspaceId, workspaceId), eq(pages.databaseId, databaseId), isNull(pages.deletedAt), wanted.length > 0 ? or(...wanted) : undefined))
|
|
145
|
+
.orderBy(asc(pages.title))
|
|
146
|
+
.limit(opts.limit);
|
|
147
|
+
return rows.map((r) => ({ id: r.id, title: r.title, icon: r.icon }));
|
|
148
|
+
},
|
|
97
149
|
/**
|
|
98
150
|
* Create a database on a page.
|
|
99
151
|
*
|
|
@@ -180,6 +232,40 @@ export function quireDatabases(kernel, access) {
|
|
|
180
232
|
throw KernError.notFound('Property');
|
|
181
233
|
return toProperty(row);
|
|
182
234
|
},
|
|
235
|
+
/**
|
|
236
|
+
* Put a column behind another one.
|
|
237
|
+
*
|
|
238
|
+
* The rank is minted here, between the two neighbours, exactly as `pages.move` does it — the
|
|
239
|
+
* contract exposes `afterId` and never a raw position, because a client that writes its own
|
|
240
|
+
* fractional index writes one somebody else is already using.
|
|
241
|
+
*/
|
|
242
|
+
async moveProperty(tx, workspaceId, propertyId, afterId) {
|
|
243
|
+
const [row] = await tx
|
|
244
|
+
.select()
|
|
245
|
+
.from(properties)
|
|
246
|
+
.where(and(eq(properties.workspaceId, workspaceId), eq(properties.id, propertyId)))
|
|
247
|
+
.limit(1);
|
|
248
|
+
if (!row)
|
|
249
|
+
throw KernError.notFound('Property');
|
|
250
|
+
if (afterId === propertyId)
|
|
251
|
+
throw KernError.badRequest('A column cannot follow itself');
|
|
252
|
+
const siblings = await tx
|
|
253
|
+
.select({ id: properties.id, position: properties.position })
|
|
254
|
+
.from(properties)
|
|
255
|
+
.where(and(eq(properties.workspaceId, workspaceId), eq(properties.databaseId, row.databaseId)))
|
|
256
|
+
.orderBy(asc(properties.position));
|
|
257
|
+
const others = siblings.filter((s) => s.id !== propertyId);
|
|
258
|
+
const at = afterId ? others.findIndex((s) => s.id === afterId) : -1;
|
|
259
|
+
if (afterId && at < 0)
|
|
260
|
+
throw KernError.badRequest('No such column in this database');
|
|
261
|
+
const position = rankBetween(others[at]?.position ?? null, others[at + 1]?.position ?? null);
|
|
262
|
+
const [moved] = await tx
|
|
263
|
+
.update(properties)
|
|
264
|
+
.set({ position })
|
|
265
|
+
.where(and(eq(properties.workspaceId, workspaceId), eq(properties.id, propertyId)))
|
|
266
|
+
.returning();
|
|
267
|
+
return toProperty(moved);
|
|
268
|
+
},
|
|
183
269
|
async removeProperty(tx, workspaceId, propertyId) {
|
|
184
270
|
const [row] = await tx
|
|
185
271
|
.select()
|
|
@@ -229,6 +315,14 @@ export function quireDatabases(kernel, access) {
|
|
|
229
315
|
throw KernError.notFound('View');
|
|
230
316
|
return toView(row);
|
|
231
317
|
},
|
|
318
|
+
/**
|
|
319
|
+
* Delete a view.
|
|
320
|
+
*
|
|
321
|
+
* Refused when it is the **last** one, not when it is the default — those are different rules,
|
|
322
|
+
* and the first tab of every database is the default, so refusing the default meant the first
|
|
323
|
+
* tab could never be deleted however many others existed. When the default goes, the next view
|
|
324
|
+
* by position takes over; a database with views and no default renders nothing at all.
|
|
325
|
+
*/
|
|
232
326
|
async removeView(tx, workspaceId, viewId) {
|
|
233
327
|
const [row] = await tx
|
|
234
328
|
.select()
|
|
@@ -237,9 +331,22 @@ export function quireDatabases(kernel, access) {
|
|
|
237
331
|
.limit(1);
|
|
238
332
|
if (!row)
|
|
239
333
|
throw KernError.notFound('View');
|
|
240
|
-
|
|
334
|
+
const siblings = await tx
|
|
335
|
+
.select({ id: views.id, position: views.position })
|
|
336
|
+
.from(views)
|
|
337
|
+
.where(and(eq(views.workspaceId, workspaceId), eq(views.databaseId, row.databaseId)))
|
|
338
|
+
.orderBy(asc(views.position));
|
|
339
|
+
if (siblings.length <= 1)
|
|
241
340
|
throw KernError.badRequest('A database keeps at least one view');
|
|
242
341
|
await tx.delete(views).where(and(eq(views.workspaceId, workspaceId), eq(views.id, viewId)));
|
|
342
|
+
if (row.isDefault) {
|
|
343
|
+
const heir = siblings.find((v) => v.id !== viewId);
|
|
344
|
+
if (heir)
|
|
345
|
+
await tx
|
|
346
|
+
.update(views)
|
|
347
|
+
.set({ isDefault: true })
|
|
348
|
+
.where(and(eq(views.workspaceId, workspaceId), eq(views.id, heir.id)));
|
|
349
|
+
}
|
|
243
350
|
return toView(row);
|
|
244
351
|
},
|
|
245
352
|
/**
|
|
@@ -264,19 +371,32 @@ export function quireDatabases(kernel, access) {
|
|
|
264
371
|
? sql `(${sql.join(filters, sql ` or `)})`
|
|
265
372
|
: sql `(${sql.join(filters, sql ` and `)})`);
|
|
266
373
|
}
|
|
267
|
-
if (opts.cursor)
|
|
268
|
-
conditions.push(sql `${pages.id} > ${opts.cursor}`);
|
|
269
374
|
const orderBy = (config?.sorts ?? []).map((s) => sortToSql(s, propertyFor(db.properties, s.propertyKey)));
|
|
270
|
-
// Always last, so ordering is total and
|
|
375
|
+
// Always last, so the ordering is total and two rows with equal sort keys keep a stable order
|
|
376
|
+
// between pages.
|
|
271
377
|
orderBy.push(sql `${pages.id} asc`);
|
|
378
|
+
/**
|
|
379
|
+
* Paged by offset, not by a keyset on `pages.id`.
|
|
380
|
+
*
|
|
381
|
+
* A keyset cursor is only correct when the ordering it filters on *is* the ordering — and the
|
|
382
|
+
* moment a view carries a sort, `id > cursor` throws away rows that sort after the cursor but
|
|
383
|
+
* have a smaller id, and repeats the ones that sort before it. Every sorted view lost rows
|
|
384
|
+
* that way, and nothing said so: a short page reads as the end of the data.
|
|
385
|
+
*
|
|
386
|
+
* Offset paging repeats a row if somebody inserts one mid-scroll, which is the cheaper wrong
|
|
387
|
+
* answer, and the only alternative is a composite keyset over an arbitrary sort expression.
|
|
388
|
+
*/
|
|
389
|
+
const offset = Number.parseInt(opts.cursor ?? '0', 10);
|
|
390
|
+
const from = Number.isFinite(offset) && offset > 0 ? offset : 0;
|
|
272
391
|
const found = await tx
|
|
273
392
|
.select()
|
|
274
393
|
.from(pages)
|
|
275
394
|
.where(and(...conditions))
|
|
276
395
|
.orderBy(...orderBy)
|
|
277
|
-
.limit(opts.limit + 1)
|
|
396
|
+
.limit(opts.limit + 1)
|
|
397
|
+
.offset(from);
|
|
278
398
|
const items = found.slice(0, opts.limit).map(toRow);
|
|
279
|
-
return { items, nextCursor: found.length > opts.limit ? (items.
|
|
399
|
+
return { items, nextCursor: found.length > opts.limit ? String(from + items.length) : null };
|
|
280
400
|
},
|
|
281
401
|
/**
|
|
282
402
|
* Recompute the formulas and rollups of one row.
|
|
@@ -421,6 +541,13 @@ export function quireDatabases(kernel, access) {
|
|
|
421
541
|
if (!property)
|
|
422
542
|
throw KernError.notFound('Property');
|
|
423
543
|
const inverse = property.config.relationPropertyId ?? null;
|
|
544
|
+
// The rows this link used to reach: they have to be recomputed and un-mirrored too, or a row
|
|
545
|
+
// that was just unlinked keeps the backlink and the rollup that came with it.
|
|
546
|
+
const before = await tx
|
|
547
|
+
.select({ id: relations.toPageId })
|
|
548
|
+
.from(relations)
|
|
549
|
+
.where(and(eq(relations.workspaceId, workspaceId), eq(relations.propertyId, propertyId), eq(relations.fromPageId, fromPageId)));
|
|
550
|
+
const previous = before.map((b) => b.id);
|
|
424
551
|
await tx
|
|
425
552
|
.delete(relations)
|
|
426
553
|
.where(and(eq(relations.workspaceId, workspaceId), eq(relations.propertyId, propertyId), eq(relations.fromPageId, fromPageId)));
|
|
@@ -447,9 +574,39 @@ export function quireDatabases(kernel, access) {
|
|
|
447
574
|
})));
|
|
448
575
|
}
|
|
449
576
|
}
|
|
577
|
+
/**
|
|
578
|
+
* Mirror the ids into `props` on both sides.
|
|
579
|
+
*
|
|
580
|
+
* The join table stays the truth — it is what a rollup walks — but nothing *reads* a row
|
|
581
|
+
* except through `props`: `toRow` returns that column and no other, and the relation branch
|
|
582
|
+
* of `filterToSql` is `props->key ?| array`. Without the mirror a relation column is
|
|
583
|
+
* permanently blank and a relation filter never matches, which reads as missing data rather
|
|
584
|
+
* than as a missing write. This is the same trick as `pages.title` mirroring the Y.Text.
|
|
585
|
+
*/
|
|
586
|
+
await this.setRowFields(tx, workspaceId, fromPageId, null, { [property.key]: toPageIds });
|
|
587
|
+
const touched = [...new Set([...previous, ...toPageIds])];
|
|
588
|
+
if (inverse && touched.length > 0) {
|
|
589
|
+
const [inverseRow] = await tx
|
|
590
|
+
.select({ key: properties.key })
|
|
591
|
+
.from(properties)
|
|
592
|
+
.where(and(eq(properties.workspaceId, workspaceId), eq(properties.id, inverse)))
|
|
593
|
+
.limit(1);
|
|
594
|
+
if (inverseRow) {
|
|
595
|
+
const links = await tx
|
|
596
|
+
.select({ from: relations.fromPageId, to: relations.toPageId })
|
|
597
|
+
.from(relations)
|
|
598
|
+
.where(and(eq(relations.workspaceId, workspaceId), eq(relations.propertyId, inverse), inArray(relations.fromPageId, touched)));
|
|
599
|
+
// Every touched row is written, including one whose last link just went — an absent key
|
|
600
|
+
// here would leave the id it no longer holds sitting in `props`.
|
|
601
|
+
for (const id of touched)
|
|
602
|
+
await this.setRowFields(tx, workspaceId, id, null, {
|
|
603
|
+
[inverseRow.key]: links.filter((l) => l.from === id).map((l) => l.to),
|
|
604
|
+
});
|
|
605
|
+
}
|
|
606
|
+
}
|
|
450
607
|
// The rows on both sides may carry rollups over this relation.
|
|
451
608
|
await this.recompute(tx, workspaceId, fromPageId);
|
|
452
|
-
for (const id of
|
|
609
|
+
for (const id of touched)
|
|
453
610
|
await this.recompute(tx, workspaceId, id);
|
|
454
611
|
},
|
|
455
612
|
/**
|