Skip to content

Commit

Permalink
Add feeling lucky API to libs (#3895)
Browse files Browse the repository at this point in the history
  • Loading branch information
isaacsolo committed Sep 20, 2022
1 parent c17637c commit 400b146
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 0 deletions.
43 changes: 43 additions & 0 deletions libs/src/sdk/api/generated/full/apis/TracksApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,21 @@ export interface GetBulkTracksRequest {
id?: Array<string>;
}

export interface GetFeelingLuckyTracksRequest {
/**
* The user ID of the user making the request
*/
userId?: string;
/**
* Number of tracks to fetch
*/
limit?: number;
/**
* Boolean to include user info with tracks
*/
withUsers?: boolean;
}

export interface GetMostLovedTracksRequest {
/**
* The user ID of the user making the request
Expand Down Expand Up @@ -421,6 +436,34 @@ export class TracksApi extends runtime.BaseAPI {
}) as Promise<NonNullable<FullTrackResponse["data"]>>;
}

/**
* Gets random tracks found on the \"Feeling Lucky\" smart playlist
*/
async getFeelingLuckyTracks(requestParameters: GetFeelingLuckyTracksRequest = {}): Promise<NonNullable<FullTracksResponse["data"]>> {
const queryParameters: any = {};

if (requestParameters.userId !== undefined) {
queryParameters['user_id'] = requestParameters.userId;
}

if (requestParameters.limit !== undefined) {
queryParameters['limit'] = requestParameters.limit;
}

if (requestParameters.withUsers !== undefined) {
queryParameters['with_users'] = requestParameters.withUsers;
}

const headerParameters: runtime.HTTPHeaders = {};

return this.request({
path: `/tracks/feeling_lucky`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}) as Promise<NonNullable<FullTracksResponse["data"]>>;
}

/**
* Gets the tracks found on the \"Most Loved\" smart playlist
*/
Expand Down
9 changes: 9 additions & 0 deletions libs/src/services/discoveryProvider/DiscoveryProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -783,6 +783,15 @@ export class DiscoveryProvider {
return await this._makeRequest(req)
}

async getFeelingLuckyTracks(
encodedUserId: string,
limit: string,
withUsers = false
) {
const req = Requests.getFeelingLuckyTracks(encodedUserId, limit, withUsers)
return await this._makeRequest(req)
}

async getLatest(type: string) {
const req = Requests.getLatest(type)
return await this._makeRequest(req)
Expand Down
15 changes: 15 additions & 0 deletions libs/src/services/discoveryProvider/requests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,21 @@ export const getMostLovedTracks = (
}
}

export const getFeelingLuckyTracks = (
encodedUserId: string,
limit: string,
withUsers = false
) => {
return {
endpoint: `/v1/full/tracks/feeling_lucky`,
queryParams: {
limit,
user_id: encodedUserId,
with_users: withUsers
}
}
}

export const getTopFolloweeSaves = (
type: string,
limit: string,
Expand Down

0 comments on commit 400b146

Please sign in to comment.