import {model, ObjectId, Schema} from "mongoose"; import { IKeyRole } from "@models/AccessKey"; import { fieldEncryption } from "mongoose-field-encryption"; export interface IMember { projectId: ObjectId, memberId: ObjectId, role: IKeyRole, accepted: boolean } const MemberSchema = new Schema({ projectId: { type: String, required: true }, memberId: { type: String, required: true }, role: { type: Number, enum: IKeyRole, default: IKeyRole.MANAGE }, accepted: { type: Boolean, default: false } }); MemberSchema.plugin(fieldEncryption, { fields: ["projectId", "memberId"], secret: process.env.ENC_KEY, saltGenerator: () => process.env.SIG_KEY, }); export const Member = model("members", MemberSchema);