fix some other auth bugs

This commit is contained in:
Martin McKeaveney 2020-06-03 20:35:30 +01:00
parent 227df203f9
commit 2cd309bfdc
7 changed files with 16 additions and 9 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -1,3 +1,5 @@
import { get } from "builderStore/api";
/** /**
* Fetches the definitions for component library components. This includes * Fetches the definitions for component library components. This includes
* their props and other metadata from components.json. * their props and other metadata from components.json.
@ -6,7 +8,7 @@
export const fetchComponentLibDefinitions = async appId => { export const fetchComponentLibDefinitions = async appId => {
const LIB_DEFINITION_URL = `/${appId}/components/definitions` const LIB_DEFINITION_URL = `/${appId}/components/definitions`
try { try {
const libDefinitionResponse = await fetch(LIB_DEFINITION_URL) const libDefinitionResponse = await get(LIB_DEFINITION_URL)
return await libDefinitionResponse.json() return await libDefinitionResponse.json()
} catch (err) { } catch (err) {
console.error(`Error fetching component definitions for ${appId}`, err) console.error(`Error fetching component definitions for ${appId}`, err)

View File

@ -16,7 +16,7 @@
} }
</script> </script>
{#if panelDefinition.length > 0} {#if panelDefinition && panelDefinition.length > 0}
{#each panelDefinition as definition} {#each panelDefinition as definition}
{#if propExistsOnComponentDef(definition.key)} {#if propExistsOnComponentDef(definition.key)}
<PropertyControl <PropertyControl

View File

@ -317,7 +317,15 @@ export default {
icon: "ri-bar-chart-fill", icon: "ri-bar-chart-fill",
properties: { properties: {
design: { ...all }, design: { ...all },
settings: [{ label: "Model", key: "model", control: ModelSelect }], settings: [
{ label: "Model", key: "model", control: ModelSelect },
{
label: "Chart Type",
key: "type",
control: OptionSelect,
options: ["column2d", "password"],
},
],
}, },
children: [], children: [],
}, },

View File

@ -27,6 +27,7 @@ export const bbFactory = ({
method: method, method: method,
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",
"x-user-agent": "Budibase Builder"
}, },
body: body && JSON.stringify(body), body: body && JSON.stringify(body),
}) })

View File

@ -10,13 +10,9 @@ exports.authenticate = async ctx => {
if (!username) ctx.throw(400, "Username Required.") if (!username) ctx.throw(400, "Username Required.")
if (!password) ctx.throw(400, "Password Required") if (!password) ctx.throw(400, "Password Required")
// TODO: Don't use this. It can't be relied on
const referer = ctx.request.headers.referer.split("/")
const appId = referer[3]
// find the instance that the user is associated with // find the instance that the user is associated with
const db = new CouchDB(ClientDb.name(env.CLIENT_ID)) const db = new CouchDB(ClientDb.name(env.CLIENT_ID))
const app = await db.get(appId) const app = await db.get(ctx.params.appId)
const instanceId = app.userInstanceMap[username] const instanceId = app.userInstanceMap[username]
if (!instanceId) if (!instanceId)

View File

@ -3,6 +3,6 @@ const controller = require("../controllers/auth")
const router = Router() const router = Router()
router.post("/api/authenticate", controller.authenticate) router.post("/:appId/api/authenticate", controller.authenticate)
module.exports = router module.exports = router