chore: add user entity and role entity

This commit is contained in:
mahyargdz
2025-01-19 11:42:15 +03:30
parent 583fa52160
commit 58c9bfa912
6 changed files with 71 additions and 8 deletions
+9
View File
@@ -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
+36
View File
@@ -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;
}
+10 -7
View File
@@ -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;
} }
+6
View File
@@ -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);
} }
} }