@geekity/cms 0.16.0 → 0.18.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 +162 -49
- package/admin/pages/documents/editor.njk +63 -0
- package/admin/pages/documents/list.njk +2 -0
- package/admin/pages/indieauth/consent.njk +4 -0
- package/admin/pages/settings/privacy.njk +37 -0
- package/admin/pages/users/activity-entry.njk +58 -0
- package/admin/pages/users/activity.njk +66 -0
- package/admin/pages/users/apps.njk +109 -3
- package/dist/admin/documents.d.ts +29 -1
- package/dist/admin/documents.d.ts.map +1 -1
- package/dist/admin/documents.js +88 -6
- package/dist/admin/documents.js.map +1 -1
- package/dist/admin/index.d.ts +1 -0
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +1 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/location-field.d.ts +26 -0
- package/dist/admin/location-field.d.ts.map +1 -0
- package/dist/admin/location-field.js +90 -0
- package/dist/admin/location-field.js.map +1 -0
- package/dist/admin/menu.d.ts.map +1 -1
- package/dist/admin/menu.js +5 -1
- package/dist/admin/menu.js.map +1 -1
- package/dist/admin/preview.d.ts.map +1 -1
- package/dist/admin/preview.js +18 -5
- package/dist/admin/preview.js.map +1 -1
- package/dist/admin/read-field.d.ts +23 -0
- package/dist/admin/read-field.d.ts.map +1 -0
- package/dist/admin/read-field.js +53 -0
- package/dist/admin/read-field.js.map +1 -0
- package/dist/admin/routes.d.ts.map +1 -1
- package/dist/admin/routes.js +4 -0
- package/dist/admin/routes.js.map +1 -1
- package/dist/admin/settings-page.d.ts +3 -3
- package/dist/admin/settings-page.js +2 -2
- package/dist/admin/settings-pages.d.ts +2 -2
- package/dist/admin/settings-pages.d.ts.map +1 -1
- package/dist/admin/settings-pages.js +4 -2
- package/dist/admin/settings-pages.js.map +1 -1
- package/dist/admin/settings-privacy.d.ts +3 -0
- package/dist/admin/settings-privacy.d.ts.map +1 -0
- package/dist/admin/settings-privacy.js +10 -0
- package/dist/admin/settings-privacy.js.map +1 -0
- package/dist/admin/settings-reading.js +2 -2
- package/dist/admin/settings-reading.js.map +1 -1
- package/dist/admin/settings.d.ts +18 -2
- package/dist/admin/settings.d.ts.map +1 -1
- package/dist/admin/settings.js +27 -0
- package/dist/admin/settings.js.map +1 -1
- package/dist/admin/templates.d.ts +3 -0
- package/dist/admin/templates.d.ts.map +1 -1
- package/dist/admin/templates.js +3 -0
- package/dist/admin/templates.js.map +1 -1
- package/dist/admin/uploads.d.ts.map +1 -1
- package/dist/admin/uploads.js +14 -1
- package/dist/admin/uploads.js.map +1 -1
- package/dist/admin/users.d.ts +8 -0
- package/dist/admin/users.d.ts.map +1 -1
- package/dist/admin/users.js +8 -0
- package/dist/admin/users.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +34 -0
- package/dist/cli.js.map +1 -1
- package/dist/comments/routes.js +2 -2
- package/dist/comments/routes.js.map +1 -1
- package/dist/contact/routes.js +2 -2
- package/dist/contact/routes.js.map +1 -1
- package/dist/content/location.d.ts +58 -0
- package/dist/content/location.d.ts.map +1 -0
- package/dist/content/location.js +208 -0
- package/dist/content/location.js.map +1 -0
- package/dist/content/locations.d.ts +9 -0
- package/dist/content/locations.d.ts.map +1 -0
- package/dist/content/locations.js +82 -0
- package/dist/content/locations.js.map +1 -0
- package/dist/content/metadata/gif.d.ts +3 -0
- package/dist/content/metadata/gif.d.ts.map +1 -0
- package/dist/content/metadata/gif.js +65 -0
- package/dist/content/metadata/gif.js.map +1 -0
- package/dist/content/metadata/index.d.ts +6 -0
- package/dist/content/metadata/index.d.ts.map +1 -0
- package/dist/content/metadata/index.js +24 -0
- package/dist/content/metadata/index.js.map +1 -0
- package/dist/content/metadata/isobmff.d.ts +22 -0
- package/dist/content/metadata/isobmff.d.ts.map +1 -0
- package/dist/content/metadata/isobmff.js +215 -0
- package/dist/content/metadata/isobmff.js.map +1 -0
- package/dist/content/metadata/jpeg.d.ts +3 -0
- package/dist/content/metadata/jpeg.d.ts.map +1 -0
- package/dist/content/metadata/jpeg.js +117 -0
- package/dist/content/metadata/jpeg.js.map +1 -0
- package/dist/content/metadata/png.d.ts +3 -0
- package/dist/content/metadata/png.d.ts.map +1 -0
- package/dist/content/metadata/png.js +74 -0
- package/dist/content/metadata/png.js.map +1 -0
- package/dist/content/metadata/shared.d.ts +17 -0
- package/dist/content/metadata/shared.d.ts.map +1 -0
- package/dist/content/metadata/shared.js +42 -0
- package/dist/content/metadata/shared.js.map +1 -0
- package/dist/content/metadata/sweep.d.ts +14 -0
- package/dist/content/metadata/sweep.d.ts.map +1 -0
- package/dist/content/metadata/sweep.js +54 -0
- package/dist/content/metadata/sweep.js.map +1 -0
- package/dist/content/metadata/tiff.d.ts +7 -0
- package/dist/content/metadata/tiff.d.ts.map +1 -0
- package/dist/content/metadata/tiff.js +56 -0
- package/dist/content/metadata/tiff.js.map +1 -0
- package/dist/content/metadata/webp.d.ts +3 -0
- package/dist/content/metadata/webp.d.ts.map +1 -0
- package/dist/content/metadata/webp.js +67 -0
- package/dist/content/metadata/webp.js.map +1 -0
- package/dist/content/post-type.d.ts +4 -2
- package/dist/content/post-type.d.ts.map +1 -1
- package/dist/content/post-type.js +9 -1
- package/dist/content/post-type.js.map +1 -1
- package/dist/content/read.d.ts +22 -0
- package/dist/content/read.d.ts.map +1 -0
- package/dist/content/read.js +67 -0
- package/dist/content/read.js.map +1 -0
- package/dist/content/store.d.ts +4 -4
- package/dist/content/store.d.ts.map +1 -1
- package/dist/content/store.js +19 -39
- package/dist/content/store.js.map +1 -1
- package/dist/content/sync.d.ts.map +1 -1
- package/dist/content/sync.js +3 -13
- package/dist/content/sync.js.map +1 -1
- package/dist/content/visibility.d.ts +11 -0
- package/dist/content/visibility.d.ts.map +1 -0
- package/dist/content/visibility.js +14 -0
- package/dist/content/visibility.js.map +1 -0
- package/dist/env.d.ts +7 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/federation/article.d.ts.map +1 -1
- package/dist/federation/article.js +41 -14
- package/dist/federation/article.js.map +1 -1
- package/dist/federation/delivery.d.ts +3 -1
- package/dist/federation/delivery.d.ts.map +1 -1
- package/dist/federation/delivery.js +6 -5
- package/dist/federation/delivery.js.map +1 -1
- package/dist/federation/mount.d.ts.map +1 -1
- package/dist/federation/mount.js +3 -1
- package/dist/federation/mount.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/indexnow.js +2 -2
- package/dist/indexnow.js.map +1 -1
- package/dist/indieauth/activity-log.d.ts +114 -0
- package/dist/indieauth/activity-log.d.ts.map +1 -0
- package/dist/indieauth/activity-log.js +335 -0
- package/dist/indieauth/activity-log.js.map +1 -0
- package/dist/indieauth/app-activity.d.ts +14 -0
- package/dist/indieauth/app-activity.d.ts.map +1 -0
- package/dist/indieauth/app-activity.js +110 -0
- package/dist/indieauth/app-activity.js.map +1 -0
- package/dist/indieauth/bearer.d.ts.map +1 -1
- package/dist/indieauth/bearer.js +20 -18
- package/dist/indieauth/bearer.js.map +1 -1
- package/dist/indieauth/client-id.d.ts +10 -0
- package/dist/indieauth/client-id.d.ts.map +1 -0
- package/dist/indieauth/client-id.js +30 -0
- package/dist/indieauth/client-id.js.map +1 -0
- package/dist/indieauth/connected-apps.d.ts +4 -0
- package/dist/indieauth/connected-apps.d.ts.map +1 -1
- package/dist/indieauth/connected-apps.js +149 -20
- package/dist/indieauth/connected-apps.js.map +1 -1
- package/dist/indieauth/consent.d.ts.map +1 -1
- package/dist/indieauth/consent.js +10 -3
- package/dist/indieauth/consent.js.map +1 -1
- package/dist/indieauth/discovery.d.ts +4 -3
- package/dist/indieauth/discovery.d.ts.map +1 -1
- package/dist/indieauth/discovery.js +7 -3
- package/dist/indieauth/discovery.js.map +1 -1
- package/dist/indieauth/grants.d.ts +2 -7
- package/dist/indieauth/grants.d.ts.map +1 -1
- package/dist/indieauth/grants.js.map +1 -1
- package/dist/indieauth/redeem.d.ts.map +1 -1
- package/dist/indieauth/redeem.js +10 -5
- package/dist/indieauth/redeem.js.map +1 -1
- package/dist/indieauth/request.d.ts +8 -4
- package/dist/indieauth/request.d.ts.map +1 -1
- package/dist/indieauth/request.js +29 -30
- package/dist/indieauth/request.js.map +1 -1
- package/dist/indieauth/token.d.ts.map +1 -1
- package/dist/indieauth/token.js +4 -2
- package/dist/indieauth/token.js.map +1 -1
- package/dist/indieauth/tokens.d.ts +28 -7
- package/dist/indieauth/tokens.d.ts.map +1 -1
- package/dist/indieauth/tokens.js +26 -5
- package/dist/indieauth/tokens.js.map +1 -1
- package/dist/micropub/create.d.ts +22 -0
- package/dist/micropub/create.d.ts.map +1 -1
- package/dist/micropub/create.js +107 -8
- package/dist/micropub/create.js.map +1 -1
- package/dist/micropub/endpoint.d.ts.map +1 -1
- package/dist/micropub/endpoint.js +74 -22
- package/dist/micropub/endpoint.js.map +1 -1
- package/dist/micropub/media.d.ts +4 -2
- package/dist/micropub/media.d.ts.map +1 -1
- package/dist/micropub/media.js +43 -38
- package/dist/micropub/media.js.map +1 -1
- package/dist/micropub/update.d.ts +6 -2
- package/dist/micropub/update.d.ts.map +1 -1
- package/dist/micropub/update.js +31 -3
- package/dist/micropub/update.js.map +1 -1
- package/dist/notify.d.ts.map +1 -1
- package/dist/notify.js +2 -5
- package/dist/notify.js.map +1 -1
- package/dist/web/absolute-urls.d.ts +2 -0
- package/dist/web/absolute-urls.d.ts.map +1 -0
- package/dist/web/absolute-urls.js +22 -0
- package/dist/web/absolute-urls.js.map +1 -0
- package/dist/web/context.d.ts +29 -1
- package/dist/web/context.d.ts.map +1 -1
- package/dist/web/context.js +33 -0
- package/dist/web/context.js.map +1 -1
- package/dist/web/conversation.d.ts.map +1 -1
- package/dist/web/conversation.js +5 -4
- package/dist/web/conversation.js.map +1 -1
- package/dist/web/documents.d.ts +19 -10
- package/dist/web/documents.d.ts.map +1 -1
- package/dist/web/documents.js +28 -13
- package/dist/web/documents.js.map +1 -1
- package/dist/web/feed-item.d.ts +25 -6
- package/dist/web/feed-item.d.ts.map +1 -1
- package/dist/web/feed-item.js +31 -7
- package/dist/web/feed-item.js.map +1 -1
- package/dist/web/feed-json.d.ts +3 -1
- package/dist/web/feed-json.d.ts.map +1 -1
- package/dist/web/feed-json.js +2 -0
- package/dist/web/feed-json.js.map +1 -1
- package/dist/web/feed-source.d.ts +6 -0
- package/dist/web/feed-source.d.ts.map +1 -1
- package/dist/web/feed-source.js.map +1 -1
- package/dist/web/feeds.d.ts.map +1 -1
- package/dist/web/feeds.js +2 -0
- package/dist/web/feeds.js.map +1 -1
- package/dist/web/html-attributes.d.ts +3 -0
- package/dist/web/html-attributes.d.ts.map +1 -0
- package/dist/web/html-attributes.js +15 -0
- package/dist/web/html-attributes.js.map +1 -0
- package/dist/web/index.d.ts +1 -1
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +1 -1
- package/dist/web/index.js.map +1 -1
- package/dist/web/negotiate.d.ts +2 -0
- package/dist/web/negotiate.d.ts.map +1 -1
- package/dist/web/negotiate.js +2 -1
- package/dist/web/negotiate.js.map +1 -1
- package/dist/web/render.d.ts +8 -0
- package/dist/web/render.d.ts.map +1 -1
- package/dist/web/render.js +5 -1
- package/dist/web/render.js.map +1 -1
- package/dist/web/routes.d.ts.map +1 -1
- package/dist/web/routes.js +14 -10
- package/dist/web/routes.js.map +1 -1
- package/dist/webmention/service.d.ts.map +1 -1
- package/dist/webmention/service.js +7 -2
- package/dist/webmention/service.js.map +1 -1
- package/package.json +1 -1
- package/themes/default/README.md +15 -0
- package/themes/default/layouts/base.njk +2 -0
- package/themes/default/layouts/post.njk +7 -1
- package/themes/default/partials/location.njk +12 -0
- package/themes/default/partials/post-list.njk +2 -0
- package/themes/default/partials/read.njk +5 -0
package/dist/micropub/create.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { blankForm, POST_KIND } from '../admin/documents.js';
|
|
2
|
+
import { locationForm } from '../admin/location-field.js';
|
|
3
|
+
import { BLANK_READ_OF_FORM } from '../admin/read-field.js';
|
|
2
4
|
import { isWebUrl } from '../content/enclosure.js';
|
|
5
|
+
import { locationFromMicropub } from '../content/location.js';
|
|
6
|
+
import { isReadStatus, READ_STATUSES } from '../content/read.js';
|
|
7
|
+
import { isVisibility } from '../content/visibility.js';
|
|
3
8
|
import { normalizeBody } from '../content/writer.js';
|
|
4
9
|
import { UPLOAD_ASSET_PREFIX } from '../web/assets.js';
|
|
5
10
|
import { absoluteUrl } from '../web/negotiate.js';
|
|
@@ -18,14 +23,38 @@ const SINGLE_VALUED = {
|
|
|
18
23
|
published: 'date',
|
|
19
24
|
'mp-slug': 'slug',
|
|
20
25
|
};
|
|
21
|
-
const
|
|
22
|
-
|
|
26
|
+
const ACCEPTED_WITHOUT_EFFECT = {
|
|
27
|
+
'p3k-content-type': (type) => type === 'text/plain' || type === 'text/markdown'
|
|
28
|
+
? undefined
|
|
29
|
+
: `p3k-content-type is text/plain or text/markdown, not ${type}.`,
|
|
30
|
+
};
|
|
31
|
+
const MAPPED_ON_THEIR_OWN = [
|
|
23
32
|
'content',
|
|
24
33
|
'category',
|
|
25
34
|
'photo',
|
|
35
|
+
'location',
|
|
26
36
|
'post-status',
|
|
27
37
|
'mp-syndicate-to',
|
|
38
|
+
'visibility',
|
|
39
|
+
'read-of',
|
|
40
|
+
'read-status',
|
|
41
|
+
];
|
|
42
|
+
const PROPERTIES = new Set([
|
|
43
|
+
...Object.keys(SINGLE_VALUED),
|
|
44
|
+
...Object.keys(ACCEPTED_WITHOUT_EFFECT),
|
|
45
|
+
...MAPPED_ON_THEIR_OWN,
|
|
46
|
+
]);
|
|
47
|
+
/**
|
|
48
|
+
* The names Quill accounts created before its migrations 0002 and 0004 send,
|
|
49
|
+
* and the property each one is.
|
|
50
|
+
*/
|
|
51
|
+
const LEGACY_NAMES = new Map([
|
|
52
|
+
['slug', 'mp-slug'],
|
|
53
|
+
['syndicate-to', 'mp-syndicate-to'],
|
|
28
54
|
]);
|
|
55
|
+
export function propertyName(name) {
|
|
56
|
+
return LEGACY_NAMES.get(name) ?? name;
|
|
57
|
+
}
|
|
29
58
|
/** What `post-status` may say, and whether it makes a draft. */
|
|
30
59
|
const POST_STATUSES = { published: false, draft: true };
|
|
31
60
|
/** The form fields Micropub sets aside from the post's own properties. */
|
|
@@ -78,13 +107,18 @@ export function createForm(request, site) {
|
|
|
78
107
|
const named = request.type === '' ? 'no type' : request.type;
|
|
79
108
|
return { errors: [`This endpoint creates h-entry posts, not ${named}.`] };
|
|
80
109
|
}
|
|
110
|
+
const properties = new Map();
|
|
111
|
+
for (const [name, values] of request.properties) {
|
|
112
|
+
const property = propertyName(name);
|
|
113
|
+
properties.set(property, [...(properties.get(property) ?? []), ...values]);
|
|
114
|
+
}
|
|
81
115
|
const errors = [];
|
|
82
|
-
const unknown = [...
|
|
116
|
+
const unknown = [...properties.keys()].filter((name) => !PROPERTIES.has(name));
|
|
83
117
|
if (unknown.length > 0) {
|
|
84
118
|
errors.push(`This endpoint does not understand ${unknown.join(', ')}.`);
|
|
85
119
|
}
|
|
86
120
|
const text = (name) => {
|
|
87
|
-
const values =
|
|
121
|
+
const values = properties.get(name) ?? [];
|
|
88
122
|
if (values.length > 1)
|
|
89
123
|
errors.push(`${name} takes one value.`);
|
|
90
124
|
const [value] = values;
|
|
@@ -100,12 +134,12 @@ export function createForm(request, site) {
|
|
|
100
134
|
...blankForm(POST_KIND, timezone, now),
|
|
101
135
|
date: '',
|
|
102
136
|
author,
|
|
103
|
-
body: normalizeBody(content(
|
|
104
|
-
tags: categories(
|
|
105
|
-
syndicateTo: syndicateTo(
|
|
137
|
+
body: normalizeBody(content(properties.get('content') ?? [], errors)),
|
|
138
|
+
tags: categories(properties.get('category') ?? [], errors),
|
|
139
|
+
syndicateTo: syndicateTo(properties.get('mp-syndicate-to') ?? [], site.targets, errors),
|
|
106
140
|
};
|
|
107
141
|
const uploads = [];
|
|
108
|
-
form.photos = (
|
|
142
|
+
form.photos = (properties.get('photo') ?? []).map((value, row) => {
|
|
109
143
|
if (value instanceof File) {
|
|
110
144
|
uploads.push({ row, file: value });
|
|
111
145
|
return { url: '', alt: '' };
|
|
@@ -117,9 +151,30 @@ export function createForm(request, site) {
|
|
|
117
151
|
}
|
|
118
152
|
return photo;
|
|
119
153
|
});
|
|
154
|
+
form.location = location(properties.get('location') ?? [], errors);
|
|
155
|
+
form.readOf = readOf(properties.get('read-of') ?? [], errors);
|
|
156
|
+
form.readStatus = text('read-status');
|
|
157
|
+
if (form.readStatus !== '' && !isReadStatus(form.readStatus)) {
|
|
158
|
+
errors.push(`read-status is ${READ_STATUSES.join(', ')}, not ${form.readStatus}.`);
|
|
159
|
+
}
|
|
120
160
|
for (const [property, field] of Object.entries(SINGLE_VALUED)) {
|
|
121
161
|
form[field] = text(property);
|
|
122
162
|
}
|
|
163
|
+
const visibility = text('visibility');
|
|
164
|
+
if (isVisibility(visibility))
|
|
165
|
+
form.visibility = visibility;
|
|
166
|
+
else if (visibility === 'private') {
|
|
167
|
+
errors.push('This site does not publish private posts; visibility is public or unlisted.');
|
|
168
|
+
}
|
|
169
|
+
else if (visibility !== '') {
|
|
170
|
+
errors.push(`visibility is public or unlisted, not ${visibility}.`);
|
|
171
|
+
}
|
|
172
|
+
for (const [property, refused] of Object.entries(ACCEPTED_WITHOUT_EFFECT)) {
|
|
173
|
+
const value = text(property);
|
|
174
|
+
const reason = value === '' ? undefined : refused(value);
|
|
175
|
+
if (reason !== undefined)
|
|
176
|
+
errors.push(reason);
|
|
177
|
+
}
|
|
123
178
|
const status = text('post-status');
|
|
124
179
|
const draft = status === '' ? false : POST_STATUSES[status];
|
|
125
180
|
if (draft === undefined) {
|
|
@@ -149,6 +204,50 @@ function photoRow(value, baseUrl) {
|
|
|
149
204
|
alt: alt.trim(),
|
|
150
205
|
};
|
|
151
206
|
}
|
|
207
|
+
function location(values, errors) {
|
|
208
|
+
if (values.length > 1)
|
|
209
|
+
errors.push('location takes one value.');
|
|
210
|
+
const [value] = values;
|
|
211
|
+
if (value === undefined)
|
|
212
|
+
return locationForm(undefined);
|
|
213
|
+
const parsed = locationFromMicropub(value);
|
|
214
|
+
if ('error' in parsed) {
|
|
215
|
+
errors.push(parsed.error);
|
|
216
|
+
return locationForm(undefined);
|
|
217
|
+
}
|
|
218
|
+
return locationForm(parsed);
|
|
219
|
+
}
|
|
220
|
+
const READ_OF_PROPERTIES = ['name', 'author', 'uid', 'url'];
|
|
221
|
+
function readOf(values, errors) {
|
|
222
|
+
if (values.length > 1)
|
|
223
|
+
errors.push('read-of takes one value.');
|
|
224
|
+
const [value] = values;
|
|
225
|
+
if (value === undefined)
|
|
226
|
+
return BLANK_READ_OF_FORM;
|
|
227
|
+
const { type, properties } = typeof value === 'object' && value !== null ? value : {};
|
|
228
|
+
if (!Array.isArray(type) ||
|
|
229
|
+
!type.includes('h-cite') ||
|
|
230
|
+
typeof properties !== 'object' ||
|
|
231
|
+
properties === null) {
|
|
232
|
+
errors.push('read-of is an h-cite, { "type": ["h-cite"], "properties": { "name": ["…"] } }.');
|
|
233
|
+
return BLANK_READ_OF_FORM;
|
|
234
|
+
}
|
|
235
|
+
const given = properties;
|
|
236
|
+
const unknown = Object.keys(given).filter((name) => !READ_OF_PROPERTIES.includes(name));
|
|
237
|
+
if (unknown.length > 0)
|
|
238
|
+
errors.push(`read-of does not understand ${unknown.join(', ')}.`);
|
|
239
|
+
const field = (name) => {
|
|
240
|
+
const values = given[name] ?? [];
|
|
241
|
+
if (!Array.isArray(values) ||
|
|
242
|
+
values.length > 1 ||
|
|
243
|
+
!values.every((v) => typeof v === 'string')) {
|
|
244
|
+
errors.push(`read-of ${name} takes one text value.`);
|
|
245
|
+
return '';
|
|
246
|
+
}
|
|
247
|
+
return (values[0] ?? '').trim();
|
|
248
|
+
};
|
|
249
|
+
return { name: field('name'), author: field('author'), uid: field('uid'), url: field('url') };
|
|
250
|
+
}
|
|
152
251
|
/** The body: plain text as the Markdown it is written in, or HTML as it came. */
|
|
153
252
|
function content(values, errors) {
|
|
154
253
|
if (values.length > 1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/micropub/create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/micropub/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/micropub/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/micropub/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAyB7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AA2LrD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAa5E;AA2ND;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAmCzD"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { listUsers } from '../admin/accounts.js';
|
|
2
2
|
import { moveDocumentFile, POST_KIND, writeDocument } from '../admin/documents.js';
|
|
3
3
|
import { deleteUpload } from '../admin/media.js';
|
|
4
|
-
import { refusedUpload, storeUpload } from '../admin/uploads.js';
|
|
4
|
+
import { largestUploadLimit, refusedUpload, storeUpload, tooLargeMessage, UPLOAD_ENVELOPE_BYTES, } from '../admin/uploads.js';
|
|
5
5
|
import { readSiteSettings } from '../admin/settings.js';
|
|
6
|
+
import { postLocations } from '../content/locations.js';
|
|
6
7
|
import { isTrashedPath } from '../content/store.js';
|
|
8
|
+
import { VISIBILITIES } from '../content/visibility.js';
|
|
9
|
+
import { logMicropubRequest } from '../indieauth/activity-log.js';
|
|
7
10
|
import { insufficientScope, requireBearer } from '../indieauth/bearer.js';
|
|
8
11
|
import { MICROPUB_MEDIA_PATH, MICROPUB_PATH, siteBaseUrl } from '../indieauth/discovery.js';
|
|
9
12
|
import { absoluteUrl } from '../web/negotiate.js';
|
|
@@ -13,18 +16,43 @@ import { userForAuthor } from '../web/authors.js';
|
|
|
13
16
|
import { syndicationTargetsReader } from '../webmention/syndication.js';
|
|
14
17
|
import { createForm, fromForm, fromJson } from './create.js';
|
|
15
18
|
import { parseChanges, sourceProperties, updateForm } from './update.js';
|
|
19
|
+
const ANY_TYPE = [
|
|
20
|
+
'content',
|
|
21
|
+
'summary',
|
|
22
|
+
'category',
|
|
23
|
+
'location',
|
|
24
|
+
'published',
|
|
25
|
+
'post-status',
|
|
26
|
+
'visibility',
|
|
27
|
+
'mp-slug',
|
|
28
|
+
'mp-syndicate-to',
|
|
29
|
+
];
|
|
30
|
+
/** A note has no name: a name its text does not open with makes it an article. */
|
|
31
|
+
const NAMED = ['name', ...ANY_TYPE];
|
|
16
32
|
/**
|
|
17
|
-
*
|
|
18
|
-
* it
|
|
33
|
+
* Each post type the site accepts, in the order a client offers them: the
|
|
34
|
+
* name it shows, the properties it offers, and those Post Type Discovery
|
|
35
|
+
* needs to call a post that type. Another type's own property is not offered,
|
|
36
|
+
* since it would make the post that type instead. A record, so a new
|
|
37
|
+
* {@link PostType} cannot go unoffered.
|
|
19
38
|
*/
|
|
20
|
-
const
|
|
21
|
-
note: 'Note',
|
|
22
|
-
article: 'Article',
|
|
23
|
-
reply: 'Reply',
|
|
24
|
-
photo: 'Photo',
|
|
25
|
-
like: 'Like',
|
|
26
|
-
repost: 'Repost',
|
|
27
|
-
bookmark:
|
|
39
|
+
const POST_TYPES = {
|
|
40
|
+
note: { name: 'Note', properties: ANY_TYPE, required: ['content'] },
|
|
41
|
+
article: { name: 'Article', properties: NAMED, required: ['name', 'content'] },
|
|
42
|
+
reply: { name: 'Reply', properties: ['in-reply-to', ...NAMED], required: ['in-reply-to'] },
|
|
43
|
+
photo: { name: 'Photo', properties: ['photo', ...NAMED], required: ['photo'] },
|
|
44
|
+
like: { name: 'Like', properties: ['like-of', ...NAMED], required: ['like-of'] },
|
|
45
|
+
repost: { name: 'Repost', properties: ['repost-of', ...NAMED], required: ['repost-of'] },
|
|
46
|
+
bookmark: {
|
|
47
|
+
name: 'Bookmark',
|
|
48
|
+
properties: ['bookmark-of', ...NAMED],
|
|
49
|
+
required: ['bookmark-of'],
|
|
50
|
+
},
|
|
51
|
+
read: {
|
|
52
|
+
name: 'Read',
|
|
53
|
+
properties: ['read-of', 'read-status', ...NAMED],
|
|
54
|
+
required: ['read-of', 'read-status'],
|
|
55
|
+
},
|
|
28
56
|
};
|
|
29
57
|
/** Each `q` the endpoint answers. */
|
|
30
58
|
const QUERY_NAMES = ['config', 'syndicate-to', 'category', 'source'];
|
|
@@ -36,16 +64,22 @@ const QUERIES = {
|
|
|
36
64
|
config: ({ baseUrl, targets }) => ({
|
|
37
65
|
'media-endpoint': `${baseUrl}${MICROPUB_MEDIA_PATH}`,
|
|
38
66
|
'syndicate-to': offered(targets),
|
|
39
|
-
'post-types': Object.entries(
|
|
67
|
+
'post-types': Object.entries(POST_TYPES).map(([type, { name, properties, required }]) => ({
|
|
68
|
+
type,
|
|
69
|
+
name,
|
|
70
|
+
properties,
|
|
71
|
+
'required-properties': required,
|
|
72
|
+
})),
|
|
73
|
+
visibility: VISIBILITIES,
|
|
40
74
|
q: QUERY_NAMES,
|
|
41
75
|
}),
|
|
42
76
|
'syndicate-to': ({ targets }) => ({ 'syndicate-to': offered(targets) }),
|
|
43
77
|
category: ({ store, filter }) => ({ categories: categories(store, filter) }),
|
|
44
|
-
source: ({ baseUrl, targets, properties, post }) => {
|
|
78
|
+
source: ({ baseUrl, targets, locations, properties, post }) => {
|
|
45
79
|
const document = post();
|
|
46
80
|
if (document instanceof Refusal)
|
|
47
81
|
return document;
|
|
48
|
-
const all = sourceProperties(document, { baseUrl, targets });
|
|
82
|
+
const all = sourceProperties(document, { baseUrl, targets, locations });
|
|
49
83
|
// Asked for by name, the answer is the properties alone, as the spec has it.
|
|
50
84
|
if (properties.length === 0)
|
|
51
85
|
return { type: ['h-entry'], properties: all };
|
|
@@ -128,10 +162,18 @@ function isQuery(q) {
|
|
|
128
162
|
* because the base URL is a setting.
|
|
129
163
|
*/
|
|
130
164
|
export function requireSiteToken(scope) {
|
|
131
|
-
return async (c, next) =>
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
165
|
+
return async (c, next) => {
|
|
166
|
+
const declared = Number(c.req.header('content-length') ?? '');
|
|
167
|
+
const limit = largestUploadLimit(c.var.config);
|
|
168
|
+
if (Number.isFinite(declared) && declared > limit + UPLOAD_ENVELOPE_BYTES) {
|
|
169
|
+
c.header('cache-control', 'no-store');
|
|
170
|
+
return c.json({ error: 'invalid_request', error_description: tooLargeMessage(limit) }, 400);
|
|
171
|
+
}
|
|
172
|
+
return await requireBearer({
|
|
173
|
+
audience: { resource: siteBaseUrl(c), acceptsUnbound: true },
|
|
174
|
+
...(scope === undefined ? {} : { scope }),
|
|
175
|
+
})(c, next);
|
|
176
|
+
};
|
|
135
177
|
}
|
|
136
178
|
/** The scope each action needs. */
|
|
137
179
|
const ACTION_SCOPES = {
|
|
@@ -239,7 +281,12 @@ const ACTIONS = {
|
|
|
239
281
|
const photos = await storePhotos(created, config);
|
|
240
282
|
if ('error' in photos)
|
|
241
283
|
return invalid(photos.error).answer(c);
|
|
242
|
-
const written = await writeDocument({ store, config, announce, writer: bearer.user.username }, {
|
|
284
|
+
const written = await writeDocument({ store, config, announce, writer: bearer.user.username }, {
|
|
285
|
+
kind: POST_KIND,
|
|
286
|
+
document: undefined,
|
|
287
|
+
...created,
|
|
288
|
+
form: withoutClientReadSummary(photos.form),
|
|
289
|
+
});
|
|
243
290
|
if (written.outcome === 'refused') {
|
|
244
291
|
await removeUploads(photos.stored, config);
|
|
245
292
|
return invalid(written.message).answer(c);
|
|
@@ -263,10 +310,11 @@ const ACTIONS = {
|
|
|
263
310
|
now: store.now(),
|
|
264
311
|
baseUrl: siteBaseUrl(c),
|
|
265
312
|
targets: syndicationTargetsReader(config.contentDir)(),
|
|
313
|
+
locations: postLocations(config.dataDir),
|
|
266
314
|
});
|
|
267
315
|
if ('errors' in updated)
|
|
268
316
|
return invalid(updated.errors.join(' ')).answer(c);
|
|
269
|
-
const written = await writeDocument({ store, config, announce, writer: bearer.user.username }, { kind: POST_KIND, document, ...updated });
|
|
317
|
+
const written = await writeDocument({ store, config, announce, writer: bearer.user.username }, { kind: POST_KIND, document, ...updated, form: withoutClientReadSummary(updated.form) });
|
|
270
318
|
if (written.outcome === 'refused')
|
|
271
319
|
return invalid(written.message).answer(c);
|
|
272
320
|
if (written.outcome === 'conflict') {
|
|
@@ -318,7 +366,7 @@ async function moved(c, url, action) {
|
|
|
318
366
|
* IndieAuth endpoints beside it.
|
|
319
367
|
*/
|
|
320
368
|
export function mountMicropub(app) {
|
|
321
|
-
app.post(MICROPUB_PATH, requireSiteToken(), async (c) => {
|
|
369
|
+
app.post(MICROPUB_PATH, logMicropubRequest, requireSiteToken(), async (c) => {
|
|
322
370
|
const post = await micropubPost(c);
|
|
323
371
|
if (post instanceof Refusal)
|
|
324
372
|
return post.answer(c);
|
|
@@ -328,7 +376,7 @@ export function mountMicropub(app) {
|
|
|
328
376
|
const handle = ACTIONS[post.action];
|
|
329
377
|
return await handle(c, post);
|
|
330
378
|
});
|
|
331
|
-
app.get(MICROPUB_PATH, requireSiteToken(), (c) => {
|
|
379
|
+
app.get(MICROPUB_PATH, logMicropubRequest, requireSiteToken(), (c) => {
|
|
332
380
|
const q = c.req.query('q');
|
|
333
381
|
if (!isQuery(q)) {
|
|
334
382
|
const description = q === undefined || q === ''
|
|
@@ -340,6 +388,7 @@ export function mountMicropub(app) {
|
|
|
340
388
|
baseUrl: siteBaseUrl(c),
|
|
341
389
|
store: c.var.store,
|
|
342
390
|
targets: syndicationTargetsReader(c.var.config.contentDir)(),
|
|
391
|
+
locations: postLocations(c.var.config.dataDir),
|
|
343
392
|
filter: c.req.query('filter'),
|
|
344
393
|
properties: c.req.queries('properties[]') ?? c.req.queries('properties') ?? [],
|
|
345
394
|
post: () => postFor(c, c.req.query('url')),
|
|
@@ -350,4 +399,7 @@ export function mountMicropub(app) {
|
|
|
350
399
|
return c.json(answer);
|
|
351
400
|
});
|
|
352
401
|
}
|
|
402
|
+
function withoutClientReadSummary(form) {
|
|
403
|
+
return form.readStatus === '' ? form : { ...form, description: '' };
|
|
404
|
+
}
|
|
353
405
|
//# sourceMappingURL=endpoint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/micropub/endpoint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/micropub/endpoint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG5F,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzE,MAAM,QAAQ,GAAwB;IACpC,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,WAAW;IACX,aAAa;IACb,YAAY;IACZ,SAAS;IACT,iBAAiB;CAClB,CAAC;AAEF,kFAAkF;AAClF,MAAM,KAAK,GAAwB,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,GASZ;IACF,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;IACnE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;IAC9E,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE;IAC1F,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;IAC9E,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;IAChF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;IACxF,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC;QACrC,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;QAChD,QAAQ,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;KACrC;CACF,CAAC;AAEF,qCAAqC;AACrC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAmB9E;;;GAGG;AACH,MAAM,OAAO,GAA+D;IAC1E,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,gBAAgB,EAAE,GAAG,OAAO,GAAG,mBAAmB,EAAE;QACpD,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,IAAI;YACJ,IAAI;YACJ,UAAU;YACV,qBAAqB,EAAE,QAAQ;SAChC,CAAC,CAAC;QACH,UAAU,EAAE,YAAY;QACxB,CAAC,EAAE,WAAW;KACf,CAAC;IACF,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACvE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IAC5E,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC;QACxB,IAAI,QAAQ,YAAY,OAAO;YAAE,OAAO,QAAQ,CAAC;QACjD,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACxE,6EAA6E;QAC7E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAC3E,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,WAAW,CAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAClE;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,oEAAoE;AACpE,MAAM,OAAO;IAEA,MAAM;IACN,KAAK;IACL,WAAW;IAHtB,YACW,MAAuB,EACvB,KAAa,EACb,WAAmB;sBAFnB,MAAM;qBACN,KAAK;2BACL,WAAW;IACnB,CAAC;IAEJ,MAAM,CAAC,CAAqB;QAC1B,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzF,CAAC;CACF;AAED,SAAS,OAAO,CAAC,WAAmB;IAClC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,SAAS,MAAM,CACb,GAAuB,EACvB,IAAkF;IAElF,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,OAAY,CAAC;IACjB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACxF,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,GAAG,GAAG,8BAA8B,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACvD,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,oBAAoB,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,0FAA0F;AAC1F,SAAS,OAAO,CAAC,OAAqC;IACpD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAmB,EAAE,MAA0B;IACjE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC;QACpB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;QACzC,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;KAC1D,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC3C,OAAO,CAAC,GAAG,KAAK,CAAC;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACrD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,OAAO,CAAC,CAAqB;IACpC,OAAQ,WAA+C,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,KAAK,GAAG,qBAAqB,EAAE,CAAC;YAC1E,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YACtC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,MAAM,aAAa,CAAC;YACzB,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE;YAC5D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;SAC1C,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAcD,mCAAmC;AACnC,MAAM,aAAa,GAAoC;IACrD,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,SAAS,QAAQ,CAAC,MAAe;IAC/B,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,YAAY,CAAC,CAAqB;IAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,+DAA+D,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1E,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACtE,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,UAAU;YAAE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACpE,CAAC;IACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,MAAM,GACV,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/D,CAAC,CAAE,IAAgC;YACnC,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACvF,CAAC;IACD,OAAO,OAAO,CAAC,+CAA+C,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,WAAW,CAAC,MAAe;IAClC,OAAO,OAAO,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrF,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,WAAW,CACxB,OAAoB,EACpB,MAAsB;IAEtB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpC,OAAO,EAAE,KAAK,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QAC7C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,aAAa,CAAC,IAAuB,EAAE,MAAsB;IAC1E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,YAAY,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAC3C,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC9B,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,MAAM,OAAO,GAKT;IACF,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QAClD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;QAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE;YAClC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC5B,QAAQ;YACR,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;YAChB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;YACvB,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;SACvD,CAAC,CAAC;QACH,IAAI,QAAQ,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,OAAO,IAAI,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE9D,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EACzD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,SAAS;YACnB,GAAG,OAAO;YACV,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC;SAC5C,CACF,CAAC;QACF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAEhG,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACtC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjC,IAAI,QAAQ,YAAY,OAAO;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE;YAC5C,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ;YACtD,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;YAChB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;YACvB,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACtD,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;SACzC,CAAC,CAAC;QACH,IAAI,QAAQ,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5E,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EACzD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;QACF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,GAAG,IAAI,EAAE,kCAAkC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChG,CAAC;QAED,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC;IAC1D,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC;CAC/D,CAAC;AAEF,SAAS,OAAO,CAAC,CAAqB,EAAE,GAAuB;IAC7D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;IACxC,OAAO,MAAM,CAAC,GAAG,EAAE;QACjB,KAAK;QACL,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,KAAK,CAClB,CAAqB,EACrB,GAAuB,EACvB,MAA2B;IAE3B,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,QAAQ,YAAY,OAAO;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IACtC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,gBAAgB,CACjC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,EAClD,QAAQ,EACR,MAAM,CACP,CAAC;IACF,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,kBAAkB,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,GAAqB;IACjD,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,YAAY,OAAO;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAGZ,CAAC;QACvB,OAAO,MAAM,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;QACnE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,MAAM,WAAW,GACf,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;gBACzB,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,mCAAmC,CAAC,GAAG,CAAC;YAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;YACvB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK;YAClB,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC5D,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC7B,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE;YAC9E,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC3C,CAAC,CAAC;QACH,IAAI,MAAM,YAAY,OAAO;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAgB;IAChD,OAAO,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AACtE,CAAC"}
|
package/dist/micropub/media.d.ts
CHANGED
|
@@ -7,8 +7,10 @@ export declare const LAST_UPLOADS_FILE = "micropub-media.json";
|
|
|
7
7
|
* {@link storeUpload}, the media library's own rules and directory, so a
|
|
8
8
|
* client's photo is a library file like any other with its variants derived
|
|
9
9
|
* (decision-10). Every refusal is Micropub's 400 `invalid_request` rather
|
|
10
|
-
* than the admin's 413 or 415. `q=
|
|
11
|
-
* upload,
|
|
10
|
+
* than the admin's 413 or 415. `q=source` answers the token's user's last
|
|
11
|
+
* upload as `{ items: [{ url, published }] }`, which Quill offers as the photo
|
|
12
|
+
* of the next note when it is under 15 minutes old; `q=last` answers it as
|
|
13
|
+
* `{ url }`, the micropub-extensions query other clients ask.
|
|
12
14
|
*/
|
|
13
15
|
export declare function mountMicropubMedia(app: Hono<GeekityEnv>): void;
|
|
14
16
|
//# sourceMappingURL=media.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/micropub/media.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAW,IAAI,
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/micropub/media.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAC;AAI1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAS5C,6DAA6D;AAC7D,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAqDvD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAkD9D"}
|
package/dist/micropub/media.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs';
|
|
1
|
+
import { existsSync, statSync } from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { resolveUpload } from '../admin/media.js';
|
|
4
|
-
import {
|
|
4
|
+
import { refusedUpload, storeUpload, UPLOAD_FIELD } from '../admin/uploads.js';
|
|
5
5
|
import { readFileIfPresentSync, updateFileAtomically } from '../files/atomic.js';
|
|
6
|
+
import { logMediaRequest } from '../indieauth/activity-log.js';
|
|
6
7
|
import { MICROPUB_MEDIA_PATH, siteBaseUrl } from '../indieauth/discovery.js';
|
|
7
8
|
import { UPLOAD_ASSET_PREFIX } from '../web/assets.js';
|
|
8
9
|
import { absoluteUrl } from '../web/negotiate.js';
|
|
@@ -12,55 +13,47 @@ export const LAST_UPLOADS_FILE = 'micropub-media.json';
|
|
|
12
13
|
function lastUploadsFile(dataDir) {
|
|
13
14
|
return path.join(dataDir, LAST_UPLOADS_FILE);
|
|
14
15
|
}
|
|
15
|
-
function readLastUploads(dataDir) {
|
|
16
|
-
const text = readFileIfPresentSync(lastUploadsFile(dataDir));
|
|
17
|
-
return text === undefined ? { last: {} } : JSON.parse(text);
|
|
18
|
-
}
|
|
19
|
-
async function recordLastUpload(dataDir, userId, url) {
|
|
20
|
-
await updateFileAtomically(lastUploadsFile(dataDir), (current) => {
|
|
21
|
-
const uploads = current === undefined ? { last: {} } : JSON.parse(current);
|
|
22
|
-
return `${JSON.stringify({ last: { ...uploads.last, [String(userId)]: url } }, null, 2)}\n`;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
16
|
/**
|
|
26
17
|
* The user's last upload while it is still in the library: a file deleted
|
|
27
18
|
* from the media screen since is no upload to offer.
|
|
28
19
|
*/
|
|
29
|
-
function
|
|
30
|
-
const
|
|
31
|
-
if (
|
|
20
|
+
function readLastUpload(contentDir, dataDir, userId) {
|
|
21
|
+
const text = readFileIfPresentSync(lastUploadsFile(dataDir));
|
|
22
|
+
if (text === undefined)
|
|
23
|
+
return undefined;
|
|
24
|
+
const recorded = JSON.parse(text).last[String(userId)];
|
|
25
|
+
if (recorded === undefined)
|
|
32
26
|
return undefined;
|
|
27
|
+
const url = typeof recorded === 'string' ? recorded : recorded.url;
|
|
33
28
|
const file = resolveUpload(contentDir, url.slice(UPLOAD_ASSET_PREFIX.length));
|
|
34
|
-
|
|
29
|
+
if (file === undefined || !existsSync(file))
|
|
30
|
+
return undefined;
|
|
31
|
+
return typeof recorded === 'string'
|
|
32
|
+
? { url, published: statSync(file).mtime.toISOString() }
|
|
33
|
+
: recorded;
|
|
34
|
+
}
|
|
35
|
+
async function recordLastUpload(dataDir, userId, upload) {
|
|
36
|
+
await updateFileAtomically(lastUploadsFile(dataDir), (current) => {
|
|
37
|
+
const uploads = current === undefined ? { last: {} } : JSON.parse(current);
|
|
38
|
+
return `${JSON.stringify({ last: { ...uploads.last, [String(userId)]: upload } }, null, 2)}\n`;
|
|
39
|
+
});
|
|
35
40
|
}
|
|
36
41
|
function invalidRequest(c, description) {
|
|
37
42
|
c.header('cache-control', 'no-store');
|
|
38
43
|
return c.json({ error: 'invalid_request', error_description: description }, 400);
|
|
39
44
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Refuse a body whose declared length is over the upload limit before anything
|
|
42
|
-
* reads it. It runs ahead of the bearer guard because the guard parses a form
|
|
43
|
-
* body for an `access_token`, which reads the whole file, as the admin's
|
|
44
|
-
* `refuseOversizedUpload` explains.
|
|
45
|
-
*/
|
|
46
|
-
const refuseOversizedMedia = async (c, next) => {
|
|
47
|
-
const declared = Number(c.req.header('content-length') ?? '');
|
|
48
|
-
const limit = largestUploadLimit(c.var.config);
|
|
49
|
-
if (Number.isFinite(declared) && declared > limit + UPLOAD_ENVELOPE_BYTES) {
|
|
50
|
-
return invalidRequest(c, tooLargeMessage(limit));
|
|
51
|
-
}
|
|
52
|
-
await next();
|
|
53
|
-
};
|
|
54
45
|
/**
|
|
55
46
|
* The Micropub media endpoint (TASK-165). A `file` part is stored through
|
|
56
47
|
* {@link storeUpload}, the media library's own rules and directory, so a
|
|
57
48
|
* client's photo is a library file like any other with its variants derived
|
|
58
49
|
* (decision-10). Every refusal is Micropub's 400 `invalid_request` rather
|
|
59
|
-
* than the admin's 413 or 415. `q=
|
|
60
|
-
* upload,
|
|
50
|
+
* than the admin's 413 or 415. `q=source` answers the token's user's last
|
|
51
|
+
* upload as `{ items: [{ url, published }] }`, which Quill offers as the photo
|
|
52
|
+
* of the next note when it is under 15 minutes old; `q=last` answers it as
|
|
53
|
+
* `{ url }`, the micropub-extensions query other clients ask.
|
|
61
54
|
*/
|
|
62
55
|
export function mountMicropubMedia(app) {
|
|
63
|
-
app.post(MICROPUB_MEDIA_PATH,
|
|
56
|
+
app.post(MICROPUB_MEDIA_PATH, logMediaRequest, requireSiteToken('media'), async (c) => {
|
|
64
57
|
const { config, bearer } = c.var;
|
|
65
58
|
let body;
|
|
66
59
|
try {
|
|
@@ -72,22 +65,34 @@ export function mountMicropubMedia(app) {
|
|
|
72
65
|
const stored = await storeUpload(body[UPLOAD_FIELD], config);
|
|
73
66
|
if (refusedUpload(stored))
|
|
74
67
|
return invalidRequest(c, stored.error);
|
|
75
|
-
await recordLastUpload(config.dataDir, bearer.user.id,
|
|
68
|
+
await recordLastUpload(config.dataDir, bearer.user.id, {
|
|
69
|
+
url: stored.url,
|
|
70
|
+
published: c.var.store.now().toISOString(),
|
|
71
|
+
});
|
|
76
72
|
c.header('cache-control', 'no-store');
|
|
77
73
|
c.header('location', absoluteUrl(stored.url, siteBaseUrl(c)));
|
|
78
74
|
return c.body(null, 201);
|
|
79
75
|
});
|
|
80
|
-
app.get(MICROPUB_MEDIA_PATH, requireSiteToken(), (c) => {
|
|
76
|
+
app.get(MICROPUB_MEDIA_PATH, logMediaRequest, requireSiteToken(), (c) => {
|
|
81
77
|
const q = c.req.query('q');
|
|
82
|
-
if (q !== 'last') {
|
|
78
|
+
if (q !== 'last' && q !== 'source') {
|
|
83
79
|
return invalidRequest(c, q === undefined || q === ''
|
|
84
80
|
? 'A q parameter is required.'
|
|
85
81
|
: `This endpoint does not answer q=${q}.`);
|
|
86
82
|
}
|
|
83
|
+
const limit = c.req.query('limit');
|
|
84
|
+
if (q === 'source' && limit !== undefined && !/^\d+$/.test(limit)) {
|
|
85
|
+
return invalidRequest(c, `limit is a whole number, not ${limit}.`);
|
|
86
|
+
}
|
|
87
87
|
const { config, bearer } = c.var;
|
|
88
|
-
const
|
|
88
|
+
const upload = readLastUpload(config.contentDir, config.dataDir, bearer.user.id);
|
|
89
|
+
const item = upload === undefined
|
|
90
|
+
? undefined
|
|
91
|
+
: { url: absoluteUrl(upload.url, siteBaseUrl(c)), published: upload.published };
|
|
89
92
|
c.header('cache-control', 'no-store');
|
|
90
|
-
|
|
93
|
+
if (q === 'last')
|
|
94
|
+
return c.json(item === undefined ? {} : { url: item.url });
|
|
95
|
+
return c.json({ items: item === undefined || Number(limit) === 0 ? [] : [item] });
|
|
91
96
|
});
|
|
92
97
|
}
|
|
93
98
|
//# sourceMappingURL=media.js.map
|