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

@Schema({
    timestamps: {
        createdAt: 'created_at',
        updatedAt: 'updated_at',
    },
})
export class Translation {
    @Prop({ type: Types.ObjectId, ref: 'Language', required: true })
    language_id: Types.ObjectId;

    @Prop({ type: Types.ObjectId, ref: 'TranslationKey', required: true })
    key_id: Types.ObjectId;

    @Prop({ type: String, required: true })
    value: string;

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

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

export type TranslationDocument = HydratedDocument<Translation>;
export const TranslationSchema = SchemaFactory.createForClass(Translation);

// Create unique compound index
TranslationSchema.index({ language_id: 1, key_id: 1 }, { unique: true });
