chore: add user entity and role entity
This commit is contained in:
@@ -0,0 +1,9 @@
|
|||||||
|
NODE_ENV=development
|
||||||
|
PORT=3500
|
||||||
|
|
||||||
|
|
||||||
|
DB_HOST=localhost
|
||||||
|
DB_PORT=5432
|
||||||
|
DB_NAME=danak-dsc
|
||||||
|
DB_USER=danak
|
||||||
|
DB_PASS=jkm3q2wux56RHYuTuKN11Too6+4pIpGQj3Q/fkNbahM
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
services:
|
||||||
|
pg_db:
|
||||||
|
image: postgres:alpine
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
restart: always
|
||||||
|
container_name: postgres_dsc
|
||||||
|
ports:
|
||||||
|
- 54320:5432
|
||||||
|
# networks:
|
||||||
|
# - app_network
|
||||||
|
volumes:
|
||||||
|
- postgres_data:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: ${DB_PASS}
|
||||||
|
POSTGRES_USER: ${DB_USER}
|
||||||
|
POSTGRES_DB: ${DB_NAME}
|
||||||
|
|
||||||
|
|
||||||
|
# pgadmin:
|
||||||
|
# image: dpage/pgadmin4
|
||||||
|
# restart: always
|
||||||
|
# container_name: pgadmin
|
||||||
|
# ports:
|
||||||
|
# - 5050:80
|
||||||
|
# environment:
|
||||||
|
# PGADMIN_DEFAULT_EMAIL: ${PGADMIN_EMAIL}
|
||||||
|
# PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_PASSWORD}
|
||||||
|
# depends_on:
|
||||||
|
# - pg_db
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres_data:
|
||||||
|
# networks:
|
||||||
|
# app_network:
|
||||||
|
# driver: bridge
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
import { BaseEntity, Column, Entity } from "typeorm";
|
||||||
|
|
||||||
|
import { RoleEnum } from "../enums/role.enum";
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
export class Role extends BaseEntity {
|
||||||
|
@Column({ type: "enum", enum: RoleEnum, default: RoleEnum.USER, nullable: false })
|
||||||
|
name: RoleEnum;
|
||||||
|
}
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
|
import { Column, Entity, OneToOne } from "typeorm";
|
||||||
|
|
||||||
|
import { Role } from "./role.entity";
|
||||||
|
import { BaseEntity } from "../../../common/entities/base.entity";
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class User {
|
export class User extends BaseEntity {
|
||||||
@PrimaryGeneratedColumn("uuid")
|
@Column({ type: "varchar", length: 150, unique: true, nullable: true })
|
||||||
id: string;
|
|
||||||
|
|
||||||
@Column({ type: "varchar", length: 150, unique: true })
|
|
||||||
email: string;
|
email: string;
|
||||||
|
|
||||||
@Column({ type: "varchar", length: 11, unique: true })
|
@Column({ type: "varchar", length: 11, unique: true, nullable: true })
|
||||||
phoneNumber: string;
|
phoneNumber: string;
|
||||||
|
|
||||||
@Column({ type: "varchar", length: 150 })
|
@Column({ type: "varchar", length: 150 })
|
||||||
@@ -25,4 +25,7 @@ export class User {
|
|||||||
|
|
||||||
@Column({ type: "varchar", length: 100 })
|
@Column({ type: "varchar", length: 100 })
|
||||||
nationalCode: string;
|
nationalCode: string;
|
||||||
|
|
||||||
|
@OneToOne(() => Role, { eager: true, cascade: true, onDelete: "SET NULL" })
|
||||||
|
role: Role;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
export enum RoleEnum {
|
||||||
|
SUPER_ADMIN = "super_admin",
|
||||||
|
ADMIN = "admin",
|
||||||
|
USER = "user",
|
||||||
|
VISITOR = "visitor",
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@ import { User } from "../entities/user.entity";
|
|||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class UserRepository extends Repository<User> {
|
export class UserRepository extends Repository<User> {
|
||||||
constructor(@InjectRepository(User) private userRepository: Repository<User>) {
|
constructor(@InjectRepository(User) userRepository: Repository<User>) {
|
||||||
super(userRepository.target, userRepository.manager, userRepository.queryRunner);
|
super(userRepository.target, userRepository.manager, userRepository.queryRunner);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user