Files
core_ng/server/schema/gateway/LoginToken.ts
T
2023-08-18 16:20:10 +00:00

23 lines
738 B
TypeScript

import { type UserIDType } from "./User.js";
import { Mongoose, Schema, model } from "mongoose";
export interface ILoginToken {
userID: UserIDType;
token: string;
ip: string;
regDate: Date;
validUntil: Date;
}
export const LoginToken = new Schema<ILoginToken>({
userID: { type: Number, required: true },
token: { type: String, required: true },
ip: { type: String, required: true },
regDate: { type: Date, required: true },
validUntil: { type: Date, required: true },
}, { autoIndex: false, autoCreate: false, })
.index({ userID: 1, token: 1 })
.index({ validUntil: 1 }, { expireAfterSeconds: 1 })
;
export default (conn: Mongoose)=>conn.model<ILoginToken>('LoginToken', LoginToken);