From 42a2855839571e4e35ad0244f151e401b23db98a Mon Sep 17 00:00:00 2001 From: pmoharana-cmd Date: Mon, 25 Mar 2024 19:35:36 -0400 Subject: [PATCH] refactor enums --- backend/entities/__init__.py | 1 + backend/entities/program_enum.py | 10 ++++++++++ backend/entities/program_type_enum.py | 7 ------- backend/entities/resource_entity.py | 8 ++------ backend/entities/resource_tag_entity.py | 4 ---- backend/entities/serivce_entity.py | 8 ++------ backend/entities/user_entity.py | 12 +++++------- backend/entities/user_enum.py | 7 +++++-- 8 files changed, 25 insertions(+), 32 deletions(-) create mode 100644 backend/entities/program_enum.py delete mode 100644 backend/entities/program_type_enum.py diff --git a/backend/entities/__init__.py b/backend/entities/__init__.py index 4191027..c7df32e 100644 --- a/backend/entities/__init__.py +++ b/backend/entities/__init__.py @@ -1,2 +1,3 @@ from .entity_base import EntityBase from .sample_entity import SampleEntity +from .program_enum import ProgramEnum diff --git a/backend/entities/program_enum.py b/backend/entities/program_enum.py new file mode 100644 index 0000000..9876ee8 --- /dev/null +++ b/backend/entities/program_enum.py @@ -0,0 +1,10 @@ +from sqlalchemy.orm import Enum + + +class ProgramEnum(Enum): + ECONOMIC = "economic" + DOMESTIC = "domestic" + COMMUNITY = "community" + + def __init__(self): + super().__init__(name="program_enum") diff --git a/backend/entities/program_type_enum.py b/backend/entities/program_type_enum.py deleted file mode 100644 index b304e86..0000000 --- a/backend/entities/program_type_enum.py +++ /dev/null @@ -1,7 +0,0 @@ -import enum - - -class ProgramType(enum.Enum): - ECONOMIC = "economic" - DOMESTIC = "domestic" - COMMUNITY = "community" diff --git a/backend/entities/resource_entity.py b/backend/entities/resource_entity.py index da7b4e0..b38e625 100644 --- a/backend/entities/resource_entity.py +++ b/backend/entities/resource_entity.py @@ -12,13 +12,9 @@ from .entity_base import EntityBase # Import datetime for created_at type from datetime import datetime -# Import enums for Program -from sqlalchemy.types import Enum -from sqlalchemy import Enum - # Import self for to model from typing import Self -from backend.entities.program_type_enum import ProgramType +from backend.entities.program_enum import ProgramEnum class ResourceEntity(EntityBase): @@ -32,7 +28,7 @@ class ResourceEntity(EntityBase): name: Mapped[str] = mapped_column(String(32), nullable=False) summary: Mapped[str] = mapped_column(String(100), nullable=False) link: Mapped[str] = mapped_column(String, nullable=False) - program: Mapped[ProgramType] = mapped_column(Enum(ProgramType), nullable=False) + program: Mapped[ProgramEnum] = mapped_column(ProgramEnum, nullable=False) # relationships resourceTags: Mapped[list["ResourceTagEntity"]] = relationship( diff --git a/backend/entities/resource_tag_entity.py b/backend/entities/resource_tag_entity.py index 061e17a..bab1781 100644 --- a/backend/entities/resource_tag_entity.py +++ b/backend/entities/resource_tag_entity.py @@ -12,10 +12,6 @@ from .entity_base import EntityBase # Import datetime for created_at type from datetime import datetime -# Import enums for Role and Program -import enum -from sqlalchemy import Enum - # Import self for to model from typing import Self diff --git a/backend/entities/serivce_entity.py b/backend/entities/serivce_entity.py index 10325eb..f9c2575 100644 --- a/backend/entities/serivce_entity.py +++ b/backend/entities/serivce_entity.py @@ -12,12 +12,8 @@ from .entity_base import EntityBase # Import datetime for created_at type from datetime import datetime -# Import enums for Program -import enum -from sqlalchemy import Enum - # Import ProgramType enumeration -from backend.entities.program_type_enum import ProgramType +from backend.entities.program_enum import ProgramEnum class ResourceEntity(EntityBase): @@ -31,7 +27,7 @@ class ResourceEntity(EntityBase): name: Mapped[str] = mapped_column(String(32), nullable=False) summary: Mapped[str] = mapped_column(String(100), nullable=False) requirements: Mapped[list[str]] = mapped_column(ARRAY(String)) - program: Mapped[ProgramType] = mapped_column(Enum(ProgramType), nullable=False) + program: Mapped[ProgramEnum] = mapped_column(ProgramEnum, nullable=False) # relationships resourceTags: Mapped[list["ServiceTagEntity"]] = relationship( diff --git a/backend/entities/user_entity.py b/backend/entities/user_entity.py index 8347d00..3dbc107 100644 --- a/backend/entities/user_entity.py +++ b/backend/entities/user_entity.py @@ -13,10 +13,8 @@ from .entity_base import EntityBase from datetime import datetime # Import enums for Role and Program -import enum -from sqlalchemy import Enum -from program_type_enum import ProgramType -from user_enum import RoleType +from backend.entities.program_enum import ProgramEnum +from user_enum import RoleEnum class UserEntity(EntityBase): @@ -31,10 +29,10 @@ class UserEntity(EntityBase): username: Mapped[str] = mapped_column( String(32), nullable=False, default="", unique=True ) - role: Mapped[RoleType] = mapped_column(Enum(RoleType), nullable=False) + role: Mapped[RoleEnum] = mapped_column(RoleEnum, nullable=False) email: Mapped[str] = mapped_column(String(50), nullable=False, unique=True) - program: Mapped[list[ProgramType]] = mapped_column( - ARRAY(Enum(ProgramType)), nullable=False + program: Mapped[list[ProgramEnum]] = mapped_column( + ARRAY(ProgramEnum), nullable=False ) experience: Mapped[int] = mapped_column(Integer, nullable=False) group: Mapped[str] = mapped_column(String(50)) diff --git a/backend/entities/user_enum.py b/backend/entities/user_enum.py index f89e0b7..9ee1779 100644 --- a/backend/entities/user_enum.py +++ b/backend/entities/user_enum.py @@ -1,9 +1,12 @@ -import enum +from sqlalchemy.orm import Enum -class RoleType(enum.Enum): +class RoleEnum(Enum): """Determine role for User""" ADMIN = "ADMIN" EMPLOYEE = "EMPLOYEE" VOLUNTEER = "VOLUNTEER" + + def __init__(self): + super().__init__(name="role_enum")