db/models/notification.jsjavascript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const sequelize_1 = require("sequelize");
const db_1 = __importDefault(require("../db"));
/**
* @openapi
* components:
* schemas:
* Notification:
* type: object
* required:
* - id
* - title
* - message
* - read
* properties:
* id:
* type: string
* format: uuid
* title:
* type: string
* message:
* type: string
* read:
* type: boolean
* default: false
*/
/**
* @typedef Notification
* @property {UUID} id
* @property {string} title
* @property {string} message
* @property {boolean} read
* @property {UUID} UserId
* @memberof module:Models
*/
class NotificationModel extends sequelize_1.Model {
}
NotificationModel.init({
id: {
type: sequelize_1.DataTypes.UUID,
defaultValue: sequelize_1.DataTypes.UUIDV4,
primaryKey: true,
},
title: {
type: sequelize_1.DataTypes.STRING,
allowNull: true,
validate: {
len: [5, 40],
},
},
message: {
type: sequelize_1.DataTypes.STRING,
allowNull: false,
validate: {
len: [5, 300],
},
},
read: {
type: sequelize_1.DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false,
},
createdAt: sequelize_1.DataTypes.DATE,
updatedAt: sequelize_1.DataTypes.DATE,
deletedAt: sequelize_1.DataTypes.DATE,
}, {
sequelize: db_1.default,
paranoid: true,
});
exports.default = NotificationModel;