NineSec Team Shell
Server IP : 92.205.26.207  /  Your IP : 216.73.216.16
Web Server : Apache
System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64
User : zikryat ( 1002)
PHP Version : 8.3.23
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/zikryat/public_html/src/chat/chat_request/entities/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/zikryat/public_html/src/chat/chat_request/entities/chat.request.entity.ts
/**
 * Copyright 2023, the hatemragab project author.
 * All rights reserved. Use of this source code is governed by a
 * MIT license that can be found in the LICENSE file.
 */
import {Schema} from "mongoose";
import pM from "mongoose-paginate-v2";
import {ChatRequestStatus, RoomType} from "../../../core/utils/enums";
import {RoomMemberSchema} from "../../room_member/entities/room_member.entity";



export interface IChatRequest extends Document {
    senderId: string
    _id: string
    receiverId: string
    roomId: string
    roomType: RoomType
    status: ChatRequestStatus
}

export const ChatRequestSchema: Schema = new Schema(
    {
        senderId: {type: Schema.Types.ObjectId, required: true, index: 1, ref: "User"},
        receiverId: {type: Schema.Types.ObjectId, required: true, index: 1, ref: "User"},
        roomId: {type: Schema.Types.ObjectId, required: true},
        roomType: {type: String, enum: Object.values(RoomType), required: true, index: 1},
        status: {type: String, enum: Object.values(ChatRequestStatus), required: true},
    },
    {
        timestamps: true,
    },
);
ChatRequestSchema.index({senderId: 1, receiverId: 1, roomId: 1}, {unique: true})
ChatRequestSchema.plugin(pM)

NineSec Team - 2022