Files
back-end/src/enums.py
lvrossem 8ca636c48e Cleanup
2023-03-29 14:14:27 -06:00

36 lines
847 B
Python

from fastapi_utils.enums import StrEnum
from sqlalchemy.types import Enum, TypeDecorator
class StrEnumType(TypeDecorator):
impl = Enum
def __init__(self, enum_class, **kw):
self.enum_class = enum_class
super().__init__(enum_class, **kw)
def process_bind_param(self, value, dialect):
if value is None:
return None
return value.value
def process_result_value(self, value, dialect):
if value is None:
return None
return self.enum_class(value)
class MinigameEnum(StrEnum):
SpellingBee = "SpellingBee"
Hangman = "Hangman"
JustSign = "JustSign"
class CourseEnum(StrEnum):
Fingerspelling = "Fingerspelling"
Basics = "Basics"
Hobbies = "Hobbies"
Animals = "Animals"
Colors = "Colors"
FruitsVegetables = "FruitsVegetables"