Merge branch 'main' of https://github.com/Danakcorp/danak_dsc_api
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()
|
||||
export class User {
|
||||
@PrimaryGeneratedColumn("uuid")
|
||||
id: string;
|
||||
|
||||
@Column({ type: "varchar", length: 150, unique: true })
|
||||
export class User extends BaseEntity {
|
||||
@Column({ type: "varchar", length: 150, unique: true, nullable: true })
|
||||
email: string;
|
||||
|
||||
@Column({ type: "varchar", length: 11, unique: true })
|
||||
@Column({ type: "varchar", length: 11, unique: true, nullable: true })
|
||||
phoneNumber: string;
|
||||
|
||||
@Column({ type: "varchar", length: 150 })
|
||||
@@ -25,4 +25,7 @@ export class User {
|
||||
|
||||
@Column({ type: "varchar", length: 100 })
|
||||
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()
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user