From d9fd88ad23398ac00dbb8fd31cc22aeb32c5d312 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Thu, 3 Aug 2023 12:16:38 +0200 Subject: [PATCH] Updated the MetaData.ts model --- src/models/MetaData.ts | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/models/MetaData.ts b/src/models/MetaData.ts index 21d9b1d..6999c0a 100644 --- a/src/models/MetaData.ts +++ b/src/models/MetaData.ts @@ -1,8 +1,15 @@ import { model, Schema } from "mongoose"; +import { fieldEncryption } from "mongoose-field-encryption"; + +export enum ILicenseMetaType { + TEXT = "TEXT", + NUMBER = "NUMBER", + BOOLEAN = "BOOLEAN" +} export interface IMetaData { projectId: string, - type: string, + type: ILicenseMetaType, name: string, description?: string, defaultValue?: string, @@ -22,7 +29,10 @@ const MetaDataSchema = new Schema({ type: String, required: true }, - description: String, + description: { + type: String, + required: true + }, defaultValue: String, public: { type: Boolean, @@ -30,4 +40,10 @@ const MetaDataSchema = new Schema({ } }); -export const MetaData = model("MetaData", MetaDataSchema); \ No newline at end of file +MetaDataSchema.plugin(fieldEncryption, { + fields: ["projectId", "type", "name", "description", "defaultValue", "public"], + secret: process.env.ENC_KEY, + saltGenerator: () => process.env.SIG_KEY, +}); + +export const MetaData = model("meta", MetaDataSchema); \ No newline at end of file