refactor(api): rename imports and refactor error messages

This commit is contained in:
parent 08c49e4bdd
commit b000c6734a
Signed by: tablet
GPG Key ID: 924A5F6AF051E87C
3 changed files with 84 additions and 82 deletions

@ -1,3 +1,4 @@
import { messages } from "~/lib/server/constants";
import storyQuerier from "~/lib/server/dbHelpers/storyQuerier";
import { canDelete } from "~/lib/server/middlewareButNotReally/storyPrivileges";
import { Story } from "~/models/stories";
@ -13,6 +14,6 @@ export default eventHandler(async (ev) => {
}
throw createError({
statusCode: 403,
message: "Forbidden",
message: messages[403],
});
});

@ -1,80 +1,81 @@
import { Readable } from "stream";
import { Document } from "mongoose";
import { IStory, Story } from "~/models/stories";
import { FormStory } from "~/lib/client/types/FormStory";
import storyQuerier from "~/lib/server/dbHelpers/storyQuerier";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { canModify } from "~/lib/server/middlewareButNotReally/storyPrivileges";
import {
bodyHandler,
getBucket,
modelFormChapter,
replaceOrUploadContent,
} from "~/lib/server/storyHelpers";
import { countWords } from "~/lib/functions";
export default eventHandler(async (ev) => {
let os:
| (Document<unknown, {}, IStory> &
IStory &
Required<{
_id: number;
}>)
| null = await storyQuerier(ev);
isLoggedIn(ev);
if (!canModify(ev, os)) {
throw createError({
statusCode: 403,
message: "Forbidden",
});
}
const body = await readBody<FormStory>(ev);
const update: Partial<IStory> = {
title: body.title,
completed: body.completed,
chapters: [],
};
for (const oc of os.chapters) {
let filename = `/stories/${oc.id}.txt`;
const bucket = getBucket();
const curs = bucket.find({ filename }).limit(1);
for await (const d of curs) {
await bucket.delete(d._id);
}
}
for (const c of body.chapters) {
let idx = os.chapters.findIndex((k) => k.id === c.id);
const cont = await bodyHandler(c);
if (idx === -1) {
update.chapters!.push({
...modelFormChapter(c),
posted: new Date(Date.now()),
});
} else {
update.chapters!.push({
...modelFormChapter(c),
id: os.chapters[idx].id,
posted: os.chapters[idx].posted,
});
replaceOrUploadContent(os.chapters![idx].id, cont);
}
update.chapters![update.chapters!.length - 1].words = countWords(cont);
}
os = await Story.findOneAndUpdate(
{
_id: os._id,
},
update,
{ new: true },
);
if (!os) {
throw createError({
statusCode: 500,
message: "Something went wrong.",
});
}
return {
success: true,
data: os.toObject(),
};
});
import { Readable } from "stream";
import { Document } from "mongoose";
import { IStory, Story } from "~/models/stories";
import { FormStory } from "~/lib/client/types/form/story";
import storyQuerier from "~/lib/server/dbHelpers/storyQuerier";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { canModify } from "~/lib/server/middlewareButNotReally/storyPrivileges";
import {
bodyHandler,
getBucket,
modelFormChapter,
replaceOrUploadContent,
} from "~/lib/server/storyHelpers";
import { countWords } from "~/lib/functions";
import { messages } from "~/lib/server/constants";
export default eventHandler(async (ev) => {
let os:
| (Document<unknown, {}, IStory> &
IStory &
Required<{
_id: number;
}>)
| null = await storyQuerier(ev);
isLoggedIn(ev);
if (!canModify(ev, os)) {
throw createError({
statusCode: 403,
message: messages[403],
});
}
const body: FormStory = await readBody<FormStory>(ev);
const update: Partial<IStory> = {
title: body.title,
completed: body.completed,
chapters: [],
};
for (const oc of os.chapters) {
let filename = `/stories/${oc.id}.txt`;
const bucket = getBucket();
const curs = bucket.find({ filename }).limit(1);
for await (const d of curs) {
await bucket.delete(d._id);
}
}
for (const c of body.chapters) {
let idx = os.chapters.findIndex((k) => k.id === c.id);
const cont = await bodyHandler(c);
if (idx === -1) {
update.chapters!.push({
...modelFormChapter(c),
posted: new Date(Date.now()),
});
} else {
update.chapters!.push({
...modelFormChapter(c),
id: os.chapters[idx].id,
posted: os.chapters[idx].posted,
});
replaceOrUploadContent(os.chapters![idx].id, cont);
}
update.chapters![update.chapters!.length - 1].words = countWords(cont);
}
os = await Story.findOneAndUpdate(
{
_id: os._id,
},
update,
{ new: true },
);
if (!os) {
throw createError({
statusCode: 500,
message: "Something went wrong.",
});
}
return {
success: true,
data: os.toObject(),
};
});

@ -1,6 +1,6 @@
import { Readable } from "stream";
import san from "sanitize-html";
import { FormStory } from "~/lib/client/types/FormStory";
import { FormStory } from "~/lib/client/types/form/story";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import {
getBucket,