"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SettingsSchema = exports.Settings = void 0;
const mongoose_1 = require("@nestjs/mongoose");
const base_entity_1 = require("../../common/entities/base.entity");
let Settings = class Settings extends base_entity_1.BaseEntity {
    schoolName;
    schoolAddress;
    schoolPhone;
    schoolEmail;
    schoolWebsite;
    logoUrl;
    loginLogoUrl;
    loginIllustrationUrl;
    faviconUrl;
    loginMainHeading;
    loginWelcomeText;
    loginPortalName;
    loginTagline;
    loginIllustrationAlt;
    theme;
    primaryColor;
    secondaryColor;
    lightPrimaryColor;
    lightSecondaryColor;
    lightPrimaryTextColor;
    lightSecondaryTextColor;
    darkPrimaryColor;
    darkSecondaryColor;
    darkPrimaryTextColor;
    darkSecondaryTextColor;
    primaryTextColor;
    secondaryTextColor;
    whatsappNumber;
    showWhatsapp;
    sidebarCollapsed;
    academicYearFormat;
    letterheadUrl;
    invoiceTerms;
    authorizedSignatureUrl;
    _singleton;
};
exports.Settings = Settings;
__decorate([
    (0, mongoose_1.Prop)({ default: 'School Management System', trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "schoolName", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "schoolAddress", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "schoolPhone", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true, lowercase: true }),
    __metadata("design:type", String)
], Settings.prototype, "schoolEmail", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "schoolWebsite", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "logoUrl", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "loginLogoUrl", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "loginIllustrationUrl", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "faviconUrl", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "loginMainHeading", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "loginWelcomeText", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "loginPortalName", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "loginTagline", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "loginIllustrationAlt", void 0);
__decorate([
    (0, mongoose_1.Prop)({ default: 'light', enum: ['light', 'dark'] }),
    __metadata("design:type", String)
], Settings.prototype, "theme", void 0);
__decorate([
    (0, mongoose_1.Prop)({ default: '#4c3cc9' }),
    __metadata("design:type", String)
], Settings.prototype, "primaryColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ default: '#3f2fb1' }),
    __metadata("design:type", String)
], Settings.prototype, "secondaryColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "lightPrimaryColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "lightSecondaryColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "lightPrimaryTextColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "lightSecondaryTextColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "darkPrimaryColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "darkSecondaryColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "darkPrimaryTextColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "darkSecondaryTextColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "primaryTextColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "secondaryTextColor", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "whatsappNumber", void 0);
__decorate([
    (0, mongoose_1.Prop)({ default: false }),
    __metadata("design:type", Boolean)
], Settings.prototype, "showWhatsapp", void 0);
__decorate([
    (0, mongoose_1.Prop)({ default: true }),
    __metadata("design:type", Boolean)
], Settings.prototype, "sidebarCollapsed", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "academicYearFormat", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "letterheadUrl", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true, maxlength: 2000 }),
    __metadata("design:type", String)
], Settings.prototype, "invoiceTerms", void 0);
__decorate([
    (0, mongoose_1.Prop)({ trim: true }),
    __metadata("design:type", String)
], Settings.prototype, "authorizedSignatureUrl", void 0);
__decorate([
    (0, mongoose_1.Prop)({ default: 'singleton' }),
    __metadata("design:type", String)
], Settings.prototype, "_singleton", void 0);
exports.Settings = Settings = __decorate([
    (0, mongoose_1.Schema)({ timestamps: true })
], Settings);
exports.SettingsSchema = mongoose_1.SchemaFactory.createForClass(Settings);
exports.SettingsSchema.index({ _singleton: 1 }, { unique: true });
//# sourceMappingURL=settings.schema.js.map