Interface UserService

All Known Implementing Classes:
UserServiceImpl

public interface UserService
Service interface for handling user-related operations.
  • Method Details

    • getUserResponse

      UserDetailsResponse getUserResponse(UUID userId)
      Gets the user details response for a user.
      Parameters:
      userId - The ID of the user.
      Returns:
      The user details response.
    • getUserViewHistory

      UserHistoryResponse getUserViewHistory(UUID userId, PageOptions pageOptions)
      Gets the user's view history.
      Parameters:
      userId - The ID of the user.
      pageOptions - The pagination options.
      Returns:
      The user's view history.
    • deleteUserViewHistory

      void deleteUserViewHistory(UUID userId)
      Deletes the user's view history.
      Parameters:
      userId - The ID of the user.
    • deleteById

      void deleteById(UUID userId)
      Deletes a user by their ID.
      Parameters:
      userId - The ID of the user.
    • patchById

      UserDetailsResponse patchById(UUID userId, UserPatchRequest request)
      Patches a user's information.
      Parameters:
      userId - The ID of the user.
      request - The patch request.
      Returns:
      The updated user details response.
    • patchCity

      UserCityContainer patchCity(UUID userId, UUID cityId, UserCityPatchRequest request)
      Patches a user's city.
      Parameters:
      userId - The ID of the user.
      cityId - The ID of the city.
      request - The patch request.
      Returns:
      The updated user city container.
    • putCity

      UserCityContainer putCity(UUID userId, UUID cityId, UserCityPutRequest request)
      Adds or updates a user's city.
      Parameters:
      userId - The ID of the user.
      cityId - The ID of the city.
      request - The put request.
      Returns:
      The updated user city container.
    • putCityOnboarding

      UserCityContainer putCityOnboarding(UUID userId, UUID cityId, UserCityPutRequest request)
      Adds or updates a user's city during onboarding.
      Parameters:
      userId - The ID of the user.
      cityId - The ID of the city.
      request - The put request.
      Returns:
      The updated user city container.
    • putFestival

      FestivalResponse putFestival(UUID userId, UUID festivalId)
      Adds or updates a user's festival.
      Parameters:
      userId - The ID of the user.
      festivalId - The ID of the festival.
      Returns:
      The festival response.
    • getSeeds

      List<SeedArtistResponse> getSeeds(UUID userId)
      Gets the user's seed artists.
      Parameters:
      userId - The ID of the user.
      Returns:
      A list of seed artist responses.
    • getSeedsAll

      List<SeedArtistResponse> getSeedsAll(UUID userId)
      Gets all of the user's seed artists, including blacklisted ones.
      Parameters:
      userId - The ID of the user.
      Returns:
      A list of seed artist responses.
    • getCitiesResponse

      UserCitiesResponse getCitiesResponse(UUID userId)
      Gets the user's cities.
      Parameters:
      userId - The ID of the user.
      Returns:
      A response containing the user's cities.
    • getUserCitiesAndFestivals

      UserCitiesFestivalsResponse getUserCitiesAndFestivals(UUID userId)
      Gets the user's cities and festivals.
      Parameters:
      userId - The ID of the user.
      Returns:
      A response containing the user's cities and festivals.
    • getCity

      UserCityContainer getCity(UUID userId, UUID cityId)
      Gets a user's city.
      Parameters:
      userId - The ID of the user.
      cityId - The ID of the city.
      Returns:
      The user city container.
    • blacklistSeed

      void blacklistSeed(UUID userId, UUID seedId)
      Blacklists a seed artist for a user.
      Parameters:
      userId - The ID of the user.
      seedId - The ID of the seed artist.
    • unblacklistSeed

      void unblacklistSeed(UUID userId, UUID seedId)
      Un-blacklists a seed artist for a user.
      Parameters:
      userId - The ID of the user.
      seedId - The ID of the seed artist.
    • putSeeds

      List<SeedArtistResponse> putSeeds(UUID userId, List<UUID> seeds)
      Sets the user's seed artists.
      Parameters:
      userId - The ID of the user.
      seeds - A list of seed artist IDs.
      Returns:
      A list of the updated seed artist responses.
    • addSeed

      void addSeed(UUID userId, UUID seeds)
      Adds a seed artist for a user.
      Parameters:
      userId - The ID of the user.
      seeds - The ID of the seed artist to add.
    • createAnonymousUser

      User createAnonymousUser()
      Creates an anonymous user.
      Returns:
      The created user.
    • deleteUserCity

      void deleteUserCity(UUID userId, UUID cityId)
      Deletes a user's city.
      Parameters:
      userId - The ID of the user.
      cityId - The ID of the city.
    • deleteFestivalUser

      void deleteFestivalUser(UUID userId, UUID festivalId)
      Deletes a user's festival.
      Parameters:
      userId - The ID of the user.
      festivalId - The ID of the festival.
    • favoriteArtist

      void favoriteArtist(UUID userId, UUID artistId)
      Favorites an artist for a user.
      Parameters:
      userId - The ID of the user.
      artistId - The ID of the artist.
    • unfavoriteArtist

      void unfavoriteArtist(UUID userId, UUID artistId)
      Unfavorites an artist for a user.
      Parameters:
      userId - The ID of the user.
      artistId - The ID of the artist.
    • favoriteEvent

      void favoriteEvent(UUID userId, UUID eventId)
      Favorites an event for a user.
      Parameters:
      userId - The ID of the user.
      eventId - The ID of the event.
    • unfavoriteEvent

      void unfavoriteEvent(UUID userId, UUID eventId)
      Unfavorites an event for a user.
      Parameters:
      userId - The ID of the user.
      eventId - The ID of the event.
    • rateEvent

      void rateEvent(UUID userId, UUID eventId, UserFavoriteEventRating rating)
      Rates an event for a user.
      Parameters:
      userId - The ID of the user.
      eventId - The ID of the event.
      rating - The rating.
    • favoriteVenue

      void favoriteVenue(UUID userId, UUID venueId)
      Favorites a venue for a user.
      Parameters:
      userId - The ID of the user.
      venueId - The ID of the venue.
    • unfavoriteVenue

      void unfavoriteVenue(UUID userId, UUID venueId)
      Unfavorites a venue for a user.
      Parameters:
      userId - The ID of the user.
      venueId - The ID of the venue.
    • saveSearchQuery

      void saveSearchQuery(String query, UUID actingUserId)
      Saves a search query.
      Parameters:
      query - the user's query
    • getSearchHistory

      List<String> getSearchHistory(UUID userId)
    • deleteSearchHistory

      void deleteSearchHistory(UUID userId)
    • getFavoriteArtists

      org.springframework.data.domain.Page<BasicArtistResponse> getFavoriteArtists(UUID userId, UserFavoriteQuery query)
    • getFavoriteEvents

      org.springframework.data.domain.Page<UserFavoriteEventResponse> getFavoriteEvents(UUID userId, UserFavoriteQuery query)
    • getFavoriteEventsUpcoming

      org.springframework.data.domain.Page<UserFavoriteEventResponse> getFavoriteEventsUpcoming(UUID userId, UserFavoriteQuery query)
    • getFavoriteEventsPrevious

      org.springframework.data.domain.Page<UserFavoriteEventResponse> getFavoriteEventsPrevious(UUID userId, UserFavoriteQuery query)
    • getFavoriteVenues

      org.springframework.data.domain.Page<VenueResponse> getFavoriteVenues(UUID userId, UserFavoriteQuery query)
    • doCreateAccountLink

      AccountLinkToken doCreateAccountLink(UUID userId, AccountLinkToken.ExpectedService expectedService)
    • getOrCreatePlaylist

      PlaylistDto getOrCreatePlaylist(UUID userId, UUID cityId)
    • getOrCreateFestivalPlaylist

      PlaylistDto getOrCreateFestivalPlaylist(UUID userId, UUID festivalId)
    • getPlaylist

      PlaylistDto getPlaylist(UUID userId, UUID cityId)
    • submitFeedback

      void submitFeedback(UUID userId, String entry, String email)
    • canRecommend

      void canRecommend(UUID userId)
    • emailUnsubscribe

      void emailUnsubscribe(UUID userId, String token)