const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');

const SiteSettings = sequelize.define('SiteSettings', {
  id: {
    type: DataTypes.UUID,
    defaultValue: DataTypes.UUIDV4,
    primaryKey: true
  },
  siteName: {
    type: DataTypes.STRING,
    defaultValue: 'SmartSolTech'
  },
  siteDescription: {
    type: DataTypes.TEXT,
    defaultValue: 'Innovative technology solutions for modern businesses'
  },
  logo: {
    type: DataTypes.STRING,
    defaultValue: '/images/logo.png'
  },
  favicon: {
    type: DataTypes.STRING,
    defaultValue: '/images/favicon.ico'
  },
  contact: {
    type: DataTypes.JSONB,
    defaultValue: {
      email: 'info@smartsoltech.kr',
      phone: '+82-10-0000-0000',
      address: 'Seoul, South Korea'
    }
  },
  social: {
    type: DataTypes.JSONB,
    defaultValue: {}
  },
  telegram: {
    type: DataTypes.JSONB,
    defaultValue: {
      isEnabled: false
    }
  },
  seo: {
    type: DataTypes.JSONB,
    defaultValue: {
      metaTitle: 'SmartSolTech - Technology Solutions',
      metaDescription: 'Professional web development, mobile apps, and digital solutions in Korea',
      keywords: 'web development, mobile apps, UI/UX design, Korea, technology'
    }
  },
  hero: {
    type: DataTypes.JSONB,
    defaultValue: {
      title: 'Smart Technology Solutions',
      subtitle: 'We create innovative digital experiences that drive business growth',
      backgroundImage: '/images/hero-bg.jpg',
      ctaText: 'Get Started',
      ctaLink: '#contact'
    }
  },
  about: {
    type: DataTypes.JSONB,
    defaultValue: {
      title: 'About SmartSolTech',
      description: 'We are a team of passionate developers and designers creating cutting-edge technology solutions.',
      image: '/images/about.jpg'
    }
  },
  maintenance: {
    type: DataTypes.JSONB,
    defaultValue: {
      isEnabled: false,
      message: 'We are currently performing maintenance. Please check back soon.'
    }
  }
}, {
  tableName: 'site_settings',
  timestamps: true
});

module.exports = SiteSettings;