1
0
Fork 0
mirror of synced 2024-06-30 20:10:54 +12:00
Commit graph

376 commits

Author SHA1 Message Date
Peter Clement 8b8bce186c builder side panel changes to support inviting creators 2023-08-29 14:41:56 +01:00
mike12345567 656870db8b Adding last of support for per app group builder support, enriching the user on self return, as well as adding the functionality required to server middlewares. 2023-08-22 18:14:08 +01:00
mike12345567 dce38908c9 PR comments (backend). 2023-08-01 10:56:47 +01:00
mike12345567 1403bf26c6 Quick fixes based on raising PR, types and tests. 2023-07-28 13:58:20 +01:00
mike12345567 812f1af5ca Moving app builder API into pro, along with the changes involved with achieving this. 2023-07-27 18:46:55 +01:00
mike12345567 eefac0fe08 Quick updates based on latest lerna version, as well as some fixes after running through flows (post refactoring). 2023-07-26 18:13:18 +01:00
mike12345567 64a5426d36 Updates to remove app builder concept, denying access to app creation for app builders. 2023-07-26 17:32:21 +01:00
mike12345567 43bfb943a3 Some fixes post testing. 2023-07-25 18:52:59 +01:00
mike12345567 90371b9d69 Refactoring users core to move into backend, allowing app builder endpoints to move into pro. 2023-07-25 17:48:57 +01:00
mike12345567 d9c8e26f65 Re-writing APIs based on most recent discussion about RBAC and per app builders. 2023-07-24 18:29:46 +01:00
mike12345567 c375f860ba Merge branch 'develop' of github.com:Budibase/budibase into feature/BUDI-7052 2023-07-24 13:46:49 +01:00
Rory Powell 5c4d29e349 Merge branch 'develop' into feature/offline-license 2023-07-24 10:06:04 +01:00
mike12345567 87d80e08f5 Merge branch 'develop' of github.com:Budibase/budibase into feature/BUDI-7052 2023-07-21 17:34:27 +01:00
Rory Powell 5ac024a655 Merge branch 'develop' into feature/offline-license 2023-07-20 12:27:04 +01:00
Andrew Kingston cd8414e6a1 Fix getting started checklist links 2023-07-18 16:14:59 +01:00
mike12345567 e30509c4f9 Merge branch 'develop' of github.com:Budibase/budibase into feature/BUDI-7052 2023-07-18 11:32:38 +01:00
Adria Navarro 2698e47ec4 Type internal db.get 2023-07-18 11:41:51 +02:00
Rory Powell 4a38d55ce8 Lint 2023-07-14 16:55:48 +01:00
Rory Powell 7c4fe15781 Request / response renames 2023-07-10 16:12:19 +01:00
Rory Powell 574c361f6b /api/global/license/offline/identifier API 2023-07-08 13:07:10 +01:00
Rory Powell 7831579e98 api / license.spec.ts updates 2023-07-07 21:15:40 +01:00
Rory Powell 1fa5cd519c Move license keys to their own module 2023-07-07 11:48:12 +01:00
Rory Powell d02f474fd1 Be more explicit about offline license vs offline license token 2023-07-06 21:26:46 +01:00
Rory Powell efe53bb217 Update license endpoints to provide consistent pattern for offline license and license key (create, read, delete) 2023-07-06 20:46:25 +01:00
mike12345567 6d24a30d91 Basic refactor work, the types required for the new API endpoints. 2023-07-05 18:28:04 +01:00
Dean eaecd3ab68 Merge remote-tracking branch 'origin/develop' into merge-master 2023-06-27 09:31:35 +01:00
Dean 8f9a1d4bba PR feedback 2023-06-26 10:23:57 +01:00
Dean 10108fb543 Null checking logo configs 2023-06-26 10:22:03 +01:00
Dean 6f24772f49 PR Feedback 2023-06-23 16:40:40 +01:00
Dean ceecd85d76 OIDC icon fix recreated on a new branch 2023-06-23 14:47:58 +01:00
mike12345567 289a75fc9a Few minor updates to the integration suite to make it easier to decipher what is happening under the hood, as well as making it easier to log from these (where there is no pino logging available, importing backend-core breaks things). Also added a new script which can be used to get local environment setup as needed to run qa-core tests. Finally, xdescribe for the failing test until can work out what is wrong with MongoDB installation in QA environment. 2023-06-19 18:28:38 +01:00
melohagan c0578d4cc2 Send meeting invite via automation email smtp (#10787)
* Pass calendar props into sendSmtpEmail

* Add calendar event to message

* Add Checkbox and DatePicker automation field UI

* Add URL prop

* Add url to sendSmtpEmail unit test

* Refactor

* Code review comments

* Make location optional

* Add EmailInvite type

---------

Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
2023-06-08 14:25:35 +01:00
Adria Navarro deeba8bae3 Revert "Merge branch 'develop' into master"
This reverts commit 6f29c978e0, reversing
changes made to 1c6ff73c19.
2023-06-06 22:06:34 +01:00
Adria Navarro 3a6a3eb8a5 Store tokens in cache and amend redirect 2023-06-06 11:29:49 +01:00
Dean 0a7669ad2d PR feedback 2023-06-05 16:26:27 +01:00
Dean f20653d4ca Branding fixes 2023-06-05 15:20:04 +01:00
Rory Powell e00eb171be WIP logo url fixes 2023-06-05 14:01:46 +01:00
Michael Drury adbdaf394a Small update to make sure that save/patch calls to the rows API (all DS+) return the squashed relationships, not the whole structure. 2023-06-01 18:18:12 +01:00
Adria Navarro 4eaa95fc41 Type contexts 2023-05-05 16:31:53 +01:00
Rory Powell 972e2257b7 [draft] Pricing/fixes (#10424)
* Fix qa core suite

* Update package.json

* Lint

* Handle conflict on account metadata

* Fix issue adding users via csv import when on paid plan

* Fix user invites

* Lint
2023-04-27 08:25:53 +01:00
Rory Powell ec06f13aa6 Per user pricing (#10378)
* Update pro version to 2.4.44-alpha.9 (#10231)

Co-authored-by: Budibase Staging Release Bot <>

* Track installation and unique tenant id on licence activate (#10146)

* changes and exports

* removing the extend

* Lint + tidy

* Update account.ts

---------

Co-authored-by: Rory Powell <rory.codes@gmail.com>
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>

* Type updates for loading new plans (#10245)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS` (#10247)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete + migration (#10250)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete

* Always sync user count from view total_rows value for accuracy

* Add migration to sync users

* Add syncUsers.spec.ts

* Lint

* Types and structures for user subscription quantity sync (#10280)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete

* Always sync user count from view total_rows value for accuracy

* Add migration to sync users

* Add syncUsers.spec.ts

* Prevent old installs from activating, track install info via get license request instead of on activation.

* Add usesInvoicing to PurchasedPlan

* Add min/max users to PurchasedPlan

* Additional test structures for generating a license, remove maxUsers from PurchasedPlan - this is already present in the license quotas

* Stripe integration for monthly prorations on annual plans

* Integrate annual prorations with test clocks

* Updated types, test utils and date processing for licensing (#10346)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete

* Always sync user count from view total_rows value for accuracy

* Add migration to sync users

* Add syncUsers.spec.ts

* Prevent old installs from activating, track install info via get license request instead of on activation.

* Add usesInvoicing to PurchasedPlan

* Add min/max users to PurchasedPlan

* Additional test structures for generating a license, remove maxUsers from PurchasedPlan - this is already present in the license quotas

* Stripe integration for monthly prorations on annual plans

* Integrate annual prorations with test clocks

* Updated types, test utils and date processing

* Lint

* Pricing/billing page (#10353)

* bbui updates for billing page

* Require all PlanTypes in PlanMinimums for compile time safety

* fix test package utils

* Incoming user limits warnings (#10379)

* incoming user limits warning

* fix inlinealert button

* add corretc button link and text to user alert

* pr comments

* simplify limit check

* Types and test updates for subscription quantity changes in account-portal (#10372)

* Add chance extensions for `arrayOf`. Update events spies with license events

* Add generics to doInTenant response

* Update account structure with quota usage

* User count limits (#10385)

* incoming user limits warning

* fix inlinealert button

* add corretc button link and text to user alert

* pr comments

* simplify limit check

* user limit messaging on add users modal

* user limit messaging on import users modal

* update licensing store to be more generic

* some styling updates

* remove console log

* Store tweaks

* Add startDate to Quota type

---------

Co-authored-by: Rory Powell <rory.codes@gmail.com>

* Lint

* Support custom lock options

* Reactivity fixes for add user modals

* Update ethereal email creds

* Add warn for getting invite from code error

* Extract disabling user import condition

* Handling unlimited users in modals logic and adding start date processing to store

* Lint

* Integration testing fixes (#10389)

* lint

---------

Co-authored-by: Mateus Badan de Pieri <mateuspieri@gmail.com>
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
Co-authored-by: Peter Clement <PClmnt@users.noreply.github.com>
2023-04-24 09:31:48 +01:00
Adria Navarro e1669c8260 Merge pull request #10022 from Budibase/feature/scim
Feature - SCIM endpoints
2023-04-03 13:22:01 +02:00
adrinr 48b964378b Remove all app cookie references (not really needed anymore) 2023-03-31 09:01:40 +01:00
Rory Powell 38e6d61709 Explictly check for google datasource configured (#10165)
* Explictly check for google datasource configured

* Unit tests for getGoogleDatasourceConfig

* Update /api/global/configs/public test + lint
2023-03-30 13:40:59 +01:00
adrinr 4f2696ed32 Use ctx.identity instead of passing it as param 2023-03-28 16:46:22 +01:00
adrinr 2072664294 Move user search to core 2023-03-28 16:46:22 +01:00
deanhannigan dfe6b55c1a Merge branch 'feature/whitelabelling' into feature/whitelabelling-pro 2023-03-28 09:13:47 +01:00
Rory Powell 60650b031b Move branding read behind pro 2023-03-27 22:28:25 +01:00
Dean 56e1d102fc Added feature flag function for branding to ensure it uses the cached license 2023-03-27 21:15:09 +01:00
Dean 4de8333f80 Review updates 2023-03-27 18:00:57 +01:00
Dean 6db03768e6 Review updates 2023-03-27 17:28:12 +01:00
Dean ce33afdeae Merge remote-tracking branch 'origin/develop' into feature/whitelabelling 2023-03-16 09:07:58 +00:00
Rory Powell de89b9112a Simplify errors framework (#10042)
* Simplify errors framework

* Use enum for ErrorCode

* Lint

* Update base BudibaseError type to use enum

* For for public error on UsageLimitError

* Build fix

* Build fix
2023-03-16 08:42:02 +00:00
Dean f3b58923cf Merge remote-tracking branch 'origin/develop' into feature/whitelabelling 2023-03-15 09:13:36 +00:00
mike12345567 63cf91218d Merge branch 'master' of github.com:Budibase/budibase into develop 2023-03-14 14:12:32 +00:00
Dean 5ce52cad06 Working commit 2023-03-13 12:33:16 +00:00
Michael Drury 51c63d7258 Disable google auth if no config found (#9983)
* Fix for #9937 - Google config was pre-activated always, even if no google config had been created.

* Fixing test case.
2023-03-10 15:19:46 +00:00
mike12345567 ae3671ea42 Merge branch 'master' of github.com:Budibase/budibase into develop 2023-03-07 17:49:44 +00:00
Martin McKeaveney 72cb60ec02 merge from master 2023-03-07 16:54:33 +00:00
Dean f622c84ebc Review feedback 2023-03-07 16:39:26 +00:00
Dean ab45e06edb Review updates 2023-03-07 16:17:29 +00:00
Dean 5b9fbbc3b4 Various fixes for update self behaviour 2023-03-07 13:35:18 +00:00
Martin McKeaveney fd8488d4d3 remove array of tenantIds 2023-03-07 09:56:12 +00:00
Vinoth Kirubakaran 7be551b2ea chore: ran prettier for environment.ts and auth.ts 2023-03-06 15:55:29 +00:00
Vinoth Kirubakaran 201087ee95 Update auth.ts
Updated success and error redirect paths using ENV variables
2023-03-06 20:57:24 +05:30
Rory Powell c83684ed83 Prevent showing user exists for password disabled actions 2023-03-01 14:49:44 +00:00
Dean 09adef4d59 Fixes for invitation unit tests 2023-02-28 22:27:02 +00:00
Dean f66fc22f29 Updated email utility import 2023-02-28 17:05:11 +00:00
Dean a5c6dbe4ae Merge remote-tracking branch 'origin/develop' into feature/app-user-onboarding-ux 2023-02-28 16:38:44 +00:00
Rory Powell 7b48c2787e lint 2023-02-28 13:37:34 +00:00
Rory Powell 7ed0586673 Add validation between sso config acivation and sso enforcement 2023-02-28 13:36:54 +00:00
Dean dd08845a44 Merge remote-tracking branch 'origin/develop' into feature/app-user-onboarding-ux 2023-02-28 09:38:15 +00:00
Dean 61ed62e6c4 Builder user onboarding 2023-02-28 09:37:03 +00:00
mike12345567 2fb33e2cf3 Merge branch 'develop' of github.com:Budibase/budibase into feature/audit-logs 2023-02-27 14:51:33 +00:00
Rory Powell 2c46109e7d Enforceable SSO (#9787)
* Add ENFORCEABLE_SSO feature flag

* First draft of enforce sso configuration / show single sign on url

* Reading and writing isSSOEnforced + integration with login page

* Enable CI + lint

* Set correct base branch for CI

* Test fix for expected string changed

* Use tenant aware platform url as SSO link

* Bring in latest pro changes

* Lint

* Add useEnforceableSSO mock helper function

* Update configs.spec.ts with coverage for public settings

* Update users.spec.ts with additional tests for isPreventPasswordActions

* Lint

* Update refresh OAuthToken to use correct enum and add case statement
2023-02-27 13:42:51 +00:00
Rory Powell d3a7286711 Configs updates: remove circular deps, dedicated module, typing improvements, reduce db reads 2023-02-23 13:41:35 +00:00
Dean 234e2fe3f3 Merge remote-tracking branch 'origin/develop' into feature/app-user-onboarding-ux 2023-02-23 11:19:29 +00:00
Dean b4c88bd545 Merge commit to dev 2023-02-23 10:38:03 +00:00
mike12345567 22f42ef898 Adding new mechanism to get the ipAddress and userAgent of call for audit logs. 2023-02-21 19:14:57 +00:00
mike12345567 ef30c03fa6 Merge branch 'develop' of github.com:Budibase/budibase into feature/audit-logs 2023-02-21 17:26:24 +00:00
Rory Powell cacf275a99 Prevent SSO users from setting / resetting a password (#9672)
* Prevent SSO users from setting / resetting a password

* Add support for ENABLE_SSO_MAINTENANCE_MODE

* Add typing to self api and build out user update sdk

* Integrate sso checks with user sdk. Integrate user sdk with self api

* Test fixes

* Move self update into SDK

* Lock down maintenance mode to admin user

* Fix typo

* Add health status response and return type signature to accounts.getStatus

* Remove some unnecessary comments

* Make sso save user function non optional

* Remove redundant check on sso auth details provider

* Update syncProfilePicture function name to getProfilePictureUrl

* Update packages/worker/src/sdk/users/events.ts

Co-authored-by: Adria Navarro <adria@revityapp.com>

* Add ENABLE_EMAIL_TEST_MODE flag

* Fix for logging in as sso user when existing user has password already

* Hide password update and force reset from ui for sso users

* Always disable sso maintenance mode in cloud

---------

Co-authored-by: Adria Navarro <adria@revityapp.com>
2023-02-21 08:23:53 +00:00
Rory Powell a57f0c9dea Merge branch 'develop' into rory/february 2023-02-20 09:57:17 +00:00
mike12345567 2afd3e1580 Updating events to include a proper friendly map of audited events. 2023-02-15 19:44:32 +00:00
Rory Powell bb1faac62a Merge master into develop 2023-02-15 15:10:02 +00:00
Rory Powell ae9979929a Enable higher concurrency and resiliency in worker tests 2023-02-13 11:57:30 +00:00
Dean 73f3fc41cb Bug fixes for logo and binding validation. Random fix for a button actions issue found while testing 2023-02-02 12:49:26 +00:00
deanhannigan 7540cad45c Merge pull request #9467 from Budibase/feature/auth-screens-redesign
Selfhost onboarding UX/UI updates
2023-01-31 16:13:46 +00:00
Dean d37c0e4b5d UI Onboarding UI/UX auth refactoring 2023-01-27 13:44:57 +00:00
mike12345567 557a9a8eeb Adding an API for publishing an event from the frontend. 2023-01-23 18:56:44 +00:00
Rory Powell fba7ef26ad Replace ts-jest with swc/jest (#9289)
- Add swc dependencies
- Add transform change to jest.config.ts
- Replace `export =` with `export default` in src code to enable code coverage to work with swc transformer
- Restructure backend-core errors package to allow for exporting error classes with ESM syntax
- Update backend-core to no longer use `export =`, export individual packages instead of replacing with `export default` for backwards compatibility
- Update event publishers to use `export default` - this was required for the `jest.spyOn` usage inside backend-core common mocks
- Restructure some jest.mock usages where declaring the jest.fn as a variable outside of the package mock threw an error
2023-01-11 09:37:37 +00:00
Martin McKeaveney 84ab7862d1 fixes for google sheets, admin checklist, and deleting an app from API (#8846)
* fixes for google sheets, admin checklist, and deleting an app from API

* code review

* splitting unpublish endpoint, moving deploy endpoint to applications controller. Still to do public API work and move deployment controller into application controller

* updating REST method for unpublish in API test

* unpublish and publish endpoint on public API, delete endpoint unpublishes and deletes app

* removing skip_setup from prodAppDb call

* removing commented code

* unit tests and open API spec updates

* unpublish, publish unit tests - delete still in progress

* remove line updating app name in API test

* unit tests

* v2.1.46

* Update pro version to 2.1.46

* v2.2.0

* Update pro version to 2.2.0

* Fix for budibase plugin skeleton, which utilises the old import style.

* Fix side nav styles

* v2.2.1

* Update pro version to 2.2.1

* using dist folder to allow importing constants for openAPI specs

* v2.2.2

* Update pro version to 2.2.2

* Fix for user enrichment call (updating to @budibase/nano fork) (#9038)

* Fix for #9029 - this should fix the issue users have been experiencing with user enrichment calls in apps, essentially it utilises a fork of the nano library we use to interact with CouchDB, which has been updated to use a POST request rather than a GET request as it supports a larger set of data being sent as query parameters.

* Incrementing Nano version to attempt to fix yarn registry issues.

* v2.2.3

* Update pro version to 2.2.3

* Fix SQL table `_id` filtering (#9030)

* Re-add support for filtering on _id using external SQL tables and fix filter key prefixes not working with _id field

* Remove like operator from internal tables and only allow basic operators on SQL table _id column

* Update data section filtering to respect new rules

* Update automation section filtering to respect new rules

* Update dynamic filter component to respect new rules

* v2.2.4

* Update pro version to 2.2.4

* lock changes (#9047)

* v2.2.5

* Update pro version to 2.2.5

* Make looping arrow point in right direction (#9053)

* v2.2.6

* Update pro version to 2.2.6

* Types/attaching license to account (#9065)

* adding license type to account

* removing planDuration

* v2.2.7

* Update pro version to 2.2.7

* Environment variable type coercion fix (#9074)

* Environment variable type coercion fix

* Update .gitignore

* v2.2.8

* Update pro version to 2.2.8

* tests passing

* all tests passing, updates to public API response

* update unpublish call to return 204, openAPI spec and unit

* fixing API tests

Co-authored-by: Budibase Release Bot <>
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
Co-authored-by: Andrew Kingston <andrew@kingston.dev>
Co-authored-by: melohagan <101575380+melohagan@users.noreply.github.com>
Co-authored-by: Rory Powell <rory.codes@gmail.com>
2022-12-19 13:18:00 +00:00
Rory Powell 786039055e File authentication using presigned URLs (#8883)
* file auth wip

* Private plugin bucket wip

* Add etag to logo request, fix circular dependency

* Resolve cyclic dependency

* Ensure browser doesn't cache custom component

* Global file fixes

* File fixes / remove permaUrl

* Add ctx local storage

* Enable presigned url to work from any host

* Test fix

* Self hosting w/ S3 + other fixes

* Fix for serving dev app in multi tenant

* Fix backup restore and import attachment url processing, never store attachment urls

* Test fixes

* Unit tests WIP

* Replace file path with base64 encoded private key

* Multi tenancy tests for files

* Environment files fixes

* Post-merge build and test fixes

* Add debug conditional to all jest logging and revert/fix prod minio proxy_pass

* Re-add default '/' minio route :(

* Rename iconFile -> iconFileName

* Add cloudfront vars to k8s templates

* Remove public bucket policy

* Remove duplicated test
2022-12-15 11:35:22 +00:00
mike12345567 85dd6f2880 Extension on fix for user self assignment, don't allow users to change their admin/builder status. 2022-12-07 12:42:14 +00:00
mike12345567 90362b65c1 Disabling js interop in Typescript build of backend-core and worker, fixing build issues. 2022-11-26 14:46:01 +00:00
mike12345567 d3c4c99e16 Complete conversion of backend-core to Typescript. 2022-11-24 18:48:51 +00:00
mike12345567 bfaef13768 Refactoring worker, converting all controllers/routes to Typescript and all imports of backend-core to new style. 2022-11-23 18:25:20 +00:00
mike12345567 29dd98a7fc Merge branch 'develop' of github.com:Budibase/budibase into feature/replace-pouch 2022-11-16 18:12:31 +00:00
mike12345567 4328ed1b67 Updating middlewares to Typescript, as well as some fixes based on running tests. 2022-11-16 17:24:13 +00:00
mike12345567 535fab7997 Some major reworks towards higher levels of typescript. 2022-11-16 17:23:12 +00:00
Rory Powell 9c169087e6 Add copy button to sso callback urls, e2e unit testing for OIDC, stub out other auth tests 2022-11-16 11:34:16 +00:00