@audius/sdk 3.0.7-beta.3 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -34925,9 +34925,9 @@ var EthWeb3Manager = /*#__PURE__*/function () {
34925
34925
  }();
34926
34926
 
34927
34927
  var name = "@audius/sdk";
34928
- var version = "3.0.7-beta.3";
34928
+ var version = "3.0.7";
34929
34929
  var audius = {
34930
- releaseSHA: "da3b29f293b58b4316d51dfb1ff50dabc22eecc5"
34930
+ releaseSHA: "a05a01e81a7313101b0560db611bec3fece1a756"
34931
34931
  };
34932
34932
  var description = "Audius SDK";
34933
34933
  var keywords = [
package/dist/index.esm.js CHANGED
@@ -34682,9 +34682,9 @@ var EthWeb3Manager = /*#__PURE__*/function () {
34682
34682
  }();
34683
34683
 
34684
34684
  var name = "@audius/sdk";
34685
- var version = "3.0.7-beta.3";
34685
+ var version = "3.0.7";
34686
34686
  var audius = {
34687
- releaseSHA: "da3b29f293b58b4316d51dfb1ff50dabc22eecc5"
34687
+ releaseSHA: "a05a01e81a7313101b0560db611bec3fece1a756"
34688
34688
  };
34689
34689
  var description = "Audius SDK";
34690
34690
  var keywords = [
package/dist/legacy.js CHANGED
@@ -34733,9 +34733,9 @@ var EthWeb3Manager = /*#__PURE__*/function () {
34733
34733
  }();
34734
34734
 
34735
34735
  var name = "@audius/sdk";
34736
- var version = "3.0.7-beta.3";
34736
+ var version = "3.0.7";
34737
34737
  var audius = {
34738
- releaseSHA: "da3b29f293b58b4316d51dfb1ff50dabc22eecc5"
34738
+ releaseSHA: "a05a01e81a7313101b0560db611bec3fece1a756"
34739
34739
  };
34740
34740
  var description = "Audius SDK";
34741
34741
  var keywords = [
@@ -601,9 +601,9 @@ if (typeof window !== 'undefined' && window && window.Web3) {
601
601
  var LibsWeb3 = Web3;
602
602
 
603
603
  var name = "@audius/sdk";
604
- var version$1 = "3.0.7-beta.3";
604
+ var version$1 = "3.0.7";
605
605
  var audius = {
606
- releaseSHA: "da3b29f293b58b4316d51dfb1ff50dabc22eecc5"
606
+ releaseSHA: "a05a01e81a7313101b0560db611bec3fece1a756"
607
607
  };
608
608
  var description = "Audius SDK";
609
609
  var keywords = [
package/dist/web-libs.js CHANGED
@@ -34729,9 +34729,9 @@ var EthWeb3Manager = /*#__PURE__*/function () {
34729
34729
  }();
34730
34730
 
34731
34731
  var name = "@audius/sdk";
34732
- var version = "3.0.7-beta.3";
34732
+ var version = "3.0.7";
34733
34733
  var audius = {
34734
- releaseSHA: "da3b29f293b58b4316d51dfb1ff50dabc22eecc5"
34734
+ releaseSHA: "a05a01e81a7313101b0560db611bec3fece1a756"
34735
34735
  };
34736
34736
  var description = "Audius SDK";
34737
34737
  var keywords = [
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@audius/sdk",
3
- "version": "3.0.7-beta.3",
3
+ "version": "3.0.7",
4
4
  "audius": {
5
- "releaseSHA": "da3b29f293b58b4316d51dfb1ff50dabc22eecc5"
5
+ "releaseSHA": "a05a01e81a7313101b0560db611bec3fece1a756"
6
6
  },
7
7
  "description": "Audius SDK",
8
8
  "keywords": [
@@ -37,6 +37,12 @@ export interface GetPlaylistRequest {
37
37
  userId?: string;
38
38
  }
39
39
 
40
+ export interface GetPlaylistByHandleAndSlugRequest {
41
+ handle: string;
42
+ slug: string;
43
+ userId?: string;
44
+ }
45
+
40
46
  export interface GetPlaylistTracksRequest {
41
47
  playlistId: string;
42
48
  }
@@ -88,6 +94,44 @@ export class PlaylistsApi extends runtime.BaseAPI {
88
94
  return await response.value();
89
95
  }
90
96
 
97
+ /** @hidden
98
+ * Get a playlist by handle and slug
99
+ */
100
+ async getPlaylistByHandleAndSlugRaw(params: GetPlaylistByHandleAndSlugRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlaylistResponse>> {
101
+ if (params.handle === null || params.handle === undefined) {
102
+ throw new runtime.RequiredError('handle','Required parameter params.handle was null or undefined when calling getPlaylistByHandleAndSlug.');
103
+ }
104
+
105
+ if (params.slug === null || params.slug === undefined) {
106
+ throw new runtime.RequiredError('slug','Required parameter params.slug was null or undefined when calling getPlaylistByHandleAndSlug.');
107
+ }
108
+
109
+ const queryParameters: any = {};
110
+
111
+ if (params.userId !== undefined) {
112
+ queryParameters['user_id'] = params.userId;
113
+ }
114
+
115
+ const headerParameters: runtime.HTTPHeaders = {};
116
+
117
+ const response = await this.request({
118
+ path: `/playlists/by_permalink/{handle}/{slug}`.replace(`{${"handle"}}`, encodeURIComponent(String(params.handle))).replace(`{${"slug"}}`, encodeURIComponent(String(params.slug))),
119
+ method: 'GET',
120
+ headers: headerParameters,
121
+ query: queryParameters,
122
+ }, initOverrides);
123
+
124
+ return new runtime.JSONApiResponse(response, (jsonValue) => PlaylistResponseFromJSON(jsonValue));
125
+ }
126
+
127
+ /**
128
+ * Get a playlist by handle and slug
129
+ */
130
+ async getPlaylistByHandleAndSlug(params: GetPlaylistByHandleAndSlugRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlaylistResponse> {
131
+ const response = await this.getPlaylistByHandleAndSlugRaw(params, initOverrides);
132
+ return await response.value();
133
+ }
134
+
91
135
  /** @hidden
92
136
  * Fetch tracks within a playlist.
93
137
  */
@@ -945,7 +945,6 @@ export const GetAIAttributedTracksByUserHandleSortMethodEnum = {
945
945
  ReleaseDate: 'release_date',
946
946
  LastListenDate: 'last_listen_date',
947
947
  AddedDate: 'added_date',
948
- Length: 'length',
949
948
  Plays: 'plays',
950
949
  Reposts: 'reposts',
951
950
  Saves: 'saves',
@@ -986,7 +985,6 @@ export const GetTracksByUserSortMethodEnum = {
986
985
  ReleaseDate: 'release_date',
987
986
  LastListenDate: 'last_listen_date',
988
987
  AddedDate: 'added_date',
989
- Length: 'length',
990
988
  Plays: 'plays',
991
989
  Reposts: 'reposts',
992
990
  Saves: 'saves',
@@ -45,6 +45,8 @@ models/PlaylistFullWithoutTracks.ts
45
45
  models/PlaylistLibrary.ts
46
46
  models/PremiumContentSignature.ts
47
47
  models/ProfilePicture.ts
48
+ models/Purchase.ts
49
+ models/PurchasesResponse.ts
48
50
  models/RelatedArtistResponseFull.ts
49
51
  models/RemixesResponse.ts
50
52
  models/RemixesResponseFull.ts
@@ -28,6 +28,7 @@ import type {
28
28
  FullTracks,
29
29
  FullUserResponse,
30
30
  HistoryResponseFull,
31
+ PurchasesResponse,
31
32
  RelatedArtistResponseFull,
32
33
  TopGenreUsersResponseFull,
33
34
  TopUsersResponseFull,
@@ -59,6 +60,8 @@ import {
59
60
  FullUserResponseToJSON,
60
61
  HistoryResponseFullFromJSON,
61
62
  HistoryResponseFullToJSON,
63
+ PurchasesResponseFromJSON,
64
+ PurchasesResponseToJSON,
62
65
  RelatedArtistResponseFullFromJSON,
63
66
  RelatedArtistResponseFullToJSON,
64
67
  TopGenreUsersResponseFullFromJSON,
@@ -117,6 +120,8 @@ export interface GetFollowingRequest {
117
120
 
118
121
  export interface GetPurchasesRequest {
119
122
  id: string;
123
+ encodedDataMessage: string;
124
+ encodedDataSignature: string;
120
125
  offset?: number;
121
126
  limit?: number;
122
127
  userId?: string;
@@ -147,6 +152,8 @@ export interface GetRepostsByHandleRequest {
147
152
 
148
153
  export interface GetSalesRequest {
149
154
  id: string;
155
+ encodedDataMessage: string;
156
+ encodedDataSignature: string;
150
157
  offset?: number;
151
158
  limit?: number;
152
159
  userId?: string;
@@ -563,11 +570,19 @@ export class UsersApi extends runtime.BaseAPI {
563
570
  /** @hidden
564
571
  * Gets the purchases the user has made
565
572
  */
566
- async getPurchasesRaw(params: GetPurchasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
573
+ async getPurchasesRaw(params: GetPurchasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PurchasesResponse>> {
567
574
  if (params.id === null || params.id === undefined) {
568
575
  throw new runtime.RequiredError('id','Required parameter params.id was null or undefined when calling getPurchases.');
569
576
  }
570
577
 
578
+ if (params.encodedDataMessage === null || params.encodedDataMessage === undefined) {
579
+ throw new runtime.RequiredError('encodedDataMessage','Required parameter params.encodedDataMessage was null or undefined when calling getPurchases.');
580
+ }
581
+
582
+ if (params.encodedDataSignature === null || params.encodedDataSignature === undefined) {
583
+ throw new runtime.RequiredError('encodedDataSignature','Required parameter params.encodedDataSignature was null or undefined when calling getPurchases.');
584
+ }
585
+
571
586
  const queryParameters: any = {};
572
587
 
573
588
  if (params.offset !== undefined) {
@@ -592,6 +607,14 @@ export class UsersApi extends runtime.BaseAPI {
592
607
 
593
608
  const headerParameters: runtime.HTTPHeaders = {};
594
609
 
610
+ if (params.encodedDataMessage !== undefined && params.encodedDataMessage !== null) {
611
+ headerParameters['Encoded-Data-Message'] = String(params.encodedDataMessage);
612
+ }
613
+
614
+ if (params.encodedDataSignature !== undefined && params.encodedDataSignature !== null) {
615
+ headerParameters['Encoded-Data-Signature'] = String(params.encodedDataSignature);
616
+ }
617
+
595
618
  const response = await this.request({
596
619
  path: `/users/{id}/purchases`.replace(`{${"id"}}`, encodeURIComponent(String(params.id))),
597
620
  method: 'GET',
@@ -599,14 +622,15 @@ export class UsersApi extends runtime.BaseAPI {
599
622
  query: queryParameters,
600
623
  }, initOverrides);
601
624
 
602
- return new runtime.VoidApiResponse(response);
625
+ return new runtime.JSONApiResponse(response, (jsonValue) => PurchasesResponseFromJSON(jsonValue));
603
626
  }
604
627
 
605
628
  /**
606
629
  * Gets the purchases the user has made
607
630
  */
608
- async getPurchases(params: GetPurchasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
609
- await this.getPurchasesRaw(params, initOverrides);
631
+ async getPurchases(params: GetPurchasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PurchasesResponse> {
632
+ const response = await this.getPurchasesRaw(params, initOverrides);
633
+ return await response.value();
610
634
  }
611
635
 
612
636
  /** @hidden
@@ -738,11 +762,19 @@ export class UsersApi extends runtime.BaseAPI {
738
762
  /** @hidden
739
763
  * Gets the sales the user has made
740
764
  */
741
- async getSalesRaw(params: GetSalesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
765
+ async getSalesRaw(params: GetSalesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PurchasesResponse>> {
742
766
  if (params.id === null || params.id === undefined) {
743
767
  throw new runtime.RequiredError('id','Required parameter params.id was null or undefined when calling getSales.');
744
768
  }
745
769
 
770
+ if (params.encodedDataMessage === null || params.encodedDataMessage === undefined) {
771
+ throw new runtime.RequiredError('encodedDataMessage','Required parameter params.encodedDataMessage was null or undefined when calling getSales.');
772
+ }
773
+
774
+ if (params.encodedDataSignature === null || params.encodedDataSignature === undefined) {
775
+ throw new runtime.RequiredError('encodedDataSignature','Required parameter params.encodedDataSignature was null or undefined when calling getSales.');
776
+ }
777
+
746
778
  const queryParameters: any = {};
747
779
 
748
780
  if (params.offset !== undefined) {
@@ -767,6 +799,14 @@ export class UsersApi extends runtime.BaseAPI {
767
799
 
768
800
  const headerParameters: runtime.HTTPHeaders = {};
769
801
 
802
+ if (params.encodedDataMessage !== undefined && params.encodedDataMessage !== null) {
803
+ headerParameters['Encoded-Data-Message'] = String(params.encodedDataMessage);
804
+ }
805
+
806
+ if (params.encodedDataSignature !== undefined && params.encodedDataSignature !== null) {
807
+ headerParameters['Encoded-Data-Signature'] = String(params.encodedDataSignature);
808
+ }
809
+
770
810
  const response = await this.request({
771
811
  path: `/users/{id}/sales`.replace(`{${"id"}}`, encodeURIComponent(String(params.id))),
772
812
  method: 'GET',
@@ -774,14 +814,15 @@ export class UsersApi extends runtime.BaseAPI {
774
814
  query: queryParameters,
775
815
  }, initOverrides);
776
816
 
777
- return new runtime.VoidApiResponse(response);
817
+ return new runtime.JSONApiResponse(response, (jsonValue) => PurchasesResponseFromJSON(jsonValue));
778
818
  }
779
819
 
780
820
  /**
781
821
  * Gets the sales the user has made
782
822
  */
783
- async getSales(params: GetSalesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
784
- await this.getSalesRaw(params, initOverrides);
823
+ async getSales(params: GetSalesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PurchasesResponse> {
824
+ const response = await this.getSalesRaw(params, initOverrides);
825
+ return await response.value();
785
826
  }
786
827
 
787
828
  /** @hidden
@@ -0,0 +1,139 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ // @ts-nocheck
4
+ /**
5
+ * API
6
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+ *
8
+ * The version of the OpenAPI document: 1.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+
16
+ import { exists, mapValues } from '../runtime';
17
+ /**
18
+ *
19
+ * @export
20
+ * @interface Purchase
21
+ */
22
+ export interface Purchase {
23
+ /**
24
+ *
25
+ * @type {number}
26
+ * @memberof Purchase
27
+ */
28
+ slot: number;
29
+ /**
30
+ *
31
+ * @type {string}
32
+ * @memberof Purchase
33
+ */
34
+ signature: string;
35
+ /**
36
+ *
37
+ * @type {string}
38
+ * @memberof Purchase
39
+ */
40
+ sellerUserId: string;
41
+ /**
42
+ *
43
+ * @type {string}
44
+ * @memberof Purchase
45
+ */
46
+ buyerUserId: string;
47
+ /**
48
+ *
49
+ * @type {string}
50
+ * @memberof Purchase
51
+ */
52
+ amount: string;
53
+ /**
54
+ *
55
+ * @type {string}
56
+ * @memberof Purchase
57
+ */
58
+ contentType: string;
59
+ /**
60
+ *
61
+ * @type {string}
62
+ * @memberof Purchase
63
+ */
64
+ contentId: string;
65
+ /**
66
+ *
67
+ * @type {string}
68
+ * @memberof Purchase
69
+ */
70
+ createdAt: string;
71
+ /**
72
+ *
73
+ * @type {string}
74
+ * @memberof Purchase
75
+ */
76
+ updatedAt: string;
77
+ }
78
+
79
+ /**
80
+ * Check if a given object implements the Purchase interface.
81
+ */
82
+ export function instanceOfPurchase(value: object): boolean {
83
+ let isInstance = true;
84
+ isInstance = isInstance && "slot" in value;
85
+ isInstance = isInstance && "signature" in value;
86
+ isInstance = isInstance && "sellerUserId" in value;
87
+ isInstance = isInstance && "buyerUserId" in value;
88
+ isInstance = isInstance && "amount" in value;
89
+ isInstance = isInstance && "contentType" in value;
90
+ isInstance = isInstance && "contentId" in value;
91
+ isInstance = isInstance && "createdAt" in value;
92
+ isInstance = isInstance && "updatedAt" in value;
93
+
94
+ return isInstance;
95
+ }
96
+
97
+ export function PurchaseFromJSON(json: any): Purchase {
98
+ return PurchaseFromJSONTyped(json, false);
99
+ }
100
+
101
+ export function PurchaseFromJSONTyped(json: any, ignoreDiscriminator: boolean): Purchase {
102
+ if ((json === undefined) || (json === null)) {
103
+ return json;
104
+ }
105
+ return {
106
+
107
+ 'slot': json['slot'],
108
+ 'signature': json['signature'],
109
+ 'sellerUserId': json['seller_user_id'],
110
+ 'buyerUserId': json['buyer_user_id'],
111
+ 'amount': json['amount'],
112
+ 'contentType': json['content_type'],
113
+ 'contentId': json['content_id'],
114
+ 'createdAt': json['created_at'],
115
+ 'updatedAt': json['updated_at'],
116
+ };
117
+ }
118
+
119
+ export function PurchaseToJSON(value?: Purchase | null): any {
120
+ if (value === undefined) {
121
+ return undefined;
122
+ }
123
+ if (value === null) {
124
+ return null;
125
+ }
126
+ return {
127
+
128
+ 'slot': value.slot,
129
+ 'signature': value.signature,
130
+ 'seller_user_id': value.sellerUserId,
131
+ 'buyer_user_id': value.buyerUserId,
132
+ 'amount': value.amount,
133
+ 'content_type': value.contentType,
134
+ 'content_id': value.contentId,
135
+ 'created_at': value.createdAt,
136
+ 'updated_at': value.updatedAt,
137
+ };
138
+ }
139
+
@@ -0,0 +1,142 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ // @ts-nocheck
4
+ /**
5
+ * API
6
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+ *
8
+ * The version of the OpenAPI document: 1.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+
16
+ import { exists, mapValues } from '../runtime';
17
+ import type { Purchase } from './Purchase';
18
+ import {
19
+ PurchaseFromJSON,
20
+ PurchaseFromJSONTyped,
21
+ PurchaseToJSON,
22
+ } from './Purchase';
23
+ import type { VersionMetadata } from './VersionMetadata';
24
+ import {
25
+ VersionMetadataFromJSON,
26
+ VersionMetadataFromJSONTyped,
27
+ VersionMetadataToJSON,
28
+ } from './VersionMetadata';
29
+
30
+ /**
31
+ *
32
+ * @export
33
+ * @interface PurchasesResponse
34
+ */
35
+ export interface PurchasesResponse {
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof PurchasesResponse
40
+ */
41
+ latestChainBlock: number;
42
+ /**
43
+ *
44
+ * @type {number}
45
+ * @memberof PurchasesResponse
46
+ */
47
+ latestIndexedBlock: number;
48
+ /**
49
+ *
50
+ * @type {number}
51
+ * @memberof PurchasesResponse
52
+ */
53
+ latestChainSlotPlays: number;
54
+ /**
55
+ *
56
+ * @type {number}
57
+ * @memberof PurchasesResponse
58
+ */
59
+ latestIndexedSlotPlays: number;
60
+ /**
61
+ *
62
+ * @type {string}
63
+ * @memberof PurchasesResponse
64
+ */
65
+ signature: string;
66
+ /**
67
+ *
68
+ * @type {string}
69
+ * @memberof PurchasesResponse
70
+ */
71
+ timestamp: string;
72
+ /**
73
+ *
74
+ * @type {VersionMetadata}
75
+ * @memberof PurchasesResponse
76
+ */
77
+ version: VersionMetadata;
78
+ /**
79
+ *
80
+ * @type {Array<Purchase>}
81
+ * @memberof PurchasesResponse
82
+ */
83
+ data?: Array<Purchase>;
84
+ }
85
+
86
+ /**
87
+ * Check if a given object implements the PurchasesResponse interface.
88
+ */
89
+ export function instanceOfPurchasesResponse(value: object): boolean {
90
+ let isInstance = true;
91
+ isInstance = isInstance && "latestChainBlock" in value;
92
+ isInstance = isInstance && "latestIndexedBlock" in value;
93
+ isInstance = isInstance && "latestChainSlotPlays" in value;
94
+ isInstance = isInstance && "latestIndexedSlotPlays" in value;
95
+ isInstance = isInstance && "signature" in value;
96
+ isInstance = isInstance && "timestamp" in value;
97
+ isInstance = isInstance && "version" in value;
98
+
99
+ return isInstance;
100
+ }
101
+
102
+ export function PurchasesResponseFromJSON(json: any): PurchasesResponse {
103
+ return PurchasesResponseFromJSONTyped(json, false);
104
+ }
105
+
106
+ export function PurchasesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PurchasesResponse {
107
+ if ((json === undefined) || (json === null)) {
108
+ return json;
109
+ }
110
+ return {
111
+
112
+ 'latestChainBlock': json['latest_chain_block'],
113
+ 'latestIndexedBlock': json['latest_indexed_block'],
114
+ 'latestChainSlotPlays': json['latest_chain_slot_plays'],
115
+ 'latestIndexedSlotPlays': json['latest_indexed_slot_plays'],
116
+ 'signature': json['signature'],
117
+ 'timestamp': json['timestamp'],
118
+ 'version': VersionMetadataFromJSON(json['version']),
119
+ 'data': !exists(json, 'data') ? undefined : ((json['data'] as Array<any>).map(PurchaseFromJSON)),
120
+ };
121
+ }
122
+
123
+ export function PurchasesResponseToJSON(value?: PurchasesResponse | null): any {
124
+ if (value === undefined) {
125
+ return undefined;
126
+ }
127
+ if (value === null) {
128
+ return null;
129
+ }
130
+ return {
131
+
132
+ 'latest_chain_block': value.latestChainBlock,
133
+ 'latest_indexed_block': value.latestIndexedBlock,
134
+ 'latest_chain_slot_plays': value.latestChainSlotPlays,
135
+ 'latest_indexed_slot_plays': value.latestIndexedSlotPlays,
136
+ 'signature': value.signature,
137
+ 'timestamp': value.timestamp,
138
+ 'version': VersionMetadataToJSON(value.version),
139
+ 'data': value.data === undefined ? undefined : ((value.data as Array<any>).map(PurchaseToJSON)),
140
+ };
141
+ }
142
+
@@ -38,6 +38,8 @@ export * from './PlaylistFullWithoutTracks';
38
38
  export * from './PlaylistLibrary';
39
39
  export * from './PremiumContentSignature';
40
40
  export * from './ProfilePicture';
41
+ export * from './Purchase';
42
+ export * from './PurchasesResponse';
41
43
  export * from './RelatedArtistResponseFull';
42
44
  export * from './RemixesResponse';
43
45
  export * from './RemixesResponseFull';