added user data to db
This commit is contained in:
parent
6285e46b7a
commit
9551ae0703
|
@ -1 +1,2 @@
|
|||
export * from './user-credentials.entity';
|
||||
export * from './user-data.entity';
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
import {
|
||||
Column,
|
||||
Entity,
|
||||
PrimaryGeneratedColumn,
|
||||
OneToOne,
|
||||
JoinColumn,
|
||||
} from 'typeorm';
|
||||
|
||||
import { UserCredentials } from './user-credentials.entity';
|
||||
|
||||
@Entity()
|
||||
export class UserData {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
public id: number;
|
||||
|
||||
@Column({ default: false })
|
||||
public isEmailConfirmed: boolean;
|
||||
|
||||
@OneToOne(() => UserCredentials)
|
||||
@JoinColumn()
|
||||
public user: UserCredentials;
|
||||
}
|
|
@ -1,9 +1,10 @@
|
|||
import { Module } from '@nestjs/common';
|
||||
import { JwtModule } from '@nestjs/jwt';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { UserCredentials } from 'src/entities/user-credentials.entity';
|
||||
import { UserData, UserCredentials } from 'src/entities';
|
||||
|
||||
import { AuthController } from './controller/auth.controller';
|
||||
import { UserDataRepository } from './repositories/user-data.repository';
|
||||
import { UserRepository } from './repositories/user.repository';
|
||||
import { AuthService } from './services/auth.service';
|
||||
import { EncryptionService } from './services/encryption.service';
|
||||
|
@ -13,13 +14,14 @@ import { AccessTokenStrategy, RefreshTokenStrategy } from './strategies';
|
|||
@Module({
|
||||
imports: [
|
||||
JwtModule.register({}),
|
||||
TypeOrmModule.forFeature([UserCredentials]),
|
||||
TypeOrmModule.forFeature([UserCredentials, UserData]),
|
||||
],
|
||||
providers: [
|
||||
AuthService,
|
||||
TokenManagementService,
|
||||
EncryptionService,
|
||||
UserRepository,
|
||||
UserDataRepository,
|
||||
AccessTokenStrategy,
|
||||
RefreshTokenStrategy,
|
||||
],
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
import { Injectable } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { UserData } from 'src/entities';
|
||||
import { Repository } from 'typeorm';
|
||||
|
||||
@Injectable()
|
||||
export class UserDataRepository {
|
||||
public constructor(
|
||||
@InjectRepository(UserData)
|
||||
private readonly repository: Repository<UserData>
|
||||
) {}
|
||||
|
||||
public async createInitialUserData(userid: number): Promise<UserData> {
|
||||
const userData = new UserData();
|
||||
|
||||
userData.id = userid;
|
||||
userData.isEmailConfirmed = false;
|
||||
|
||||
return this.repository.save(userData);
|
||||
}
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
import { ForbiddenException, Injectable } from '@nestjs/common';
|
||||
|
||||
import { TokensDto, UserCredentialsDto } from '../models/dto';
|
||||
import { UserDataRepository } from '../repositories/user-data.repository';
|
||||
import { UserRepository } from '../repositories/user.repository';
|
||||
|
||||
import { EncryptionService } from './encryption.service';
|
||||
|
@ -10,6 +11,7 @@ import { TokenManagementService } from './token-management.service';
|
|||
export class AuthService {
|
||||
public constructor(
|
||||
private readonly userRepository: UserRepository,
|
||||
private readonly UserDataRepository: UserDataRepository,
|
||||
private readonly tokenManagementService: TokenManagementService,
|
||||
private readonly encryptionService: EncryptionService
|
||||
) {}
|
||||
|
@ -23,6 +25,8 @@ export class AuthService {
|
|||
passwordHashed
|
||||
);
|
||||
|
||||
await this.UserDataRepository.createInitialUserData(user.id);
|
||||
|
||||
return this.generateAndPersistTokens(user.id, user.email);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { ConfigService } from '@nestjs/config';
|
||||
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
|
||||
import { UserCredentials } from 'src/entities';
|
||||
import { UserCredentials, UserData } from 'src/entities';
|
||||
|
||||
export const databaseConfigFactory = (
|
||||
configService: ConfigService
|
||||
|
@ -13,5 +13,5 @@ export const databaseConfigFactory = (
|
|||
database: configService.get('DB_NAME'),
|
||||
synchronize: true,
|
||||
logging: true,
|
||||
entities: [UserCredentials],
|
||||
entities: [UserCredentials, UserData],
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue