-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcallTables.js
74 lines (68 loc) · 2.29 KB
/
callTables.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
const mysql = require('mysql');
const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '', database: 'spotitip' });
async function getAllPlaylists() {
return new Promise((resolve, reject) => {
const sql = `
SELECT p.id, p.name, u.name creator_name
FROM playlist p
JOIN user_playlist_create upc ON p.id = upc.playlist_id
JOIN user u ON u.id = upc.user_id
`;
connection.query(sql, (err, results) => {
if (err) {
reject(err);
} else {
resolve(results);
}
});
});
}
async function getAllAlbums() {
return new Promise((resolve, reject) => {
const sql = `
SELECT a.id, a.name, artist.name artistName
FROM album_artist_has aa
JOIN album a ON aa.album_id = a.id
JOIN artist ON aa.artist_id = artist.id
`;
connection.query(sql, (err, results) => {
if (err) { reject(err);
} else { resolve(results); }
});
});
}
async function getAllArtists() {
return new Promise((resolve, reject) => {
const sql = 'SELECT id, name FROM artist ORDER BY followers DESC;';
// const sql = 'SELECT id, name FROM artist';
connection.query(sql, (err, results) => {
if (err) { reject(err);
} else { resolve(results); }
});
});
}
async function getAllSongs() {
return new Promise((resolve, reject) => {
const sql = `
SELECT s.id, s.name, artist.name artistName
FROM song_artist_sing sa
JOIN song s ON sa.song_id = s.id
JOIN artist ON sa.artist_id = artist.id
LIMIT 0, 50;
`;
connection.query(sql, (err, results) => {
if (err) { reject(err);
} else { resolve(results); }
});
});
}
async function getAllUsers() {
return new Promise((resolve, reject) => {
const sql = 'SELECT id, name FROM user ORDER BY followers DESC, following DESC';
connection.query(sql, (err, results) => {
if (err) { reject(err);
} else { resolve(results); }
});
});
}
module.exports = { getAllPlaylists, getAllAlbums, getAllArtists, getAllSongs, getAllUsers }