authentication module done

This commit is contained in:
VirajBrainvire
2024-02-26 11:23:44 +05:30
parent 4ffd94ec78
commit 0764793874
75 changed files with 2111 additions and 89 deletions

View File

@ -0,0 +1,26 @@
import {
IsBoolean,
IsDate,
IsNotEmpty,
IsNumber,
IsString,
} from 'class-validator';
export class SessionDto {
@IsString()
@IsNotEmpty()
public uuid: string;
@IsNumber()
@IsNotEmpty()
userId: number;
@IsDate()
@IsNotEmpty()
public loginTime: Date;
@IsBoolean()
@IsNotEmpty()
public isLoggedOut: boolean;
}

View File

@ -0,0 +1 @@
export * from './session.entity'

View File

@ -0,0 +1,31 @@
import { Column, Entity } from 'typeorm';
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
import { SessionDto } from '../dtos/session.dto';
@Entity({ name: 'userSession' })
export class UserSessionEntity extends AbstractEntity<SessionDto> {
@Column({
nullable: false,
})
public uuid: string;
@Column({
nullable: false,
})
userId: string;
@Column({
nullable: false,
})
public loginTime: Date;
@Column({
nullable: false,
})
public isLoggedOut: boolean;
constructor(partial: Partial<UserSessionEntity>) {
super();
Object.assign(this, partial);
}
}

View File

@ -0,0 +1,10 @@
import { DataSource, Repository } from 'typeorm';
import { Injectable } from '@nestjs/common';
import { UserSessionEntity } from '../entities';
@Injectable()
export class UserSessionRepository extends Repository<UserSessionEntity> {
constructor(private dataSource: DataSource) {
super(UserSessionEntity, dataSource.createEntityManager());
}
}

View File

@ -0,0 +1,11 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { UserSessionEntity } from './entities';
@Module({
providers: [],
exports: [],
controllers: [],
imports: [TypeOrmModule.forFeature([UserSessionEntity])],
})
export class UserSessionRepositoryModule {}