Files
FrozenFriendsYume/packages/backend/built/models/schema/notification.js
T
2026-07-26 18:25:37 +09:00

87 lines
1.9 KiB
JavaScript

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
},
bite: {
type: "object",
ref: "Bite",
optional: true,
nullable: true
}
}
};