Interface ArtistService

All Known Implementing Classes:
ArtistServiceImpl

public interface ArtistService
Service interface for managing artists. This interface defines the business logic for artist-related operations.
  • Field Details

  • Method Details

    • fetchExtendedArtistInfo

      ExtendedArtistResponse fetchExtendedArtistInfo(UUID artistId, UUID actingUserId)
      Fetches extended information for an artist.
      Parameters:
      artistId - the ID of the artist to fetch
      actingUserId - the ID of the user performing the action
      Returns:
      the extended artist information
    • patchById

      BasicArtistResponse patchById(UUID artistId, ArtistPatchRequest request, UUID actingUserId)
      Patches an artist by ID.
      Parameters:
      artistId - the ID of the artist to patch
      request - the request body containing the fields to patch
      actingUserId - the ID of the user performing the action
      Returns:
      the patched artist's basic information
    • deleteById

      void deleteById(UUID artistId, UUID actingUserId)
      Deletes an artist by ID.
      Parameters:
      artistId - the ID of the artist to delete
      actingUserId - the ID of the user performing the action
    • getTopGenres

      List<GenreResponse> getTopGenres(UUID artistId, org.springframework.data.domain.Pageable pageable)
      Gets the top genres for an artist.
      Parameters:
      artistId - the ID of the artist
      pageable - the pagination information
      Returns:
      a list of the artist's top genres
    • getTopGenres

      default List<GenreResponse> getTopGenres(UUID artistId)
      Gets the top genres for an artist with a default limit.
      Parameters:
      artistId - the ID of the artist
      Returns:
      a list of the artist's top genres
    • getCities

      List<ArtistCityResponse> getCities(UUID artistId)
      Gets the cities associated with an artist.
      Parameters:
      artistId - the ID of the artist
      Returns:
      a list of cities associated with the artist
    • getFestivals

      List<FestivalBasicResponse> getFestivals(UUID artistId)
      Gets the festivals associated with an artist.
      Parameters:
      artistId - the ID of the artist
      Returns:
      a list of festivals associated with the artist
    • getEvents

      ArtistEventListResponse getEvents(UUID artistId, PageOptions pageOptions, UUID actingUserId)
      Gets the events associated with an artist.
      Parameters:
      artistId - the ID of the artist
      pageOptions - the pagination options
      actingUserId - the ID of the user performing the action
      Returns:
      a list of events associated with the artist
    • getPopularArtistsForGenres

      List<BasicArtistResponse> getPopularArtistsForGenres(List<UUID> genres)
      Gets the popular artists for a list of genres.
      Parameters:
      genres - a list of genre IDs
      Returns:
      a list of popular artists for the specified genres
    • getPopularArtists

      List<PopularArtist> getPopularArtists(int minPopularity, int maxPopularity, int amount)
      Gets a list of popular artists within a given popularity range.
      Parameters:
      minPopularity - the minimum popularity
      maxPopularity - the maximum popularity
      amount - the number of artists to return
      Returns:
      a list of popular artists
    • suggestArtistCity

      void suggestArtistCity(UUID artistId, UUID cityId, UUID actingUserId)
      Suggests a city for an artist.
      Parameters:
      artistId - the ID of the artist
      cityId - the ID of the city
      actingUserId - the ID of the user performing the action
    • approveArtistCityContribution

      void approveArtistCityContribution(UUID artistId, UUID cityId, UUID actingUserId)
      Approves a city contribution for an artist.
      Parameters:
      artistId - the ID of the artist
      cityId - the ID of the city
      actingUserId - the ID of the user performing the action
    • denyArtistCityContribution

      void denyArtistCityContribution(UUID artistId, UUID cityId, UUID actingUserId)
      Denies a city contribution for an artist.
      Parameters:
      artistId - the ID of the artist
      cityId - the ID of the city
      actingUserId - the ID of the user performing the action
    • getApproveableArtistCityContributions

      List<ApproveableArtistCity> getApproveableArtistCityContributions(PageOptions pageOptions)
      Gets the list of artist city contributions that can be approved.
      Parameters:
      pageOptions - the pagination options
      Returns:
      a list of approveable artist cities