sets up dummy back-end

This commit is contained in:
kevmodrome 2020-07-02 17:53:09 +02:00
parent d5b85ba8d7
commit aabde78c47
No known key found for this signature in database
GPG Key ID: E8F9CD141E63BF38
6 changed files with 68 additions and 2 deletions

View File

@ -9,12 +9,15 @@
async function updateKey(e) { async function updateKey(e) {
console.log("Event Key: ", e.detail) console.log("Event Key: ", e.detail)
// Send to endpoint when it exists // Send to endpoint when it exists
// const response = await api.put(`/api/${$store.appId}`, data) const response = await api.put(`/api/${$store.appId}`, data)
// const res = await response.json() // const res = await response.json()
} }
// Get Keys // Get Keys
async function fetchKeys() { async function fetchKeys() {
const response = await api.get(`/api/keys/`)
const res = await response.json()
console.log("Res: ", res)
// fetch keys from endpoint // fetch keys from endpoint
// return keys // return keys
} }

View File

@ -2,5 +2,5 @@ export { default as General } from "./General.svelte"
export { default as Integrations } from "./Integrations.svelte" export { default as Integrations } from "./Integrations.svelte"
export { default as Permissions } from "./Permissions.svelte" export { default as Permissions } from "./Permissions.svelte"
export { default as Users } from "./Users.svelte" export { default as Users } from "./Users.svelte"
export { default as APIKeys } from "./Api.svelte" export { default as APIKeys } from "./APIKeys.svelte"
export { default as DangerZone } from "./DangerZone.svelte" export { default as DangerZone } from "./DangerZone.svelte"

View File

@ -0,0 +1,45 @@
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")
exports.fetch = async function (ctx) {
// Temporary while "real" infrastructure to store keys is created
ctx.status = 200
ctx.message = "API Keys"
ctx.body = {
budibase: 'testFromBackEnd',
sendgrid: 'testFromBackEnd'
}
}
exports.update = async function (ctx) {
ctx.status = 200
ctx.message = `Updated ${ctx.params.key} succesfully.`
ctx.body = {
[ctx.params.key]: "somethingsomethingsomething"
}
ctx.status = 200
ctx.message = `User ${ctx.request.body.username} updated successfully.`
ctx.body = response
}
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)
}

View File

@ -17,6 +17,7 @@ const {
componentRoutes, componentRoutes,
workflowRoutes, workflowRoutes,
accesslevelRoutes, accesslevelRoutes,
apiKeysRoutes
} = require("./routes") } = require("./routes")
const router = new Router() const router = new Router()
@ -98,6 +99,9 @@ router.use(clientRoutes.allowedMethods())
router.use(accesslevelRoutes.routes()) router.use(accesslevelRoutes.routes())
router.use(accesslevelRoutes.allowedMethods()) router.use(accesslevelRoutes.allowedMethods())
router.use(apiKeysRoutes.routes())
router.use(apiKeysRoutes.allowedMethods())
router.use(staticRoutes.routes()) router.use(staticRoutes.routes())
router.use(staticRoutes.allowedMethods()) router.use(staticRoutes.allowedMethods())

View File

@ -0,0 +1,12 @@
const Router = require("@koa/router")
const controller = require("../controllers/apikeys")
const authorized = require("../../middleware/authorized")
const { BUILDER } = require("../../utilities/accessLevels")
const router = Router()
router
.get("/api/keys", authorized(BUILDER), controller.fetch)
.put("/api/keys/:key", authorized(BUILDER), controller.update)
module.exports = router

View File

@ -11,6 +11,7 @@ const staticRoutes = require("./static")
const componentRoutes = require("./component") const componentRoutes = require("./component")
const workflowRoutes = require("./workflow") const workflowRoutes = require("./workflow")
const accesslevelRoutes = require("./accesslevel") const accesslevelRoutes = require("./accesslevel")
const apiKeysRoutes = require("./apikeys")
module.exports = { module.exports = {
authRoutes, authRoutes,
@ -26,4 +27,5 @@ module.exports = {
componentRoutes, componentRoutes,
workflowRoutes, workflowRoutes,
accesslevelRoutes, accesslevelRoutes,
apiKeysRoutes
} }