@soundx/services 1.0.0
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/cjs/album.d.ts +25 -0
- package/dist/cjs/album.js +98 -0
- package/dist/cjs/artist.d.ts +17 -0
- package/dist/cjs/artist.js +66 -0
- package/dist/cjs/auth.d.ts +15 -0
- package/dist/cjs/auth.js +38 -0
- package/dist/cjs/folder.d.ts +12 -0
- package/dist/cjs/folder.js +31 -0
- package/dist/cjs/import.d.ts +27 -0
- package/dist/cjs/import.js +42 -0
- package/dist/cjs/index.d.ts +13 -0
- package/dist/cjs/index.js +148 -0
- package/dist/cjs/models.d.ts +174 -0
- package/dist/cjs/models.js +11 -0
- package/dist/cjs/playlist.d.ts +9 -0
- package/dist/cjs/playlist.js +55 -0
- package/dist/cjs/request.d.ts +16 -0
- package/dist/cjs/request.js +33 -0
- package/dist/cjs/search-record.d.ts +8 -0
- package/dist/cjs/search-record.js +26 -0
- package/dist/cjs/search.d.ts +10 -0
- package/dist/cjs/search.js +47 -0
- package/dist/cjs/track.d.ts +21 -0
- package/dist/cjs/track.js +72 -0
- package/dist/cjs/user.d.ts +13 -0
- package/dist/cjs/user.js +115 -0
- package/dist/cjs/userAudiobookHistory.d.ts +6 -0
- package/dist/cjs/userAudiobookHistory.js +12 -0
- package/dist/esm/album.d.ts +25 -0
- package/dist/esm/album.js +80 -0
- package/dist/esm/artist.d.ts +17 -0
- package/dist/esm/artist.js +49 -0
- package/dist/esm/auth.d.ts +15 -0
- package/dist/esm/auth.js +48 -0
- package/dist/esm/folder.d.ts +12 -0
- package/dist/esm/folder.js +20 -0
- package/dist/esm/import.d.ts +27 -0
- package/dist/esm/import.js +33 -0
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/models.d.ts +174 -0
- package/dist/esm/models.js +7 -0
- package/dist/esm/playlist.d.ts +9 -0
- package/dist/esm/playlist.js +172 -0
- package/dist/esm/request.d.ts +16 -0
- package/dist/esm/request.js +45 -0
- package/dist/esm/search-record.d.ts +8 -0
- package/dist/esm/search-record.js +15 -0
- package/dist/esm/search.d.ts +10 -0
- package/dist/esm/search.js +70 -0
- package/dist/esm/track.d.ts +21 -0
- package/dist/esm/track.js +55 -0
- package/dist/esm/user.d.ts +13 -0
- package/dist/esm/user.js +100 -0
- package/dist/esm/userAudiobookHistory.d.ts +6 -0
- package/dist/esm/userAudiobookHistory.js +4 -0
- package/package.json +26 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
export interface ISuccessResponse<T> {
|
|
2
|
+
code: number;
|
|
3
|
+
message: string;
|
|
4
|
+
data: T;
|
|
5
|
+
}
|
|
6
|
+
export declare enum TrackType {
|
|
7
|
+
MUSIC = "MUSIC",
|
|
8
|
+
AUDIOBOOK = "AUDIOBOOK"
|
|
9
|
+
}
|
|
10
|
+
export interface IErrorResponse {
|
|
11
|
+
code: number;
|
|
12
|
+
message: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ITableData<T> {
|
|
15
|
+
pageSize: number;
|
|
16
|
+
current: number;
|
|
17
|
+
list: T;
|
|
18
|
+
total: number;
|
|
19
|
+
}
|
|
20
|
+
export interface ILoadMoreData<T> {
|
|
21
|
+
pageSize: number;
|
|
22
|
+
loadCount: number;
|
|
23
|
+
list: T[];
|
|
24
|
+
total: number;
|
|
25
|
+
hasMore: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface RecommendedItem {
|
|
28
|
+
title: string;
|
|
29
|
+
id: string;
|
|
30
|
+
items: Album[];
|
|
31
|
+
}
|
|
32
|
+
export interface TimelineItem {
|
|
33
|
+
id: string;
|
|
34
|
+
time: number;
|
|
35
|
+
items: (Album | Track)[];
|
|
36
|
+
}
|
|
37
|
+
export interface Track {
|
|
38
|
+
id: number;
|
|
39
|
+
name: string;
|
|
40
|
+
path: string;
|
|
41
|
+
artist: string;
|
|
42
|
+
artistEntity: Artist;
|
|
43
|
+
album: string;
|
|
44
|
+
albumEntity: Album;
|
|
45
|
+
cover: string | null;
|
|
46
|
+
duration: number | null;
|
|
47
|
+
lyrics: string | null;
|
|
48
|
+
index: number | null;
|
|
49
|
+
type: TrackType;
|
|
50
|
+
createdAt: string | Date;
|
|
51
|
+
artistId?: number;
|
|
52
|
+
albumId?: number;
|
|
53
|
+
folderId?: number;
|
|
54
|
+
likedByUsers?: UserTrackLike[];
|
|
55
|
+
listenedByUsers?: UserTrackHistory[];
|
|
56
|
+
likedAsAudiobookByUsers?: UserAudiobookLike[];
|
|
57
|
+
listenedAsAudiobookByUsers?: UserAudiobookHistory[];
|
|
58
|
+
playlists?: Playlist[];
|
|
59
|
+
progress?: number;
|
|
60
|
+
}
|
|
61
|
+
export interface Album {
|
|
62
|
+
id: number;
|
|
63
|
+
name: string;
|
|
64
|
+
artist: string;
|
|
65
|
+
cover: string | null;
|
|
66
|
+
year: string | null;
|
|
67
|
+
type: TrackType;
|
|
68
|
+
likedByUsers?: UserAlbumLike[];
|
|
69
|
+
listenedByUsers?: UserAlbumHistory[];
|
|
70
|
+
progress?: number;
|
|
71
|
+
resumeTrackId?: number | null;
|
|
72
|
+
resumeProgress?: number | null;
|
|
73
|
+
}
|
|
74
|
+
export interface Artist {
|
|
75
|
+
id: number;
|
|
76
|
+
name: string;
|
|
77
|
+
avatar: string | null;
|
|
78
|
+
type: TrackType;
|
|
79
|
+
bg_cover?: string | null;
|
|
80
|
+
description?: string | null;
|
|
81
|
+
}
|
|
82
|
+
export interface UserTrackLike {
|
|
83
|
+
id: number;
|
|
84
|
+
userId: number;
|
|
85
|
+
trackId: number;
|
|
86
|
+
createdAt: string | Date;
|
|
87
|
+
user?: User;
|
|
88
|
+
track?: Track;
|
|
89
|
+
}
|
|
90
|
+
export interface UserTrackHistory {
|
|
91
|
+
id: number;
|
|
92
|
+
userId: number;
|
|
93
|
+
trackId: number;
|
|
94
|
+
listenedAt: string | Date;
|
|
95
|
+
user?: User;
|
|
96
|
+
track?: Track;
|
|
97
|
+
}
|
|
98
|
+
export interface UserAlbumLike {
|
|
99
|
+
id: number;
|
|
100
|
+
userId: number;
|
|
101
|
+
albumId: number;
|
|
102
|
+
createdAt: string | Date;
|
|
103
|
+
user?: User;
|
|
104
|
+
album?: Album;
|
|
105
|
+
}
|
|
106
|
+
export interface UserAlbumHistory {
|
|
107
|
+
id: number;
|
|
108
|
+
userId: number;
|
|
109
|
+
albumId: number;
|
|
110
|
+
listenedAt: string | Date;
|
|
111
|
+
user?: User;
|
|
112
|
+
album?: Album;
|
|
113
|
+
}
|
|
114
|
+
export interface UserAudiobookLike {
|
|
115
|
+
id: number;
|
|
116
|
+
userId: number;
|
|
117
|
+
trackId: number;
|
|
118
|
+
createdAt: string | Date;
|
|
119
|
+
user?: User;
|
|
120
|
+
track?: Track;
|
|
121
|
+
}
|
|
122
|
+
export interface UserAudiobookHistory {
|
|
123
|
+
id: number;
|
|
124
|
+
userId: number;
|
|
125
|
+
trackId: number;
|
|
126
|
+
listenedAt: string | Date;
|
|
127
|
+
progress: number;
|
|
128
|
+
user?: User;
|
|
129
|
+
track?: Track;
|
|
130
|
+
}
|
|
131
|
+
export interface User {
|
|
132
|
+
id: number;
|
|
133
|
+
username: string;
|
|
134
|
+
password?: string;
|
|
135
|
+
is_admin: boolean;
|
|
136
|
+
likedTracks?: UserTrackLike[];
|
|
137
|
+
listenedTracks?: UserTrackHistory[];
|
|
138
|
+
likedAlbums?: UserAlbumLike[];
|
|
139
|
+
listenedAlbums?: UserAlbumHistory[];
|
|
140
|
+
likedAudiobooks?: UserAudiobookLike[];
|
|
141
|
+
listenedAudiobooks?: UserAudiobookHistory[];
|
|
142
|
+
playlists?: Playlist[];
|
|
143
|
+
}
|
|
144
|
+
export interface Playlist {
|
|
145
|
+
id: number;
|
|
146
|
+
name: string;
|
|
147
|
+
type: TrackType;
|
|
148
|
+
createdAt: string | Date;
|
|
149
|
+
updatedAt: string | Date;
|
|
150
|
+
userId: number;
|
|
151
|
+
user?: User;
|
|
152
|
+
tracks?: Track[];
|
|
153
|
+
_count?: {
|
|
154
|
+
tracks: number;
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
export interface Device {
|
|
158
|
+
id: number;
|
|
159
|
+
name: string;
|
|
160
|
+
userId: number;
|
|
161
|
+
isOnline: boolean;
|
|
162
|
+
lastSeen?: string | Date;
|
|
163
|
+
createdAt: Date;
|
|
164
|
+
updatedAt: Date;
|
|
165
|
+
}
|
|
166
|
+
export interface Folder {
|
|
167
|
+
id: number;
|
|
168
|
+
path: string;
|
|
169
|
+
name: string;
|
|
170
|
+
parentId: number | null;
|
|
171
|
+
type: TrackType;
|
|
172
|
+
children?: Folder[];
|
|
173
|
+
tracks?: Track[];
|
|
174
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TrackType = void 0;
|
|
7
|
+
let TrackType = exports.TrackType = /*#__PURE__*/function (TrackType) {
|
|
8
|
+
TrackType["MUSIC"] = "MUSIC";
|
|
9
|
+
TrackType["AUDIOBOOK"] = "AUDIOBOOK";
|
|
10
|
+
return TrackType;
|
|
11
|
+
}({}); // Prisma Models
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ISuccessResponse, Playlist } from "./models";
|
|
2
|
+
export declare const createPlaylist: (name: string, type: "MUSIC" | "AUDIOBOOK", userId: number) => Promise<ISuccessResponse<Playlist>>;
|
|
3
|
+
export declare const getPlaylists: (type?: "MUSIC" | "AUDIOBOOK", userId?: number) => Promise<ISuccessResponse<Playlist[]>>;
|
|
4
|
+
export declare const getPlaylistById: (id: number) => Promise<ISuccessResponse<Playlist>>;
|
|
5
|
+
export declare const updatePlaylist: (id: number, name: string) => Promise<ISuccessResponse<Playlist>>;
|
|
6
|
+
export declare const deletePlaylist: (id: number) => Promise<ISuccessResponse<boolean>>;
|
|
7
|
+
export declare const addTrackToPlaylist: (playlistId: number, trackId: number) => Promise<ISuccessResponse<boolean>>;
|
|
8
|
+
export declare const addTracksToPlaylist: (playlistId: number, trackIds: number[]) => Promise<ISuccessResponse<boolean>>;
|
|
9
|
+
export declare const removeTrackFromPlaylist: (playlistId: number, trackId: number) => Promise<ISuccessResponse<boolean>>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.updatePlaylist = exports.removeTrackFromPlaylist = exports.getPlaylists = exports.getPlaylistById = exports.deletePlaylist = exports.createPlaylist = exports.addTracksToPlaylist = exports.addTrackToPlaylist = void 0;
|
|
7
|
+
var _request = _interopRequireDefault(require("./request"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
const createPlaylist = async (name, type, userId) => {
|
|
10
|
+
return await _request.default.post("/playlists", {
|
|
11
|
+
name,
|
|
12
|
+
type,
|
|
13
|
+
userId
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
exports.createPlaylist = createPlaylist;
|
|
17
|
+
const getPlaylists = async (type, userId) => {
|
|
18
|
+
return await _request.default.get("/playlists", {
|
|
19
|
+
params: {
|
|
20
|
+
userId,
|
|
21
|
+
type
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
exports.getPlaylists = getPlaylists;
|
|
26
|
+
const getPlaylistById = async id => {
|
|
27
|
+
return await _request.default.get(`/playlists/${id}`);
|
|
28
|
+
};
|
|
29
|
+
exports.getPlaylistById = getPlaylistById;
|
|
30
|
+
const updatePlaylist = async (id, name) => {
|
|
31
|
+
return await _request.default.put(`/playlists/${id}`, {
|
|
32
|
+
name
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
exports.updatePlaylist = updatePlaylist;
|
|
36
|
+
const deletePlaylist = async id => {
|
|
37
|
+
return await _request.default.delete(`/playlists/${id}`);
|
|
38
|
+
};
|
|
39
|
+
exports.deletePlaylist = deletePlaylist;
|
|
40
|
+
const addTrackToPlaylist = async (playlistId, trackId) => {
|
|
41
|
+
return await _request.default.post(`/playlists/${playlistId}/tracks`, {
|
|
42
|
+
trackId
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
exports.addTrackToPlaylist = addTrackToPlaylist;
|
|
46
|
+
const addTracksToPlaylist = async (playlistId, trackIds) => {
|
|
47
|
+
return await _request.default.post(`/playlists/${playlistId}/tracks/batch`, {
|
|
48
|
+
trackIds
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
exports.addTracksToPlaylist = addTracksToPlaylist;
|
|
52
|
+
const removeTrackFromPlaylist = async (playlistId, trackId) => {
|
|
53
|
+
return await _request.default.delete(`/playlists/${playlistId}/tracks/${trackId}`);
|
|
54
|
+
};
|
|
55
|
+
exports.removeTrackFromPlaylist = removeTrackFromPlaylist;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AxiosInstance } from "axios";
|
|
2
|
+
export declare const setRequestInstance: (instance: AxiosInstance) => void;
|
|
3
|
+
export declare const getRequestInstance: () => AxiosInstance;
|
|
4
|
+
export declare const request: {
|
|
5
|
+
get: <T = any, R = any, D = any>(url: string, config?: any) => Promise<R>;
|
|
6
|
+
delete: <T_1 = any, R_1 = any, D_1 = any>(url: string, config?: any) => Promise<R_1>;
|
|
7
|
+
head: <T_2 = any, R_2 = any, D_2 = any>(url: string, config?: any) => Promise<R_2>;
|
|
8
|
+
options: <T_3 = any, R_3 = any, D_3 = any>(url: string, config?: any) => Promise<R_3>;
|
|
9
|
+
post: <T_4 = any, R_4 = any, D_4 = any>(url: string, data?: D_4 | undefined, config?: any) => Promise<R_4>;
|
|
10
|
+
put: <T_5 = any, R_5 = any, D_5 = any>(url: string, data?: D_5 | undefined, config?: any) => Promise<R_5>;
|
|
11
|
+
patch: <T_6 = any, R_6 = any, D_6 = any>(url: string, data?: D_6 | undefined, config?: any) => Promise<R_6>;
|
|
12
|
+
postForm: <T_7 = any, R_7 = any, D_7 = any>(url: string, data?: D_7 | undefined, config?: any) => Promise<R_7>;
|
|
13
|
+
putForm: <T_8 = any, R_8 = any, D_8 = any>(url: string, data?: D_8 | undefined, config?: any) => Promise<R_8>;
|
|
14
|
+
patchForm: <T_9 = any, R_9 = any, D_9 = any>(url: string, data?: D_9 | undefined, config?: any) => Promise<R_9>;
|
|
15
|
+
};
|
|
16
|
+
export default request;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.setRequestInstance = exports.request = exports.getRequestInstance = exports.default = void 0;
|
|
7
|
+
let requestInstance = null;
|
|
8
|
+
const setRequestInstance = instance => {
|
|
9
|
+
requestInstance = instance;
|
|
10
|
+
};
|
|
11
|
+
exports.setRequestInstance = setRequestInstance;
|
|
12
|
+
const getRequestInstance = () => {
|
|
13
|
+
if (!requestInstance) {
|
|
14
|
+
throw new Error("Request instance not initialized. Please call setRequestInstance first.");
|
|
15
|
+
}
|
|
16
|
+
return requestInstance;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// Facade to match typical axios usage: request.get, request.post etc.
|
|
20
|
+
exports.getRequestInstance = getRequestInstance;
|
|
21
|
+
const request = exports.request = {
|
|
22
|
+
get: (url, config) => getRequestInstance().get(url, config),
|
|
23
|
+
delete: (url, config) => getRequestInstance().delete(url, config),
|
|
24
|
+
head: (url, config) => getRequestInstance().head(url, config),
|
|
25
|
+
options: (url, config) => getRequestInstance().options(url, config),
|
|
26
|
+
post: (url, data, config) => getRequestInstance().post(url, data, config),
|
|
27
|
+
put: (url, data, config) => getRequestInstance().put(url, data, config),
|
|
28
|
+
patch: (url, data, config) => getRequestInstance().patch(url, data, config),
|
|
29
|
+
postForm: (url, data, config) => getRequestInstance().postForm(url, data, config),
|
|
30
|
+
putForm: (url, data, config) => getRequestInstance().putForm(url, data, config),
|
|
31
|
+
patchForm: (url, data, config) => getRequestInstance().patchForm(url, data, config)
|
|
32
|
+
};
|
|
33
|
+
var _default = exports.default = request;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ISuccessResponse } from "./models";
|
|
2
|
+
export declare const addSearchRecord: (keyword: string) => Promise<ISuccessResponse<any>>;
|
|
3
|
+
export declare const getSearchHistory: () => Promise<ISuccessResponse<string[]>>;
|
|
4
|
+
export declare const getHotSearches: () => Promise<ISuccessResponse<{
|
|
5
|
+
keyword: string;
|
|
6
|
+
count: number;
|
|
7
|
+
}[]>>;
|
|
8
|
+
export declare const clearSearchHistory: () => Promise<ISuccessResponse<any>>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getSearchHistory = exports.getHotSearches = exports.clearSearchHistory = exports.addSearchRecord = void 0;
|
|
7
|
+
var _request = _interopRequireDefault(require("./request"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
const addSearchRecord = keyword => {
|
|
10
|
+
return _request.default.post("/search-record", {
|
|
11
|
+
keyword
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
exports.addSearchRecord = addSearchRecord;
|
|
15
|
+
const getSearchHistory = () => {
|
|
16
|
+
return _request.default.get("/search-record/history");
|
|
17
|
+
};
|
|
18
|
+
exports.getSearchHistory = getSearchHistory;
|
|
19
|
+
const getHotSearches = () => {
|
|
20
|
+
return _request.default.get("/search-record/hot");
|
|
21
|
+
};
|
|
22
|
+
exports.getHotSearches = getHotSearches;
|
|
23
|
+
const clearSearchHistory = () => {
|
|
24
|
+
return _request.default.delete("/search-record/history");
|
|
25
|
+
};
|
|
26
|
+
exports.clearSearchHistory = clearSearchHistory;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Album, Artist, ISuccessResponse, Track } from "./models";
|
|
2
|
+
export interface SearchResults {
|
|
3
|
+
tracks: Track[];
|
|
4
|
+
artists: Artist[];
|
|
5
|
+
albums: Album[];
|
|
6
|
+
}
|
|
7
|
+
export declare const searchTracks: (keyword: string, type?: string, limit?: number) => Promise<ISuccessResponse<Track[]>>;
|
|
8
|
+
export declare const searchArtists: (keyword: string, type?: string, limit?: number) => Promise<ISuccessResponse<Artist[]>>;
|
|
9
|
+
export declare const searchAlbums: (keyword: string, type?: string, limit?: number) => Promise<ISuccessResponse<Album[]>>;
|
|
10
|
+
export declare const searchAll: (keyword: string, type?: string) => Promise<SearchResults>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.searchTracks = exports.searchArtists = exports.searchAll = exports.searchAlbums = void 0;
|
|
7
|
+
var _request = _interopRequireDefault(require("./request"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
const searchTracks = (keyword, type, limit = 10) => {
|
|
10
|
+
return _request.default.get("/track/search", {
|
|
11
|
+
params: {
|
|
12
|
+
keyword,
|
|
13
|
+
type,
|
|
14
|
+
limit
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
exports.searchTracks = searchTracks;
|
|
19
|
+
const searchArtists = (keyword, type, limit = 10) => {
|
|
20
|
+
return _request.default.get("/artist/search", {
|
|
21
|
+
params: {
|
|
22
|
+
keyword,
|
|
23
|
+
type,
|
|
24
|
+
limit
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
exports.searchArtists = searchArtists;
|
|
29
|
+
const searchAlbums = (keyword, type, limit = 10) => {
|
|
30
|
+
return _request.default.get("/album/search", {
|
|
31
|
+
params: {
|
|
32
|
+
keyword,
|
|
33
|
+
type,
|
|
34
|
+
limit
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
exports.searchAlbums = searchAlbums;
|
|
39
|
+
const searchAll = async (keyword, type) => {
|
|
40
|
+
const [tracksRes, artistsRes, albumsRes] = await Promise.all([searchTracks(keyword, type, 5), searchArtists(keyword, type, 5), searchAlbums(keyword, type, 5)]);
|
|
41
|
+
return {
|
|
42
|
+
tracks: tracksRes.code === 200 ? tracksRes.data : [],
|
|
43
|
+
artists: artistsRes.code === 200 ? artistsRes.data : [],
|
|
44
|
+
albums: albumsRes.code === 200 ? albumsRes.data : []
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
exports.searchAll = searchAll;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ILoadMoreData, ISuccessResponse, ITableData, Track } from "./models";
|
|
2
|
+
export declare const getTrackList: () => Promise<ISuccessResponse<Track[]>>;
|
|
3
|
+
export declare const getTrackTableList: (params: {
|
|
4
|
+
pageSize: number;
|
|
5
|
+
current: number;
|
|
6
|
+
}) => Promise<ISuccessResponse<ITableData<Track[]>>>;
|
|
7
|
+
export declare const loadMoreTrack: (params: {
|
|
8
|
+
pageSize: number;
|
|
9
|
+
loadCount: number;
|
|
10
|
+
}) => Promise<ISuccessResponse<ILoadMoreData<Track[]>>>;
|
|
11
|
+
export declare const createTrack: (data: Omit<Track, "id">) => Promise<ISuccessResponse<Track>>;
|
|
12
|
+
export declare const updateTrack: (id: number, data: Partial<Track>) => Promise<ISuccessResponse<Track>>;
|
|
13
|
+
export declare const deleteTrack: (id: number, deleteAlbum?: boolean) => Promise<ISuccessResponse<boolean>>;
|
|
14
|
+
export declare const getDeletionImpact: (id: number) => Promise<ISuccessResponse<{
|
|
15
|
+
isLastTrackInAlbum: boolean;
|
|
16
|
+
albumName: string | null;
|
|
17
|
+
}>>;
|
|
18
|
+
export declare const batchCreateTracks: (data: Omit<Track, "id">[]) => Promise<ISuccessResponse<boolean>>;
|
|
19
|
+
export declare const batchDeleteTracks: (ids: number[]) => Promise<ISuccessResponse<boolean>>;
|
|
20
|
+
export declare const getLatestTracks: (type?: string, random?: boolean, pageSize?: number) => Promise<ISuccessResponse<Track[]>>;
|
|
21
|
+
export declare const getTracksByArtist: (artist: string) => Promise<ISuccessResponse<Track[]>>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.updateTrack = exports.loadMoreTrack = exports.getTracksByArtist = exports.getTrackTableList = exports.getTrackList = exports.getLatestTracks = exports.getDeletionImpact = exports.deleteTrack = exports.createTrack = exports.batchDeleteTracks = exports.batchCreateTracks = void 0;
|
|
7
|
+
var _request = _interopRequireDefault(require("./request"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
const getTrackList = () => {
|
|
10
|
+
return _request.default.get("/track/list");
|
|
11
|
+
};
|
|
12
|
+
exports.getTrackList = getTrackList;
|
|
13
|
+
const getTrackTableList = params => {
|
|
14
|
+
return _request.default.get("/table-list", {
|
|
15
|
+
params
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
exports.getTrackTableList = getTrackTableList;
|
|
19
|
+
const loadMoreTrack = params => {
|
|
20
|
+
return _request.default.get("/load-more", {
|
|
21
|
+
params
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
exports.loadMoreTrack = loadMoreTrack;
|
|
25
|
+
const createTrack = data => {
|
|
26
|
+
return _request.default.post("/track", data);
|
|
27
|
+
};
|
|
28
|
+
exports.createTrack = createTrack;
|
|
29
|
+
const updateTrack = (id, data) => {
|
|
30
|
+
return _request.default.put(`/track/${id}`, data);
|
|
31
|
+
};
|
|
32
|
+
exports.updateTrack = updateTrack;
|
|
33
|
+
const deleteTrack = (id, deleteAlbum = false) => {
|
|
34
|
+
return _request.default.delete(`/track/${id}`, {
|
|
35
|
+
params: {
|
|
36
|
+
deleteAlbum
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.deleteTrack = deleteTrack;
|
|
41
|
+
const getDeletionImpact = id => {
|
|
42
|
+
return _request.default.get(`/track/${id}/deletion-impact`);
|
|
43
|
+
};
|
|
44
|
+
exports.getDeletionImpact = getDeletionImpact;
|
|
45
|
+
const batchCreateTracks = data => {
|
|
46
|
+
return _request.default.post("/track/batch-create", data);
|
|
47
|
+
};
|
|
48
|
+
exports.batchCreateTracks = batchCreateTracks;
|
|
49
|
+
const batchDeleteTracks = ids => {
|
|
50
|
+
return _request.default.delete("/track/batch-delete", {
|
|
51
|
+
data: ids
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
exports.batchDeleteTracks = batchDeleteTracks;
|
|
55
|
+
const getLatestTracks = (type, random, pageSize) => {
|
|
56
|
+
return _request.default.get("/track/latest", {
|
|
57
|
+
params: {
|
|
58
|
+
type,
|
|
59
|
+
random,
|
|
60
|
+
pageSize
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
exports.getLatestTracks = getLatestTracks;
|
|
65
|
+
const getTracksByArtist = artist => {
|
|
66
|
+
return _request.default.get("/track/artist", {
|
|
67
|
+
params: {
|
|
68
|
+
artist
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
exports.getTracksByArtist = getTracksByArtist;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ILoadMoreData, type ISuccessResponse } from "./models";
|
|
2
|
+
export declare const addToHistory: (trackId: number, userId: number, progress?: number, deviceName?: string, deviceId?: number, isSyncMode?: boolean) => Promise<ISuccessResponse<any>>;
|
|
3
|
+
export declare const getLatestHistory: (userId: number) => Promise<ISuccessResponse<any>>;
|
|
4
|
+
export declare const addAlbumToHistory: (albumId: number, userId: number) => Promise<ISuccessResponse<any>>;
|
|
5
|
+
export declare const getAlbumHistory: (userId: number, loadCount: number, pageSize: number, type?: string) => Promise<ISuccessResponse<ILoadMoreData<any>>>;
|
|
6
|
+
export declare const toggleLike: (trackId: number, userId: number) => Promise<ISuccessResponse<any>>;
|
|
7
|
+
export declare const toggleUnLike: (trackId: number, userId: number) => Promise<ISuccessResponse<any>>;
|
|
8
|
+
export declare const toggleAlbumLike: (albumId: number, userId: number) => Promise<ISuccessResponse<any>>;
|
|
9
|
+
export declare const unlikeAlbum: (albumId: number, userId: number) => Promise<ISuccessResponse<any>>;
|
|
10
|
+
export declare const getFavoriteAlbums: (userId: number, loadCount: number, pageSize: number, type?: string) => Promise<ISuccessResponse<ILoadMoreData<any>>>;
|
|
11
|
+
export declare const getFavoriteTracks: (userId: number, loadCount: number, pageSize: number, type?: string) => Promise<ISuccessResponse<ILoadMoreData<any>>>;
|
|
12
|
+
export declare const getTrackHistory: (userId: number, loadCount: number, pageSize: number, type?: string) => Promise<ISuccessResponse<ILoadMoreData<any>>>;
|
|
13
|
+
export declare const getUserList: () => Promise<ISuccessResponse<any[]>>;
|
package/dist/cjs/user.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.unlikeAlbum = exports.toggleUnLike = exports.toggleLike = exports.toggleAlbumLike = exports.getUserList = exports.getTrackHistory = exports.getLatestHistory = exports.getFavoriteTracks = exports.getFavoriteAlbums = exports.getAlbumHistory = exports.addToHistory = exports.addAlbumToHistory = void 0;
|
|
7
|
+
var _request = _interopRequireDefault(require("./request"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
const addToHistory = (trackId, userId, progress = 0, deviceName, deviceId, isSyncMode) => {
|
|
10
|
+
return _request.default.post("/user-track-histories", {
|
|
11
|
+
trackId,
|
|
12
|
+
userId,
|
|
13
|
+
progress,
|
|
14
|
+
deviceName,
|
|
15
|
+
deviceId,
|
|
16
|
+
isSyncMode
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
exports.addToHistory = addToHistory;
|
|
20
|
+
const getLatestHistory = userId => {
|
|
21
|
+
return _request.default.get("/user-track-histories/latest", {
|
|
22
|
+
params: {
|
|
23
|
+
userId
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
exports.getLatestHistory = getLatestHistory;
|
|
28
|
+
const addAlbumToHistory = (albumId, userId) => {
|
|
29
|
+
return _request.default.post("/user-album-histories", {
|
|
30
|
+
albumId,
|
|
31
|
+
userId
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
exports.addAlbumToHistory = addAlbumToHistory;
|
|
35
|
+
const getAlbumHistory = (userId, loadCount, pageSize, type) => {
|
|
36
|
+
return _request.default.get("/user-album-histories/load-more", {
|
|
37
|
+
params: {
|
|
38
|
+
pageSize,
|
|
39
|
+
loadCount,
|
|
40
|
+
userId,
|
|
41
|
+
type
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
exports.getAlbumHistory = getAlbumHistory;
|
|
46
|
+
const toggleLike = (trackId, userId) => {
|
|
47
|
+
return _request.default.post("/user-track-likes/create", {
|
|
48
|
+
trackId,
|
|
49
|
+
userId
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
exports.toggleLike = toggleLike;
|
|
53
|
+
const toggleUnLike = (trackId, userId) => {
|
|
54
|
+
return _request.default.delete("/user-track-likes/unlike", {
|
|
55
|
+
params: {
|
|
56
|
+
trackId,
|
|
57
|
+
userId
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
exports.toggleUnLike = toggleUnLike;
|
|
62
|
+
const toggleAlbumLike = (albumId, userId) => {
|
|
63
|
+
return _request.default.post("/user-album-likes", {
|
|
64
|
+
albumId,
|
|
65
|
+
userId
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
exports.toggleAlbumLike = toggleAlbumLike;
|
|
69
|
+
const unlikeAlbum = (albumId, userId) => {
|
|
70
|
+
return _request.default.delete("/user-album-likes/unlike", {
|
|
71
|
+
params: {
|
|
72
|
+
albumId,
|
|
73
|
+
userId
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
exports.unlikeAlbum = unlikeAlbum;
|
|
78
|
+
const getFavoriteAlbums = (userId, loadCount, pageSize, type) => {
|
|
79
|
+
return _request.default.get("/user-album-likes/load-more", {
|
|
80
|
+
params: {
|
|
81
|
+
pageSize,
|
|
82
|
+
loadCount,
|
|
83
|
+
userId,
|
|
84
|
+
type
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
exports.getFavoriteAlbums = getFavoriteAlbums;
|
|
89
|
+
const getFavoriteTracks = (userId, loadCount, pageSize, type) => {
|
|
90
|
+
return _request.default.get("/user-track-likes/load-more", {
|
|
91
|
+
params: {
|
|
92
|
+
pageSize,
|
|
93
|
+
loadCount: loadCount,
|
|
94
|
+
userId,
|
|
95
|
+
lastId: loadCount,
|
|
96
|
+
type
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
exports.getFavoriteTracks = getFavoriteTracks;
|
|
101
|
+
const getTrackHistory = (userId, loadCount, pageSize, type) => {
|
|
102
|
+
return _request.default.get("/user-track-histories/load-more", {
|
|
103
|
+
params: {
|
|
104
|
+
pageSize,
|
|
105
|
+
loadCount: loadCount,
|
|
106
|
+
userId,
|
|
107
|
+
type
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
exports.getTrackHistory = getTrackHistory;
|
|
112
|
+
const getUserList = () => {
|
|
113
|
+
return _request.default.get("/user/list");
|
|
114
|
+
};
|
|
115
|
+
exports.getUserList = getUserList;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.reportAudiobookProgress = void 0;
|
|
7
|
+
var _request = _interopRequireDefault(require("./request"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
const reportAudiobookProgress = data => {
|
|
10
|
+
return _request.default.post("/user-audiobook-histories", data);
|
|
11
|
+
};
|
|
12
|
+
exports.reportAudiobookProgress = reportAudiobookProgress;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Album, ILoadMoreData, ISuccessResponse, ITableData } from "./models";
|
|
2
|
+
export declare const getAlbumList: () => Promise<ISuccessResponse<Album[]>>;
|
|
3
|
+
export declare const getAlbumTableList: (params: {
|
|
4
|
+
pageSize: number;
|
|
5
|
+
current: number;
|
|
6
|
+
}) => Promise<ISuccessResponse<ITableData<Album[]>>>;
|
|
7
|
+
export declare const loadMoreAlbum: (params: {
|
|
8
|
+
pageSize: number;
|
|
9
|
+
loadCount: number;
|
|
10
|
+
type?: string;
|
|
11
|
+
}) => Promise<ISuccessResponse<ILoadMoreData<Album>>>;
|
|
12
|
+
export declare const createAlbum: (data: Omit<Album, "id">) => Promise<ISuccessResponse<Album>>;
|
|
13
|
+
export declare const updateAlbum: (id: number, data: Partial<Album>) => Promise<ISuccessResponse<Album>>;
|
|
14
|
+
export declare const deleteAlbum: (id: number) => Promise<ISuccessResponse<boolean>>;
|
|
15
|
+
export declare const batchCreateAlbums: (data: Omit<Album, "id">[]) => Promise<ISuccessResponse<boolean>>;
|
|
16
|
+
export declare const batchDeleteAlbums: (ids: number[]) => Promise<ISuccessResponse<boolean>>;
|
|
17
|
+
export declare const getRecommendedAlbums: (type?: string, random?: boolean, pageSize?: number) => Promise<ISuccessResponse<Album[]>>;
|
|
18
|
+
export declare const getRecentAlbums: (type?: string, random?: boolean, pageSize?: number) => Promise<ISuccessResponse<Album[]>>;
|
|
19
|
+
export declare const getAlbumById: (id: number) => Promise<ISuccessResponse<Album>>;
|
|
20
|
+
export declare const getAlbumTracks: (id: number, pageSize: number, skip: number, sort?: "asc" | "desc", keyword?: string, userId?: number) => Promise<ISuccessResponse<{
|
|
21
|
+
list: any[];
|
|
22
|
+
total: number;
|
|
23
|
+
}>>;
|
|
24
|
+
export declare const getAlbumsByArtist: (artist: string) => Promise<ISuccessResponse<Album[]>>;
|
|
25
|
+
export declare const getCollaborativeAlbumsByArtist: (artist: string) => Promise<ISuccessResponse<Album[]>>;
|