Skip to content
Snippets Groups Projects
Commit c3db55b5 authored by syuilo's avatar syuilo
Browse files

fix

parent bb460a17
No related branches found
No related tags found
No related merge requests found
......@@ -15,6 +15,7 @@ import type { MiLocalUser } from '@/models/entities/User.js';
@Injectable()
export class ClipService {
public static NoSuchNoteError = class extends Error {};
public static NoSuchClipError = class extends Error {};
public static AlreadyAddedError = class extends Error {};
public static TooManyClipNotesError = class extends Error {};
......@@ -118,10 +119,14 @@ export class ClipService {
noteId: noteId,
clipId: clip.id,
});
} catch (e) {
} catch (e: any) {
if (isDuplicateKeyValueError(e)) {
throw new ClipService.AlreadyAddedError();
} else if (e.detail.includes('is not present in table "note".')) {
throw new ClipService.NoSuchNoteError();
}
throw e;
}
this.clipsRepository.update(clip.id, {
......
......@@ -70,6 +70,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
} catch (e) {
if (e instanceof ClipService.NoSuchClipError) {
throw new ApiError(meta.errors.noSuchClip);
} else if (e instanceof ClipService.NoSuchNoteError) {
throw new ApiError(meta.errors.noSuchNote);
} else if (e instanceof ClipService.AlreadyAddedError) {
throw new ApiError(meta.errors.alreadyClipped);
} else if (e instanceof ClipService.TooManyClipNotesError) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment