const mongoose = require('mongoose');

/**
 * Lưu các cấu hình hệ thống có thể thay đổi qua Admin
 * Thay thế các biến môi trường cứng trong .env
 */
const systemConfigSchema = new mongoose.Schema(
    {
        // ─── Email (Gmail OAuth2) ───────────────────────
        emailUser: { type: String, default: '' },
        emailClientId: { type: String, default: '' },
        emailClientSecret: { type: String, default: '' },
        emailRedirectUri: { type: String, default: 'https://developers.google.com/oauthplayground' },
        emailRefreshToken: { type: String, default: '' },

        // ─── SePay (Thanh toán QR) ──────────────────────
        sepayMode: { type: String, default: 'sandbox', enum: ['sandbox', 'production'] }, // Chế độ thử nghiệm
        sepayId: { type: String, default: '' },
        sepaySecret: { type: String, default: '' },

        // ─── Cloudinary (Upload ảnh) ────────────────────
        cloudinaryName: { type: String, default: '' },
        cloudinaryKey: { type: String, default: '' },
        cloudinarySecret: { type: String, default: '' },

        // ─── TheSimEuro / TSR (Nạp thẻ) ────────────────
        tsrPartnerId: { type: String, default: '' },
        tsrPartnerKey: { type: String, default: '' },
        tsrUrl: { type: String, default: 'https://thesieure.com/chargingws/v2' },
    },
    {
        timestamps: true,
    },
);

module.exports = mongoose.model('SystemConfig', systemConfigSchema);
