Adding loop on each database row

main
Félix MIELCAREK 1 year ago
parent 17d3c0d12f
commit cc7d383d49

@ -1,13 +1,18 @@
//#region REQUIRE //#region REQUIRE
const axios = require('axios'); const axios = require('axios');
const fs = require('node:fs'); const { Client } = require('pg');
const path = require('path');
//#endregion //#endregion
//#region CONSTANTS //#region CONSTANTS
const commonDir = path.join(__dirname, '../common');
const spotifyRequestsLimit = 50; const spotifyRequestsLimit = 50;
const thresholdLove = 0.6; const thresholdLove = 0.6;
const client = new Client({
user: process.env.DB_USER,
host: 'localhost',
database: 'bigbrother',
password: process.env.DB_PASSWORD,
port: 5432
});
//#endregion //#endregion
//#region STRUCTURE //#region STRUCTURE
@ -149,29 +154,33 @@ function stepBeggining(step) {
//#region MAIN //#region MAIN
async function main() { async function main() {
var albums = {};
var accessToken;
try { accessToken = fs.readFileSync(commonDir + '/spotify_access_token', 'utf8') }
catch (err) { console.error(err) }
// ======================================================
const step1 = "Get liked tracks";
const step2 = "Apply treshold algorithm";
const step3 = "Remove saved tracks from saved albums";
try { try {
stepBeggining(step1); await client.connect();
await getSavedTracks(accessToken, albums); const query = 'SELECT accesstoken FROM public.users';
stepSuccess(step1); const result = await client.query(query);
stepBeggining(step2); result.rows.forEach(async (row) => {
await tresholdAlgorithm(albums, accessToken); var albums = {};
stepSuccess(step2); var accessToken = row.accesstoken
stepBeggining(step3); const step1 = "Get liked tracks";
await removeTracksAlgorithm(albums, accessToken); const step2 = "Apply treshold algorithm";
stepSuccess(step3); const step3 = "Remove saved tracks from saved albums";
} catch (error) { } try {
stepBeggining(step1);
await getSavedTracks(accessToken, albums);
stepSuccess(step1);
stepBeggining(step2);
await tresholdAlgorithm(albums, accessToken);
stepSuccess(step2);
stepBeggining(step3);
await removeTracksAlgorithm(albums, accessToken);
stepSuccess(step3);
} catch (error) { }
});
} catch (error) { console.error('Error executing query:', error) } finally { await client.end() }
} }
//#endregion //#endregion

Loading…
Cancel
Save