@kernhq/module-quire 0.11.1 → 0.13.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/contract/models.d.ts +46 -0
- package/dist/contract/models.d.ts.map +1 -1
- package/dist/contract/models.js +73 -0
- package/dist/contract/models.js.map +1 -1
- package/dist/contract/permissions.d.ts +17 -1
- package/dist/contract/permissions.d.ts.map +1 -1
- package/dist/contract/permissions.js +35 -0
- package/dist/contract/permissions.js.map +1 -1
- package/dist/contract/router.d.ts +756 -0
- package/dist/contract/router.d.ts.map +1 -1
- package/dist/contract/router.js +346 -2
- package/dist/contract/router.js.map +1 -1
- package/dist/server/_impl.d.ts +826 -0
- package/dist/server/_impl.d.ts.map +1 -1
- package/dist/server/_impl.js +336 -2
- package/dist/server/_impl.js.map +1 -1
- package/dist/server/schema.d.ts +318 -1
- package/dist/server/schema.d.ts.map +1 -1
- package/dist/server/schema.js +86 -0
- package/dist/server/schema.js.map +1 -1
- package/dist/server/services/access.d.ts +1 -0
- package/dist/server/services/access.d.ts.map +1 -1
- package/dist/server/services/index.d.ts +3 -0
- package/dist/server/services/index.d.ts.map +1 -1
- package/dist/server/services/index.js +5 -1
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/pages.d.ts.map +1 -1
- package/dist/server/services/pages.js +6 -0
- package/dist/server/services/pages.js.map +1 -1
- package/dist/server/services/publications.d.ts +191 -0
- package/dist/server/services/publications.d.ts.map +1 -0
- package/dist/server/services/publications.js +772 -0
- package/dist/server/services/publications.js.map +1 -0
- package/dist/server/services/versions.d.ts +26 -1
- package/dist/server/services/versions.d.ts.map +1 -1
- package/dist/server/services/versions.js +44 -15
- package/dist/server/services/versions.js.map +1 -1
- package/migrations/0008_publications.sql +140 -0
- package/migrations/0009_public_asset_references.sql +35 -0
- package/migrations/meta/_journal.json +14 -0
- package/package.json +1 -1
- package/src/client/components/PublishDialog.svelte +920 -0
- package/src/client/components/SidebarRecents.svelte +17 -1
- package/src/client/i18n.ts +448 -0
- package/src/client/index.ts +21 -0
- package/src/client/mock.ts +436 -2
- package/src/client/pages/PageView.svelte +139 -0
- package/src/client/public-url.ts +76 -0
- package/src/client/query.ts +16 -0
- package/src/contract/models.ts +77 -0
- package/src/contract/permissions.ts +54 -1
- package/src/contract/router.ts +380 -1
|
@@ -1 +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,EAML,EAAE,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/contract/router.ts"],"names":[],"mappings":"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"}
|
package/dist/contract/router.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { baseContract, Id, PageInput, page, UserId, WorkspaceId } from '@kernhq/contracts';
|
|
1
|
+
import { baseContract, Id, PageInput, page, Timestamp, UserId, WorkspaceId } from '@kernhq/contracts';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { CommentAnchor, CommentThread, Favorite, Label, LabelColour, Ok, Page, PageKind, PageNode, PageVersion, RecentView, RichDoc, Space, SpaceVisibility, } from './models.js';
|
|
3
|
+
import { CommentAnchor, CommentThread, Favorite, Label, LabelColour, Ok, Page, PageKind, PageNode, PageVersion, Publication, PublicationTheme, RecentView, RichDoc, Space, SpaceVisibility, } from './models.js';
|
|
4
4
|
import { Database, DatabaseRef, Property, PropertyConfig, PropertyType, Row, RowRef, View, ViewConfig, ViewKind, } from './properties.js';
|
|
5
5
|
const ws = z.object({ workspaceId: WorkspaceId });
|
|
6
6
|
const t = (...tags) => ({ tags });
|
|
@@ -32,6 +32,158 @@ export const WatchState = z.object({
|
|
|
32
32
|
watching: z.boolean(),
|
|
33
33
|
watchers: z.array(UserId),
|
|
34
34
|
});
|
|
35
|
+
/**
|
|
36
|
+
* A published site addresses its pages by **path, never by id**, and that is a security decision
|
|
37
|
+
* rather than a matter of taste.
|
|
38
|
+
*
|
|
39
|
+
* Every id in a public response is a string somebody can try somewhere else, and the only way to be
|
|
40
|
+
* sure none of them opens a door is for there to be none. So the whole `public.*` surface below
|
|
41
|
+
* carries no page id, no space id, no version id, no user id and no workspace id — a nav entry, a
|
|
42
|
+
* breadcrumb, a search hit and a sitemap line are all `path`, and `path` is built from titles by the
|
|
43
|
+
* server. `publications.int.test.ts` walks every public response and fails on any uuid belonging to
|
|
44
|
+
* anything in the fixture, which is what keeps this true as the shapes grow.
|
|
45
|
+
*
|
|
46
|
+
* The root page's path is the empty string; a child's is its ancestors' slugs joined with `/`, each
|
|
47
|
+
* slug being its title reduced to letters, digits and dashes (Unicode letters, so a Persian title
|
|
48
|
+
* keeps a Persian slug) and suffixed `-2`, `-3` when two siblings would collide.
|
|
49
|
+
*/
|
|
50
|
+
export const PublicNavEntry = z.object({
|
|
51
|
+
/** '' is the front page; everything else is `parent/child`, already URL-safe once encoded */
|
|
52
|
+
path: z.string(),
|
|
53
|
+
/** null only for the front page — the nav is flat, like `pages.tree`, and rebuilt into a tree */
|
|
54
|
+
parentPath: z.string().nullable(),
|
|
55
|
+
title: z.string(),
|
|
56
|
+
icon: z.string().nullable(),
|
|
57
|
+
});
|
|
58
|
+
/** What is worth saying about a published site once a reader is allowed to see it. */
|
|
59
|
+
export const PublicSiteDetail = z.object({
|
|
60
|
+
title: z.string(),
|
|
61
|
+
description: z.string(),
|
|
62
|
+
ogImageUrl: z.string().nullable(),
|
|
63
|
+
/** false means the route layer sends `noindex`. Public and findable are different requests. */
|
|
64
|
+
indexable: z.boolean(),
|
|
65
|
+
/**
|
|
66
|
+
* The newest published version in the whole site.
|
|
67
|
+
*
|
|
68
|
+
* Deliberately *not* the newest `pages.updated_at`: that column moves on every keystroke in a
|
|
69
|
+
* draft, so publishing it would tell the internet when somebody was working on an unpublished
|
|
70
|
+
* change. A published site's freshness is when something was last published.
|
|
71
|
+
*/
|
|
72
|
+
updatedAt: Timestamp,
|
|
73
|
+
nav: z.array(PublicNavEntry),
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* A published site, or the door to it.
|
|
77
|
+
*
|
|
78
|
+
* `locked` is the one thing a password-protected site admits before the password: that there is a
|
|
79
|
+
* door. Everything else — the title, the description, the shape of the tree — is behind it, because
|
|
80
|
+
* a nav tree is a table of contents and a table of contents is most of what a private handbook is.
|
|
81
|
+
* `theme` comes out anyway so the challenge screen is not white on a site that is not.
|
|
82
|
+
*/
|
|
83
|
+
export const PublicSite = z.object({
|
|
84
|
+
slug: z.string(),
|
|
85
|
+
theme: PublicationTheme,
|
|
86
|
+
locked: z.boolean(),
|
|
87
|
+
/** null exactly when `locked` */
|
|
88
|
+
site: PublicSiteDetail.nullable(),
|
|
89
|
+
});
|
|
90
|
+
export const PublicBreadcrumb = z.object({ path: z.string(), title: z.string() });
|
|
91
|
+
export const PublicPage = z.object({
|
|
92
|
+
path: z.string(),
|
|
93
|
+
title: z.string(),
|
|
94
|
+
icon: z.string().nullable(),
|
|
95
|
+
coverUrl: z.string().nullable(),
|
|
96
|
+
/**
|
|
97
|
+
* The pinned published version, drawn once and stored on the version — never the live document
|
|
98
|
+
* and never the draft — then passed through the public scrub: every `id` and `data-id` attribute
|
|
99
|
+
* removed, and every page mention either re-pointed at its public path or left as plain text.
|
|
100
|
+
*/
|
|
101
|
+
html: z.string(),
|
|
102
|
+
publishedAt: Timestamp,
|
|
103
|
+
/**
|
|
104
|
+
* A cache validator for the pinned version, and **not the version's id**.
|
|
105
|
+
*
|
|
106
|
+
* A published page is immutable, so the response is a static read that should be cached until the
|
|
107
|
+
* page is published again — which is what an entity tag is for. It is a hash rather than the id
|
|
108
|
+
* because the id addresses `versions.get`, a procedure that asks a permission: handing it to the
|
|
109
|
+
* internet turns a cache key into something to try.
|
|
110
|
+
*/
|
|
111
|
+
etag: z.string(),
|
|
112
|
+
breadcrumbs: z.array(PublicBreadcrumb),
|
|
113
|
+
});
|
|
114
|
+
export const PublicSearchHit = z.object({
|
|
115
|
+
path: z.string(),
|
|
116
|
+
title: z.string(),
|
|
117
|
+
/** plain text from the published version, never from the draft */
|
|
118
|
+
snippet: z.string(),
|
|
119
|
+
});
|
|
120
|
+
export const PublicSitemapEntry = z.object({ path: z.string(), lastModified: Timestamp });
|
|
121
|
+
/**
|
|
122
|
+
* One picture from a published page, **as bytes rather than as an address**.
|
|
123
|
+
*
|
|
124
|
+
* A published page used to carry its pictures as presigned storage URLs, written into the stored
|
|
125
|
+
* HTML at publish time. That was wrong twice over, and both halves were measured rather than
|
|
126
|
+
* argued. The URL is the storage key — `ws/<workspaceId>/<module>/<yyyy>/<mm>/<fileId>/<name>` —
|
|
127
|
+
* so every published page with a picture on it handed a stranger the tenant's workspace uuid and a
|
|
128
|
+
* file uuid, on the one surface whose whole rule is that no response carries an id; and a presigned
|
|
129
|
+
* GET expires in an hour while the HTML it was baked into is rendered once and stored for ever, so
|
|
130
|
+
* every image on every published site broke sixty minutes after it was published.
|
|
131
|
+
*
|
|
132
|
+
* So the HTML carries an opaque, workspace-sealed reference and the bytes come through here. The
|
|
133
|
+
* route layer fetches this from **its own server** and streams the body back under a URL of its
|
|
134
|
+
* own; nothing in the answer may reach a browser as-is, which is why it is bytes and not a link —
|
|
135
|
+
* there is no address in it to leak, and none to expire.
|
|
136
|
+
*
|
|
137
|
+
* Capped rather than streamed on purpose: a published handbook's illustration is tens of kilobytes,
|
|
138
|
+
* this path is anonymous, and an unbounded body on an unauthenticated endpoint is a way to spend
|
|
139
|
+
* somebody else's memory. Over the cap answers the same 404 as a picture that is not there.
|
|
140
|
+
*/
|
|
141
|
+
export const PublicAsset = z.object({
|
|
142
|
+
/**
|
|
143
|
+
* The stored content type, narrowed to an image type before it is answered.
|
|
144
|
+
*
|
|
145
|
+
* The route layer serves these from the application's own origin, so the two things it owes back
|
|
146
|
+
* are `X-Content-Type-Options: nosniff` and, because `image/svg+xml` is a document that can carry
|
|
147
|
+
* script, a `Content-Security-Policy: default-src 'none'` on the response. Anything the server
|
|
148
|
+
* could not narrow to an image is refused here rather than sent for the route layer to be careful
|
|
149
|
+
* with.
|
|
150
|
+
*/
|
|
151
|
+
contentType: z.string(),
|
|
152
|
+
/** base64 of the whole object */
|
|
153
|
+
bytes: z.string(),
|
|
154
|
+
/** how long the route layer may cache it; a version is immutable, so this is long */
|
|
155
|
+
maxAge: z.number().int().min(0),
|
|
156
|
+
});
|
|
157
|
+
/**
|
|
158
|
+
* The URL prefix the route layer serves this site under, so a link between two published pages is a
|
|
159
|
+
* link and not a dead mention.
|
|
160
|
+
*
|
|
161
|
+
* The module knows a page's path inside its publication and nothing about the address it is served
|
|
162
|
+
* at — one instance mounts a site at `/p/<workspace>/<slug>/`, another at the root of its own
|
|
163
|
+
* domain. Rather than guess, it takes the prefix and refuses anything that is not one: it has to
|
|
164
|
+
* start and end with `/`, and its segments are unreserved characters only. That refusal is the
|
|
165
|
+
* point. `//evil.example/` is a protocol-relative URL wearing the costume of a local path, and a
|
|
166
|
+
* caller that could set it would have every link on somebody's published site point off-site.
|
|
167
|
+
*/
|
|
168
|
+
export const PublicBasePath = z
|
|
169
|
+
.string()
|
|
170
|
+
.max(200)
|
|
171
|
+
.regex(/^\/(?:[A-Za-z0-9._~-]+\/)*$/, 'an absolute path ending in a slash')
|
|
172
|
+
.default('/');
|
|
173
|
+
/**
|
|
174
|
+
* The one thing the module does ask of whatever serves a published site: a place for its pictures.
|
|
175
|
+
*
|
|
176
|
+
* `public.page` writes every `<img src>` as `<basePath><segment>/<reference>`, so the route layer
|
|
177
|
+
* has to answer that address by calling `public.asset` and streaming the bytes back. It is a
|
|
178
|
+
* constant rather than a convention because two sides have to agree on it and only one of them can
|
|
179
|
+
* be wrong quietly — a route layer that does not serve it renders a published page with no
|
|
180
|
+
* pictures, which looks like a rendering bug and is a missing route.
|
|
181
|
+
*
|
|
182
|
+
* The leading `__` is what keeps it out of the way: a page's own path segment is `slugifyTitle`'s
|
|
183
|
+
* output, which is Unicode letters and digits separated by hyphens, so no title can ever produce a
|
|
184
|
+
* segment starting with an underscore and no published page can be shadowed by this one.
|
|
185
|
+
*/
|
|
186
|
+
export const PUBLIC_ASSET_SEGMENT = '__media';
|
|
35
187
|
export const quireContract = {
|
|
36
188
|
spaces: {
|
|
37
189
|
list: baseContract
|
|
@@ -444,6 +596,198 @@ export const quireContract = {
|
|
|
444
596
|
.input(ws.extend({ pageId: Id }))
|
|
445
597
|
.output(Page),
|
|
446
598
|
},
|
|
599
|
+
/**
|
|
600
|
+
* Who has published what, from the inside. Every procedure here is authenticated and asks
|
|
601
|
+
* `quire.page.publish` about the **root page**, because that is the page whose subtree is being
|
|
602
|
+
* handed to the internet.
|
|
603
|
+
*/
|
|
604
|
+
publications: {
|
|
605
|
+
list: baseContract
|
|
606
|
+
.route({ method: 'GET', path: '/spaces/{spaceId}/publications', ...t('publications') })
|
|
607
|
+
.input(ws.extend({ spaceId: Id }))
|
|
608
|
+
.output(z.array(Publication)),
|
|
609
|
+
get: baseContract
|
|
610
|
+
.route({ method: 'GET', path: '/publications/{publicationId}', ...t('publications') })
|
|
611
|
+
.input(ws.extend({ publicationId: Id }))
|
|
612
|
+
.output(Publication),
|
|
613
|
+
create: baseContract
|
|
614
|
+
.route({ method: 'POST', path: '/publications', ...t('publications') })
|
|
615
|
+
.input(ws.extend({
|
|
616
|
+
rootPageId: Id,
|
|
617
|
+
slug: Publication.shape.slug,
|
|
618
|
+
includeDescendants: z.boolean().default(true),
|
|
619
|
+
/** the password itself, once; the server keeps a hash and never gives one back */
|
|
620
|
+
password: z.string().min(6).max(200).nullable().default(null),
|
|
621
|
+
expiresAt: Timestamp.nullable().default(null),
|
|
622
|
+
seoTitle: z.string().max(200).default(''),
|
|
623
|
+
seoDescription: z.string().max(500).default(''),
|
|
624
|
+
ogImageUrl: z.string().max(2048).nullable().default(null),
|
|
625
|
+
indexable: z.boolean().default(true),
|
|
626
|
+
theme: PublicationTheme.default('auto'),
|
|
627
|
+
}))
|
|
628
|
+
.output(Publication),
|
|
629
|
+
/**
|
|
630
|
+
* `password` is three-valued on purpose: a string sets one, `null` removes it, and leaving the
|
|
631
|
+
* key out changes nothing. A two-valued field would make every "rename the site" request also
|
|
632
|
+
* an "unlock the site" request, which is the shape that quietly takes the door off a handbook.
|
|
633
|
+
*/
|
|
634
|
+
update: baseContract
|
|
635
|
+
.route({ method: 'PATCH', path: '/publications/{publicationId}', ...t('publications') })
|
|
636
|
+
.input(ws.extend({
|
|
637
|
+
publicationId: Id,
|
|
638
|
+
slug: Publication.shape.slug.optional(),
|
|
639
|
+
includeDescendants: z.boolean().optional(),
|
|
640
|
+
password: z.string().min(6).max(200).nullable().optional(),
|
|
641
|
+
expiresAt: Timestamp.nullable().optional(),
|
|
642
|
+
seoTitle: z.string().max(200).optional(),
|
|
643
|
+
seoDescription: z.string().max(500).optional(),
|
|
644
|
+
ogImageUrl: z.string().max(2048).nullable().optional(),
|
|
645
|
+
indexable: z.boolean().optional(),
|
|
646
|
+
theme: PublicationTheme.optional(),
|
|
647
|
+
}))
|
|
648
|
+
.output(Publication),
|
|
649
|
+
/** The row is the grant, so removing it takes the site down. Nothing else is deleted. */
|
|
650
|
+
remove: baseContract
|
|
651
|
+
.route({ method: 'DELETE', path: '/publications/{publicationId}', ...t('publications') })
|
|
652
|
+
.input(ws.extend({ publicationId: Id }))
|
|
653
|
+
.output(Ok),
|
|
654
|
+
/**
|
|
655
|
+
* Keep one page — and therefore everything under it — out of every publication, present and
|
|
656
|
+
* future.
|
|
657
|
+
*
|
|
658
|
+
* Absolute rather than per-publication, and that is the whole reason it is a flag on the page:
|
|
659
|
+
* an opt-out recorded against one publication says nothing about a publication somebody roots
|
|
660
|
+
* above the page next month, and its author would never see it. This one holds against
|
|
661
|
+
* publications that do not exist yet.
|
|
662
|
+
*/
|
|
663
|
+
optOut: baseContract
|
|
664
|
+
.route({ method: 'POST', path: '/pages/{pageId}/public-opt-out', ...t('publications') })
|
|
665
|
+
.input(ws.extend({ pageId: Id, excluded: z.boolean().default(true) }))
|
|
666
|
+
.output(z.object({ pageId: Id, excluded: z.boolean() })),
|
|
667
|
+
},
|
|
668
|
+
/**
|
|
669
|
+
* The signed-out surface. **This is the only part of Kern with no principal behind it.**
|
|
670
|
+
*
|
|
671
|
+
* Five rules hold here, and each of them is a test in `publications.int.test.ts`:
|
|
672
|
+
*
|
|
673
|
+
* 1. A page is public only if it is inside the publication's subtree, not opted out, not
|
|
674
|
+
* archived, not trashed, and has a published version that has been rendered. Failing any one
|
|
675
|
+
* of those is **404, never 403** — a refusal that distinguishes "not yours" from "not there"
|
|
676
|
+
* confirms the page exists to whoever is guessing.
|
|
677
|
+
* 2. Guessing a sibling, a parent, a page in another space or another workspace gets 404 too,
|
|
678
|
+
* which is free here because nothing is addressed by id: `path` names a place in *this*
|
|
679
|
+
* publication's tree or it names nothing.
|
|
680
|
+
* 3. No response carries a draft, a comment, an author, a version list, or any id.
|
|
681
|
+
* 4. A password-protected publication answers a challenge and nothing else. `unlock` mints a
|
|
682
|
+
* **capability token, not a session**: an AES-GCM envelope sealed with the instance secret,
|
|
683
|
+
* bound by its associated data to this one publication, carrying an expiry and no identity.
|
|
684
|
+
* The server keeps nothing. The route layer is expected to hold it in an HttpOnly cookie and
|
|
685
|
+
* pass it back — never to put it in a link, because a token in a URL is a token in a referrer
|
|
686
|
+
* header and in somebody's access log.
|
|
687
|
+
* 5. An expired publication is 404, checked on the request rather than by a sweep.
|
|
688
|
+
*
|
|
689
|
+
* `workspaceId` is in the path because *anonymous means no principal, not no tenant*: the request
|
|
690
|
+
* has to name a workspace before anything touches `mod_quire`, or row-level security has nothing
|
|
691
|
+
* to fence with. See the note at the top of `migrations/0008_publications.sql`.
|
|
692
|
+
*/
|
|
693
|
+
public: {
|
|
694
|
+
site: baseContract
|
|
695
|
+
.route({ method: 'GET', path: '/public/{workspaceId}/{slug}', ...t('public') })
|
|
696
|
+
.input(z.object({
|
|
697
|
+
workspaceId: WorkspaceId,
|
|
698
|
+
slug: Publication.shape.slug,
|
|
699
|
+
token: z.string().max(4096).nullable().default(null),
|
|
700
|
+
}))
|
|
701
|
+
.output(PublicSite),
|
|
702
|
+
/**
|
|
703
|
+
* One page of a published site.
|
|
704
|
+
*
|
|
705
|
+
* `path` is a query parameter rather than a path segment because it contains slashes: a nested
|
|
706
|
+
* page's address is `guide/install`, and oRPC's route matcher takes one segment per parameter.
|
|
707
|
+
*/
|
|
708
|
+
page: baseContract
|
|
709
|
+
.route({ method: 'GET', path: '/public/{workspaceId}/{slug}/page', ...t('public') })
|
|
710
|
+
.input(z.object({
|
|
711
|
+
workspaceId: WorkspaceId,
|
|
712
|
+
slug: Publication.shape.slug,
|
|
713
|
+
/** '' is the front page */
|
|
714
|
+
path: z.string().max(1024).default(''),
|
|
715
|
+
basePath: PublicBasePath,
|
|
716
|
+
token: z.string().max(4096).nullable().default(null),
|
|
717
|
+
}))
|
|
718
|
+
.output(PublicPage),
|
|
719
|
+
/**
|
|
720
|
+
* Search inside this publication and nowhere else.
|
|
721
|
+
*
|
|
722
|
+
* It reads the **published version's** flattened text, not `pages.text`. That column mirrors the
|
|
723
|
+
* live document, so searching it would put a sentence somebody has not published yet into a
|
|
724
|
+
* snippet on the public internet — the one place in this module where the draft and the
|
|
725
|
+
* published copy differ and the difference is the whole point.
|
|
726
|
+
*/
|
|
727
|
+
search: baseContract
|
|
728
|
+
.route({ method: 'GET', path: '/public/{workspaceId}/{slug}/search', ...t('public') })
|
|
729
|
+
.input(z.object({
|
|
730
|
+
workspaceId: WorkspaceId,
|
|
731
|
+
slug: Publication.shape.slug,
|
|
732
|
+
q: z.string().min(2).max(200),
|
|
733
|
+
limit: z.number().int().min(1).max(50).default(20),
|
|
734
|
+
token: z.string().max(4096).nullable().default(null),
|
|
735
|
+
}))
|
|
736
|
+
.output(z.object({ items: z.array(PublicSearchHit) })),
|
|
737
|
+
/**
|
|
738
|
+
* What a crawler may index, which is not the same list as what a reader may open: a site behind
|
|
739
|
+
* a password, or marked `indexable: false`, has an empty sitemap rather than a private one.
|
|
740
|
+
*/
|
|
741
|
+
sitemap: baseContract
|
|
742
|
+
.route({ method: 'GET', path: '/public/{workspaceId}/{slug}/sitemap', ...t('public') })
|
|
743
|
+
.input(z.object({ workspaceId: WorkspaceId, slug: Publication.shape.slug }))
|
|
744
|
+
.output(z.object({ entries: z.array(PublicSitemapEntry) })),
|
|
745
|
+
/**
|
|
746
|
+
* The one procedure here that never distinguishes one slug from another.
|
|
747
|
+
*
|
|
748
|
+
* A crawler asking about a slug that does not exist, one that has expired, and one behind a
|
|
749
|
+
* password must all get the same answer, or `robots` becomes the oracle every other procedure
|
|
750
|
+
* refuses to be. So it succeeds for all three and says "do not index". (A workspace with the
|
|
751
|
+
* module switched off is still a 404, from the middleware — that is a statement about the
|
|
752
|
+
* workspace, which the path already named, and not about any slug.)
|
|
753
|
+
*/
|
|
754
|
+
robots: baseContract
|
|
755
|
+
.route({ method: 'GET', path: '/public/{workspaceId}/{slug}/robots', ...t('public') })
|
|
756
|
+
.input(z.object({ workspaceId: WorkspaceId, slug: Publication.shape.slug }))
|
|
757
|
+
.output(z.object({ indexable: z.boolean(), sitemapPath: z.string().nullable() })),
|
|
758
|
+
/**
|
|
759
|
+
* The bytes of one picture on a published page.
|
|
760
|
+
*
|
|
761
|
+
* `asset` is the opaque reference the page's own HTML carries — an AES-GCM envelope sealed with
|
|
762
|
+
* the instance secret and bound by its associated data to this workspace, so it names nothing
|
|
763
|
+
* on its own and cannot be carried to another instance. Resolving it is not enough on its own:
|
|
764
|
+
* the file has to be referenced by a version that is *currently* public in this publication, so
|
|
765
|
+
* opting a page out stops its pictures resolving in the same breath as its prose.
|
|
766
|
+
*
|
|
767
|
+
* Everything unresolvable is the same 404 as everything else here — a reference that will not
|
|
768
|
+
* decrypt, one for a file nothing public uses, a file that has been deleted, an object over the
|
|
769
|
+
* cap. And a locked publication answers the door first: the pictures are behind the password
|
|
770
|
+
* along with the pages they are on.
|
|
771
|
+
*/
|
|
772
|
+
asset: baseContract
|
|
773
|
+
.route({ method: 'GET', path: '/public/{workspaceId}/{slug}/asset', ...t('public') })
|
|
774
|
+
.input(z.object({
|
|
775
|
+
workspaceId: WorkspaceId,
|
|
776
|
+
slug: Publication.shape.slug,
|
|
777
|
+
asset: z.string().min(1).max(2048),
|
|
778
|
+
token: z.string().max(4096).nullable().default(null),
|
|
779
|
+
}))
|
|
780
|
+
.output(PublicAsset),
|
|
781
|
+
/** Present the password, get a token. A site with no password has no door, and answers 404. */
|
|
782
|
+
unlock: baseContract
|
|
783
|
+
.route({ method: 'POST', path: '/public/{workspaceId}/{slug}/unlock', ...t('public') })
|
|
784
|
+
.input(z.object({
|
|
785
|
+
workspaceId: WorkspaceId,
|
|
786
|
+
slug: Publication.shape.slug,
|
|
787
|
+
password: z.string().min(1).max(200),
|
|
788
|
+
}))
|
|
789
|
+
.output(z.object({ token: z.string(), expiresAt: Timestamp })),
|
|
790
|
+
},
|
|
447
791
|
};
|
|
448
792
|
export { Ok };
|
|
449
793
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/contract/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/contract/router.ts"],"names":[],"mappings":"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"}
|