import { Prop, Schema, SchemaFactory } from "@nestjs/mongoose";
import { Document, Types } from "mongoose";
import mongoose from "mongoose";
import * as moment from "moment";

export type GroupMembersDocument = GroupMembers & Document;

@Schema()
export class GroupMembers {
    @Prop({ type: mongoose.Schema.Types.ObjectId, ref: "connections" })
    connection_id: Types.ObjectId;

    @Prop({ type: mongoose.Schema.Types.ObjectId, ref: "users" })
    user_id: Types.ObjectId;

    @Prop()
    role: string;

    @Prop()
    joined_at: number;

    @Prop({ default: false })
    is_exit_from_group: boolean;

    @Prop({ default:0 })
    exit_group_at: number;

    @Prop({ default: moment().utc().valueOf() })
    updated_at: number;

    @Prop({ default: moment().utc().valueOf() })
    created_at: number;
}

export const GroupMembersSchema = SchemaFactory.createForClass(GroupMembers);
