@kernhq/module-quire 0.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/LICENSE +662 -0
- package/README.md +71 -0
- package/dist/client/rank.d.ts +42 -0
- package/dist/client/rank.d.ts.map +1 -0
- package/dist/client/rank.js +97 -0
- package/dist/client/rank.js.map +1 -0
- package/dist/contract/capabilities.d.ts +35 -0
- package/dist/contract/capabilities.d.ts.map +1 -0
- package/dist/contract/capabilities.js +35 -0
- package/dist/contract/capabilities.js.map +1 -0
- package/dist/contract/events.d.ts +58 -0
- package/dist/contract/events.d.ts.map +1 -0
- package/dist/contract/events.js +18 -0
- package/dist/contract/events.js.map +1 -0
- package/dist/contract/index.d.ts +6 -0
- package/dist/contract/index.d.ts.map +1 -0
- package/dist/contract/index.js +6 -0
- package/dist/contract/index.js.map +1 -0
- package/dist/contract/models.d.ts +95 -0
- package/dist/contract/models.d.ts.map +1 -0
- package/dist/contract/models.js +82 -0
- package/dist/contract/models.js.map +1 -0
- package/dist/contract/permissions.d.ts +51 -0
- package/dist/contract/permissions.d.ts.map +1 -0
- package/dist/contract/permissions.js +59 -0
- package/dist/contract/permissions.js.map +1 -0
- package/dist/contract/router.d.ts +713 -0
- package/dist/contract/router.d.ts.map +1 -0
- package/dist/contract/router.js +109 -0
- package/dist/contract/router.js.map +1 -0
- package/dist/server/_impl.d.ts +815 -0
- package/dist/server/_impl.d.ts.map +1 -0
- package/dist/server/_impl.js +189 -0
- package/dist/server/_impl.js.map +1 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +87 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/schema.d.ts +540 -0
- package/dist/server/schema.d.ts.map +1 -0
- package/dist/server/schema.js +86 -0
- package/dist/server/schema.js.map +1 -0
- package/dist/server/services/access.d.ts +78 -0
- package/dist/server/services/access.d.ts.map +1 -0
- package/dist/server/services/access.js +96 -0
- package/dist/server/services/access.js.map +1 -0
- package/dist/server/services/index.d.ts +15 -0
- package/dist/server/services/index.d.ts.map +1 -0
- package/dist/server/services/index.js +22 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/pages.d.ts +190 -0
- package/dist/server/services/pages.d.ts.map +1 -0
- package/dist/server/services/pages.js +242 -0
- package/dist/server/services/pages.js.map +1 -0
- package/dist/server/services/spaces.d.ts +95 -0
- package/dist/server/services/spaces.d.ts.map +1 -0
- package/dist/server/services/spaces.js +100 -0
- package/dist/server/services/spaces.js.map +1 -0
- package/migrations/0000_init.sql +43 -0
- package/migrations/0001_rls.sql +17 -0
- package/migrations/meta/0000_snapshot.json +358 -0
- package/migrations/meta/_journal.json +20 -0
- package/package.json +78 -0
- package/src/client/index.ts +67 -0
- package/src/client/rank.test.ts +92 -0
- package/src/client/rank.ts +100 -0
- package/src/contract/capabilities.ts +36 -0
- package/src/contract/events.ts +22 -0
- package/src/contract/index.ts +5 -0
- package/src/contract/models.ts +93 -0
- package/src/contract/permissions.ts +59 -0
- package/src/contract/router.ts +121 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/contract/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,EAAE,EAAoD,MAAM,aAAa,CAAA;AAKlF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0CtB;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QASH,qDAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+BrD,6FAA6F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAK7F,kGAAkG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAKlG,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QASvE,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM5D,CAAA;AACV,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAA;AAEhD,OAAO,EAAE,EAAE,EAAE,CAAA"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { baseContract, Id, PageInput, page, WorkspaceId } from '@kernhq/contracts';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { Ok, Page, PageKind, PageNode, Space, SpaceVisibility } from './models.js';
|
|
4
|
+
const ws = z.object({ workspaceId: WorkspaceId });
|
|
5
|
+
const t = (...tags) => ({ tags });
|
|
6
|
+
export const quireContract = {
|
|
7
|
+
spaces: {
|
|
8
|
+
list: baseContract
|
|
9
|
+
.route({ method: 'GET', path: '/spaces', ...t('spaces') })
|
|
10
|
+
.input(ws.extend({ includeArchived: z.boolean().default(false) }))
|
|
11
|
+
.output(z.array(Space)),
|
|
12
|
+
get: baseContract
|
|
13
|
+
.route({ method: 'GET', path: '/spaces/{spaceId}', ...t('spaces') })
|
|
14
|
+
.input(ws.extend({ spaceId: Id }))
|
|
15
|
+
.output(Space),
|
|
16
|
+
create: baseContract
|
|
17
|
+
.route({ method: 'POST', path: '/spaces', ...t('spaces') })
|
|
18
|
+
.input(ws.extend({
|
|
19
|
+
key: Space.shape.key,
|
|
20
|
+
name: Space.shape.name,
|
|
21
|
+
description: z.string().max(2000).default(''),
|
|
22
|
+
icon: z.string().max(64).nullable().default(null),
|
|
23
|
+
visibility: SpaceVisibility.default('open'),
|
|
24
|
+
}))
|
|
25
|
+
.output(Space),
|
|
26
|
+
update: baseContract
|
|
27
|
+
.route({ method: 'PATCH', path: '/spaces/{spaceId}', ...t('spaces') })
|
|
28
|
+
.input(ws.extend({
|
|
29
|
+
spaceId: Id,
|
|
30
|
+
name: Space.shape.name.optional(),
|
|
31
|
+
description: z.string().max(2000).optional(),
|
|
32
|
+
icon: z.string().max(64).nullable().optional(),
|
|
33
|
+
visibility: SpaceVisibility.optional(),
|
|
34
|
+
homepageId: Id.nullable().optional(),
|
|
35
|
+
}))
|
|
36
|
+
.output(Space),
|
|
37
|
+
archive: baseContract
|
|
38
|
+
.route({ method: 'POST', path: '/spaces/{spaceId}/archive', ...t('spaces') })
|
|
39
|
+
.input(ws.extend({ spaceId: Id, archived: z.boolean().default(true) }))
|
|
40
|
+
.output(Space),
|
|
41
|
+
},
|
|
42
|
+
pages: {
|
|
43
|
+
/**
|
|
44
|
+
* The whole tree of one space in one call. A wiki sidebar shows every level at once, and asking
|
|
45
|
+
* per level turns opening a space into a request per expanded node.
|
|
46
|
+
*/
|
|
47
|
+
tree: baseContract
|
|
48
|
+
.route({ method: 'GET', path: '/spaces/{spaceId}/tree', ...t('pages') })
|
|
49
|
+
.input(ws.extend({ spaceId: Id, includeArchived: z.boolean().default(false) }))
|
|
50
|
+
.output(z.array(PageNode)),
|
|
51
|
+
get: baseContract
|
|
52
|
+
.route({ method: 'GET', path: '/pages/{pageId}', ...t('pages') })
|
|
53
|
+
.input(ws.extend({ pageId: Id }))
|
|
54
|
+
.output(Page),
|
|
55
|
+
/** Everything in the space's trash, newest first. */
|
|
56
|
+
trash: baseContract
|
|
57
|
+
.route({ method: 'GET', path: '/spaces/{spaceId}/trash', ...t('pages') })
|
|
58
|
+
.input(ws.extend({ spaceId: Id }).extend(PageInput.shape))
|
|
59
|
+
.output(page(Page)),
|
|
60
|
+
create: baseContract
|
|
61
|
+
.route({ method: 'POST', path: '/pages', ...t('pages') })
|
|
62
|
+
.input(ws.extend({
|
|
63
|
+
spaceId: Id,
|
|
64
|
+
parentId: Id.nullable().default(null),
|
|
65
|
+
title: z.string().max(300).default(''),
|
|
66
|
+
kind: PageKind.default('page'),
|
|
67
|
+
icon: z.string().max(64).nullable().default(null),
|
|
68
|
+
/** place it after this sibling; null means first */
|
|
69
|
+
afterId: Id.nullable().default(null),
|
|
70
|
+
}))
|
|
71
|
+
.output(Page),
|
|
72
|
+
update: baseContract
|
|
73
|
+
.route({ method: 'PATCH', path: '/pages/{pageId}', ...t('pages') })
|
|
74
|
+
.input(ws.extend({
|
|
75
|
+
pageId: Id,
|
|
76
|
+
title: z.string().max(300).optional(),
|
|
77
|
+
icon: z.string().max(64).nullable().optional(),
|
|
78
|
+
coverUrl: z.string().max(2048).nullable().optional(),
|
|
79
|
+
kind: PageKind.optional(),
|
|
80
|
+
}))
|
|
81
|
+
.output(Page),
|
|
82
|
+
/** Reparent, reorder, or both. `afterId` is the sibling to land behind; null means first. */
|
|
83
|
+
move: baseContract
|
|
84
|
+
.route({ method: 'POST', path: '/pages/{pageId}/move', ...t('pages') })
|
|
85
|
+
.input(ws.extend({ pageId: Id, parentId: Id.nullable(), afterId: Id.nullable().default(null) }))
|
|
86
|
+
.output(Page),
|
|
87
|
+
/** Out of the tree but not gone: still searchable, still restorable, no longer in the sidebar. */
|
|
88
|
+
archive: baseContract
|
|
89
|
+
.route({ method: 'POST', path: '/pages/{pageId}/archive', ...t('pages') })
|
|
90
|
+
.input(ws.extend({ pageId: Id, archived: z.boolean().default(true) }))
|
|
91
|
+
.output(Page),
|
|
92
|
+
/** Into the trash, with every descendant. Reversible until `purge`. */
|
|
93
|
+
trashPage: baseContract
|
|
94
|
+
.route({ method: 'POST', path: '/pages/{pageId}/trash', ...t('pages') })
|
|
95
|
+
.input(ws.extend({ pageId: Id }))
|
|
96
|
+
.output(z.object({ ok: z.literal(true), count: z.number().int().nonnegative() })),
|
|
97
|
+
restore: baseContract
|
|
98
|
+
.route({ method: 'POST', path: '/pages/{pageId}/restore', ...t('pages') })
|
|
99
|
+
.input(ws.extend({ pageId: Id }))
|
|
100
|
+
.output(Page),
|
|
101
|
+
/** Gone, with its collaborative document and every descendant. */
|
|
102
|
+
purge: baseContract
|
|
103
|
+
.route({ method: 'DELETE', path: '/pages/{pageId}', ...t('pages') })
|
|
104
|
+
.input(ws.extend({ pageId: Id }))
|
|
105
|
+
.output(z.object({ ok: z.literal(true), count: z.number().int().nonnegative() })),
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
export { Ok };
|
|
109
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/contract/router.ts"],"names":[],"mappings":"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"}
|