initial commit
This commit is contained in:
commit
05112e3d6e
10 changed files with 359 additions and 0 deletions
44
lib/dataStore.js
Normal file
44
lib/dataStore.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
import 'fs'
|
||||
import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'fs'
|
||||
|
||||
export const mkSubDir = (username, subdir) => {
|
||||
if (!existsSync(`./data/${username}`)) {
|
||||
mkdirSync(`./data/${username}`)
|
||||
}
|
||||
if (!existsSync(`./data/${username}/${subdir}`)) {
|
||||
mkdirSync(`./data/${username}/${subdir}`)
|
||||
}
|
||||
}
|
||||
|
||||
export const hasData = (username, dataFile) => {
|
||||
return existsSync(`./data/${username}/${dataFile}.json`)
|
||||
}
|
||||
|
||||
export const saveData = (username, dataFile, object) => {
|
||||
if (!existsSync('./data')) {
|
||||
mkdirSync('./data')
|
||||
}
|
||||
if (!existsSync(`./data/${username}`)) {
|
||||
mkdirSync(`./data/${username}`)
|
||||
}
|
||||
// console.log(dataFile, object, JSON.stringify(object))
|
||||
writeFileSync(`./data/${username}/${dataFile}.json`, JSON.stringify(object))
|
||||
}
|
||||
|
||||
export const loadData = (username, dataFile) => {
|
||||
let data = undefined;
|
||||
if (existsSync(`./data/${username}/${dataFile}.json`)) {
|
||||
data = JSON.parse(readFileSync(`./data/${username}/${dataFile}.json`))
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
export const loadAllData = (username, subdir) => {
|
||||
let files = readdirSync(`./data/${username}/${subdir}`)
|
||||
let data = []
|
||||
for (let file of files) {
|
||||
let parsed = JSON.parse(readFileSync(`./data/${username}/${subdir}/${file}`))
|
||||
data.push(parsed)
|
||||
}
|
||||
return data
|
||||
}
|
15
lib/lastfm.js
Normal file
15
lib/lastfm.js
Normal file
|
@ -0,0 +1,15 @@
|
|||
import fetch from 'node-fetch'
|
||||
|
||||
const API_URL = "http://ws.audioscrobbler.com/2.0/"
|
||||
|
||||
export const callApi = async (method, params = {}) => {
|
||||
|
||||
let url = `${API_URL}?method=${method}&api_key=${process.env.API_KEY}&format=json`
|
||||
if (params != undefined) {
|
||||
for (let [key, value] of Object.entries(params)) {
|
||||
url += `&${key}=${value}`
|
||||
}
|
||||
}
|
||||
let result = await fetch(url)
|
||||
return result.json();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue