cloud-ide-model-schema
Version:
Pachage for schema management of Cloud IDEsys LMS
98 lines (97 loc) • 3.4 kB
JavaScript
"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;