api/resources/Announcement/announcementModal.js
2024-10-14 10:06:13 +05:30

36 lines
729 B
JavaScript

import mongoose from "mongoose";
import { nanoid } from "nanoid";
const announcementSchema = new mongoose.Schema(
{
uniqueId: {
type: String,
unique: true,
},
sentTo: {
type: [String],
enum: ["PDs", "RDs", "SCs", "TMs"],
required: true,
},
message: {
type: String,
required: true,
maxlength: 250,
},
},
{ timestamps: true }
);
// Pre-save middleware to dynamically generate a uniqueId before saving
announcementSchema.pre("save", function (next) {
if (!this.uniqueId) {
this.uniqueId = nanoid(6); // Generate a 6-character unique ID
}
next();
});
export const AnnouncemntModal = mongoose.model(
"Announcements",
announcementSchema
);