diff --git a/src/models/Group.ts b/src/models/Group.ts index d3ca4fa..7442397 100644 --- a/src/models/Group.ts +++ b/src/models/Group.ts @@ -1,4 +1,6 @@ -import {model, ObjectId, Schema, Types} from "mongoose"; +import {model, ObjectId, Schema} from "mongoose"; +import { fieldEncryption } from "mongoose-field-encryption"; +import process from "process"; export interface IGroup { projectId: ObjectId, @@ -9,7 +11,7 @@ export interface IGroup { const GroupSchema = new Schema<IGroup>({ projectId: { - type: Types.ObjectId, + type: String, required: true }, name: { @@ -23,4 +25,10 @@ const GroupSchema = new Schema<IGroup>({ permissions: [String] }); +GroupSchema.plugin(fieldEncryption, { + fields: ["projectId", "name", "description", "permissions"], + secret: process.env.ENC_KEY, + saltGenerator: () => process.env.SIG_KEY +}); + export const Group = model<IGroup>("groups", GroupSchema); \ No newline at end of file