import { Prop, Schema, SchemaFactory } from "@nestjs/mongoose";
import { Document, HydratedDocument, Model, Types } from "mongoose";
import * as moment from "moment";
import { Users, UserSchema } from "./users.schema";
export type SessionDocument = HydratedDocument<Sessions>;

export enum deviceType {
    IOS = 'IOS',
    ANDROID = 'ANDROID',
    WEB = 'WEB'
}

@Schema()
export class Sessions extends Document {

    @Prop({ type: Types.ObjectId, ref: 'users', default: null })
    user_id: Types.ObjectId;

    @Prop({ default: deviceType.WEB, enum: deviceType })
    device_type: string = deviceType.WEB;

    @Prop({ default: null })
    access_token: string;

    @Prop({ default: null })
    fcm_token: string;

    @Prop({ default: null })
    voip_token: string;

    @Prop({ default: null })
    token_gen_at: number;

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

export const SessionSchema = SchemaFactory.createForClass(Sessions);  