from artists.repositories.artist_team_repository import ArtistTeamRepository from shared.schemas import LabelSchema from services.labels_repository import LabelsRepository from utils.exceptions import NotFound from config import LABEL_IMAGE_SERVICE_URL class LabelsService: labels_repository = LabelsRepository() artist_team_repository = ArtistTeamRepository() def get_default_label_for_user(self, user_id: int) -> LabelSchema: label = self.labels_repository.get_default_label_for_user(user_id) if label is None: raise NotFound(f"Default label for user with id {user_id} does not exists") return LabelSchema( id=label.label_id, name=label.label_name, imageUrl=LABEL_IMAGE_SERVICE_URL.format(id=label.label_id) )