From e3e5caaf9769cb05d14e151fb26a2c4889d38b5c Mon Sep 17 00:00:00 2001 From: kevmodrome Date: Thu, 2 Jul 2020 20:31:26 +0200 Subject: [PATCH] adds getEnvironmentVariables function --- .../server/src/api/controllers/apikeys.js | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/packages/server/src/api/controllers/apikeys.js b/packages/server/src/api/controllers/apikeys.js index 88758cb4c3..2c31449d0a 100644 --- a/packages/server/src/api/controllers/apikeys.js +++ b/packages/server/src/api/controllers/apikeys.js @@ -1,13 +1,15 @@ -const CouchDB = require("../../db") -const clientDb = require("../../db/clientDb") -const bcrypt = require("../../utilities/bcrypt") -const getUserId = userName => `user_${userName}` -const { - POWERUSER_LEVEL_ID, - ADMIN_LEVEL_ID, -} = require("../../utilities/accessLevels") +const fs = require("fs") + +const ENV_FILE_PATH = ".budibase/.env" exports.fetch = async function (ctx) { + // Check if structure of call makes sense, if not, return error + + + // Read File + const fileContent = await getEnvironmentVariables() + const keys = await extractKeys(fileContent) + // Temporary while "real" infrastructure to store keys is created ctx.status = 200 ctx.message = "API Keys" @@ -24,17 +26,14 @@ exports.update = async function (ctx) { ctx.body = { [ctx.params.key]: ctx.request.body.value } } -const checkAccessLevel = async (db, accessLevelId) => { - if (!accessLevelId) return - if ( - accessLevelId === POWERUSER_LEVEL_ID || - accessLevelId === ADMIN_LEVEL_ID - ) { - return { - _id: accessLevelId, - name: accessLevelId, - permissions: [], - } - } - return await db.get(accessLevelId) +async function getEnvironmentVariables() { + const home = require('os').homedir(); + const filePath = `${home}/${ENV_FILE_PATH}` + + return data = fs.readFileSync(filePath, 'utf8'); } + +async function extractKeys() { + // Extract keys here + return [] +} \ No newline at end of file