@idiamantino/livepro-utils
Version:
Stuff for LP
87 lines (66 loc) • 2.67 kB
JavaScript
;
let debug = false;
const axios = require('axios');
const Dynamodb = require('../aws/dynamodb.js');
const Utils = require("../library/utils");
let LpUtils = new Utils();
let LpDynamodb = "";
let S3_BUCKET_CLIENTS = 'livepro-clients';
let S3_JSON_CONFIGURATIONS = 'configurations.json';
class Configuration {
constructor(region, apiVersion = '2012-08-10', debug = false) {
this.setDebug(debug);
this.region = region;
LpUtils.printDebug("Dynamodb constructor region:", region);
this.LpDynamodb = new Dynamodb(this.region);
}
async asyncTest(str) {
console.log("Testing async accessible");
return("async true");
}
async getClient() {
console.log("get client");
// result = await LpDynamodb.updateClientSecrets("dev416","123123","34543534");
const result = await this.LpDynamodb.getClient("dev416");
return(result);
}
// typeRecord = clients, solr_stack, database_stack
async getConfigFromS3(typeList, typeRecord = "") {
let fileConfig = await LpS3.getContent(S3_BUCKET_CLIENTS,S3_JSON_CONFIGURATIONS);
let configurations = JSON.parse(fileConfig);
let typeConfigurations = new Array();
// If not clientList was defined it gets information for all clients
if(Array.isArray(typeList)) {
for(var type in configurations[typeRecord]) {
if(typeList.indexOf(type) >= 0) {
typeConfigurations.push(configurations[typeRecord][type]);
}
}
} else {
typeConfigurations = configurations[typeRecord];
}
return typeConfigurations;
}
// Get the client information from s3
async getClientInformationFromS3(clientList) {
let fileConfig = await LpS3.getContent(S3_BUCKET_CLIENTS,S3_JSON_CONFIGURATIONS);
let configurations = JSON.parse(fileConfig);
let clientConfigurations = new Array();
// If not clientList was defined it gets information for all clients
if(Array.isArray(clientList)) {
for(var client in configurations.clients) {
if(clientList.indexOf(client) >= 0) {
clientConfigurations.push(configurations.clients[client]);
}
}
} else {
clientConfigurations = configurations.clients;
}
return clientConfigurations;
}
setDebug(debug = false) {
this.debug = debug;
LpUtils.setDebug(debug);
}
}
module.exports = Configuration;