MusicTopus/src/helpers/index.js

56 lines
1.3 KiB
JavaScript

/* eslint-disable import/prefer-default-export */
import { Client as Discogs } from "disconnect";
import { discogsToken } from "../config";
export const getBaseUrl = (req) => `${req.protocol}://${req.get("host")}`;
export const searchSong = async (q, format, year, country) => {
const dis = new Discogs({ userToken: discogsToken }).database();
const params = {
q,
type: "release",
};
if (format) {
params.format = format;
}
if (year) {
params.year = year;
}
if (country) {
params.country = country;
}
const res = await dis.search(params);
return res;
};
export const getAlbumDetails = async (id) => {
const dis = new Discogs({ userToken: discogsToken }).database();
const res = await dis.getRelease(id);
if (res.released && res.released.includes("-00")) {
const [year, month] = res.released.split("-");
res.released = new Date(year, parseInt(month, 10) - 1);
}
return res;
};
export const isXhr = (req) => {
const is = req.xhr;
if (!is) {
for (let i = 0; i < req.rawHeaders.length; i += 1) {
if (req.rawHeaders[i].indexOf("application/json") !== -1) {
return true;
}
}
}
return is;
};