from utils.handlers import get_request_model from auth.auth_view import AuthorizedView from flask import g from artists.services.artist_team_service import ArtistTeamService from artists.schemas import ArtistTeamMembersUpdateRequestSchema class ArtistTeamView(AuthorizedView): service = ArtistTeamService() def get(self, artist_external_id: str): return self.service.get_artist_teams(artist_external_id=artist_external_id, user_id=g.user_id) def post(self, artist_external_id: str): params = get_request_model(ArtistTeamMembersUpdateRequestSchema) self.permissions.can_manage_artist_team( artist_external_id=artist_external_id, user_id=g.user_id, label_id=params.labelId ) return self.service.update_artist_team(artist_external_id, params) class ArtistTeamPerProjectsView(AuthorizedView): service = ArtistTeamService() def get(self, project_id: int): return self.service.get_artist_team_for_project(project_id)