first commit
هذا الالتزام موجود في:
19
src/modules/likes/schemas/like.schema.ts
Normal file
19
src/modules/likes/schemas/like.schema.ts
Normal file
@@ -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 });
|
||||
المرجع في مشكلة جديدة
حظر مستخدم