diff --git a/src/models/License.ts b/src/models/License.ts index 2212b95..0756b9d 100644 --- a/src/models/License.ts +++ b/src/models/License.ts @@ -19,6 +19,8 @@ export interface ILicense { groups?: string[], permissions?: string[], meta?: ILicenseMeta[], + maxUses: number, + currentUses: number, expirationDate?: Date } @@ -34,6 +36,14 @@ const LicenseSchema = new Schema({ groups: [String], permissions: [String], meta: [Array], + maxUses: { + type: Number, + default: -1 + }, + currentUses: { + type: Number, + default: 0 + }, expirationDate: { type: Date, default: Date.now @@ -41,7 +51,7 @@ const LicenseSchema = new Schema({ }); LicenseSchema.plugin(fieldEncryption, { - fields: ["projectId", "key", "groups", "permissions", "meta", "expirationDate"], + fields: ["projectId", "key", "groups", "permissions", "meta", "maxUses", "currentUses", "expirationDate"], secret: process.env.ENC_KEY, saltGenerator: () => process.env.SIG_KEY });