diff --git a/tidalapi/.openapi-generator/FILES b/tidalapi/.openapi-generator/FILES new file mode 100644 index 00000000..d8d50f8c --- /dev/null +++ b/tidalapi/.openapi-generator/FILES @@ -0,0 +1,134 @@ +src/main/kotlin/com/tidal/sdk/tidalapi/generated/ApiClient.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Albums.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Artists.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Playlists.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Providers.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/SearchResults.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Tracks.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserEntitlements.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserPublicProfilePicks.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserPublicProfiles.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserRecommendations.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Users.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Videos.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemResourceIdentifier.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemResourceIdentifierMeta.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationship.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsMultiDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsMultiDataDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationships.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsSingleDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsMultiDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsMultiDataDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationships.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsSingleDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersRelationship.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersResourceIdentifier.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersResourceIdentifierMeta.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemExternalLink.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemImageLink.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemVideoLink.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorObject.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorObjectSource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ExternalLinkMeta.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ImageLinkMeta.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/Links.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/MultiDataRelationshipDoc.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsExternalLink.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsImageLink.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsItemsRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsMultiDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsMultiDataDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsOwnersRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsOwnersRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsRelationships.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsSingleDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PromptColors.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersMultiDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersSingleDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ResourceIdentifier.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsRelationships.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsSingleDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsTopHitsRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsTopHitsRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SingletonDataRelationshipDoc.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksMultiDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksMultiDataDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationships.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationshipsDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationshipsDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksSingleDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UpdateUserPublicProfilePicksRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsSingleDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksItemRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksItemRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksMultiDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksMultiDataDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationships.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesExternalLink.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesExternalLinkMeta.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesImageLink.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesMultiDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesMultiDataDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationships.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesSingleDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsMultiDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsMultiDataDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsRelationships.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsSingleDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersMultiDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersMultiDataDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRecommendationsRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRecommendationsRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationshipDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationshipDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationships.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersSingleDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/Utils.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideoLinkMeta.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosAttributes.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosMultiDataDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosMultiDataDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationships.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationshipsDocument.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationshipsDocumentIncludedInner.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosResource.kt +src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosSingleDataDocument.kt diff --git a/tidalapi/.openapi-generator/VERSION b/tidalapi/.openapi-generator/VERSION new file mode 100644 index 00000000..17f2442f --- /dev/null +++ b/tidalapi/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.9.0-SNAPSHOT diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/ApiClient.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/ApiClient.kt new file mode 100644 index 00000000..002156e7 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/ApiClient.kt @@ -0,0 +1,126 @@ +package com.tidal.sdk.tidalapi.generated + +import com.tidal.sdk.auth.CredentialsProvider +import com.tidal.sdk.tidalapi.generated.apis.Albums +import com.tidal.sdk.tidalapi.generated.apis.Artists +import com.tidal.sdk.tidalapi.generated.apis.Playlists +import com.tidal.sdk.tidalapi.generated.apis.Providers +import com.tidal.sdk.tidalapi.generated.apis.SearchResults +import com.tidal.sdk.tidalapi.generated.apis.Tracks +import com.tidal.sdk.tidalapi.generated.apis.UserEntitlements +import com.tidal.sdk.tidalapi.generated.apis.UserPublicProfilePicks +import com.tidal.sdk.tidalapi.generated.apis.UserPublicProfiles +import com.tidal.sdk.tidalapi.generated.apis.UserRecommendations +import com.tidal.sdk.tidalapi.generated.apis.Users +import com.tidal.sdk.tidalapi.generated.apis.Videos +import com.tidal.sdk.tidalapi.networking.RetrofitProvider + +class TidalApiClient(credentialsProvider: CredentialsProvider, baseUrl: String = DEFAULT_BASE_URL) { + + private val retrofit by lazy { + RetrofitProvider().provideRetrofit( + baseUrl, + credentialsProvider, + ) + } + + /** + * Returns an instance of the [Albums] which can be used + * to make API calls to the + */ + fun createAlbums(): Albums { + return retrofit.create(Albums::class.java) + } + + /** + * Returns an instance of the [Artists] which can be used + * to make API calls to the + */ + fun createArtists(): Artists { + return retrofit.create(Artists::class.java) + } + + /** + * Returns an instance of the [Playlists] which can be used + * to make API calls to the + */ + fun createPlaylists(): Playlists { + return retrofit.create(Playlists::class.java) + } + + /** + * Returns an instance of the [Providers] which can be used + * to make API calls to the + */ + fun createProviders(): Providers { + return retrofit.create(Providers::class.java) + } + + /** + * Returns an instance of the [SearchResults] which can be used + * to make API calls to the + */ + fun createSearchResults(): SearchResults { + return retrofit.create(SearchResults::class.java) + } + + /** + * Returns an instance of the [Tracks] which can be used + * to make API calls to the + */ + fun createTracks(): Tracks { + return retrofit.create(Tracks::class.java) + } + + /** + * Returns an instance of the [UserEntitlements] which can be used + * to make API calls to the + */ + fun createUserEntitlements(): UserEntitlements { + return retrofit.create(UserEntitlements::class.java) + } + + /** + * Returns an instance of the [UserPublicProfilePicks] which can be used + * to make API calls to the + */ + fun createUserPublicProfilePicks(): UserPublicProfilePicks { + return retrofit.create(UserPublicProfilePicks::class.java) + } + + /** + * Returns an instance of the [UserPublicProfiles] which can be used + * to make API calls to the + */ + fun createUserPublicProfiles(): UserPublicProfiles { + return retrofit.create(UserPublicProfiles::class.java) + } + + /** + * Returns an instance of the [UserRecommendations] which can be used + * to make API calls to the + */ + fun createUserRecommendations(): UserRecommendations { + return retrofit.create(UserRecommendations::class.java) + } + + /** + * Returns an instance of the [Users] which can be used + * to make API calls to the + */ + fun createUsers(): Users { + return retrofit.create(Users::class.java) + } + + /** + * Returns an instance of the [Videos] which can be used + * to make API calls to the + */ + fun createVideos(): Videos { + return retrofit.create(Videos::class.java) + } + + companion object { + const val DEFAULT_BASE_URL = "https://openapi.tidal.com/v2/" + } +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Albums.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Albums.kt new file mode 100644 index 00000000..051cc3f2 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Albums.kt @@ -0,0 +1,168 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.AlbumsItemsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.AlbumsMultiDataDocument +import com.tidal.sdk.tidalapi.generated.models.AlbumsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.AlbumsSingleDataDocument +import com.tidal.sdk.tidalapi.generated.models.ArtistsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.ProvidersRelationshipDocument +import retrofit2.Response +import retrofit2.http.* + +interface Albums { + /** + * Relationship: artists + * Retrieve artist details of the related album. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL album id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [ArtistsRelationshipDocument] + */ + @GET("albums/{id}/relationships/artists") + suspend fun getAlbumArtistsRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Get single album + * Retrieve album details by TIDAL album id. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL album id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists, items, providers, similarAlbums (optional) + * @return [AlbumsSingleDataDocument] + */ + @GET("albums/{id}") + suspend fun getAlbumById( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: items + * Retrieve album item details. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL album id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: items (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [AlbumsItemsRelationshipDocument] + */ + @GET("albums/{id}/relationships/items") + suspend fun getAlbumItemsRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: providers + * This endpoint can be used to retrieve a list of album's related providers. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL id of the album + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: providers (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [ProvidersRelationshipDocument] + */ + @GET("albums/{id}/relationships/providers") + suspend fun getAlbumProvidersRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: similar albums + * This endpoint can be used to retrieve a list of albums similar to the given album. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL id of the album + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: similarAlbums (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [AlbumsRelationshipDocument] + */ + @GET("albums/{id}/relationships/similarAlbums") + suspend fun getAlbumSimilarAlbumsRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Get multiple albums + * Retrieve multiple album details. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists, items, providers, similarAlbums (optional) + * @param filterId Allows to filter the collection of resources based on id attribute value (optional) + * @param filterBarcodeId Allows to filter the collection of resources based on barcodeId attribute value (optional) + * @return [AlbumsMultiDataDocument] + */ + @GET("albums") + suspend fun getAlbumsByFilters( + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("filter[id]") filterId: @JvmSuppressWildcards kotlin.collections.List? = + null, + @Query("filter[barcodeId]") filterBarcodeId: + @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Artists.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Artists.kt new file mode 100644 index 00000000..40f2606c --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Artists.kt @@ -0,0 +1,230 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.AlbumsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.ArtistsMultiDataDocument +import com.tidal.sdk.tidalapi.generated.models.ArtistsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.ArtistsSingleDataDocument +import com.tidal.sdk.tidalapi.generated.models.ArtistsTrackProvidersRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.TracksRelationshipsDocument +import com.tidal.sdk.tidalapi.generated.models.VideosRelationshipsDocument +import kotlinx.serialization.SerialName +import retrofit2.Response +import retrofit2.http.* + +interface Artists { + /** + * Relationship: albums + * Retrieve album details of the related artist. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL artist id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: albums (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [AlbumsRelationshipDocument] + */ + @GET("artists/{id}/relationships/albums") + suspend fun getArtistAlbumsRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Get single artist + * Retrieve artist details by TIDAL artist id. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL artist id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: albums, tracks, videos, similarArtists, trackProviders, radio (optional) + * @return [ArtistsSingleDataDocument] + */ + @GET("artists/{id}") + suspend fun getArtistById( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: radio + * This endpoint can be used to retrieve a list of radios for the given artist. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL id of the artist + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: radio (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [ArtistsRelationshipDocument] + */ + @GET("artists/{id}/relationships/radio") + suspend fun getArtistRadioRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: similar artists + * This endpoint can be used to retrieve a list of artists similar to the given artist. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL id of the artist + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: similarArtists (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [ArtistsRelationshipDocument] + */ + @GET("artists/{id}/relationships/similarArtists") + suspend fun getArtistSimilarArtistsRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: track providers + * Retrieve providers that have released tracks for this artist + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL id of the artist + * @param include Allows the client to customize which related resources should be returned. Available options: trackProviders (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [ArtistsTrackProvidersRelationshipDocument] + */ + @GET("artists/{id}/relationships/trackProviders") + suspend fun getArtistTrackProvidersRelationship( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * enum for parameter collapseBy + */ + enum class CollapseByGetArtistTracksRelationship(val value: kotlin.String) { + @SerialName(value = "FINGERPRINT") + FINGERPRINT("FINGERPRINT"), + + @SerialName(value = "NONE") + NONE("NONE"), + } + + /** + * Relationship: tracks + * Retrieve track details by related artist. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL artist id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param collapseBy Collapse by options for getting artist tracks. Available options: FINGERPRINT, ID. FINGERPRINT option might collapse similar tracks based item fingerprints while collapsing by ID always returns all available items. (optional, default to FINGERPRINT) + * @param include Allows the client to customize which related resources should be returned. Available options: tracks (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [TracksRelationshipsDocument] + */ + @GET("artists/{id}/relationships/tracks") + suspend fun getArtistTracksRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("collapseBy") collapseBy: CollapseByGetArtistTracksRelationship? = CollapseByGetArtistTracksRelationship.FINGERPRINT, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: videos + * Retrieve video details by related artist. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL artist id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: videos (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [VideosRelationshipsDocument] + */ + @GET("artists/{id}/relationships/videos") + suspend fun getArtistVideosRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Get multiple artists + * Retrieve multiple artist details. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: albums, tracks, videos, similarArtists, trackProviders, radio (optional) + * @param filterId Allows to filter the collection of resources based on id attribute value (optional) + * @return [ArtistsMultiDataDocument] + */ + @GET("artists") + suspend fun getArtistsByFilters( + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("filter[id]") filterId: @JvmSuppressWildcards kotlin.collections.List? = + null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Playlists.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Playlists.kt new file mode 100644 index 00000000..08776325 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Playlists.kt @@ -0,0 +1,131 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.PlaylistsItemsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.PlaylistsMultiDataDocument +import com.tidal.sdk.tidalapi.generated.models.PlaylistsOwnersRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.PlaylistsSingleDataDocument +import retrofit2.Response +import retrofit2.http.* + +interface Playlists { + /** + * Get current user's playlists + * Get my playlists + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 200: Playlists retrieved successfully + * + * @param include Allows the client to customize which related resources should be returned. Available options: items, owners (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [PlaylistsMultiDataDocument] + */ + @GET("playlists/me") + suspend fun getMyPlaylists( + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Get single playlist + * Get playlist by id + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 200: Playlist retrieved successfully + * + * @param id TIDAL playlist id + * @param countryCode Country code (ISO 3166-1 alpha-2) + * @param include Allows the client to customize which related resources should be returned. Available options: items, owners (optional) + * @return [PlaylistsSingleDataDocument] + */ + @GET("playlists/{id}") + suspend fun getPlaylistById( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: items + * Get playlist items + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 200: Playlist items retrieved successfully + * + * @param id TIDAL playlist id + * @param countryCode Country code (ISO 3166-1 alpha-2) + * @param include Allows the client to customize which related resources should be returned. Available options: items (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [PlaylistsItemsRelationshipDocument] + */ + @GET("playlists/{id}/relationships/items") + suspend fun getPlaylistItemsRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: owner + * Get playlist owner + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 200: Playlist owner retrieved successfully + * + * @param id TIDAL playlist id + * @param countryCode Country code (ISO 3166-1 alpha-2) + * @param include Allows the client to customize which related resources should be returned. Available options: owners (optional) + * @return [PlaylistsOwnersRelationshipDocument] + */ + @GET("playlists/{id}/relationships/owners") + suspend fun getPlaylistOwnersRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Get multiple playlists + * Get user playlists + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 200: Playlists retrieved successfully + * + * @param countryCode Country code (ISO 3166-1 alpha-2) + * @param include Allows the client to customize which related resources should be returned. Available options: items, owners (optional) + * @param filterId public.usercontent.getPlaylists.ids.descr (optional) + * @return [PlaylistsMultiDataDocument] + */ + @GET("playlists") + suspend fun getPlaylistsByFilters( + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("filter[id]") filterId: @JvmSuppressWildcards kotlin.collections.List? = + null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Providers.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Providers.kt new file mode 100644 index 00000000..32260521 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Providers.kt @@ -0,0 +1,53 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.ProvidersMultiDataDocument +import com.tidal.sdk.tidalapi.generated.models.ProvidersSingleDataDocument +import retrofit2.Response +import retrofit2.http.* + +interface Providers { + /** + * Get single provider + * Retrieve provider details by TIDAL provider id. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL provider id + * @param include Allows the client to customize which related resources should be returned (optional) + * @return [ProvidersSingleDataDocument] + */ + @GET("providers/{id}") + suspend fun getProviderById( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Get multiple providers + * Retrieve multiple provider details. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param include Allows the client to customize which related resources should be returned (optional) + * @param filterId provider id (optional) + * @return [ProvidersMultiDataDocument] + */ + @GET("providers") + suspend fun getProvidersByFilters( + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("filter[id]") filterId: @JvmSuppressWildcards kotlin.collections.List? = + null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/SearchResults.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/SearchResults.kt new file mode 100644 index 00000000..a88f4d3d --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/SearchResults.kt @@ -0,0 +1,193 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.AlbumsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.ArtistsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.PlaylistsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.SearchResultsSingleDataDocument +import com.tidal.sdk.tidalapi.generated.models.SearchResultsTopHitsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.TracksRelationshipsDocument +import com.tidal.sdk.tidalapi.generated.models.VideosRelationshipsDocument +import retrofit2.Response +import retrofit2.http.* + +interface SearchResults { + /** + * Relationship: albums + * Search for albums by a query. + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param query Search query + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: albums (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [AlbumsRelationshipDocument] + */ + @GET("searchresults/{query}/relationships/albums") + suspend fun getSearchResultsAlbumsRelationship( + @Path("query") query: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: artists + * Search for artists by a query. + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param query Search query + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [ArtistsRelationshipDocument] + */ + @GET("searchresults/{query}/relationships/artists") + suspend fun getSearchResultsArtistsRelationship( + @Path("query") query: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Search for music metadata by a query + * Search for music: albums, artists, tracks, etc. + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param query Search query + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists, albums, tracks, videos, playlists, topHits (optional) + * @return [SearchResultsSingleDataDocument] + */ + @GET("searchresults/{query}") + suspend fun getSearchResultsByQuery( + @Path("query") query: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: playlists + * Search for playlists by a query. + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param query Searh query + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: playlists (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [PlaylistsRelationshipDocument] + */ + @GET("searchresults/{query}/relationships/playlists") + suspend fun getSearchResultsPlaylistsRelationship( + @Path("query") query: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: topHits + * Search for top hits by a query: artists, albums, tracks, videos. + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param query Search query + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: topHits (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [SearchResultsTopHitsRelationshipDocument] + */ + @GET("searchresults/{query}/relationships/topHits") + suspend fun getSearchResultsTopHitsRelationship( + @Path("query") query: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: tracks + * Search for tracks by a query. + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param query Search query + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: tracks (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [TracksRelationshipsDocument] + */ + @GET("searchresults/{query}/relationships/tracks") + suspend fun getSearchResultsTracksRelationship( + @Path("query") query: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: videos + * Search for videos by a query. + * Responses: + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param query Search query + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: videos (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [VideosRelationshipsDocument] + */ + @GET("searchresults/{query}/relationships/videos") + suspend fun getSearchResultsVideosRelationship( + @Path("query") query: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Tracks.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Tracks.kt new file mode 100644 index 00000000..8d82739a --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Tracks.kt @@ -0,0 +1,194 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.AlbumsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.ArtistsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.ProvidersRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.TracksMultiDataDocument +import com.tidal.sdk.tidalapi.generated.models.TracksRelationshipsDocument +import com.tidal.sdk.tidalapi.generated.models.TracksSingleDataDocument +import retrofit2.Response +import retrofit2.http.* + +interface Tracks { + /** + * Relationship: albums + * Retrieve album details of the related track. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL track id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: albums (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [AlbumsRelationshipDocument] + */ + @GET("tracks/{id}/relationships/albums") + suspend fun getTrackAlbumsRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: artists + * Retrieve artist details of the related track. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL track id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [ArtistsRelationshipDocument] + */ + @GET("tracks/{id}/relationships/artists") + suspend fun getTrackArtistsRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Get single track + * Retrieve track details by TIDAL track id. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL track id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists, albums, providers, similarTracks, radio (optional) + * @return [TracksSingleDataDocument] + */ + @GET("tracks/{id}") + suspend fun getTrackById( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: providers + * This endpoint can be used to retrieve a list of track's related providers. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL id of the track + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: providers (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [ProvidersRelationshipDocument] + */ + @GET("tracks/{id}/relationships/providers") + suspend fun getTrackProvidersRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: radio + * This endpoint can be used to retrieve a list of radios for the given track. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL id of the track + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: radio (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [TracksRelationshipsDocument] + */ + @GET("tracks/{id}/relationships/radio") + suspend fun getTrackRadioRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: similar tracks + * This endpoint can be used to retrieve a list of tracks similar to the given track. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL id of the track + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: similarTracks (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [TracksRelationshipsDocument] + */ + @GET("tracks/{id}/relationships/similarTracks") + suspend fun getTrackSimilarTracksRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Get multiple tracks + * Retrieve multiple track details. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists, albums, providers, similarTracks, radio (optional) + * @param filterId Allows to filter the collection of resources based on id attribute value (optional) + * @param filterIsrc Allows to filter the collection of resources based on isrc attribute value (optional) + * @return [TracksMultiDataDocument] + */ + @GET("tracks") + suspend fun getTracksByFilters( + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("filter[id]") filterId: @JvmSuppressWildcards kotlin.collections.List? = + null, + @Query("filter[isrc]") filterIsrc: + @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserEntitlements.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserEntitlements.kt new file mode 100644 index 00000000..4bd5b932 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserEntitlements.kt @@ -0,0 +1,49 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.UserEntitlementsSingleDataDocument +import retrofit2.Response +import retrofit2.http.* + +interface UserEntitlements { + /** + * Get the current users entitlements + * Get the current users entitlements + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param include Allows the client to customize which related resources should be returned (optional) + * @return [UserEntitlementsSingleDataDocument] + */ + @GET("userEntitlements/me") + suspend fun getMyUserEntitlements( + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Get user entitlements for user + * Get user entitlements for user + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id User entitlements id + * @param include Allows the client to customize which related resources should be returned (optional) + * @return [UserEntitlementsSingleDataDocument] + */ + @GET("userEntitlements/{id}") + suspend fun getUserEntitlementsById( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserPublicProfilePicks.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserPublicProfilePicks.kt new file mode 100644 index 00000000..d6b121bb --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserPublicProfilePicks.kt @@ -0,0 +1,131 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.UpdateUserPublicProfilePicksRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilePicksItemRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilePicksMultiDataDocument +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesRelationshipDocument +import retrofit2.Response +import retrofit2.http.* + +interface UserPublicProfilePicks { + /** + * Get my picks + * Retrieves picks for the logged-in user. + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param locale Locale language tag (IETF BCP 47 Language Tag) + * @param include Allows the client to customize which related resources should be returned. Available options: item, userPublicProfile (optional) + * @return [UserPublicProfilePicksMultiDataDocument] + */ + @GET("userPublicProfilePicks/me") + suspend fun getMyUserPublicProfilePicks( + @Query("locale") locale: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: item (read) + * Retrieves a picks item relationship + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id TIDAL pick id + * @param locale Locale language tag (IETF BCP 47 Language Tag) + * @param include Allows the client to customize which related resources should be returned. Available options: item (optional) + * @return [UserPublicProfilePicksItemRelationshipDocument] + */ + @GET("userPublicProfilePicks/{id}/relationships/item") + suspend fun getUserPublicProfilePickItemRelationship( + @Path("id") id: kotlin.String, + @Query("locale") locale: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: user public profile + * Retrieves a picks owner public profile + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id TIDAL pick id + * @param include Allows the client to customize which related resources should be returned. Available options: userPublicProfile (optional) + * @return [UserPublicProfilesRelationshipDocument] + */ + @GET("userPublicProfilePicks/{id}/relationships/userPublicProfile") + suspend fun getUserPublicProfilePickUserPublicProfileRelationship( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Get picks + * Retrieves a filtered collection of user's public picks. + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param locale Locale language tag (IETF BCP 47 Language Tag) + * @param include Allows the client to customize which related resources should be returned. Available options: item, userPublicProfile (optional) + * @param filterId Allows to filter the collection of resources based on id attribute value (optional) + * @param filterUserPublicProfileId Allows to filter the collection of resources based on userPublicProfile.id attribute value (optional) + * @return [UserPublicProfilePicksMultiDataDocument] + */ + @GET("userPublicProfilePicks") + suspend fun getUserPublicProfilePicksByFilters( + @Query("locale") locale: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("filter[id]") filterId: @JvmSuppressWildcards kotlin.collections.List? = + null, + @Query("filter[userPublicProfile.id]") filterUserPublicProfileId: + @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: item (update) + * Updates a picks item relationship, e.g. sets a 'track', 'album' or 'artist' reference. + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 202: Successfully executed request. + * + * @param id TIDAL pick id + * @param updateUserPublicProfilePicksRelationshipDocument + * @param include Allows the client to customize which related resources should be returned (optional) + * @return [kotlin.Any] + */ + @PATCH("userPublicProfilePicks/{id}/relationships/item") + suspend fun setUserPublicProfilePickItemRelationship( + @Path("id") id: kotlin.String, + @Body updateUserPublicProfilePicksRelationshipDocument: + UpdateUserPublicProfilePicksRelationshipDocument, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserPublicProfiles.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserPublicProfiles.kt new file mode 100644 index 00000000..e4b2162a --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserPublicProfiles.kt @@ -0,0 +1,178 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.PlaylistsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilePicksRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesMultiDataDocument +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesSingleDataDocument +import com.tidal.sdk.tidalapi.generated.models.UsersRelationshipDocument +import retrofit2.Response +import retrofit2.http.* + +interface UserPublicProfiles { + /** + * Get my user profile + * Retrieve the logged-in user's public profile details. + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: User profile retrieved successfully + * + * @param locale Locale language tag (IETF BCP 47 Language Tag) + * @param include Allows the client to customize which related resources should be returned. Available options: publicPlaylists, publicPicks, followers, following (optional) + * @return [UserPublicProfilesSingleDataDocument] + */ + @GET("userPublicProfiles/me") + suspend fun getMyUserPublicProfile( + @Query("locale") locale: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Get user public profile by id + * Retrieve user public profile details by TIDAL user id. + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: User profile retrieved successfully + * + * @param id TIDAL user id + * @param locale Locale language tag (IETF BCP 47 Language Tag) + * @param include Allows the client to customize which related resources should be returned. Available options: publicPlaylists, publicPicks, followers, following (optional) + * @return [UserPublicProfilesSingleDataDocument] + */ + @GET("userPublicProfiles/{id}") + suspend fun getUserPublicProfileById( + @Path("id") id: kotlin.String, + @Query("locale") locale: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: followers + * Retrieve user's public followers + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Public followers retrieved successfully + * + * @param id TIDAL user id + * @param include Allows the client to customize which related resources should be returned. Available options: followers (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [UsersRelationshipDocument] + */ + @GET("userPublicProfiles/{id}/relationships/followers") + suspend fun getUserPublicProfileFollowersRelationship( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: following + * Retrieve user's public followings + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Public following retrieved successfully + * + * @param id TIDAL user id + * @param include Allows the client to customize which related resources should be returned. Available options: following (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [UsersRelationshipDocument] + */ + @GET("userPublicProfiles/{id}/relationships/following") + suspend fun getUserPublicProfileFollowingRelationship( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: picks + * Retrieve user's public picks. + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Public picks retrieved successfully + * + * @param id TIDAL user id + * @param locale Locale language tag (IETF BCP 47 Language Tag) + * @param include Allows the client to customize which related resources should be returned. Available options: publicPicks (optional) + * @return [UserPublicProfilePicksRelationshipDocument] + */ + @GET("userPublicProfiles/{id}/relationships/publicPicks") + suspend fun getUserPublicProfilePublicPicksRelationship( + @Path("id") id: kotlin.String, + @Query("locale") locale: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: playlists + * Retrieves user's public playlists. + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Public playlists retrieved successfully + * + * @param id TIDAL user id + * @param include Allows the client to customize which related resources should be returned. Available options: publicPlaylists (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [PlaylistsRelationshipDocument] + */ + @GET("userPublicProfiles/{id}/relationships/publicPlaylists") + suspend fun getUserPublicProfilePublicPlaylistsRelationship( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Get user public profiles + * Reads user public profile details by TIDAL user ids. + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: User profile retrieved successfully + * + * @param locale Locale language tag (IETF BCP 47 Language Tag) + * @param include Allows the client to customize which related resources should be returned. Available options: publicPlaylists, publicPicks, followers, following (optional) + * @param filterId TIDAL user id (optional) + * @return [UserPublicProfilesMultiDataDocument] + */ + @GET("userPublicProfiles") + suspend fun getUserPublicProfilesByFilters( + @Query("locale") locale: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("filter[id]") filterId: @JvmSuppressWildcards kotlin.collections.List? = + null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserRecommendations.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserRecommendations.kt new file mode 100644 index 00000000..b90ff7eb --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/UserRecommendations.kt @@ -0,0 +1,146 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.PlaylistsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.UserRecommendationsMultiDataDocument +import com.tidal.sdk.tidalapi.generated.models.UserRecommendationsSingleDataDocument +import retrofit2.Response +import retrofit2.http.* + +interface UserRecommendations { + /** + * Get the current users recommendations + * Get the current users recommendations + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param include Allows the client to customize which related resources should be returned. Available options: myMixes, discoveryMixes, newArrivalMixes (optional) + * @return [UserRecommendationsSingleDataDocument] + */ + @GET("userRecommendations/me") + suspend fun getMyUserRecommendations( + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Get recommendations for users in batch + * Get recommendations for users in batch + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param include Allows the client to customize which related resources should be returned. Available options: myMixes, discoveryMixes, newArrivalMixes (optional) + * @param filterId User recommendations id (optional) + * @return [UserRecommendationsMultiDataDocument] + */ + @GET("userRecommendations") + suspend fun getUserRecommendationsByFilters( + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("filter[id]") filterId: @JvmSuppressWildcards kotlin.collections.List? = + null, + ): Response + + /** + * Get user recommendations for user + * Get user recommendations for user + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id User recommendations id + * @param include Allows the client to customize which related resources should be returned. Available options: myMixes, discoveryMixes, newArrivalMixes (optional) + * @return [UserRecommendationsSingleDataDocument] + */ + @GET("userRecommendations/{id}") + suspend fun getUserRecommendationsById( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: discovery mixes + * Get discovery mixes relationship + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id User recommendations id + * @param include Allows the client to customize which related resources should be returned. Available options: discoveryMixes (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [PlaylistsRelationshipDocument] + */ + @GET("userRecommendations/{id}/relationships/discoveryMixes") + suspend fun getUserRecommendationsDiscoveryMixesRelationship( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: my mixes + * Get my mixes relationship + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id User recommendations id + * @param include Allows the client to customize which related resources should be returned. Available options: myMixes (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [PlaylistsRelationshipDocument] + */ + @GET("userRecommendations/{id}/relationships/myMixes") + suspend fun getUserRecommendationsMyMixesRelationship( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: new arrivals mixes + * Get new arrival mixes relationship + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id User recommendations id + * @param include Allows the client to customize which related resources should be returned. Available options: newArrivalMixes (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [PlaylistsRelationshipDocument] + */ + @GET("userRecommendations/{id}/relationships/newArrivalMixes") + suspend fun getUserRecommendationsNewArrivalMixesRelationship( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Users.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Users.kt new file mode 100644 index 00000000..3d3a546e --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Users.kt @@ -0,0 +1,144 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.UserEntitlementsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.UsersMultiDataDocument +import com.tidal.sdk.tidalapi.generated.models.UsersRecommendationsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.UsersSingleDataDocument +import retrofit2.Response +import retrofit2.http.* + +interface Users { + /** + * Get the current user + * Get the current user + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param include Allows the client to customize which related resources should be returned. Available options: entitlements, publicProfile, recommendations (optional) + * @return [UsersSingleDataDocument] + */ + @GET("users/me") + suspend fun getMyUser( + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Get a single user by id + * Get a single user by id + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id User Id + * @param include Allows the client to customize which related resources should be returned. Available options: entitlements, publicProfile, recommendations (optional) + * @return [UsersSingleDataDocument] + */ + @GET("users/{id}") + suspend fun getUserById( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: entitlements + * Get user entitlements relationship + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id User Id + * @param include Allows the client to customize which related resources should be returned. Available options: entitlements (optional) + * @return [UserEntitlementsRelationshipDocument] + */ + @GET("users/{id}/relationships/entitlements") + suspend fun getUserEntitlementsRelationship( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: public profile + * Get user public profile + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id User Id + * @param locale Locale language tag (IETF BCP 47 Language Tag) + * @param include Allows the client to customize which related resources should be returned. Available options: publicProfile (optional) + * @return [UserPublicProfilesRelationshipDocument] + */ + @GET("users/{id}/relationships/publicProfile") + suspend fun getUserPublicProfileRelationship( + @Path("id") id: kotlin.String, + @Query("locale") locale: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: user recommendations + * Get user recommendations + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param id User Id + * @param include Allows the client to customize which related resources should be returned. Available options: recommendations (optional) + * @return [UsersRecommendationsRelationshipDocument] + */ + @GET("users/{id}/relationships/recommendations") + suspend fun getUserRecommendationsRelationship( + @Path("id") id: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Get multiple users by id + * Get multiple users by id + * Responses: + * - 500: Internal Server Error. Something went wrong on the server party. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 200: Successfully executed request. + * + * @param include Allows the client to customize which related resources should be returned. Available options: entitlements, publicProfile, recommendations (optional) + * @param filterId Allows to filter the collection of resources based on id attribute value (optional) + * @return [UsersMultiDataDocument] + */ + @GET("users") + suspend fun getUsersByFilters( + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("filter[id]") filterId: @JvmSuppressWildcards kotlin.collections.List? = + null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Videos.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Videos.kt new file mode 100644 index 00000000..7629f9c8 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/apis/Videos.kt @@ -0,0 +1,141 @@ +package com.tidal.sdk.tidalapi.generated.apis + +import com.tidal.sdk.tidalapi.generated.models.AlbumsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.ArtistsRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.ProvidersRelationshipDocument +import com.tidal.sdk.tidalapi.generated.models.VideosMultiDataDocument +import com.tidal.sdk.tidalapi.generated.models.VideosSingleDataDocument +import retrofit2.Response +import retrofit2.http.* + +interface Videos { + /** + * Relationship: albums + * Retrieve album details of the related video. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL video id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: albums (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [AlbumsRelationshipDocument] + */ + @GET("videos/{id}/relationships/albums") + suspend fun getVideoAlbumsRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Relationship: artists + * Retrieve artist details of the related video. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL video id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [ArtistsRelationshipDocument] + */ + @GET("videos/{id}/relationships/artists") + suspend fun getVideoArtistsRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Get single video + * Retrieve video details by TIDAL video id. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL video id + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists, albums, providers (optional) + * @return [VideosSingleDataDocument] + */ + @GET("videos/{id}") + suspend fun getVideoById( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response + + /** + * Relationship: providers + * This endpoint can be used to retrieve a list of video's related providers. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param id TIDAL id of the video + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: providers (optional) + * @param pageCursor Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified (optional) + * @return [ProvidersRelationshipDocument] + */ + @GET("videos/{id}/relationships/providers") + suspend fun getVideoProvidersRelationship( + @Path("id") id: kotlin.String, + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("page[cursor]") pageCursor: kotlin.String? = null, + ): Response + + /** + * Get multiple videos + * Retrieve multiple video details. + * Responses: + * - 406: Not acceptable. The server doesn't support any of the requested by client acceptable content types. + * - 415: Unsupported Media Type. The API is using content negotiation. Ensure the proper media type is set into Content-Type header. + * - 404: Resource not found. The requested resource is not found. + * - 500: Internal Server Error. Something went wrong on the server party. + * - 400: Bad request on client party. Ensure the proper HTTP request is sent (query parameters, request body, etc.). + * - 405: Method not supported. Ensure a proper HTTP method for an HTTP request is used. + * - 200: Successfully executed request. + * + * @param countryCode ISO 3166-1 alpha-2 country code + * @param include Allows the client to customize which related resources should be returned. Available options: artists, albums, providers (optional) + * @param filterId Allows to filter the collection of resources based on id attribute value (optional) + * @param filterIsrc Allows to filter the collection of resources based on isrc attribute value (optional) + * @return [VideosMultiDataDocument] + */ + @GET("videos") + suspend fun getVideosByFilters( + @Query("countryCode") countryCode: kotlin.String, + @Query("include") include: @JvmSuppressWildcards kotlin.collections.List? = null, + @Query("filter[id]") filterId: @JvmSuppressWildcards kotlin.collections.List? = + null, + @Query("filter[isrc]") filterIsrc: + @JvmSuppressWildcards kotlin.collections.List? = null, + ): Response +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsAttributes.kt new file mode 100644 index 00000000..e47ef374 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsAttributes.kt @@ -0,0 +1,116 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param title Original title + * @param barcodeId Barcode id (EAN-13 or UPC-A) + * @param numberOfVolumes Number of volumes + * @param numberOfItems Number of album items + * @param duration Duration (ISO-8601) + * @param explicit Indicates whether an album consist of any explicit content + * @param popularity Album popularity (ranged in 0.00 ... 1.00). Conditionally visible + * @param mediaTags + * @param releaseDate Release date (ISO-8601) + * @param copyright Copyright information + * @param availability Defines an album availability e.g. for streaming, DJs, stems + * @param imageLinks Represents available links to, and metadata about, an album cover images + * @param videoLinks Represents available links to, and metadata about, an album cover videos + * @param externalLinks Represents available links to something that is related to an album resource, but external to the TIDAL API + */ + +@Serializable +data class AlbumsAttributes( + + // Original title + + @SerialName(value = "title") + val title: kotlin.String, + // Barcode id (EAN-13 or UPC-A) + + @SerialName(value = "barcodeId") + val barcodeId: kotlin.String, + // Number of volumes + + @SerialName(value = "numberOfVolumes") + val numberOfVolumes: kotlin.Int, + // Number of album items + + @SerialName(value = "numberOfItems") + val numberOfItems: kotlin.Int, + // Duration (ISO-8601) + + @SerialName(value = "duration") + val duration: kotlin.String, + // Indicates whether an album consist of any explicit content + + @SerialName(value = "explicit") + val explicit: kotlin.Boolean, + // Album popularity (ranged in 0.00 ... 1.00). Conditionally visible + + @SerialName(value = "popularity") + val popularity: kotlin.Double, + + @SerialName(value = "mediaTags") + val mediaTags: kotlin.collections.List, + // Release date (ISO-8601) + + @SerialName(value = "releaseDate") + val releaseDate: kotlin.String? = null, + // Copyright information + + @SerialName(value = "copyright") + val copyright: kotlin.String? = null, + // Defines an album availability e.g. for streaming, DJs, stems + + @SerialName(value = "availability") + val availability: kotlin.collections.List? = null, + // Represents available links to, and metadata about, an album cover images + + @SerialName(value = "imageLinks") + val imageLinks: kotlin.collections.List? = null, + // Represents available links to, and metadata about, an album cover videos + + @SerialName(value = "videoLinks") + val videoLinks: kotlin.collections.List? = null, + // Represents available links to something that is related to an album resource, but external to the TIDAL API + + @SerialName(value = "externalLinks") + val externalLinks: kotlin.collections.List? = null, +) { + + /** + * Defines an album availability e.g. for streaming, DJs, stems + * + * Values: STREAM,DJ,STEM + */ + @Serializable + enum class Availability(val value: kotlin.String) { + @SerialName(value = "STREAM") + STREAM("STREAM"), + + @SerialName(value = "DJ") + DJ("DJ"), + + @SerialName(value = "STEM") + STEM("STEM"), + } +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemResourceIdentifier.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemResourceIdentifier.kt new file mode 100644 index 00000000..5880a24c --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemResourceIdentifier.kt @@ -0,0 +1,43 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param meta + */ + +@Serializable +data class AlbumsItemResourceIdentifier( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + + @SerialName(value = "type") + val type: kotlin.String, + + @SerialName(value = "meta") + val meta: AlbumsItemResourceIdentifierMeta? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemResourceIdentifierMeta.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemResourceIdentifierMeta.kt new file mode 100644 index 00000000..c3f9cd5a --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemResourceIdentifierMeta.kt @@ -0,0 +1,39 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param volumeNumber volume number + * @param trackNumber track number + */ + +@Serializable +data class AlbumsItemResourceIdentifierMeta( + + // volume number + + @SerialName(value = "volumeNumber") + val volumeNumber: kotlin.Int, + // track number + + @SerialName(value = "trackNumber") + val trackNumber: kotlin.Int, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationship.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationship.kt new file mode 100644 index 00000000..2e4d6107 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationship.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.Contextual +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Album items (tracks/videos) relationship + * + * @param `data` + * @param links + */ + +@Serializable +data class AlbumsItemsRelationship( + + @SerialName(value = "data") + val `data`: + kotlin.collections.List<@Contextual kotlin.collections.List>? = null, + + @SerialName(value = "links") + val links: Links? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationshipDocument.kt new file mode 100644 index 00000000..b3a077ad --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationshipDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.Contextual +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class AlbumsItemsRelationshipDocument( + + @SerialName(value = "data") + val `data`: + kotlin.collections.List<@Contextual kotlin.collections.List>? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..8b40940a --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsItemsRelationshipDocumentIncludedInner.kt @@ -0,0 +1,46 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsAttributes +import com.tidal.sdk.tidalapi.generated.models.PlaylistsRelationships +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface AlbumsItemsRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsMultiDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsMultiDataDocument.kt new file mode 100644 index 00000000..cc3fed30 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsMultiDataDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of primary resource data + * @param links + * @param included + */ + +@Serializable +data class AlbumsMultiDataDocument( + + // array of primary resource data + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsMultiDataDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsMultiDataDocumentIncludedInner.kt new file mode 100644 index 00000000..e95cd415 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsMultiDataDocumentIncludedInner.kt @@ -0,0 +1,46 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsAttributes +import com.tidal.sdk.tidalapi.generated.models.PlaylistsRelationships +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface AlbumsMultiDataDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationshipDocument.kt new file mode 100644 index 00000000..121cef08 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationshipDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class AlbumsRelationshipDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..19936eb0 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationshipDocumentIncludedInner.kt @@ -0,0 +1,45 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.VideosAttributes +import com.tidal.sdk.tidalapi.generated.models.VideosRelationships +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface AlbumsRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationships.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationships.kt new file mode 100644 index 00000000..31f177b8 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsRelationships.kt @@ -0,0 +1,44 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * relationships object describing relationships between the resource and other resources + * + * @param artists + * @param items + * @param similarAlbums + * @param providers + */ + +@Serializable +data class AlbumsRelationships( + + @SerialName(value = "artists") + val artists: MultiDataRelationshipDoc, + + @SerialName(value = "items") + val items: AlbumsItemsRelationship, + + @SerialName(value = "similarAlbums") + val similarAlbums: MultiDataRelationshipDoc, + + @SerialName(value = "providers") + val providers: MultiDataRelationshipDoc, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsResource.kt new file mode 100644 index 00000000..e0fc6531 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsResource.kt @@ -0,0 +1,53 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ + +@Serializable +@SerialName(value = "albums") +data class AlbumsResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + + @SerialName(value = "attributes") + val attributes: AlbumsAttributes? = null, + + @SerialName(value = "relationships") + val relationships: AlbumsRelationships? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : AlbumsMultiDataDocumentIncludedInner, TracksRelationshipsDocumentIncludedInner, AlbumsRelationshipDocumentIncludedInner, PlaylistsMultiDataDocumentIncludedInner, ArtistsRelationshipDocumentIncludedInner, AlbumsItemsRelationshipDocumentIncludedInner, ArtistsMultiDataDocumentIncludedInner, VideosRelationshipsDocumentIncludedInner, UserPublicProfilePicksMultiDataDocumentIncludedInner, SearchResultsTopHitsRelationshipDocumentIncludedInner, PlaylistsOwnersRelationshipDocumentIncludedInner, VideosMultiDataDocumentIncludedInner, UserPublicProfilePicksItemRelationshipDocumentIncludedInner, TracksMultiDataDocumentIncludedInner, UserPublicProfilesMultiDataDocumentIncludedInner, UserPublicProfilePicksRelationshipDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsSingleDataDocument.kt new file mode 100644 index 00000000..0f62f062 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/AlbumsSingleDataDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class AlbumsSingleDataDocument( + + @SerialName(value = "data") + val `data`: AlbumsResource? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsAttributes.kt new file mode 100644 index 00000000..5a04ef99 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsAttributes.kt @@ -0,0 +1,49 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param name Artist name + * @param popularity Artist popularity (ranged in 0.00 ... 1.00). Conditionally visible + * @param imageLinks Represents available links to, and metadata about, an artist images + * @param externalLinks Represents available links to something that is related to an artist resource, but external to the TIDAL API + */ + +@Serializable +data class ArtistsAttributes( + + // Artist name + + @SerialName(value = "name") + val name: kotlin.String, + // Artist popularity (ranged in 0.00 ... 1.00). Conditionally visible + + @SerialName(value = "popularity") + val popularity: kotlin.Double, + // Represents available links to, and metadata about, an artist images + + @SerialName(value = "imageLinks") + val imageLinks: kotlin.collections.List? = null, + // Represents available links to something that is related to an artist resource, but external to the TIDAL API + + @SerialName(value = "externalLinks") + val externalLinks: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsMultiDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsMultiDataDocument.kt new file mode 100644 index 00000000..215664d5 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsMultiDataDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of primary resource data + * @param links + * @param included + */ + +@Serializable +data class ArtistsMultiDataDocument( + + // array of primary resource data + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsMultiDataDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsMultiDataDocumentIncludedInner.kt new file mode 100644 index 00000000..5b79294f --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsMultiDataDocumentIncludedInner.kt @@ -0,0 +1,47 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.UsersAttributes +import com.tidal.sdk.tidalapi.generated.models.UsersRelationships +import com.tidal.sdk.tidalapi.generated.models.UsersResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface ArtistsMultiDataDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationshipDocument.kt new file mode 100644 index 00000000..a5460b8c --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationshipDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class ArtistsRelationshipDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..c31ed6a0 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationshipDocumentIncludedInner.kt @@ -0,0 +1,46 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsAttributes +import com.tidal.sdk.tidalapi.generated.models.PlaylistsRelationships +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface ArtistsRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationships.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationships.kt new file mode 100644 index 00000000..23f89e7c --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsRelationships.kt @@ -0,0 +1,52 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * relationships object describing relationships between the resource and other resources + * + * @param albums + * @param tracks + * @param videos + * @param similarArtists + * @param trackProviders + * @param radio + */ + +@Serializable +data class ArtistsRelationships( + + @SerialName(value = "albums") + val albums: MultiDataRelationshipDoc, + + @SerialName(value = "tracks") + val tracks: MultiDataRelationshipDoc, + + @SerialName(value = "videos") + val videos: MultiDataRelationshipDoc, + + @SerialName(value = "similarArtists") + val similarArtists: MultiDataRelationshipDoc, + + @SerialName(value = "trackProviders") + val trackProviders: ArtistsTrackProvidersRelationship, + + @SerialName(value = "radio") + val radio: MultiDataRelationshipDoc, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsResource.kt new file mode 100644 index 00000000..e69f785d --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsResource.kt @@ -0,0 +1,53 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ + +@Serializable +@SerialName(value = "artists") +data class ArtistsResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + + @SerialName(value = "attributes") + val attributes: ArtistsAttributes? = null, + + @SerialName(value = "relationships") + val relationships: ArtistsRelationships? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : AlbumsMultiDataDocumentIncludedInner, TracksRelationshipsDocumentIncludedInner, AlbumsRelationshipDocumentIncludedInner, PlaylistsMultiDataDocumentIncludedInner, ArtistsRelationshipDocumentIncludedInner, AlbumsItemsRelationshipDocumentIncludedInner, ArtistsMultiDataDocumentIncludedInner, VideosRelationshipsDocumentIncludedInner, UserPublicProfilePicksMultiDataDocumentIncludedInner, SearchResultsTopHitsRelationshipDocumentIncludedInner, PlaylistsOwnersRelationshipDocumentIncludedInner, VideosMultiDataDocumentIncludedInner, UserPublicProfilePicksItemRelationshipDocumentIncludedInner, TracksMultiDataDocumentIncludedInner, UserPublicProfilesMultiDataDocumentIncludedInner, UserPublicProfilePicksRelationshipDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsSingleDataDocument.kt new file mode 100644 index 00000000..107d0fb8 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsSingleDataDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class ArtistsSingleDataDocument( + + @SerialName(value = "data") + val `data`: ArtistsResource? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersRelationship.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersRelationship.kt new file mode 100644 index 00000000..1f712a7f --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersRelationship.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.Contextual +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Providers that have released tracks for this artist + * + * @param `data` + * @param links + */ + +@Serializable +data class ArtistsTrackProvidersRelationship( + + @SerialName(value = "data") + val `data`: + kotlin.collections.List<@Contextual kotlin.collections.List>? = null, + + @SerialName(value = "links") + val links: Links? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersRelationshipDocument.kt new file mode 100644 index 00000000..c9ff259d --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersRelationshipDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.Contextual +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class ArtistsTrackProvidersRelationshipDocument( + + @SerialName(value = "data") + val `data`: + kotlin.collections.List<@Contextual kotlin.collections.List>? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersResourceIdentifier.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersResourceIdentifier.kt new file mode 100644 index 00000000..bc245d1f --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersResourceIdentifier.kt @@ -0,0 +1,43 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param meta + */ + +@Serializable +data class ArtistsTrackProvidersResourceIdentifier( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + + @SerialName(value = "type") + val type: kotlin.String, + + @SerialName(value = "meta") + val meta: ArtistsTrackProvidersResourceIdentifierMeta? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersResourceIdentifierMeta.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersResourceIdentifierMeta.kt new file mode 100644 index 00000000..be0a0526 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ArtistsTrackProvidersResourceIdentifierMeta.kt @@ -0,0 +1,34 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param numberOfTracks total number of tracks released together with the provider + */ + +@Serializable +data class ArtistsTrackProvidersResourceIdentifierMeta( + + // total number of tracks released together with the provider + + @SerialName(value = "numberOfTracks") + val numberOfTracks: kotlin.Long, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemExternalLink.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemExternalLink.kt new file mode 100644 index 00000000..918ffd7c --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemExternalLink.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param href link to something that is related to a resource + * @param meta + */ + +@Serializable +data class CatalogueItemExternalLink( + + // link to something that is related to a resource + + @SerialName(value = "href") + val href: kotlin.String, + + @SerialName(value = "meta") + val meta: ExternalLinkMeta, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemImageLink.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemImageLink.kt new file mode 100644 index 00000000..dafd42ac --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemImageLink.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param href link to an image + * @param meta + */ + +@Serializable +data class CatalogueItemImageLink( + + // link to an image + + @SerialName(value = "href") + val href: kotlin.String, + + @SerialName(value = "meta") + val meta: ImageLinkMeta, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemVideoLink.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemVideoLink.kt new file mode 100644 index 00000000..9de45194 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/CatalogueItemVideoLink.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param href link to a video + * @param meta + */ + +@Serializable +data class CatalogueItemVideoLink( + + // link to a video + + @SerialName(value = "href") + val href: kotlin.String, + + @SerialName(value = "meta") + val meta: VideoLinkMeta, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorDocument.kt new file mode 100644 index 00000000..d2a9b612 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorDocument.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param errors array of error objects + * @param links + */ + +@Serializable +data class ErrorDocument( + + // array of error objects + + @SerialName(value = "errors") + val errors: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorObject.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorObject.kt new file mode 100644 index 00000000..26b29d88 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorObject.kt @@ -0,0 +1,53 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param id unique identifier for this particular occurrence of the problem + * @param status HTTP status code applicable to this problem + * @param code application-specific error code + * @param detail human-readable explanation specific to this occurrence of the problem + * @param source + */ + +@Serializable +data class ErrorObject( + + // unique identifier for this particular occurrence of the problem + + @SerialName(value = "id") + val id: kotlin.String? = null, + // HTTP status code applicable to this problem + + @SerialName(value = "status") + val status: kotlin.String? = null, + // application-specific error code + + @SerialName(value = "code") + val code: kotlin.String? = null, + // human-readable explanation specific to this occurrence of the problem + + @SerialName(value = "detail") + val detail: kotlin.String? = null, + + @SerialName(value = "source") + val source: ErrorObjectSource? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorObjectSource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorObjectSource.kt new file mode 100644 index 00000000..a5ad771b --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ErrorObjectSource.kt @@ -0,0 +1,44 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * object containing references to the primary source of the error + * + * @param pointer a JSON Pointer [RFC6901] to the value in the request document that caused the error + * @param parameter string indicating which URI query parameter caused the error. + * @param header string indicating the name of a single request header which caused the error + */ + +@Serializable +data class ErrorObjectSource( + + // a JSON Pointer [RFC6901] to the value in the request document that caused the error + + @SerialName(value = "pointer") + val pointer: kotlin.String? = null, + // string indicating which URI query parameter caused the error. + + @SerialName(value = "parameter") + val parameter: kotlin.String? = null, + // string indicating the name of a single request header which caused the error + + @SerialName(value = "header") + val header: kotlin.String? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ExternalLinkMeta.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ExternalLinkMeta.kt new file mode 100644 index 00000000..e2ca3eb6 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ExternalLinkMeta.kt @@ -0,0 +1,73 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * metadata about an external link + * + * @param type external link type + */ + +@Serializable +data class ExternalLinkMeta( + + // external link type + + @SerialName(value = "type") + val type: ExternalLinkMeta.Type, +) { + + /** + * external link type + * + * Values: TIDAL_SHARING,TIDAL_AUTOPLAY_ANDROID,TIDAL_AUTOPLAY_IOS,TIDAL_AUTOPLAY_WEB,TWITTER,FACEBOOK,INSTAGRAM,TIKTOK,SNAPCHAT,HOMEPAGE + */ + @Serializable + enum class Type(val value: kotlin.String) { + @SerialName(value = "TIDAL_SHARING") + TIDAL_SHARING("TIDAL_SHARING"), + + @SerialName(value = "TIDAL_AUTOPLAY_ANDROID") + TIDAL_AUTOPLAY_ANDROID("TIDAL_AUTOPLAY_ANDROID"), + + @SerialName(value = "TIDAL_AUTOPLAY_IOS") + TIDAL_AUTOPLAY_IOS("TIDAL_AUTOPLAY_IOS"), + + @SerialName(value = "TIDAL_AUTOPLAY_WEB") + TIDAL_AUTOPLAY_WEB("TIDAL_AUTOPLAY_WEB"), + + @SerialName(value = "TWITTER") + TWITTER("TWITTER"), + + @SerialName(value = "FACEBOOK") + FACEBOOK("FACEBOOK"), + + @SerialName(value = "INSTAGRAM") + INSTAGRAM("INSTAGRAM"), + + @SerialName(value = "TIKTOK") + TIKTOK("TIKTOK"), + + @SerialName(value = "SNAPCHAT") + SNAPCHAT("SNAPCHAT"), + + @SerialName(value = "HOMEPAGE") + HOMEPAGE("HOMEPAGE"), + } +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ImageLinkMeta.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ImageLinkMeta.kt new file mode 100644 index 00000000..6f0057ee --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ImageLinkMeta.kt @@ -0,0 +1,39 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * metadata about an image + * + * @param width image width (in pixels) + * @param height image height (in pixels) + */ + +@Serializable +data class ImageLinkMeta( + + // image width (in pixels) + + @SerialName(value = "width") + val width: kotlin.Int, + // image height (in pixels) + + @SerialName(value = "height") + val height: kotlin.Int, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/Links.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/Links.kt new file mode 100644 index 00000000..2396dea7 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/Links.kt @@ -0,0 +1,39 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * links object + * + * @param self the link that generated the current response document + * @param next the next page of data (pagination) + */ + +@Serializable +data class Links( + + // the link that generated the current response document + + @SerialName(value = "self") + val self: kotlin.String, + // the next page of data (pagination) + + @SerialName(value = "next") + val next: kotlin.String? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/MultiDataRelationshipDoc.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/MultiDataRelationshipDoc.kt new file mode 100644 index 00000000..6e8875ad --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/MultiDataRelationshipDoc.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Playlist owners relationship + * + * @param `data` array of relationship resource linkages + * @param links + */ + +@Serializable +data class MultiDataRelationshipDoc( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsAttributes.kt new file mode 100644 index 00000000..92901115 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsAttributes.kt @@ -0,0 +1,84 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param name Playlist name + * @param bounded Indicates if the playlist has a duration and set number of tracks + * @param externalLinks Sharing links to the playlist + * @param createdAt Datetime of playlist creation (ISO 8601) + * @param lastModifiedAt Datetime of last modification of the playlist (ISO 8601) + * @param privacy Privacy setting of the playlist + * @param playlistType The type of the playlist + * @param imageLinks Images associated with the playlist + * @param description Playlist description + * @param duration Duration of the playlist expressed in accordance with ISO 8601 + * @param numberOfItems Number of items in the playlist + */ + +@Serializable +data class PlaylistsAttributes( + + // Playlist name + + @SerialName(value = "name") + val name: kotlin.String, + // Indicates if the playlist has a duration and set number of tracks + + @SerialName(value = "bounded") + val bounded: kotlin.Boolean, + // Sharing links to the playlist + + @SerialName(value = "externalLinks") + val externalLinks: kotlin.collections.List, + // Datetime of playlist creation (ISO 8601) + + @SerialName(value = "createdAt") + val createdAt: kotlin.String, + // Datetime of last modification of the playlist (ISO 8601) + + @SerialName(value = "lastModifiedAt") + val lastModifiedAt: kotlin.String, + // Privacy setting of the playlist + + @SerialName(value = "privacy") + val privacy: kotlin.String, + // The type of the playlist + + @SerialName(value = "playlistType") + val playlistType: kotlin.String, + // Images associated with the playlist + + @SerialName(value = "imageLinks") + val imageLinks: kotlin.collections.List, + // Playlist description + + @SerialName(value = "description") + val description: kotlin.String? = null, + // Duration of the playlist expressed in accordance with ISO 8601 + + @SerialName(value = "duration") + val duration: kotlin.String? = null, + // Number of items in the playlist + + @SerialName(value = "numberOfItems") + val numberOfItems: kotlin.Int? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsExternalLink.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsExternalLink.kt new file mode 100644 index 00000000..ebc218c2 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsExternalLink.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Sharing links to the playlist + * + * @param href link to something that is related to a resource + * @param meta + */ + +@Serializable +data class PlaylistsExternalLink( + + // link to something that is related to a resource + + @SerialName(value = "href") + val href: kotlin.String, + + @SerialName(value = "meta") + val meta: ExternalLinkMeta, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsImageLink.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsImageLink.kt new file mode 100644 index 00000000..b42a7f33 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsImageLink.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Images associated with the playlist + * + * @param href link to an image + * @param meta + */ + +@Serializable +data class PlaylistsImageLink( + + // link to an image + + @SerialName(value = "href") + val href: kotlin.String, + + @SerialName(value = "meta") + val meta: ImageLinkMeta? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsItemsRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsItemsRelationshipDocument.kt new file mode 100644 index 00000000..b82a289d --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsItemsRelationshipDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class PlaylistsItemsRelationshipDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsMultiDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsMultiDataDocument.kt new file mode 100644 index 00000000..9375d7d5 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsMultiDataDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of primary resource data + * @param links + * @param included + */ + +@Serializable +data class PlaylistsMultiDataDocument( + + // array of primary resource data + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsMultiDataDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsMultiDataDocumentIncludedInner.kt new file mode 100644 index 00000000..39e01da8 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsMultiDataDocumentIncludedInner.kt @@ -0,0 +1,49 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.UserEntitlementsAttributes +import com.tidal.sdk.tidalapi.generated.models.UserEntitlementsResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesResource +import com.tidal.sdk.tidalapi.generated.models.UserRecommendationsResource +import com.tidal.sdk.tidalapi.generated.models.UsersResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships relationships object describing relationships between the resource and other resources + * @param links + */ +@Serializable +@Polymorphic +sealed interface PlaylistsMultiDataDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsOwnersRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsOwnersRelationshipDocument.kt new file mode 100644 index 00000000..b46e3064 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsOwnersRelationshipDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class PlaylistsOwnersRelationshipDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsOwnersRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsOwnersRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..d3c83099 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsOwnersRelationshipDocumentIncludedInner.kt @@ -0,0 +1,49 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersAttributes +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.UserEntitlementsResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesResource +import com.tidal.sdk.tidalapi.generated.models.UserRecommendationsResource +import com.tidal.sdk.tidalapi.generated.models.UsersResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships relationships object describing relationships between the resource and other resources + * @param links + */ +@Serializable +@Polymorphic +sealed interface PlaylistsOwnersRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsRelationshipDocument.kt new file mode 100644 index 00000000..758b84b1 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsRelationshipDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class PlaylistsRelationshipDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsRelationships.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsRelationships.kt new file mode 100644 index 00000000..d0deb29a --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsRelationships.kt @@ -0,0 +1,36 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * relationships object describing relationships between the resource and other resources + * + * @param items + * @param owners + */ + +@Serializable +data class PlaylistsRelationships( + + @SerialName(value = "items") + val items: MultiDataRelationshipDoc, + + @SerialName(value = "owners") + val owners: MultiDataRelationshipDoc, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsResource.kt new file mode 100644 index 00000000..a40e9b74 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsResource.kt @@ -0,0 +1,53 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ + +@Serializable +@SerialName(value = "playlists") +data class PlaylistsResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + + @SerialName(value = "attributes") + val attributes: PlaylistsAttributes? = null, + + @SerialName(value = "relationships") + val relationships: PlaylistsRelationships? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : AlbumsMultiDataDocumentIncludedInner, TracksRelationshipsDocumentIncludedInner, UserRecommendationsMultiDataDocumentIncludedInner, PlaylistsMultiDataDocumentIncludedInner, UsersRecommendationsRelationshipDocumentIncludedInner, UsersMultiDataDocumentIncludedInner, ArtistsRelationshipDocumentIncludedInner, UserPublicProfilesRelationshipDocumentIncludedInner, AlbumsItemsRelationshipDocumentIncludedInner, ArtistsMultiDataDocumentIncludedInner, UserPublicProfilePicksMultiDataDocumentIncludedInner, SearchResultsTopHitsRelationshipDocumentIncludedInner, PlaylistsOwnersRelationshipDocumentIncludedInner, VideosMultiDataDocumentIncludedInner, UserPublicProfilePicksItemRelationshipDocumentIncludedInner, TracksMultiDataDocumentIncludedInner, UserPublicProfilesMultiDataDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsSingleDataDocument.kt new file mode 100644 index 00000000..5639bb5f --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PlaylistsSingleDataDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class PlaylistsSingleDataDocument( + + @SerialName(value = "data") + val `data`: PlaylistsResource? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PromptColors.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PromptColors.kt new file mode 100644 index 00000000..c6336ca8 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/PromptColors.kt @@ -0,0 +1,39 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Primary and Secondary color to visually render the pick + * + * @param primary Primary color to visually render the pick + * @param secondary Secondary color to visually render the pick + */ + +@Serializable +data class PromptColors( + + // Primary color to visually render the pick + + @SerialName(value = "primary") + val primary: kotlin.String, + // Secondary color to visually render the pick + + @SerialName(value = "secondary") + val secondary: kotlin.String, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersAttributes.kt new file mode 100644 index 00000000..a945c547 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersAttributes.kt @@ -0,0 +1,34 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param name Provider name. Conditionally visible. + */ + +@Serializable +data class ProvidersAttributes( + + // Provider name. Conditionally visible. + + @SerialName(value = "name") + val name: kotlin.String, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersMultiDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersMultiDataDocument.kt new file mode 100644 index 00000000..ba20c3f9 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersMultiDataDocument.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of primary resource data + * @param links + */ + +@Serializable +data class ProvidersMultiDataDocument( + + // array of primary resource data + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersRelationshipDocument.kt new file mode 100644 index 00000000..965cc407 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersRelationshipDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class ProvidersRelationshipDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..79899abc --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersRelationshipDocumentIncludedInner.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.ProvidersAttributes +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships relationships object describing relationships between the resource and other resources + * @param links + */ +@Serializable +@Polymorphic +sealed interface ProvidersRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersResource.kt new file mode 100644 index 00000000..e16fee76 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersResource.kt @@ -0,0 +1,55 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.Contextual +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships relationships object describing relationships between the resource and other resources + * @param links + */ + +@Serializable +@SerialName(value = "providers") +data class ProvidersResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + + @SerialName(value = "attributes") + val attributes: ProvidersAttributes? = null, + // relationships object describing relationships between the resource and other resources + + @Contextual @SerialName(value = "relationships") + val relationships: kotlin.Any? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : AlbumsMultiDataDocumentIncludedInner, TracksRelationshipsDocumentIncludedInner, AlbumsRelationshipDocumentIncludedInner, PlaylistsMultiDataDocumentIncludedInner, ProvidersRelationshipDocumentIncludedInner, ArtistsRelationshipDocumentIncludedInner, AlbumsItemsRelationshipDocumentIncludedInner, ArtistsMultiDataDocumentIncludedInner, VideosRelationshipsDocumentIncludedInner, UserPublicProfilePicksMultiDataDocumentIncludedInner, PlaylistsOwnersRelationshipDocumentIncludedInner, VideosMultiDataDocumentIncludedInner, UserPublicProfilePicksItemRelationshipDocumentIncludedInner, TracksMultiDataDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersSingleDataDocument.kt new file mode 100644 index 00000000..8ff96739 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ProvidersSingleDataDocument.kt @@ -0,0 +1,36 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + */ + +@Serializable +data class ProvidersSingleDataDocument( + + @SerialName(value = "data") + val `data`: ProvidersResource? = null, + + @SerialName(value = "links") + val links: Links? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ResourceIdentifier.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ResourceIdentifier.kt new file mode 100644 index 00000000..25744b04 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/ResourceIdentifier.kt @@ -0,0 +1,39 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * array of relationship resource linkages + * + * @param id resource unique identifier + * @param type resource unique type + */ + +@Serializable +data class ResourceIdentifier( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + + @SerialName(value = "type") + val type: kotlin.String, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsAttributes.kt new file mode 100644 index 00000000..9023f608 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsAttributes.kt @@ -0,0 +1,39 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param trackingId search request unique tracking number + * @param didYouMean 'did you mean' prompt + */ + +@Serializable +data class SearchResultsAttributes( + + // search request unique tracking number + + @SerialName(value = "trackingId") + val trackingId: kotlin.String, + // 'did you mean' prompt + + @SerialName(value = "didYouMean") + val didYouMean: kotlin.String? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsRelationships.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsRelationships.kt new file mode 100644 index 00000000..ec6e6cc7 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsRelationships.kt @@ -0,0 +1,52 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * relationships object describing relationships between the resource and other resources + * + * @param albums + * @param artists + * @param tracks + * @param videos + * @param playlists + * @param topHits + */ + +@Serializable +data class SearchResultsRelationships( + + @SerialName(value = "albums") + val albums: MultiDataRelationshipDoc, + + @SerialName(value = "artists") + val artists: MultiDataRelationshipDoc, + + @SerialName(value = "tracks") + val tracks: MultiDataRelationshipDoc, + + @SerialName(value = "videos") + val videos: MultiDataRelationshipDoc, + + @SerialName(value = "playlists") + val playlists: MultiDataRelationshipDoc, + + @SerialName(value = "topHits") + val topHits: MultiDataRelationshipDoc, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsResource.kt new file mode 100644 index 00000000..261ed76e --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsResource.kt @@ -0,0 +1,51 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * primary resource data + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ + +@Serializable +data class SearchResultsResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + + @SerialName(value = "type") + val type: kotlin.String, + + @SerialName(value = "attributes") + val attributes: SearchResultsAttributes? = null, + + @SerialName(value = "relationships") + val relationships: SearchResultsRelationships? = null, + + @SerialName(value = "links") + val links: Links? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsSingleDataDocument.kt new file mode 100644 index 00000000..b5f98224 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsSingleDataDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class SearchResultsSingleDataDocument( + + @SerialName(value = "data") + val `data`: SearchResultsResource? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsTopHitsRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsTopHitsRelationshipDocument.kt new file mode 100644 index 00000000..cb79c55d --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsTopHitsRelationshipDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class SearchResultsTopHitsRelationshipDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsTopHitsRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsTopHitsRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..49921050 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SearchResultsTopHitsRelationshipDocumentIncludedInner.kt @@ -0,0 +1,46 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.UsersAttributes +import com.tidal.sdk.tidalapi.generated.models.UsersRelationships +import com.tidal.sdk.tidalapi.generated.models.UsersResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface SearchResultsTopHitsRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SingletonDataRelationshipDoc.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SingletonDataRelationshipDoc.kt new file mode 100644 index 00000000..328cb249 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/SingletonDataRelationshipDoc.kt @@ -0,0 +1,36 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * User recommendations + * + * @param `data` + * @param links + */ + +@Serializable +data class SingletonDataRelationshipDoc( + + @SerialName(value = "data") + val `data`: ResourceIdentifier? = null, + + @SerialName(value = "links") + val links: Links? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksAttributes.kt new file mode 100644 index 00000000..1e8696eb --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksAttributes.kt @@ -0,0 +1,96 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param title Album item's title + * @param isrc ISRC code + * @param duration Duration expressed in accordance with ISO 8601 + * @param explicit Indicates whether a catalog item consist of any explicit content + * @param popularity Track or video popularity (ranged in 0.00 ... 1.00). Conditionally visible + * @param mediaTags + * @param version Version of the album's item; complements title + * @param copyright Copyright information + * @param availability Defines a catalog item availability e.g. for streaming, DJs, stems + * @param externalLinks Represents available links to something that is related to a catalog item, but external to the TIDAL API + */ + +@Serializable +data class TracksAttributes( + + // Album item's title + + @SerialName(value = "title") + val title: kotlin.String, + // ISRC code + + @SerialName(value = "isrc") + val isrc: kotlin.String, + // Duration expressed in accordance with ISO 8601 + + @SerialName(value = "duration") + val duration: kotlin.String, + // Indicates whether a catalog item consist of any explicit content + + @SerialName(value = "explicit") + val explicit: kotlin.Boolean, + // Track or video popularity (ranged in 0.00 ... 1.00). Conditionally visible + + @SerialName(value = "popularity") + val popularity: kotlin.Double, + + @SerialName(value = "mediaTags") + val mediaTags: kotlin.collections.List, + // Version of the album's item; complements title + + @SerialName(value = "version") + val version: kotlin.String? = null, + // Copyright information + + @SerialName(value = "copyright") + val copyright: kotlin.String? = null, + // Defines a catalog item availability e.g. for streaming, DJs, stems + + @SerialName(value = "availability") + val availability: kotlin.collections.List? = null, + // Represents available links to something that is related to a catalog item, but external to the TIDAL API + + @SerialName(value = "externalLinks") + val externalLinks: kotlin.collections.List? = null, +) { + + /** + * Defines a catalog item availability e.g. for streaming, DJs, stems + * + * Values: STREAM,DJ,STEM + */ + @Serializable + enum class Availability(val value: kotlin.String) { + @SerialName(value = "STREAM") + STREAM("STREAM"), + + @SerialName(value = "DJ") + DJ("DJ"), + + @SerialName(value = "STEM") + STEM("STEM"), + } +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksMultiDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksMultiDataDocument.kt new file mode 100644 index 00000000..8eec1441 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksMultiDataDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of primary resource data + * @param links + * @param included + */ + +@Serializable +data class TracksMultiDataDocument( + + // array of primary resource data + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksMultiDataDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksMultiDataDocumentIncludedInner.kt new file mode 100644 index 00000000..b18a6a9f --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksMultiDataDocumentIncludedInner.kt @@ -0,0 +1,47 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.UsersAttributes +import com.tidal.sdk.tidalapi.generated.models.UsersRelationships +import com.tidal.sdk.tidalapi.generated.models.UsersResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface TracksMultiDataDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationships.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationships.kt new file mode 100644 index 00000000..3c8f16ed --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationships.kt @@ -0,0 +1,48 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * relationships object describing relationships between the resource and other resources + * + * @param albums + * @param artists + * @param providers + * @param similarTracks + * @param radio + */ + +@Serializable +data class TracksRelationships( + + @SerialName(value = "albums") + val albums: MultiDataRelationshipDoc, + + @SerialName(value = "artists") + val artists: MultiDataRelationshipDoc, + + @SerialName(value = "providers") + val providers: MultiDataRelationshipDoc, + + @SerialName(value = "similarTracks") + val similarTracks: MultiDataRelationshipDoc, + + @SerialName(value = "radio") + val radio: MultiDataRelationshipDoc, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationshipsDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationshipsDocument.kt new file mode 100644 index 00000000..efe3dc03 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationshipsDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class TracksRelationshipsDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationshipsDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationshipsDocumentIncludedInner.kt new file mode 100644 index 00000000..3b83edab --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksRelationshipsDocumentIncludedInner.kt @@ -0,0 +1,45 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsAttributes +import com.tidal.sdk.tidalapi.generated.models.PlaylistsRelationships +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface TracksRelationshipsDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksResource.kt new file mode 100644 index 00000000..4e07cbb8 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksResource.kt @@ -0,0 +1,53 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ + +@Serializable +@SerialName(value = "tracks") +data class TracksResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + + @SerialName(value = "attributes") + val attributes: TracksAttributes? = null, + + @SerialName(value = "relationships") + val relationships: TracksRelationships? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : AlbumsMultiDataDocumentIncludedInner, TracksRelationshipsDocumentIncludedInner, UserRecommendationsMultiDataDocumentIncludedInner, AlbumsRelationshipDocumentIncludedInner, PlaylistsMultiDataDocumentIncludedInner, ArtistsRelationshipDocumentIncludedInner, AlbumsItemsRelationshipDocumentIncludedInner, ArtistsMultiDataDocumentIncludedInner, UserPublicProfilePicksMultiDataDocumentIncludedInner, SearchResultsTopHitsRelationshipDocumentIncludedInner, PlaylistsOwnersRelationshipDocumentIncludedInner, VideosMultiDataDocumentIncludedInner, UserPublicProfilePicksItemRelationshipDocumentIncludedInner, TracksMultiDataDocumentIncludedInner, UserPublicProfilesMultiDataDocumentIncludedInner, UserPublicProfilePicksRelationshipDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksSingleDataDocument.kt new file mode 100644 index 00000000..30373089 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/TracksSingleDataDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class TracksSingleDataDocument( + + @SerialName(value = "data") + val `data`: TracksResource? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UpdateUserPublicProfilePicksRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UpdateUserPublicProfilePicksRelationshipDocument.kt new file mode 100644 index 00000000..e4ea7f5a --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UpdateUserPublicProfilePicksRelationshipDocument.kt @@ -0,0 +1,32 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + */ + +@Serializable +data class UpdateUserPublicProfilePicksRelationshipDocument( + + @SerialName(value = "data") + val `data`: ResourceIdentifier? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsAttributes.kt new file mode 100644 index 00000000..e4df959d --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsAttributes.kt @@ -0,0 +1,49 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param entitlements entitlements for user + */ + +@Serializable +data class UserEntitlementsAttributes( + + // entitlements for user + + @SerialName(value = "entitlements") + val entitlements: kotlin.collections.List, +) { + + /** + * entitlements for user + * + * Values: MUSIC,DJ + */ + @Serializable + enum class Entitlements(val value: kotlin.String) { + @SerialName(value = "MUSIC") + MUSIC("MUSIC"), + + @SerialName(value = "DJ") + DJ("DJ"), + } +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsRelationshipDocument.kt new file mode 100644 index 00000000..e47aa044 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsRelationshipDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class UserEntitlementsRelationshipDocument( + + @SerialName(value = "data") + val `data`: ResourceIdentifier? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..e9b1700a --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsRelationshipDocumentIncludedInner.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.UserEntitlementsAttributes +import com.tidal.sdk.tidalapi.generated.models.UserEntitlementsResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships relationships object describing relationships between the resource and other resources + * @param links + */ +@Serializable +@Polymorphic +sealed interface UserEntitlementsRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsResource.kt new file mode 100644 index 00000000..99f3b383 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsResource.kt @@ -0,0 +1,55 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.Contextual +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships relationships object describing relationships between the resource and other resources + * @param links + */ + +@Serializable +@SerialName(value = "userEntitlements") +data class UserEntitlementsResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + + @SerialName(value = "attributes") + val attributes: UserEntitlementsAttributes? = null, + // relationships object describing relationships between the resource and other resources + + @Contextual @SerialName(value = "relationships") + val relationships: kotlin.Any? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : UserEntitlementsRelationshipDocumentIncludedInner, PlaylistsMultiDataDocumentIncludedInner, UsersMultiDataDocumentIncludedInner, UsersRelationshipDocumentIncludedInner, PlaylistsOwnersRelationshipDocumentIncludedInner, UserPublicProfilesMultiDataDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsSingleDataDocument.kt new file mode 100644 index 00000000..c467af92 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserEntitlementsSingleDataDocument.kt @@ -0,0 +1,36 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + */ + +@Serializable +data class UserEntitlementsSingleDataDocument( + + @SerialName(value = "data") + val `data`: UserEntitlementsResource? = null, + + @SerialName(value = "links") + val links: Links? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksAttributes.kt new file mode 100644 index 00000000..ccea4182 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksAttributes.kt @@ -0,0 +1,77 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param title Pick title + * @param description Description of pick + * @param supportedContentType CatalogueResourceType for supported item for the pick + * @param colors + * @param lastModifiedAt Date of last modification of the pick (ISO 8601) + */ + +@Serializable +data class UserPublicProfilePicksAttributes( + + // Pick title + + @SerialName(value = "title") + val title: kotlin.String, + // Description of pick + + @SerialName(value = "description") + val description: kotlin.String, + // CatalogueResourceType for supported item for the pick + + @SerialName(value = "supportedContentType") + val supportedContentType: UserPublicProfilePicksAttributes.SupportedContentType, + + @SerialName(value = "colors") + val colors: PromptColors, + // Date of last modification of the pick (ISO 8601) + + @SerialName(value = "lastModifiedAt") + val lastModifiedAt: kotlin.String? = null, +) { + + /** + * CatalogueResourceType for supported item for the pick + * + * Values: TRACKS,VIDEOS,ALBUMS,ARTISTS,PROVIDERS + */ + @Serializable + enum class SupportedContentType(val value: kotlin.String) { + @SerialName(value = "TRACKS") + TRACKS("TRACKS"), + + @SerialName(value = "VIDEOS") + VIDEOS("VIDEOS"), + + @SerialName(value = "ALBUMS") + ALBUMS("ALBUMS"), + + @SerialName(value = "ARTISTS") + ARTISTS("ARTISTS"), + + @SerialName(value = "PROVIDERS") + PROVIDERS("PROVIDERS"), + } +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksItemRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksItemRelationshipDocument.kt new file mode 100644 index 00000000..354c3f76 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksItemRelationshipDocument.kt @@ -0,0 +1,41 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class UserPublicProfilePicksItemRelationshipDocument( + + @SerialName(value = "data") + val `data`: ResourceIdentifier? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: + kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksItemRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksItemRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..47f7a910 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksItemRelationshipDocumentIncludedInner.kt @@ -0,0 +1,46 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsAttributes +import com.tidal.sdk.tidalapi.generated.models.PlaylistsRelationships +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface UserPublicProfilePicksItemRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksMultiDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksMultiDataDocument.kt new file mode 100644 index 00000000..5095fdff --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksMultiDataDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of primary resource data + * @param links + * @param included + */ + +@Serializable +data class UserPublicProfilePicksMultiDataDocument( + + // array of primary resource data + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksMultiDataDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksMultiDataDocumentIncludedInner.kt new file mode 100644 index 00000000..0e0d03b3 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksMultiDataDocumentIncludedInner.kt @@ -0,0 +1,49 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilePicksResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesResource +import com.tidal.sdk.tidalapi.generated.models.UsersAttributes +import com.tidal.sdk.tidalapi.generated.models.UsersRelationships +import com.tidal.sdk.tidalapi.generated.models.UsersResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface UserPublicProfilePicksMultiDataDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationshipDocument.kt new file mode 100644 index 00000000..8bed19b7 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationshipDocument.kt @@ -0,0 +1,43 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class UserPublicProfilePicksRelationshipDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = + null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..96055e39 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationshipDocumentIncludedInner.kt @@ -0,0 +1,45 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilePicksResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesAttributes +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesRelationships +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface UserPublicProfilePicksRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationships.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationships.kt new file mode 100644 index 00000000..20f5fd86 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksRelationships.kt @@ -0,0 +1,36 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * relationships object describing relationships between the resource and other resources + * + * @param item + * @param userPublicProfile + */ + +@Serializable +data class UserPublicProfilePicksRelationships( + + @SerialName(value = "item") + val item: SingletonDataRelationshipDoc, + + @SerialName(value = "userPublicProfile") + val userPublicProfile: SingletonDataRelationshipDoc, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksResource.kt new file mode 100644 index 00000000..e868003d --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilePicksResource.kt @@ -0,0 +1,53 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ + +@Serializable +@SerialName(value = "userPublicProfilePicks") +data class UserPublicProfilePicksResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + + @SerialName(value = "attributes") + val attributes: UserPublicProfilePicksAttributes? = null, + + @SerialName(value = "relationships") + val relationships: UserPublicProfilePicksRelationships? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : UsersMultiDataDocumentIncludedInner, UserPublicProfilesRelationshipDocumentIncludedInner, UserPublicProfilePicksMultiDataDocumentIncludedInner, UserPublicProfilesMultiDataDocumentIncludedInner, UserPublicProfilePicksRelationshipDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesAttributes.kt new file mode 100644 index 00000000..53cac58e --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesAttributes.kt @@ -0,0 +1,56 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param color + * @param profileName Public Name of the user profile + * @param picture + * @param externalLinks ExternalLinks for the user's profile + * @param numberOfFollowers Number of followers for the user + * @param numberOfFollows Number of users the user follows + */ + +@Serializable +data class UserPublicProfilesAttributes( + + @SerialName(value = "color") + val color: kotlin.collections.List, + // Public Name of the user profile + + @SerialName(value = "profileName") + val profileName: kotlin.String? = null, + + @SerialName(value = "picture") + val picture: UserPublicProfilesImageLink? = null, + // ExternalLinks for the user's profile + + @SerialName(value = "externalLinks") + val externalLinks: kotlin.collections.List? = null, + // Number of followers for the user + + @SerialName(value = "numberOfFollowers") + val numberOfFollowers: kotlin.Int? = null, + // Number of users the user follows + + @SerialName(value = "numberOfFollows") + val numberOfFollows: kotlin.Int? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesExternalLink.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesExternalLink.kt new file mode 100644 index 00000000..a02b78ab --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesExternalLink.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param href link to something that is related to a resource + * @param meta + */ + +@Serializable +data class UserPublicProfilesExternalLink( + + // link to something that is related to a resource + + @SerialName(value = "href") + val href: kotlin.String, + + @SerialName(value = "meta") + val meta: UserPublicProfilesExternalLinkMeta, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesExternalLinkMeta.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesExternalLinkMeta.kt new file mode 100644 index 00000000..da922497 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesExternalLinkMeta.kt @@ -0,0 +1,78 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * metadata about an external link + * + * @param type external link type + * @param handle external link handle + */ + +@Serializable +data class UserPublicProfilesExternalLinkMeta( + + // external link type + + @SerialName(value = "type") + val type: UserPublicProfilesExternalLinkMeta.Type, + // external link handle + + @SerialName(value = "handle") + val handle: kotlin.String, +) { + + /** + * external link type + * + * Values: TIDAL_SHARING,TIDAL_AUTOPLAY_ANDROID,TIDAL_AUTOPLAY_IOS,TIDAL_AUTOPLAY_WEB,TWITTER,FACEBOOK,INSTAGRAM,TIKTOK,SNAPCHAT,HOMEPAGE + */ + @Serializable + enum class Type(val value: kotlin.String) { + @SerialName(value = "TIDAL_SHARING") + TIDAL_SHARING("TIDAL_SHARING"), + + @SerialName(value = "TIDAL_AUTOPLAY_ANDROID") + TIDAL_AUTOPLAY_ANDROID("TIDAL_AUTOPLAY_ANDROID"), + + @SerialName(value = "TIDAL_AUTOPLAY_IOS") + TIDAL_AUTOPLAY_IOS("TIDAL_AUTOPLAY_IOS"), + + @SerialName(value = "TIDAL_AUTOPLAY_WEB") + TIDAL_AUTOPLAY_WEB("TIDAL_AUTOPLAY_WEB"), + + @SerialName(value = "TWITTER") + TWITTER("TWITTER"), + + @SerialName(value = "FACEBOOK") + FACEBOOK("FACEBOOK"), + + @SerialName(value = "INSTAGRAM") + INSTAGRAM("INSTAGRAM"), + + @SerialName(value = "TIKTOK") + TIKTOK("TIKTOK"), + + @SerialName(value = "SNAPCHAT") + SNAPCHAT("SNAPCHAT"), + + @SerialName(value = "HOMEPAGE") + HOMEPAGE("HOMEPAGE"), + } +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesImageLink.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesImageLink.kt new file mode 100644 index 00000000..829f07b4 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesImageLink.kt @@ -0,0 +1,38 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * ImageLink to the users image + * + * @param href link to an image + * @param meta + */ + +@Serializable +data class UserPublicProfilesImageLink( + + // link to an image + + @SerialName(value = "href") + val href: kotlin.String, + + @SerialName(value = "meta") + val meta: ImageLinkMeta? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesMultiDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesMultiDataDocument.kt new file mode 100644 index 00000000..d8944454 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesMultiDataDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of primary resource data + * @param links + * @param included + */ + +@Serializable +data class UserPublicProfilesMultiDataDocument( + + // array of primary resource data + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesMultiDataDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesMultiDataDocumentIncludedInner.kt new file mode 100644 index 00000000..754df000 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesMultiDataDocumentIncludedInner.kt @@ -0,0 +1,49 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.UserEntitlementsResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilePicksResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesResource +import com.tidal.sdk.tidalapi.generated.models.UserRecommendationsRelationships +import com.tidal.sdk.tidalapi.generated.models.UserRecommendationsResource +import com.tidal.sdk.tidalapi.generated.models.UsersResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes attributes object representing some of the resource's data + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface UserPublicProfilesMultiDataDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationshipDocument.kt new file mode 100644 index 00000000..cec9e13d --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationshipDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class UserPublicProfilesRelationshipDocument( + + @SerialName(value = "data") + val `data`: ResourceIdentifier? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..a00a7545 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationshipDocumentIncludedInner.kt @@ -0,0 +1,44 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilePicksAttributes +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilePicksRelationships +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilePicksResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesResource +import com.tidal.sdk.tidalapi.generated.models.UsersResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface UserPublicProfilesRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationships.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationships.kt new file mode 100644 index 00000000..cb95428a --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesRelationships.kt @@ -0,0 +1,44 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * relationships object describing relationships between the resource and other resources + * + * @param followers + * @param following + * @param publicPlaylists + * @param publicPicks + */ + +@Serializable +data class UserPublicProfilesRelationships( + + @SerialName(value = "followers") + val followers: MultiDataRelationshipDoc, + + @SerialName(value = "following") + val following: MultiDataRelationshipDoc, + + @SerialName(value = "publicPlaylists") + val publicPlaylists: MultiDataRelationshipDoc, + + @SerialName(value = "publicPicks") + val publicPicks: MultiDataRelationshipDoc, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesResource.kt new file mode 100644 index 00000000..73a0d285 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesResource.kt @@ -0,0 +1,53 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ + +@Serializable +@SerialName(value = "userPublicProfiles") +data class UserPublicProfilesResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + + @SerialName(value = "attributes") + val attributes: UserPublicProfilesAttributes? = null, + + @SerialName(value = "relationships") + val relationships: UserPublicProfilesRelationships? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : PlaylistsMultiDataDocumentIncludedInner, UsersMultiDataDocumentIncludedInner, UserPublicProfilesRelationshipDocumentIncludedInner, UsersRelationshipDocumentIncludedInner, UserPublicProfilePicksMultiDataDocumentIncludedInner, PlaylistsOwnersRelationshipDocumentIncludedInner, UserPublicProfilesMultiDataDocumentIncludedInner, UserPublicProfilePicksRelationshipDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesSingleDataDocument.kt new file mode 100644 index 00000000..003a52eb --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserPublicProfilesSingleDataDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class UserPublicProfilesSingleDataDocument( + + @SerialName(value = "data") + val `data`: UserPublicProfilesResource? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsMultiDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsMultiDataDocument.kt new file mode 100644 index 00000000..966f7b7d --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsMultiDataDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of primary resource data + * @param links + * @param included + */ + +@Serializable +data class UserRecommendationsMultiDataDocument( + + // array of primary resource data + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsMultiDataDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsMultiDataDocumentIncludedInner.kt new file mode 100644 index 00000000..020119a6 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsMultiDataDocumentIncludedInner.kt @@ -0,0 +1,44 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.UsersAttributes +import com.tidal.sdk.tidalapi.generated.models.UsersRelationships +import com.tidal.sdk.tidalapi.generated.models.UsersResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface UserRecommendationsMultiDataDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsRelationships.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsRelationships.kt new file mode 100644 index 00000000..ea5b014b --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsRelationships.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * relationships object describing relationships between the resource and other resources + * + * @param myMixes + * @param discoveryMixes + * @param newArrivalMixes + */ + +@Serializable +data class UserRecommendationsRelationships( + + @SerialName(value = "myMixes") + val myMixes: MultiDataRelationshipDoc, + + @SerialName(value = "discoveryMixes") + val discoveryMixes: MultiDataRelationshipDoc, + + @SerialName(value = "newArrivalMixes") + val newArrivalMixes: MultiDataRelationshipDoc, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsResource.kt new file mode 100644 index 00000000..7d412f62 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsResource.kt @@ -0,0 +1,55 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.Contextual +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes attributes object representing some of the resource's data + * @param relationships + * @param links + */ + +@Serializable +@SerialName(value = "userRecommendations") +data class UserRecommendationsResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + // attributes object representing some of the resource's data + + @Contextual @SerialName(value = "attributes") + val attributes: kotlin.Any? = null, + + @SerialName(value = "relationships") + val relationships: UserRecommendationsRelationships? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : PlaylistsMultiDataDocumentIncludedInner, UsersRecommendationsRelationshipDocumentIncludedInner, UsersMultiDataDocumentIncludedInner, UsersRelationshipDocumentIncludedInner, PlaylistsOwnersRelationshipDocumentIncludedInner, UserPublicProfilesMultiDataDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsSingleDataDocument.kt new file mode 100644 index 00000000..c7580bfe --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UserRecommendationsSingleDataDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class UserRecommendationsSingleDataDocument( + + @SerialName(value = "data") + val `data`: UserRecommendationsResource? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersAttributes.kt new file mode 100644 index 00000000..aa8e2331 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersAttributes.kt @@ -0,0 +1,59 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param username user name + * @param country ISO 3166-1 alpha-2 country code + * @param email email address + * @param emailVerified Is the email verified + * @param firstName Users first name + * @param lastName Users last name + */ + +@Serializable +data class UsersAttributes( + + // user name + + @SerialName(value = "username") + val username: kotlin.String, + // ISO 3166-1 alpha-2 country code + + @SerialName(value = "country") + val country: kotlin.String, + // email address + + @SerialName(value = "email") + val email: kotlin.String? = null, + // Is the email verified + + @SerialName(value = "emailVerified") + val emailVerified: kotlin.Boolean? = null, + // Users first name + + @SerialName(value = "firstName") + val firstName: kotlin.String? = null, + // Users last name + + @SerialName(value = "lastName") + val lastName: kotlin.String? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersMultiDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersMultiDataDocument.kt new file mode 100644 index 00000000..01fec841 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersMultiDataDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of primary resource data + * @param links + * @param included + */ + +@Serializable +data class UsersMultiDataDocument( + + // array of primary resource data + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersMultiDataDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersMultiDataDocumentIncludedInner.kt new file mode 100644 index 00000000..7a2eb962 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersMultiDataDocumentIncludedInner.kt @@ -0,0 +1,46 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.UserEntitlementsResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilePicksResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesResource +import com.tidal.sdk.tidalapi.generated.models.UserRecommendationsResource +import com.tidal.sdk.tidalapi.generated.models.UsersAttributes +import com.tidal.sdk.tidalapi.generated.models.UsersRelationships +import com.tidal.sdk.tidalapi.generated.models.UsersResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface UsersMultiDataDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRecommendationsRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRecommendationsRelationshipDocument.kt new file mode 100644 index 00000000..a4775da6 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRecommendationsRelationshipDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class UsersRecommendationsRelationshipDocument( + + @SerialName(value = "data") + val `data`: ResourceIdentifier? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRecommendationsRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRecommendationsRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..62046328 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRecommendationsRelationshipDocumentIncludedInner.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsAttributes +import com.tidal.sdk.tidalapi.generated.models.PlaylistsRelationships +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.UserRecommendationsResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface UsersRecommendationsRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationshipDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationshipDocument.kt new file mode 100644 index 00000000..63e122d2 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationshipDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class UsersRelationshipDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationshipDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationshipDocumentIncludedInner.kt new file mode 100644 index 00000000..a76115e0 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationshipDocumentIncludedInner.kt @@ -0,0 +1,43 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.UserEntitlementsResource +import com.tidal.sdk.tidalapi.generated.models.UserPublicProfilesResource +import com.tidal.sdk.tidalapi.generated.models.UserRecommendationsRelationships +import com.tidal.sdk.tidalapi.generated.models.UserRecommendationsResource +import com.tidal.sdk.tidalapi.generated.models.UsersResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes attributes object representing some of the resource's data + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface UsersRelationshipDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationships.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationships.kt new file mode 100644 index 00000000..5ee7d97b --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersRelationships.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * relationships object describing relationships between the resource and other resources + * + * @param entitlements + * @param publicProfile + * @param recommendations + */ + +@Serializable +data class UsersRelationships( + + @SerialName(value = "entitlements") + val entitlements: SingletonDataRelationshipDoc, + + @SerialName(value = "publicProfile") + val publicProfile: SingletonDataRelationshipDoc, + + @SerialName(value = "recommendations") + val recommendations: SingletonDataRelationshipDoc, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersResource.kt new file mode 100644 index 00000000..004445b1 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersResource.kt @@ -0,0 +1,53 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ + +@Serializable +@SerialName(value = "users") +data class UsersResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + + @SerialName(value = "attributes") + val attributes: UsersAttributes? = null, + + @SerialName(value = "relationships") + val relationships: UsersRelationships? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : UserRecommendationsMultiDataDocumentIncludedInner, PlaylistsMultiDataDocumentIncludedInner, UsersMultiDataDocumentIncludedInner, UserPublicProfilesRelationshipDocumentIncludedInner, UsersRelationshipDocumentIncludedInner, ArtistsMultiDataDocumentIncludedInner, UserPublicProfilePicksMultiDataDocumentIncludedInner, SearchResultsTopHitsRelationshipDocumentIncludedInner, PlaylistsOwnersRelationshipDocumentIncludedInner, TracksMultiDataDocumentIncludedInner, UserPublicProfilesMultiDataDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersSingleDataDocument.kt new file mode 100644 index 00000000..f6aae5bb --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/UsersSingleDataDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class UsersSingleDataDocument( + + @SerialName(value = "data") + val `data`: UsersResource? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/Utils.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/Utils.kt new file mode 100644 index 00000000..810bd981 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/Utils.kt @@ -0,0 +1,183 @@ +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.modules.SerializersModule +import kotlinx.serialization.modules.polymorphic + +fun getOneOfSerializer() = SerializersModule { + polymorphic(AlbumsItemsRelationshipDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(AlbumsMultiDataDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(AlbumsRelationshipDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(ArtistsMultiDataDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(ArtistsRelationshipDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(PlaylistsMultiDataDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(UserEntitlementsResource::class, UserEntitlementsResource.serializer()) + subclass(UserPublicProfilesResource::class, UserPublicProfilesResource.serializer()) + subclass(UserRecommendationsResource::class, UserRecommendationsResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(PlaylistsOwnersRelationshipDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(UserEntitlementsResource::class, UserEntitlementsResource.serializer()) + subclass(UserPublicProfilesResource::class, UserPublicProfilesResource.serializer()) + subclass(UserRecommendationsResource::class, UserRecommendationsResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(ProvidersRelationshipDocumentIncludedInner::class) { + subclass(ProvidersResource::class, ProvidersResource.serializer()) + } + polymorphic(SearchResultsTopHitsRelationshipDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(TracksMultiDataDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(TracksRelationshipsDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + } + polymorphic(UserEntitlementsRelationshipDocumentIncludedInner::class) { + subclass(UserEntitlementsResource::class, UserEntitlementsResource.serializer()) + } + polymorphic(UserPublicProfilePicksItemRelationshipDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(UserPublicProfilePicksMultiDataDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(UserPublicProfilePicksResource::class, UserPublicProfilePicksResource.serializer()) + subclass(UserPublicProfilesResource::class, UserPublicProfilesResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(UserPublicProfilePicksRelationshipDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(UserPublicProfilePicksResource::class, UserPublicProfilePicksResource.serializer()) + subclass(UserPublicProfilesResource::class, UserPublicProfilesResource.serializer()) + } + polymorphic(UserPublicProfilesMultiDataDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(UserEntitlementsResource::class, UserEntitlementsResource.serializer()) + subclass(UserPublicProfilePicksResource::class, UserPublicProfilePicksResource.serializer()) + subclass(UserPublicProfilesResource::class, UserPublicProfilesResource.serializer()) + subclass(UserRecommendationsResource::class, UserRecommendationsResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(UserPublicProfilesRelationshipDocumentIncludedInner::class) { + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(UserPublicProfilePicksResource::class, UserPublicProfilePicksResource.serializer()) + subclass(UserPublicProfilesResource::class, UserPublicProfilesResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + } + polymorphic(UserRecommendationsMultiDataDocumentIncludedInner::class) { + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(UsersMultiDataDocumentIncludedInner::class) { + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(UserEntitlementsResource::class, UserEntitlementsResource.serializer()) + subclass(UserPublicProfilePicksResource::class, UserPublicProfilePicksResource.serializer()) + subclass(UserPublicProfilesResource::class, UserPublicProfilesResource.serializer()) + subclass(UserRecommendationsResource::class, UserRecommendationsResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + } + polymorphic(UsersRecommendationsRelationshipDocumentIncludedInner::class) { + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(UserRecommendationsResource::class, UserRecommendationsResource.serializer()) + } + polymorphic(UsersRelationshipDocumentIncludedInner::class) { + subclass(UserEntitlementsResource::class, UserEntitlementsResource.serializer()) + subclass(UserPublicProfilesResource::class, UserPublicProfilesResource.serializer()) + subclass(UserRecommendationsResource::class, UserRecommendationsResource.serializer()) + subclass(UsersResource::class, UsersResource.serializer()) + } + polymorphic(VideosMultiDataDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(PlaylistsResource::class, PlaylistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(TracksResource::class, TracksResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } + polymorphic(VideosRelationshipsDocumentIncludedInner::class) { + subclass(AlbumsResource::class, AlbumsResource.serializer()) + subclass(ArtistsResource::class, ArtistsResource.serializer()) + subclass(ProvidersResource::class, ProvidersResource.serializer()) + subclass(VideosResource::class, VideosResource.serializer()) + } +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideoLinkMeta.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideoLinkMeta.kt new file mode 100644 index 00000000..539fe6f7 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideoLinkMeta.kt @@ -0,0 +1,39 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * metadata about a video + * + * @param width video width (in pixels) + * @param height video height (in pixels) + */ + +@Serializable +data class VideoLinkMeta( + + // video width (in pixels) + + @SerialName(value = "width") + val width: kotlin.Int, + // video height (in pixels) + + @SerialName(value = "height") + val height: kotlin.Int, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosAttributes.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosAttributes.kt new file mode 100644 index 00000000..c7c78880 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosAttributes.kt @@ -0,0 +1,102 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * attributes object representing some of the resource's data + * + * @param title Album item's title + * @param isrc ISRC code + * @param duration Duration expressed in accordance with ISO 8601 + * @param explicit Indicates whether a catalog item consist of any explicit content + * @param popularity Track or video popularity (ranged in 0.00 ... 1.00). Conditionally visible + * @param version Version of the album's item; complements title + * @param copyright Copyright information + * @param releaseDate Release date (ISO-8601) + * @param availability Defines a catalog item availability e.g. for streaming, DJs, stems + * @param imageLinks Represents available links to, and metadata about, an album item images + * @param externalLinks Represents available links to something that is related to a catalog item, but external to the TIDAL API + */ + +@Serializable +data class VideosAttributes( + + // Album item's title + + @SerialName(value = "title") + val title: kotlin.String, + // ISRC code + + @SerialName(value = "isrc") + val isrc: kotlin.String, + // Duration expressed in accordance with ISO 8601 + + @SerialName(value = "duration") + val duration: kotlin.String, + // Indicates whether a catalog item consist of any explicit content + + @SerialName(value = "explicit") + val explicit: kotlin.Boolean, + // Track or video popularity (ranged in 0.00 ... 1.00). Conditionally visible + + @SerialName(value = "popularity") + val popularity: kotlin.Double, + // Version of the album's item; complements title + + @SerialName(value = "version") + val version: kotlin.String? = null, + // Copyright information + + @SerialName(value = "copyright") + val copyright: kotlin.String? = null, + // Release date (ISO-8601) + + @SerialName(value = "releaseDate") + val releaseDate: kotlin.String? = null, + // Defines a catalog item availability e.g. for streaming, DJs, stems + + @SerialName(value = "availability") + val availability: kotlin.collections.List? = null, + // Represents available links to, and metadata about, an album item images + + @SerialName(value = "imageLinks") + val imageLinks: kotlin.collections.List? = null, + // Represents available links to something that is related to a catalog item, but external to the TIDAL API + + @SerialName(value = "externalLinks") + val externalLinks: kotlin.collections.List? = null, +) { + + /** + * Defines a catalog item availability e.g. for streaming, DJs, stems + * + * Values: STREAM,DJ,STEM + */ + @Serializable + enum class Availability(val value: kotlin.String) { + @SerialName(value = "STREAM") + STREAM("STREAM"), + + @SerialName(value = "DJ") + DJ("DJ"), + + @SerialName(value = "STEM") + STEM("STEM"), + } +} diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosMultiDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosMultiDataDocument.kt new file mode 100644 index 00000000..c0dbe574 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosMultiDataDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of primary resource data + * @param links + * @param included + */ + +@Serializable +data class VideosMultiDataDocument( + + // array of primary resource data + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosMultiDataDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosMultiDataDocumentIncludedInner.kt new file mode 100644 index 00000000..1aa676f0 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosMultiDataDocumentIncludedInner.kt @@ -0,0 +1,46 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.PlaylistsAttributes +import com.tidal.sdk.tidalapi.generated.models.PlaylistsRelationships +import com.tidal.sdk.tidalapi.generated.models.PlaylistsResource +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.TracksResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ +@Serializable +@Polymorphic +sealed interface VideosMultiDataDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationships.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationships.kt new file mode 100644 index 00000000..84094008 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationships.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * relationships object describing relationships between the resource and other resources + * + * @param albums + * @param artists + * @param providers + */ + +@Serializable +data class VideosRelationships( + + @SerialName(value = "albums") + val albums: MultiDataRelationshipDoc, + + @SerialName(value = "artists") + val artists: MultiDataRelationshipDoc, + + @SerialName(value = "providers") + val providers: MultiDataRelationshipDoc, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationshipsDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationshipsDocument.kt new file mode 100644 index 00000000..9eca2a68 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationshipsDocument.kt @@ -0,0 +1,42 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` array of relationship resource linkages + * @param links + * @param included + */ + +@Serializable +data class VideosRelationshipsDocument( + + // array of relationship resource linkages + + @SerialName(value = "data") + val `data`: kotlin.collections.List? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +) diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationshipsDocumentIncludedInner.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationshipsDocumentIncludedInner.kt new file mode 100644 index 00000000..609e05ac --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosRelationshipsDocumentIncludedInner.kt @@ -0,0 +1,43 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import com.tidal.sdk.tidalapi.generated.models.AlbumsResource +import com.tidal.sdk.tidalapi.generated.models.ArtistsResource +import com.tidal.sdk.tidalapi.generated.models.Links +import com.tidal.sdk.tidalapi.generated.models.ProvidersAttributes +import com.tidal.sdk.tidalapi.generated.models.ProvidersResource +import com.tidal.sdk.tidalapi.generated.models.VideosResource + +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Polymorphic +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships relationships object describing relationships between the resource and other resources + * @param links + */ +@Serializable +@Polymorphic +sealed interface VideosRelationshipsDocumentIncludedInner + diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosResource.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosResource.kt new file mode 100644 index 00000000..c909cd5a --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosResource.kt @@ -0,0 +1,53 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * + * + * @param id resource unique identifier + * @param type resource unique type + * @param attributes + * @param relationships + * @param links + */ + +@Serializable +@SerialName(value = "videos") +data class VideosResource( + + // resource unique identifier + + @SerialName(value = "id") + val id: kotlin.String, + // resource unique type + @Transient + @SerialName(value = "type") + val type: kotlin.String = "", + + @SerialName(value = "attributes") + val attributes: VideosAttributes? = null, + + @SerialName(value = "relationships") + val relationships: VideosRelationships? = null, + + @SerialName(value = "links") + val links: Links? = null, +) : AlbumsMultiDataDocumentIncludedInner, UserRecommendationsMultiDataDocumentIncludedInner, AlbumsRelationshipDocumentIncludedInner, PlaylistsMultiDataDocumentIncludedInner, ArtistsRelationshipDocumentIncludedInner, AlbumsItemsRelationshipDocumentIncludedInner, ArtistsMultiDataDocumentIncludedInner, VideosRelationshipsDocumentIncludedInner, UserPublicProfilePicksMultiDataDocumentIncludedInner, SearchResultsTopHitsRelationshipDocumentIncludedInner, PlaylistsOwnersRelationshipDocumentIncludedInner, VideosMultiDataDocumentIncludedInner, UserPublicProfilePicksItemRelationshipDocumentIncludedInner, TracksMultiDataDocumentIncludedInner, UserPublicProfilesMultiDataDocumentIncludedInner diff --git a/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosSingleDataDocument.kt b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosSingleDataDocument.kt new file mode 100644 index 00000000..18a98521 --- /dev/null +++ b/tidalapi/src/main/kotlin/com/tidal/sdk/tidalapi/generated/models/VideosSingleDataDocument.kt @@ -0,0 +1,40 @@ +/** + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + * + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package com.tidal.sdk.tidalapi.generated.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * + * + * @param `data` + * @param links + * @param included + */ + +@Serializable +data class VideosSingleDataDocument( + + @SerialName(value = "data") + val `data`: VideosResource? = null, + + @SerialName(value = "links") + val links: Links? = null, + + @SerialName(value = "included") + val included: kotlin.collections.List? = null, +)