summary refs log tree commit diff
path: root/src/api/routes/users/@me/notes.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes/users/@me/notes.ts')
-rw-r--r--src/api/routes/users/@me/notes.ts68
1 files changed, 0 insertions, 68 deletions
diff --git a/src/api/routes/users/@me/notes.ts b/src/api/routes/users/@me/notes.ts
deleted file mode 100644

index e54eb897..00000000 --- a/src/api/routes/users/@me/notes.ts +++ /dev/null
@@ -1,68 +0,0 @@ -import { Request, Response, Router } from "express"; -import { route } from "@fosscord/api"; -import { User, Note, emitEvent, Snowflake } from "@fosscord/util"; - -const router: Router = Router(); - -router.get("/:id", route({}), async (req: Request, res: Response) => { - const { id } = req.params; - - const note = await Note.findOneOrFail({ - where: { - owner: { id: req.user_id }, - target: { id: id }, - }, - }); - - return res.json({ - note: note?.content, - note_user_id: id, - user_id: req.user_id, - }); -}); - -router.put("/:id", route({}), async (req: Request, res: Response) => { - const { id } = req.params; - const owner = await User.findOneOrFail({ where: { id: req.user_id } }); - const target = await User.findOneOrFail({ where: { id: id } }); //if noted user does not exist throw - const { note } = req.body; - - if (note && note.length) { - // upsert a note - if ( - await Note.findOne({ - where: { owner: { id: owner.id }, target: { id: target.id } }, - }) - ) { - Note.update( - { owner: { id: owner.id }, target: { id: target.id } }, - { owner, target, content: note }, - ); - } else { - Note.insert({ - id: Snowflake.generate(), - owner, - target, - content: note, - }); - } - } else { - await Note.delete({ - owner: { id: owner.id }, - target: { id: target.id }, - }); - } - - await emitEvent({ - event: "USER_NOTE_UPDATE", - data: { - note: note, - id: target.id, - }, - user_id: owner.id, - }); - - return res.status(204); -}); - -export default router;