hippofish/packages/backend/src/models/schema/notification.ts
ThatOneCalculator 6b00abf05c
refactor: 🎨 rome
2023-01-12 20:40:33 -08:00

79 lines
1.2 KiB
TypeScript

import { notificationTypes } from "@/types.js";
export const packedNotificationSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx",
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time",
},
isRead: {
type: "boolean",
optional: false,
nullable: false,
},
type: {
type: "string",
optional: false,
nullable: false,
enum: [...notificationTypes],
},
user: {
type: "object",
ref: "UserLite",
optional: true,
nullable: true,
},
userId: {
type: "string",
optional: true,
nullable: true,
format: "id",
},
note: {
type: "object",
ref: "Note",
optional: true,
nullable: true,
},
reaction: {
type: "string",
optional: true,
nullable: true,
},
choice: {
type: "number",
optional: true,
nullable: true,
},
invitation: {
type: "object",
optional: true,
nullable: true,
},
body: {
type: "string",
optional: true,
nullable: true,
},
header: {
type: "string",
optional: true,
nullable: true,
},
icon: {
type: "string",
optional: true,
nullable: true,
},
},
} as const;