From ca31830fb37ad37df54f7e2a3570cc4debd3341e Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Mon, 4 Nov 2024 14:35:27 +0100 Subject: [PATCH] revert(api): :fire: Use Notification's schema declaration instead of declaring it again every time --- api/api/v1/notifications/:id/index.ts | 33 ++------------------------- api/api/v1/notifications/index.ts | 14 ++---------- 2 files changed, 4 insertions(+), 43 deletions(-) diff --git a/api/api/v1/notifications/:id/index.ts b/api/api/v1/notifications/:id/index.ts index d4567de5..ed69e7ea 100644 --- a/api/api/v1/notifications/:id/index.ts +++ b/api/api/v1/notifications/:id/index.ts @@ -1,6 +1,6 @@ import { apiRoute, applyConfig, auth } from "@/api"; import { createRoute } from "@hono/zod-openapi"; -import { Note, Notification, User } from "@versia/kit/db"; +import { Notification } from "@versia/kit/db"; import { RolePermissions } from "@versia/kit/tables"; import { z } from "zod"; import { ErrorSchema } from "~/types/api"; @@ -37,36 +37,7 @@ const route = createRoute({ responses: { 200: { description: "Notification", - schema: z.object({ - account: z.lazy(() => User.schema).nullable(), - created_at: z.string(), - id: z.string().uuid(), - status: z.lazy(() => Note.schema).optional(), - // TODO: Add reactions - type: z.enum([ - "mention", - "status", - "follow", - "follow_request", - "reblog", - "poll", - "favourite", - "update", - "admin.sign_up", - "admin.report", - "chat", - "pleroma:chat_mention", - "pleroma:emoji_reaction", - "pleroma:event_reminder", - "pleroma:participation_request", - "pleroma:participation_accepted", - "move", - "group_reblog", - "group_favourite", - "user_approved", - ]), - target: z.lazy(() => User.schema).optional(), - }), + schema: Notification.schema, }, 401: { description: "Unauthorized", diff --git a/api/api/v1/notifications/index.ts b/api/api/v1/notifications/index.ts index f4df3540..8ed563a3 100644 --- a/api/api/v1/notifications/index.ts +++ b/api/api/v1/notifications/index.ts @@ -1,6 +1,6 @@ import { apiRoute, applyConfig, auth, idValidator } from "@/api"; import { createRoute } from "@hono/zod-openapi"; -import { Note, Timeline, User } from "@versia/kit/db"; +import { Notification, Timeline } from "@versia/kit/db"; import { Notifications, RolePermissions } from "@versia/kit/tables"; import { and, eq, gt, gte, inArray, lt, not, sql } from "drizzle-orm"; import { z } from "zod"; @@ -102,17 +102,7 @@ const route = createRoute({ description: "Notifications", content: { "application/json": { - schema: z.array( - z.object({ - account: z.lazy(() => User.schema).nullable(), - created_at: z.string(), - id: z.string().uuid(), - status: z.lazy(() => Note.schema).optional(), - // TODO: Add reactions - type: z.string(), - target: z.lazy(() => User.schema).optional(), - }), - ), + schema: z.array(Notification.schema), }, }, },