23 lines
705 B
TypeScript
23 lines
705 B
TypeScript
import { type UserIDType } from "./User.js";
|
|
import { 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 model<ILoginToken>('LoginToken', LoginToken); |