from flask import jsonify from delphi_api.const import DEFAULT_PAGE_SIZE from delphi_api.v3.view_models.artist import ArtistsViewModel from delphi_api.v3.view_models.helpers import jsonify_collection_response class ArtistsView: """Artists view container""" @staticmethod def get(artist_id: str): result = ArtistsViewModel.get_one(locals()) return jsonify(result) @staticmethod def search(product_id: str = None, track_id: str = None, isrc: str = None, limit: int = DEFAULT_PAGE_SIZE, offset: int = 0, sort_by: str = None, sort_order: str = None, ): result = ArtistsViewModel.get_many(locals()) return jsonify_collection_response(result) @staticmethod def get_followers(artist_id: str, start_date: str, end_date: str, group_by: str = None, limit: int = DEFAULT_PAGE_SIZE, offset: int = 0, sort_by: str = None, sort_order: str = None, ): result = ArtistsViewModel.get_followers(locals()) return jsonify_collection_response(result)