UNPKG

cloud-ide-model-schema

Version:

Pachage for schema management of Cloud IDEsys LMS

98 lines (97 loc) 3.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CAppUserUpdateStatusMst = void 0; var mongoose_1 = require("mongoose"); /* SCHEMA START */ var app_user_update_status_mst = new mongoose_1.Schema({ appust_reg_id_appreg: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "app_registration_mst", required: true, comment: "FK to app_registration_mst - Reference to app" }, appust_user_id_auth: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "auth_user_mst", required: true, comment: "FK to auth_user_mst - Reference to user" }, appust_device_id: { type: String, required: true, maxlength: 200, trim: true, comment: "Unique device identifier" }, appust_current_version: { type: String, required: true, maxlength: 50, trim: true, comment: "Current version" }, appust_current_version_code: { type: Number, required: true, comment: "Current version code" }, appust_platform_id_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master", required: true, comment: "FK to core_general_master - Platform type (APP_PLATFORM: 'ios', 'android' only)" }, appust_last_update_check: { type: Date, required: true, default: Date.now, comment: "Last update check date" }, appust_last_update_attempt: { type: Date, comment: "Last update attempt date" }, appust_last_update_success: { type: Date, comment: "Last successful update date" }, appust_last_update_error: { type: String, maxlength: 1000, trim: true, comment: "Last update error message" }, appust_update_status_id_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master", required: true, comment: "FK to core_general_master - Update status (APP_UPDATE_STATUS)" }, appust_auto_update_enabled: { type: Boolean, default: true, comment: "Auto update enabled" }, appust_device_info: { type: mongoose_1.Schema.Types.Mixed, comment: "JSON object - Device information (os_version, app_version, device_model, manufacturer)" }, appust_created_at: { type: Date, default: Date.now, comment: "Creation timestamp" }, appust_updated_at: { type: Date, default: Date.now, comment: "Last update timestamp" } }, { collection: 'app_user_update_status_mst', timestamps: { createdAt: 'appust_created_at', updatedAt: 'appust_updated_at' } }); // Indexes for performance optimization app_user_update_status_mst.index({ appust_reg_id_appreg: 1, appust_user_id_auth: 1, appust_device_id: 1 }, { unique: true }); app_user_update_status_mst.index({ appust_reg_id_appreg: 1 }); app_user_update_status_mst.index({ appust_user_id_auth: 1 }); app_user_update_status_mst.index({ appust_platform_id_sygms: 1 }); app_user_update_status_mst.index({ appust_update_status_id_sygms: 1 }); var CAppUserUpdateStatusMst = mongoose_1.default.model("app_user_update_status_mst", app_user_update_status_mst); exports.CAppUserUpdateStatusMst = CAppUserUpdateStatusMst;