moved cache to own .js file
This commit is contained in:
parent
54d73e1530
commit
187b4beb70
2 changed files with 118 additions and 19 deletions
95
libs/cache.js
Normal file
95
libs/cache.js
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
const logger = require('./logger.js');
|
||||||
|
|
||||||
|
var banks = undefined;
|
||||||
|
var pedalboards = undefined;
|
||||||
|
var defaultPedalboard = undefined;
|
||||||
|
var currentPedalboard = undefined;
|
||||||
|
var currentPedals = undefined;
|
||||||
|
|
||||||
|
function getBanks() {
|
||||||
|
return banks;
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearBanks() {
|
||||||
|
logger.debug('clearing bank(s)');
|
||||||
|
setBanks(undefined);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setBanks(value) {
|
||||||
|
logger.debug('caching ' + value.length + ' bank(s)');
|
||||||
|
banks = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPedalboards() {
|
||||||
|
return pedalboards;
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearPedalboards() {
|
||||||
|
logger.debug('clearing pedalboard(s)');
|
||||||
|
setPedalboards(undefined);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setPedalboards(value) {
|
||||||
|
logger.debug('caching ' + value.length + ' pedalboard(s)');
|
||||||
|
pedalboards = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getDefaultPedalboard() {
|
||||||
|
return defaultPedalboard;
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearDefaultPedalboard() {
|
||||||
|
logger.debug('clearing default pedalboard');
|
||||||
|
setDefaultPedalboard(undefined);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setDefaultPedalboard(value) {
|
||||||
|
logger.debug('caching default pedalboard');
|
||||||
|
defaultPedalboard = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCurrentPedalboard() {
|
||||||
|
return currentPedalboard;
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearCurrentPedalboard() {
|
||||||
|
logger.debug('clearing current pedalboard');
|
||||||
|
setCurrentPedalboard(undefined);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setCurrentPedalboard(value) {
|
||||||
|
logger.debug('caching current pedalboard');
|
||||||
|
currentPedalboard = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCurrentPedals() {
|
||||||
|
return currentPedals;
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearCurrenPedals() {
|
||||||
|
logger.debug('clearing current pedal(s))');
|
||||||
|
setCurrentPedals(undefined);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setCurrentPedals(value) {
|
||||||
|
logger.debug('caching ' + value.length + ' current pedal(s)');
|
||||||
|
currentPedals = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
getBanks,
|
||||||
|
clearBanks,
|
||||||
|
setBanks,
|
||||||
|
getPedalboards,
|
||||||
|
clearPedalboards,
|
||||||
|
setPedalboards,
|
||||||
|
getDefaultPedalboard,
|
||||||
|
clearDefaultPedalboard,
|
||||||
|
setDefaultPedalboard,
|
||||||
|
getCurrentPedalboard,
|
||||||
|
clearCurrentPedalboard,
|
||||||
|
setCurrentPedalboard,
|
||||||
|
getCurrentPedals,
|
||||||
|
clearCurrenPedals,
|
||||||
|
setCurrentPedals
|
||||||
|
}
|
|
@ -2,17 +2,14 @@ const config = require('../config.json');
|
||||||
const util = require('./util.js');
|
const util = require('./util.js');
|
||||||
const constants = require('./constants.js');
|
const constants = require('./constants.js');
|
||||||
const logger = require('./logger.js');
|
const logger = require('./logger.js');
|
||||||
|
const cache = require('./cache.js');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const { spawn } = require('child_process')
|
const { spawn } = require('child_process')
|
||||||
const ttl2jsonld = require('@frogcat/ttl2jsonld').parse;
|
const ttl2jsonld = require('@frogcat/ttl2jsonld').parse;
|
||||||
|
|
||||||
// TODO: MOVE TO CACHE.JS
|
// TODO: MOVE TO CACHE.JS
|
||||||
var banks = undefined;
|
|
||||||
var pedalboards = undefined;
|
|
||||||
var defaultPedalboard = undefined;
|
|
||||||
var currentPedalboard = undefined;
|
|
||||||
var currentPedals = undefined;
|
|
||||||
|
|
||||||
function reset() {
|
function reset() {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
@ -24,6 +21,7 @@ function reset() {
|
||||||
|
|
||||||
function getBanks() {
|
function getBanks() {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
var banks = cache.getBanks();
|
||||||
if (banks != undefined) {
|
if (banks != undefined) {
|
||||||
return resolve(banks);
|
return resolve(banks);
|
||||||
}
|
}
|
||||||
|
@ -42,6 +40,7 @@ function getBanks() {
|
||||||
bank.id = index;
|
bank.id = index;
|
||||||
}
|
}
|
||||||
banks = util.sortById(banks);
|
banks = util.sortById(banks);
|
||||||
|
cache.setBanks(banks);
|
||||||
return resolve(banks);
|
return resolve(banks);
|
||||||
})
|
})
|
||||||
.catch(reject);
|
.catch(reject);
|
||||||
|
@ -66,6 +65,7 @@ function getBankById(bankId) {
|
||||||
|
|
||||||
function getPedalboards() {
|
function getPedalboards() {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
var pedalboards = cache.getPedalboards();
|
||||||
if (pedalboards != undefined) {
|
if (pedalboards != undefined) {
|
||||||
return resolve(pedalboards);
|
return resolve(pedalboards);
|
||||||
}
|
}
|
||||||
|
@ -86,10 +86,10 @@ function getPedalboards() {
|
||||||
// return resolve(fake);
|
// return resolve(fake);
|
||||||
|
|
||||||
util.httpGET(config.modep.host, config.modep.port, '/pedalboard/list')
|
util.httpGET(config.modep.host, config.modep.port, '/pedalboard/list')
|
||||||
.then(function (data) {
|
.then(function (pedalboards) {
|
||||||
var id = 1;
|
var id = 1;
|
||||||
for (var index = 0; index < data.length; index++) {
|
for (var index = 0; index < pedalboards.length; index++) {
|
||||||
var pedalboard = data[index];
|
var pedalboard = pedalboards[index];
|
||||||
if (pedalboard.bundle == constants.PEDALBOARD_DEFAULT) {
|
if (pedalboard.bundle == constants.PEDALBOARD_DEFAULT) {
|
||||||
pedalboard.id = 0;
|
pedalboard.id = 0;
|
||||||
defaultPedalboard = pedalboard;
|
defaultPedalboard = pedalboard;
|
||||||
|
@ -98,7 +98,8 @@ function getPedalboards() {
|
||||||
pedalboard.id = id;
|
pedalboard.id = id;
|
||||||
id++;
|
id++;
|
||||||
}
|
}
|
||||||
pedalboards = util.sortById(data);
|
pedalboards = util.sortById(pedalboards);
|
||||||
|
cache.setPedalboards(pedalboards);
|
||||||
return resolve(pedalboards);
|
return resolve(pedalboards);
|
||||||
})
|
})
|
||||||
.catch(reject);
|
.catch(reject);
|
||||||
|
@ -107,17 +108,22 @@ function getPedalboards() {
|
||||||
|
|
||||||
function getDefaultPedalboard() {
|
function getDefaultPedalboard() {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
var defaultPedalboard = cache.getDefaultPedalboard();
|
||||||
if (defaultPedalboard != undefined) {
|
if (defaultPedalboard != undefined) {
|
||||||
return resolve(defaultPedalboard);
|
return resolve(defaultPedalboard);
|
||||||
}
|
}
|
||||||
getPedalboardByBundle(constants.PEDALBOARD_DEFAULT)
|
getPedalboardByBundle(constants.PEDALBOARD_DEFAULT)
|
||||||
.then(resolve)
|
.then(function (defaultPedalboard) {
|
||||||
|
cache.setDefaultPedalboard(defaultPedalboard);
|
||||||
|
return resolve(defaultPedalboard);
|
||||||
|
})
|
||||||
.catch(reject);
|
.catch(reject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCurrentPedalboard() {
|
function getCurrentPedalboard() {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
var currentPedalboard = cache.getCurrentPedalboard();
|
||||||
if (currentPedalboard != undefined && currentPedalboard.id != undefined) {
|
if (currentPedalboard != undefined && currentPedalboard.id != undefined) {
|
||||||
return resolve(currentPedalboard);
|
return resolve(currentPedalboard);
|
||||||
}
|
}
|
||||||
|
@ -133,8 +139,8 @@ function getCurrentPedalboard() {
|
||||||
// PRODUCTION
|
// PRODUCTION
|
||||||
util.httpGET(config.modep.host, config.modep.port, '/pedalboard/current')
|
util.httpGET(config.modep.host, config.modep.port, '/pedalboard/current')
|
||||||
.then(getPedalboardByBundle)
|
.then(getPedalboardByBundle)
|
||||||
.then(function (pedalboard) {
|
.then(function (currentPedalboard) {
|
||||||
currentPedalboard = pedalboard;
|
cache.setCurrentPedalboard(currentPedalboard);
|
||||||
return resolve(currentPedalboard)
|
return resolve(currentPedalboard)
|
||||||
})
|
})
|
||||||
.catch(reject);
|
.catch(reject);
|
||||||
|
@ -213,12 +219,16 @@ function getCurrentPedalById(id) {
|
||||||
|
|
||||||
function getCurrentPedals() {
|
function getCurrentPedals() {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
var currentPedals = cache.getCurrentPedals();
|
||||||
if (currentPedals) {
|
if (currentPedals) {
|
||||||
return resolve(currentPedals);
|
return resolve(currentPedals);
|
||||||
}
|
}
|
||||||
getCurrentPedalboard()
|
getCurrentPedalboard()
|
||||||
.then(parseCurrentPedalboard)
|
.then(parseCurrentPedalboard)
|
||||||
.then(resolve)
|
.then(function (pedals) {
|
||||||
|
cache.setCurrentPedals(pedals);
|
||||||
|
return resolve(pedals);
|
||||||
|
})
|
||||||
.catch(reject);
|
.catch(reject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -341,12 +351,6 @@ function setControlValue(pedalId, requestParams) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendValueToControl(pedalId, controlId, value) {
|
|
||||||
return new Promise(function (resolve, reject) {
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function setPedalboardById(pedalboardId) {
|
function setPedalboardById(pedalboardId) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
if (pedalboardId == undefined) {
|
if (pedalboardId == undefined) {
|
||||||
|
|
Loading…
Reference in a new issue