@musnows/scriverse 0.9.0 → 0.9.2
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/app.js +24 -2
- package/dist/app.js.map +1 -1
- package/dist/database.js +159 -2
- package/dist/database.js.map +1 -1
- package/dist/public/app.js +281 -21
- package/dist/public/index.html +6 -2
- package/dist/public/styles.css +43 -5
- package/dist/store.js +238 -60
- package/dist/store.js.map +1 -1
- package/dist/user-auth.js +12 -10
- package/dist/user-auth.js.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/app.js
CHANGED
|
@@ -1626,7 +1626,7 @@ export function createRuntime(options) {
|
|
|
1626
1626
|
await cleanupAttachments();
|
|
1627
1627
|
noContent(response);
|
|
1628
1628
|
});
|
|
1629
|
-
app.post("/api/works", (request, response) => data(response, store.createWork(parse(workSchema, request.body)), 201));
|
|
1629
|
+
app.post("/api/works", (request, response) => data(response, store.createWork(parse(workSchema, request.body), request.authUser?.userId ?? null), 201));
|
|
1630
1630
|
app.post("/api/works/import", upload.single("file"), async (request, response) => {
|
|
1631
1631
|
if (!request.file)
|
|
1632
1632
|
throw new AppError(400, "FILE_REQUIRED", "请选择要导入的 TXT 或 DOCX 文件");
|
|
@@ -1644,7 +1644,7 @@ export function createRuntime(options) {
|
|
|
1644
1644
|
author: typeof request.body.author === "string" ? request.body.author : "",
|
|
1645
1645
|
description: typeof request.body.description === "string" ? request.body.description : ""
|
|
1646
1646
|
});
|
|
1647
|
-
data(response, store.createImportedWork(input, originalFileName, extension.slice(1), parsedNovel), 201);
|
|
1647
|
+
data(response, store.createImportedWork(input, originalFileName, extension.slice(1), parsedNovel, request.authUser?.userId ?? null), 201);
|
|
1648
1648
|
});
|
|
1649
1649
|
app.get("/api/works/:workId", (request, response) => {
|
|
1650
1650
|
if (request.query.directory === "volumes") {
|
|
@@ -2084,6 +2084,10 @@ export function createRuntime(options) {
|
|
|
2084
2084
|
const input = parse(z.object({ isFavorite: z.boolean() }).strict(), request.body);
|
|
2085
2085
|
data(response, store.setDraftFavorite(request.params.draftId, input.isFavorite));
|
|
2086
2086
|
});
|
|
2087
|
+
app.patch("/api/drafts/:draftId/pin", (request, response) => {
|
|
2088
|
+
const input = parse(z.object({ isPinned: z.boolean() }).strict(), request.body);
|
|
2089
|
+
data(response, store.setDraftPin(request.params.draftId, input.isPinned));
|
|
2090
|
+
});
|
|
2087
2091
|
app.patch("/api/drafts/:draftId", (request, response) => {
|
|
2088
2092
|
const { changeNote, expectedVersionNo, ...input } = parse(draftSchema.partial().extend({
|
|
2089
2093
|
changeNote: changeNoteSchema,
|
|
@@ -2113,6 +2117,12 @@ export function createRuntime(options) {
|
|
|
2113
2117
|
publishEntityChange(String(setting.workId), "setting", String(setting.id));
|
|
2114
2118
|
data(response, setting);
|
|
2115
2119
|
});
|
|
2120
|
+
app.patch("/api/settings/:settingId/pin", (request, response) => {
|
|
2121
|
+
const input = parse(z.object({ isPinned: z.boolean() }).strict(), request.body);
|
|
2122
|
+
const setting = store.setSettingPin(request.params.settingId, input.isPinned);
|
|
2123
|
+
publishEntityChange(String(setting.workId), "setting", String(setting.id));
|
|
2124
|
+
data(response, setting);
|
|
2125
|
+
});
|
|
2116
2126
|
app.patch("/api/settings/:settingId", (request, response) => {
|
|
2117
2127
|
const { changeNote, expectedVersionNo, ...input } = parse(settingSchema.partial().extend({ changeNote: changeNoteSchema, expectedVersionNo: expectedVersionNoSchema }).strict(), request.body);
|
|
2118
2128
|
const setting = store.updateSetting(request.params.settingId, input, "manual", null, changeNote, expectedVersionNo);
|
|
@@ -2206,6 +2216,12 @@ export function createRuntime(options) {
|
|
|
2206
2216
|
publishEntityChange(String(character.workId), "character", String(character.id));
|
|
2207
2217
|
data(response, redactCharacterLinks(character, requestPermissions(request)));
|
|
2208
2218
|
});
|
|
2219
|
+
app.patch("/api/characters/:characterId/pin", (request, response) => {
|
|
2220
|
+
const input = parse(z.object({ isPinned: z.boolean() }).strict(), request.body);
|
|
2221
|
+
const character = store.setCharacterPin(request.params.characterId, input.isPinned);
|
|
2222
|
+
publishEntityChange(String(character.workId), "character", String(character.id));
|
|
2223
|
+
data(response, redactCharacterLinks(character, requestPermissions(request)));
|
|
2224
|
+
});
|
|
2209
2225
|
app.patch("/api/characters/:characterId", (request, response) => {
|
|
2210
2226
|
const { changeNote, expectedVersionNo, ...input } = parse(characterUpdateSchema.extend({ expectedVersionNo: expectedVersionNoSchema }), request.body);
|
|
2211
2227
|
const character = store.updateCharacter(request.params.characterId, input, "manual", null, changeNote, expectedVersionNo);
|
|
@@ -2420,6 +2436,12 @@ export function createRuntime(options) {
|
|
|
2420
2436
|
publishEntityChange(String(organization.workId), "organization", String(organization.id));
|
|
2421
2437
|
data(response, redactOrganizationMembers(organization, requestPermissions(request)));
|
|
2422
2438
|
});
|
|
2439
|
+
app.patch("/api/organizations/:organizationId/pin", (request, response) => {
|
|
2440
|
+
const input = parse(z.object({ isPinned: z.boolean() }).strict(), request.body);
|
|
2441
|
+
const organization = store.setOrganizationPin(request.params.organizationId, input.isPinned);
|
|
2442
|
+
publishEntityChange(String(organization.workId), "organization", String(organization.id));
|
|
2443
|
+
data(response, redactOrganizationMembers(organization, requestPermissions(request)));
|
|
2444
|
+
});
|
|
2423
2445
|
app.patch("/api/organizations/:organizationId", (request, response) => {
|
|
2424
2446
|
const { changeNote, expectedVersionNo, ...input } = parse(organizationSchema.partial().extend({ changeNote: changeNoteSchema, expectedVersionNo: expectedVersionNoSchema }).strict(), request.body);
|
|
2425
2447
|
const organization = store.updateOrganization(request.params.organizationId, input, "manual", null, changeNote, expectedVersionNo);
|