Other minor fixes after doing some initial setup testing.

This commit is contained in:
mike12345567 2021-05-10 13:18:05 +01:00
parent f4186ffc82
commit 6fa96981ae
5 changed files with 66 additions and 12 deletions

58
hosting/scripts/setup.js Executable file
View File

@ -0,0 +1,58 @@
#!/usr/bin/env node
const os = require("os")
const exec = require("child_process").exec
const fs = require("fs")
const platform = os.platform()
const windows = platform === "win32"
const mac = platform === "darwin"
const linux = platform === "linux"
function execute(command) {
return new Promise(resolve => {
exec(command, (err, stdout) => resolve(linux ? !!stdout : true))
})
}
async function commandExistsUnix (command) {
const unixCmd = `command -v ${command} 2>/dev/null && { echo >&1 ${command}; exit 0; }`
return execute(command)
}
async function commandExistsWindows (command) {
if (/[\x00-\x1f<>:"|?*]/.test(command)) {
return false
}
return execute(`where ${command}`)
}
function commandExists (command) {
return windows
? commandExistsWindows(command)
: commandExistsUnix(command)
}
async function init() {
const docker = commandExists("docker")
const dockerCompose = commandExists("docker-compose")
if (docker && dockerCompose) {
console.log("Docker installed - continuing.")
return
}
if (mac) {
console.log("Please install docker by visiting: https://docs.docker.com/docker-for-mac/install/")
} else if (windows) {
console.log("Please install docker by visiting: https://docs.docker.com/docker-for-windows/install/")
} else if (linux) {
console.log("Beginning automated linux installation.")
await execute(`./hosting/scripts/linux/get-docker.sh`)
await execute(`./hosting/scripts/linux/get-docker-compose.sh`)
} else {
console.error("Platform unknown - please look online for information about installing docker for our OS.")
}
console.log("Once installation complete please re-run the setup script.")
process.exit(-1)
}
init()

View File

@ -17,6 +17,7 @@
"svelte": "^3.37.0" "svelte": "^3.37.0"
}, },
"scripts": { "scripts": {
"setup": "./hosting/scripts/setup.js && yarn && yarn bootstrap && yarn build && yarn dev",
"bootstrap": "lerna link && lerna bootstrap", "bootstrap": "lerna link && lerna bootstrap",
"build": "lerna run build", "build": "lerna run build",
"initialise": "lerna run initialise", "initialise": "lerna run initialise",

View File

@ -1,22 +1,12 @@
<script> <script>
import { isActive, url, goto } from "@roxi/routify"
import { onMount } from "svelte"
import { import {
ActionMenu, ActionMenu,
Checkbox, Checkbox,
Body,
MenuItem, MenuItem,
Icon,
Heading, Heading,
Avatar,
Search,
Layout,
ProgressCircle, ProgressCircle,
SideNavigation as Navigation,
SideNavigationItem as Item,
} from "@budibase/bbui" } from "@budibase/bbui"
import api from "builderStore/api" import { admin } from "stores/portal"
import { organisation, admin } from "stores/portal"
const MESSAGES = { const MESSAGES = {
apps: "Create your first app", apps: "Create your first app",

View File

@ -67,4 +67,7 @@ for (let route of mainRoutes) {
router.use(staticRoutes.routes()) router.use(staticRoutes.routes())
router.use(staticRoutes.allowedMethods()) router.use(staticRoutes.allowedMethods())
// add a redirect for when hitting server directly
router.redirect("/", "/builder")
module.exports = router module.exports = router

View File

@ -19,12 +19,14 @@ function request(ctx, request) {
if (!request.headers) { if (!request.headers) {
request.headers = {} request.headers = {}
} }
if (request.body) { if (request.body && Object.keys(request.body).length > 0) {
request.headers["Content-Type"] = "application/json" request.headers["Content-Type"] = "application/json"
request.body = request.body =
typeof request.body === "object" typeof request.body === "object"
? JSON.stringify(request.body) ? JSON.stringify(request.body)
: request.body : request.body
} else {
delete request.body
} }
if (ctx.headers) { if (ctx.headers) {
request.headers.cookie = ctx.headers.cookie request.headers.cookie = ctx.headers.cookie