"""Dictionaries logic.""" from typing import List from dataclasses import dataclass from models.genres import Genre from models.record_types import RecordType from models.release_types import ReleaseType @dataclass class DictionaryResponseModel: id: int name: str class DictionaryRepository: def get_record_types(self) -> List[DictionaryResponseModel]: record_types = RecordType.query.filter(RecordType.is_deleted.is_(False)).all() return [DictionaryResponseModel(id=record.id, name=record.name) for record in record_types] def get_genres(self) -> List[DictionaryResponseModel]: genres = Genre.query.order_by(Genre.name.asc()).all() return [DictionaryResponseModel(id=genre.id, name=genre.name) for genre in genres] def get_release_types(self) -> List[DictionaryResponseModel]: release_types = ReleaseType.query.all() return [DictionaryResponseModel( id=release_type.id, name=release_type.name ) for release_type in release_types]