الملفات
back_end_oudelaa/src/modules/auth/schemas/super-admin-refresh-token.schema.ts
2026-04-20 15:12:16 +03:00

24 أسطر
792 B
TypeScript

import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { HydratedDocument } from 'mongoose';
export type SuperAdminRefreshTokenDocument = HydratedDocument<SuperAdminRefreshToken>;
@Schema({ timestamps: true, versionKey: false })
export class SuperAdminRefreshToken {
@Prop({ required: true, trim: true, lowercase: true, index: true })
adminEmail!: string;
@Prop({ required: true, select: false })
tokenHash!: string;
@Prop({ required: true })
expiresAt!: Date;
@Prop({ default: false })
revoked!: boolean;
}
export const SuperAdminRefreshTokenSchema = SchemaFactory.createForClass(SuperAdminRefreshToken);
SuperAdminRefreshTokenSchema.index({ adminEmail: 1, revoked: 1 });
SuperAdminRefreshTokenSchema.index({ expiresAt: 1 }, { expireAfterSeconds: 0 });