import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { HydratedDocument } from 'mongoose';

@Schema({
    timestamps: {
        createdAt: 'created_at',
        updatedAt: 'updated_at',
    },
})
export class Language {
    @Prop({ type: String, required: true })
    name: string;

    @Prop({ type: String, required: true, unique: true, maxlength: 10 })
    code: string;

    @Prop({ type: String, enum: ['LTR', 'RTL'], default: 'LTR' })
    text_direction: string;

    @Prop({ type: Boolean, default: true })
    status: boolean;

    @Prop({ type: Boolean, default: false })
    is_default: boolean;

    @Prop({ type: Number, default: +new Date() })
    created_at: number;

    @Prop({ type: Number, default: +new Date() })
    updated_at: number;
}

export type LanguageDocument = HydratedDocument<Language>;
export const LanguageSchema = SchemaFactory.createForClass(Language);
