cloud-ide-model-schema
Version:
Pachage for schema management of Cloud IDEsys LMS
69 lines (68 loc) • 2.48 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CAppStoreProviderMst = void 0;
var mongoose_1 = require("mongoose");
/* SCHEMA START */
var app_store_provider_mst = new mongoose_1.Schema({
appstore_store_name: {
type: String,
required: true,
maxlength: 200,
trim: true,
comment: "Store name (e.g., 'Apple App Store', 'Google Play Store', 'Vercel', 'Netlify')"
},
appstore_store_type_id_sygms: {
type: mongoose_1.default.Schema.Types.ObjectId,
ref: "core_general_master",
required: true,
comment: "FK to core_general_master - Store type (APP_STORE_TYPE: 'ios', 'android', 'web', 'both')"
},
appstore_store_provider_code: {
type: String,
required: true,
unique: true,
maxlength: 100,
trim: true,
comment: "UNIQUE code: 'app_store', 'play_store', 'vercel', 'netlify', 'galaxy_store', 'appgallery', 'enterprise', etc."
},
appstore_store_api_endpoint: {
type: String,
maxlength: 500,
trim: true,
comment: "API endpoint if available"
},
appstore_store_credentials: {
type: mongoose_1.Schema.Types.Mixed,
comment: "JSON object - Store credentials (encrypted)"
},
appstore_store_config: {
type: mongoose_1.Schema.Types.Mixed,
comment: "JSON object - Store-specific configuration"
},
appstore_is_active: {
type: Boolean,
default: true,
comment: "Can be disabled without deleting"
},
appstore_created_by_id_auth: {
type: mongoose_1.default.Schema.Types.ObjectId,
ref: "auth_user_mst",
required: true,
comment: "FK to auth_user_mst - User who created"
},
appstore_created_at: {
type: Date,
default: Date.now,
comment: "Creation timestamp"
},
appstore_updated_at: {
type: Date,
default: Date.now,
comment: "Last update timestamp"
}
}, { collection: 'app_store_provider_mst', timestamps: { createdAt: 'appstore_created_at', updatedAt: 'appstore_updated_at' } });
// Indexes for performance optimization
app_store_provider_mst.index({ appstore_store_type_id_sygms: 1 });
app_store_provider_mst.index({ appstore_is_active: 1 });
var CAppStoreProviderMst = mongoose_1.default.model("app_store_provider_mst", app_store_provider_mst);
exports.CAppStoreProviderMst = CAppStoreProviderMst;