UNPKG

cloud-ide-model-schema

Version:

Pachage for schema management of Cloud IDEsys LMS

75 lines (74 loc) 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CApiKey = void 0; var mongoose_1 = require("mongoose"); var api_keys = new mongoose_1.Schema({ akey_name: { type: String, required: true, maxlength: 100, trim: true }, akey_api_key: { type: String, required: true, maxlength: 500, unique: true }, akey_api_secret: { type: String, maxlength: 500 }, akey_permissions: { type: [String], default: [] }, akey_rate_limit: { requests_per_minute: { type: Number, min: 0 }, requests_per_hour: { type: Number, min: 0 }, requests_per_day: { type: Number, min: 0 } }, akey_expiry_date: { type: Date }, akey_last_used: { type: Date }, akey_status: { type: String, required: true, enum: ['active', 'revoked', 'expired'], default: 'active' }, akey_created_by: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "auth_user_mst" }, akey_created_at: { type: Date, default: Date.now }, akey_updated_at: { type: Date, default: Date.now }, akey_isactive: { type: Boolean, default: true } }, { collection: 'api_keys', timestamps: { createdAt: 'akey_created_at', updatedAt: 'akey_updated_at' } }); // Indexes api_keys.index({ akey_name: 1 }); api_keys.index({ akey_status: 1 }); // Note: akey_api_key index is automatically created by unique: true var CApiKey = mongoose_1.default.model("api_keys", api_keys); exports.CApiKey = CApiKey;