Merge branch 'next' of github.com:Budibase/budibase into feature/global-user-management

This commit is contained in:
mike12345567 2021-04-13 10:26:40 +01:00
commit 46b975186c
17 changed files with 168 additions and 55 deletions

View File

@ -1,6 +1,13 @@
name: Budibase Release
on:
workflow_dispatch:
inputs:
name:
description: 'Version'
required: false
default: '0.8'
# Trigger the workflow on push with tags,
# but only for the master branch
push:

View File

@ -31,14 +31,14 @@
<img alt="GitHub release (latest by date)" src="https://img.shields.io/github/v/release/Budibase/budibase">
</a>
<a href="https://discord.gg/rCYayfe">
<img alt="Discord" src="https://img.shields.io/discord/733030666647765003">
<img alt="Discord" src="https://img.shields.io/discord/733030666647765003">
</a>
<a href="https://twitter.com/intent/follow?screen_name=budibase">
<img src="https://img.shields.io/twitter/follow/budibase?style=social" alt="Follow @budibase" />
</a>
<img src="https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg" alt="Code of conduct" />
<a href="https://codecov.io/gh/Budibase/budibase">
<img src="https://codecov.io/gh/Budibase/budibase/branch/next/graph/badge.svg?token=E8W2ZFXQOH"/>
<img src="https://codecov.io/gh/Budibase/budibase/graph/badge.svg?token=E8W2ZFXQOH"/>
</a>
</p>
@ -58,9 +58,9 @@
## ✨ Features
When other platforms chose the closed source route, we decided to go open source. When other platforms chose cloud builders, we decided a local builder offered the better developer experience. We like to do things differently at Budibase.
When other platforms chose the closed source route, we decided to go open source. When other platforms chose cloud builders, we decided a local builder offered the better developer experience. We like to do things differently at Budibase.
- **Build and ship real software.** Unlike other platforms, with Budibase you build and ship single page applications. Budibase applications have performance baked in and can be designed responsively, providing your users with a great experience.
- **Build and ship real software.** Unlike other platforms, with Budibase you build and ship single page applications. Budibase applications have performance baked in and can be designed responsively, providing your users with a great experience.
- **Open source and extensable.** Budibase is open-source. The builder is licensed AGPL v3, the server is GPL v3, and the client is MPL. This should fill you with confidence that Budibase will always be around. You can also code against Budibase or fork it and make changes as you please, providing a developer-friendly experience.
@ -83,7 +83,7 @@ When other platforms chose the closed source route, we decided to go open source
- [x] Public Beta: Anyone can [sign-up and use Budibase](https://portal.budi.live/signup).
- [ ] Official Launch
Watch "releases" of this repo to get notified of major updates, and give the star button a click whilst you're there.
Watch "releases" of this repo to get notified of major updates, and give the star button a click whilst you're there.
<p align="center">
<img src="https://i.imgur.com/cJpgqm8.png">
@ -93,7 +93,7 @@ Watch "releases" of this repo to get notified of major updates, and give the sta
[![Stargazers over time](https://starchart.cc/Budibase/budibase.svg)](https://starchart.cc/Budibase/budibase)
If you are having issues between updates of the builder, please use the guide [here](https://github.com/Budibase/budibase/blob/master/CONTRIBUTING.md#troubleshooting) to clear down your environment.
If you are having issues between updates of the builder, please use the guide [here](https://github.com/Budibase/budibase/blob/HEAD/.github/CONTRIBUTING.md#troubleshooting) to clear down your environment.
## 🏁 Getting Started with Budibase
@ -131,25 +131,25 @@ Checkout our [Public Roadmap](https://github.com/Budibase/budibase/projects/10).
## ❗ Code of Conduct
Budibase is dedicated to providing a welcoming, diverse, and harrassment-free experience for everyone. We expect everyone in the Budibase community to abide by our [**Code of Conduct**](https://github.com/Budibase/budibase/blob/master/.github/CODE_OF_CONDUCT.md). Please read it.
Budibase is dedicated to providing a welcoming, diverse, and harrassment-free experience for everyone. We expect everyone in the Budibase community to abide by our [**Code of Conduct**](https://github.com/Budibase/budibase/blob/HEAD/.github/CODE_OF_CONDUCT.md). Please read it.
## 🙌 Contributing to Budibase
From opening a bug report to creating a pull request: every contribution is appreciated and welcomed. If you're planning to implement a new feature or change the API please create an issue first. This way we can ensure your work is not in vain.
### Not Sure Where to Start?
A good place to start contributing, is the [First time issues project](https://github.com/Budibase/budibase/projects/22).
A good place to start contributing, is the [First time issues project](https://github.com/Budibase/budibase/projects/22).
### How the repository is organized
Budibase is a monorepo managed by lerna. Lerna manages the building and publishing of the budibase packages. At a high level, here are the packages that make up Budibase.
- [packages/builder](https://github.com/Budibase/budibase/tree/master/packages/builder) - contains code for the budibase builder client side svelte application.
- [packages/builder](https://github.com/Budibase/budibase/tree/HEAD/packages/builder) - contains code for the budibase builder client side svelte application.
- [packages/client](https://github.com/Budibase/budibase/tree/master/packages/client) - A module that runs in the browser responsible for reading JSON definition and creating living, breathing web apps from it.
- [packages/client](https://github.com/Budibase/budibase/tree/HEAD/packages/client) - A module that runs in the browser responsible for reading JSON definition and creating living, breathing web apps from it.
- [packages/server](https://github.com/Budibase/budibase/tree/master/packages/server) - The budibase server. This Koa app is responsible for serving the JS for the builder and budibase apps, as well as providing the API for interaction with the database and file system.
- [packages/server](https://github.com/Budibase/budibase/tree/HEAD/packages/server) - The budibase server. This Koa app is responsible for serving the JS for the builder and budibase apps, as well as providing the API for interaction with the database and file system.
For more information, see [CONTRIBUTING.md](https://github.com/Budibase/budibase/blob/master/.github/CONTRIBUTING.md)
For more information, see [CONTRIBUTING.md](https://github.com/Budibase/budibase/blob/HEAD/.github/CONTRIBUTING.md)
## 📝 License

View File

@ -1,5 +1,5 @@
{
"version": "0.8.9",
"version": "0.8.14",
"npmClient": "yarn",
"packages": [
"packages/*"

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/builder",
"version": "0.8.9",
"version": "0.8.14",
"license": "AGPL-3.0",
"private": true,
"scripts": {
@ -65,9 +65,9 @@
},
"dependencies": {
"@budibase/bbui": "^1.58.13",
"@budibase/client": "^0.8.9",
"@budibase/client": "^0.8.14",
"@budibase/colorpicker": "1.1.2",
"@budibase/string-templates": "^0.8.9",
"@budibase/string-templates": "^0.8.14",
"@budibase/svelte-ag-grid": "^1.0.4",
"@sentry/browser": "5.19.1",
"@svelteschool/svelte-forms": "0.7.0",

View File

@ -5,7 +5,7 @@ import { store } from "builderStore"
import {
tables as tablesStore,
queries as queriesStores,
} from "stores/backend/"
} from "stores/backend"
import { makePropSafe } from "@budibase/string-templates"
import { TableNames } from "../constants"
@ -252,7 +252,7 @@ export const getSchemaForDatasource = (datasource, isForm = false) => {
if (datasource) {
const { type } = datasource
if (type === "query") {
const queries = get(queriesStores).queries
const queries = get(queriesStores).list
table = queries.find(query => query._id === datasource._id)
} else {
const tables = get(tablesStore).list

View File

@ -1,5 +1,5 @@
<script>
import { Icon, Input, Drawer, Body, Button } from "@budibase/bbui"
import { Icon, Input, Drawer, Label, Body, Button } from "@budibase/bbui"
import {
readableToRuntimeBinding,
runtimeToReadableBinding,
@ -14,6 +14,7 @@
export let thin = true
export let title = "Bindings"
export let placeholder
export let label
let bindingDrawer
@ -32,6 +33,7 @@
<div class="control">
<Input
{label}
{thin}
value={readableValue}
on:change={event => onChange(event.target.value)}
@ -67,7 +69,6 @@
.icon {
right: 2px;
top: 2px;
bottom: 2px;
position: absolute;
align-items: center;
@ -80,7 +81,9 @@
border-bottom-right-radius: var(--border-radius-m);
color: var(--grey-7);
font-size: 14px;
height: 40px;
}
.icon:hover {
color: var(--ink);
cursor: pointer;

View File

@ -81,7 +81,7 @@
<Spacer extraLarge />
<div class="query-header">
<Heading small>Queries</Heading>
<Button secondary on:click={() => $goto('../new')}>Add Query</Button>
<Button secondary on:click={() => $goto('./new')}>Add Query</Button>
</div>
<Spacer extraLarge />
<div class="query-list">

View File

@ -4,14 +4,16 @@
import { onMount } from "svelte"
onMount(async () => {
// navigate to first table in list, if not already selected
// navigate to first datasource in list, if not already selected
$datasources.list.length > 0 && $goto(`../${$datasources.list[0]._id}`)
})
</script>
{#if $tables.list.length === 0}
{#if $datasources.list.length === 0}
<i>Connect your first datasource to start building.</i>
{:else}<i>Select a datasource to edit</i>{/if}
{:else}
<i>Select a datasource to edit</i>
{/if}
<style>
i {

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/cli",
"version": "0.8.10",
"name": "cli",
"version": "0.8.13",
"description": "Budibase CLI, for developers, self hosting and migrations.",
"main": "src/index.js",
"bin": {

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/client",
"version": "0.8.9",
"version": "0.8.14",
"license": "MPL-2.0",
"module": "dist/budibase-client.js",
"main": "dist/budibase-client.js",
@ -18,13 +18,13 @@
"dev:builder": "rollup -cw"
},
"dependencies": {
"@budibase/standard-components": "^0.8.9",
"@budibase/string-templates": "^0.8.9",
"@budibase/string-templates": "^0.8.14",
"regexparam": "^1.3.0",
"shortid": "^2.2.15",
"svelte-spa-router": "^3.0.5"
},
"devDependencies": {
"@budibase/standard-components": "^0.8.14",
"@rollup/plugin-commonjs": "^18.0.0",
"@rollup/plugin-node-resolve": "^11.2.1",
"fs-extra": "^8.1.0",
@ -40,5 +40,5 @@
"rollup-plugin-terser": "^7.0.2",
"svelte": "^3.35.0"
},
"gitHead": "1b95326b20d1352d36305910259228b96a683dc7"
"gitHead": "4b6efc42ed3273595c7a129411f4d883733d3321"
}

View File

@ -1,7 +1,7 @@
{
"name": "@budibase/server",
"email": "hi@budibase.com",
"version": "0.8.9",
"version": "0.8.14",
"description": "Budibase Web Server",
"main": "src/electron.js",
"repository": {
@ -80,8 +80,8 @@
"license": "AGPL-3.0-or-later",
"dependencies": {
"@budibase/auth": "^0.0.1",
"@budibase/client": "^0.8.9",
"@budibase/string-templates": "^0.8.9",
"@budibase/client": "^0.8.14",
"@budibase/string-templates": "^0.8.14",
"@elastic/elasticsearch": "7.10.0",
"@koa/router": "8.0.0",
"@sendgrid/mail": "7.1.1",
@ -135,7 +135,7 @@
"zlib": "1.0.5"
},
"devDependencies": {
"@budibase/standard-components": "^0.8.9",
"@budibase/standard-components": "^0.8.14",
"@jest/test-sequencer": "^24.8.0",
"docker-compose": "^0.23.6",
"electron": "10.1.3",
@ -147,5 +147,5 @@
"pouchdb-adapter-memory": "^7.2.1",
"supertest": "^4.0.2"
},
"gitHead": "1b95326b20d1352d36305910259228b96a683dc7"
"gitHead": "4b6efc42ed3273595c7a129411f4d883733d3321"
}

View File

@ -108,14 +108,6 @@ describe("/webhooks", () => {
type: "object",
})
})
it("should apply authorization to endpoint", async () => {
await checkBuilderEndpoint({
config,
method: "POST",
url: `/api/webhooks/schema/${config.getAppId()}/${webhook._id}`,
})
})
})
describe("trigger", () => {

View File

@ -23,7 +23,6 @@ module.exports.definition = {
},
password: {
type: "string",
customType: "password",
title: "Password",
},
roleId: {

View File

@ -82,12 +82,122 @@
// }
// })
// app.on("activate", () => {
// // On macOS it's common to re-create a window in the app when the
// // dock icon is clicked and there are no other windows open.
// if (win === null) createWindow()
// })
// }
app.on("activate", () => {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (win === null) createWindow()
})
const template = [
// { role: 'appMenu' }
...(isMac
? [
{
label: app.name,
submenu: [
{ role: "about" },
{ type: "separator" },
{ role: "services" },
{ type: "separator" },
{ role: "hide" },
{ role: "hideothers" },
{ role: "unhide" },
{ type: "separator" },
{ role: "quit" },
],
},
]
: []),
// { role: 'fileMenu' }
{
label: "File",
submenu: [isMac ? { role: "close" } : { role: "quit" }],
},
// { role: 'editMenu' }
{
label: "Edit",
submenu: [
{ role: "undo" },
{ role: "redo" },
{ type: "separator" },
{ role: "cut" },
{ role: "copy" },
{ role: "paste" },
...(isMac
? [
{ role: "pasteAndMatchStyle" },
{ role: "delete" },
{ role: "selectAll" },
{ type: "separator" },
{
label: "Speech",
submenu: [{ role: "startSpeaking" }, { role: "stopSpeaking" }],
},
]
: [{ role: "delete" }, { type: "separator" }, { role: "selectAll" }]),
],
},
// { role: 'viewMenu' }
{
label: "View",
submenu: [
{ role: "reload" },
{ role: "forceReload" },
{ role: "toggleDevTools" },
{ type: "separator" },
{ role: "resetZoom" },
{ role: "zoomIn" },
{ role: "zoomOut" },
{ type: "separator" },
{ role: "togglefullscreen" },
],
},
// { role: 'windowMenu' }
{
label: "Window",
submenu: [
{ role: "minimize" },
{ role: "zoom" },
...(isMac
? [
{ type: "separator" },
{ role: "front" },
{ type: "separator" },
{ role: "window" },
]
: [{ role: "close" }]),
],
},
{
role: "help",
submenu: [
{
label: "Learn More",
click: () => shell.openExternal("https://www.budibase.com/"),
},
{
label: "Documentation",
click: () => shell.openExternal("https://docs.budibase.com/"),
},
{
label: "Search issues",
click: () =>
shell.openExternal("https://github.com/Budibase/budibase/issues"),
},
{
label: "Community discussions",
click: () =>
shell.openExternal(
"https://github.com/Budibase/budibase/discussions"
),
},
],
},
]
const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)
}
// autoUpdater.on("update-downloaded", (event, releaseNotes, releaseName) => {
// const dialogOpts = {

View File

@ -31,9 +31,9 @@
"keywords": [
"svelte"
],
"version": "0.8.9",
"version": "0.8.14",
"license": "MIT",
"gitHead": "1b95326b20d1352d36305910259228b96a683dc7",
"gitHead": "4b6efc42ed3273595c7a129411f4d883733d3321",
"dependencies": {
"@adobe/spectrum-css-workflow-icons": "^1.1.0",
"@budibase/bbui": "^1.58.13",

View File

@ -1,6 +1,6 @@
{
"name": "@budibase/string-templates",
"version": "0.8.9",
"version": "0.8.14",
"description": "Handlebars wrapper for Budibase templating.",
"main": "src/index.cjs",
"module": "dist/bundle.mjs",
@ -39,5 +39,5 @@
"rollup-plugin-terser": "^7.0.2",
"typescript": "^4.1.3"
},
"gitHead": "1b95326b20d1352d36305910259228b96a683dc7"
"gitHead": "4b6efc42ed3273595c7a129411f4d883733d3321"
}

View File

@ -1,7 +1,7 @@
{
"name": "@budibase/worker",
"email": "hi@budibase.com",
"version": "0.8.9",
"version": "0.8.14",
"description": "Budibase Deployment Server",
"main": "src/index.js",
"repository": {