هذا الالتزام موجود في:
2026-04-20 15:12:16 +03:00
التزام 28f7241bcd
172 ملفات معدلة مع 21907 إضافات و0 حذوفات

عرض الملف

@@ -0,0 +1,19 @@
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { HydratedDocument, Types } from 'mongoose';
export type LikeDocument = HydratedDocument<Like>;
@Schema({ timestamps: true, versionKey: false })
export class Like {
@Prop({ type: Types.ObjectId, required: true, index: true })
userId!: Types.ObjectId;
@Prop({ type: Types.ObjectId, required: true, index: true })
targetId!: Types.ObjectId;
@Prop({ required: true, enum: ['post', 'comment'] })
targetType!: 'post' | 'comment';
}
export const LikeSchema = SchemaFactory.createForClass(Like);
LikeSchema.index({ userId: 1, targetId: 1, targetType: 1 }, { unique: true });