Commit Graph

1061 Commits

Author SHA1 Message Date
Adria Navarro 25c921e340 Validate url 2023-06-06 11:29:49 +01:00
Adria Navarro d4ba73f331 Open continue 2023-06-06 11:29:49 +01:00
Adria Navarro 3a6a3eb8a5 Store tokens in cache and amend redirect 2023-06-06 11:29:49 +01:00
Andrew Kingston d70e49d74f Add event for tracking user collaboration 2023-06-06 10:11:51 +01:00
Rory Powell abbd8c5c8b Merge branch 'master' into develop 2023-06-05 23:19:43 +01:00
Andrew Kingston 680b70643c Merge pull request #10775 from Budibase/collaboration-fixes
Collaboration fixes
2023-06-02 18:03:11 +01:00
mike12345567 c13530ef32 Stop attempt at bundling ioredis-mock, only need to check at runtime. 2023-06-02 13:59:33 +01:00
mike12345567 ddeb25b68d Updating mock redis to only import if it is needed. 2023-06-02 11:52:50 +01:00
Andrew Kingston d8d3d71523 Update websocket logic to ignore events trigger by API requests originating from the same session 2023-06-01 17:14:32 +01:00
Michael Drury a3f9759a47 Reverting ioredis-mock removal for test cases - will come back to this in future as it currently breaks pro tests. 2023-06-01 00:02:55 +01:00
mike12345567 fba3ec987e Merge branch 'develop' of github.com:Budibase/budibase into fix/datasource-info-endpoint 2023-05-31 17:37:17 +01:00
mike12345567 249625ad1a Updating backend tests to actually utilise the redis container which is spun up as part of the tests, doing away with the somewhat problematic ioredis-mock which was breaking some tests due to the addition of the changes for multi-dev collab. 2023-05-31 17:18:01 +01:00
Andrew Kingston 8a2d4b7052 Merge branch 'develop' of github.com:Budibase/budibase into websocket-redis-integration 2023-05-31 16:28:14 +01:00
Andrew Kingston e3b5d711df Disable redis select command in tests 2023-05-31 16:27:49 +01:00
Andrew Kingston ffbbf04e86 Lint 2023-05-31 16:08:35 +01:00
Andrew Kingston 05e34076f7 Fully rewrite websocket redis integration to use individual keys per session, enable TTLs on sesisons, prune sessions when users connect and add a heartbeat to sockets 2023-05-31 15:13:22 +01:00
Andrew Kingston d926650232 Add back in functionality to select different redis DB's per client 2023-05-31 10:52:39 +01:00
Michael Drury 1547280514 Merge pull request #10739 from Budibase/fix/multi-dev-conflicts
Multidev lock and conflict management
2023-05-30 22:57:00 +01:00
Michael Drury 99607ca06e Reverting try twice change to writethrough. 2023-05-30 20:45:10 +01:00
Michael Drury 5249148d6c Updating writethrough test to be aware of the double attempt locks. 2023-05-30 20:20:22 +01:00
mike12345567 7c7bd4d5cb Fix for debugging with webstorm the old way (if desired), updating the builder middleware to be more multi-dev capable, ignoring 409s when attempting to update the last updated at for apps (if multiple devs hit at same time, only use one) also updating writethrough cache to retry once, with the extended TTL on locks, plus the multi-dev collab it can take a minute to update usage quota doc when a lot of updates occur at once. 2023-05-30 17:41:20 +01:00
Rory Powell 6230e62b9b Automation investigation logging + max doc size fix for automation log 2023-05-30 16:37:39 +01:00
Andrew Kingston 5e480a1527 Use socker.io redis adapter to broadcast events to all server instances 2023-05-25 08:48:56 +01:00
Michael Drury 62e9777407 Merge pull request #10633 from Budibase/fix/live-app-user-updates
Production app user updates
2023-05-18 10:46:31 +01:00
Rory Powell a685f181da Merge branch 'master' into develop 2023-05-18 09:10:51 +01:00
Rory Powell 55ee94892a Support setting object name for logged json objects 2023-05-17 22:18:50 +01:00
mike12345567 5fdd7d9076 Fixing an issue with the tenant ID not being found in self host (default) for identification purposes, stopping doc update queue from activating and working as expected. 2023-05-17 19:21:32 +01:00
Rory Powell 78daed6ec1 Lint 2023-05-17 15:31:14 +01:00
Rory Powell 0aff89a479 Merge pull request #10626 from Budibase/chore/automation-logging-updates
Automation logging updates
2023-05-17 14:58:16 +01:00
Rory Powell f41b134d31 Refactor to use param for doInAutomationContext 2023-05-17 14:57:29 +01:00
Rory Powell 6c412c7cd9 Test fix 2023-05-17 14:22:23 +01:00
Rory Powell 578b599428 Lint 2023-05-17 14:10:22 +01:00
Rory Powell ad37186665 Logging updates for automations 2023-05-17 13:54:20 +01:00
Adria Navarro 4f3139a47b Merge branch 'develop' into feature/datasource-conns 2023-05-17 12:00:56 +02:00
mike12345567 14806809e8 Merge branch 'master' of github.com:Budibase/budibase into develop 2023-05-16 14:54:44 +01:00
mike12345567 1aad88adc8 Fix for CLI startup complaining about version not being found. 2023-05-15 15:52:59 +01:00
Adria Navarro 5456866c45 Fix tests to use connection string instead of env 2023-05-15 13:54:32 +02:00
Adria Navarro 209ada0c38 Validate couchdb 2023-05-15 13:54:32 +02:00
Adria Navarro deb73be17d Merge branch 'develop' into budi-6158/allow_searching_users
# Conflicts:
#	packages/pro
2023-05-15 13:02:03 +02:00
jvcalderon 946cd45b3f Refactor: BUILDER_REFERER_PREFIX -> BUILDER_APP_PREFIX 2023-05-12 15:59:42 +02:00
jvcalderon a48fc00a54 Change the PUBLIC_API_PREFIX to prevent failures if we increase in the future the API version 2023-05-12 15:54:59 +02:00
José Vte. Calderón 8eac0d99f7 Update packages/backend-core/src/utils/tests/utils.spec.ts
Co-authored-by: Rory Powell <rory.codes@gmail.com>
2023-05-12 15:38:39 +02:00
jvcalderon 1f7ebe8502 Remove unneeded 'beforeEach' import 2023-05-12 15:34:57 +02:00
Adria Navarro 0d5c14f22a Rename view 2023-05-10 14:54:30 +02:00
Martin McKeaveney b387f969d9 allow passwordless redis 2023-05-08 15:59:12 +01:00
jvcalderon d4d1bc03b3 Fix ESLint 2023-05-08 13:42:26 +02:00
jvcalderon 80d3b99b90 Provide some functions to check the path in the context 2023-05-08 13:26:00 +02:00
Rory Powell 595db7d346 Merge pull request #10495 from Budibase/fix/custom-locks
Fix usage of custom locks
2023-05-05 15:21:58 +01:00
Rory Powell 1ba5eda149 Fix usage of custom locks 2023-05-05 14:42:21 +01:00
mike12345567 0d7959f720 Fixing some un-identified listeners, queue messages not being correctly printed, also improving the mechanism for detecting if in the main thread or not. 2023-05-04 17:20:21 +01:00
Martin McKeaveney 50de32a8a0 Merge pull request #10452 from Budibase/feature/clustering-support
attaching clustered mode to an env var
2023-05-04 14:25:23 +01:00
Martin McKeaveney 167dfd39d7 fix ts build 2023-05-04 13:32:17 +01:00
Rory Powell e1a147e823 Merge branch 'master' into develop 2023-05-03 16:06:42 +01:00
Rory Powell 7762235769 Merge branch 'develop' into pricing/hubspot-updates 2023-05-03 13:51:13 +01:00
Rory Powell 9647ac5dee Create hubspot expansions and churns as users are added and deleted 2023-05-02 20:08:51 +01:00
mike12345567 f61f9eba68 Linting. 2023-05-02 16:28:56 +01:00
mike12345567 552499b781 Re-writing the disabling of pino/logging - it seems that the pino logger is causing a variety of issues in the built CLI version - easier to offer an environment variable for backend-core which completely removes the logger. 2023-05-02 16:22:43 +01:00
Martin McKeaveney e75e91e248 control all redis clustering through env var 2023-04-28 19:53:15 +01:00
Martin McKeaveney f73af919a7 attaching clustered mode to an env var 2023-04-28 19:09:22 +01:00
melohagan 8742fb39d3 is empty lucene query with OR fix (#10451)
* empty lucene query with OR fix

* Fix unit test
2023-04-28 17:17:32 +01:00
Rory Powell 0b88848277 Lint 2023-04-28 11:24:05 +01:00
Rory Powell a20dfa588a Type updates for plan changed event 2023-04-27 21:58:42 +01:00
Adria Navarro c47ff6ccfb Merge branch 'develop' into chore/remove_package.json_dependency 2023-04-24 18:42:55 +02:00
Martin McKeaveney 86dc082f57 Merge pull request #10366 from Budibase/budi-5186-dynamic-filter-contains-option
Dynamic filter contains option
2023-04-24 09:32:58 +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
Mel O'Hagan 458b23fc1b Add escape for forward slash 2023-04-20 21:57:48 +01:00
Mel O'Hagan 66a573dcc9 Fix fuzzy search internal DB 2023-04-20 18:14:41 +01:00
Mel O'Hagan 68ba2402a0 Fix substring regex 2023-04-20 17:51:58 +01:00
Mel O'Hagan e58cd0a106 Check substring if contains not array 2023-04-20 17:30:45 +01:00
adrinr b128306262 Increase writethrough cache timeout 2023-04-19 16:47:48 +01:00
Michael Drury 42c37eea46 Merge pull request #10276 from Budibase/labday/automation-plugins
Automation step plugins
2023-04-18 17:33:25 +01:00
mike12345567 3b03766f9e Adding plugin validation unit tests. 2023-04-18 16:36:03 +01:00
mike12345567 b4e6cbce7a Some final updates to get tests passing again, issue with publisher tenant ID being the 'unique' format which cannot actually be used. 2023-04-17 15:59:59 +01:00
mike12345567 b6f14a3f55 Merge branch 'develop' of github.com:Budibase/budibase into fix/BUDI-6754 2023-04-17 14:58:40 +01:00
adrinr 8e95121ac8 Implement find version 2023-04-17 14:07:49 +01:00
mike12345567 453d5cc0e6 Further PR comments. 2023-04-17 14:03:54 +01:00
adrinr e5227febd8 Use version from environment 2023-04-17 14:02:50 +01:00
adrinr 33c3b67f8c Merge branch 'develop' into chore/remove_old_zlib_ref 2023-04-17 11:28:43 +01:00
adrinr ac4e45a433 Replace usages 2023-04-17 10:27:37 +01:00
Mateus Badan de Pieri de968b5332 changin syntax to permission function 2023-04-17 10:04:50 +01:00
Mateus Badan de Pieri 643ca614a4 changing test to it 2023-04-16 22:27:02 +01:00
Michael Drury ef5bcc4b66 Main body of PR comments, switching event handling to be a publisher of async events, a generic event; then adding a new async document update processor, which can later be converted to be part of the event processing pipeline. 2023-04-15 00:37:22 +01:00
Mateus Badan de Pieri 5180ac29d2 final functions being tested 2023-04-14 12:16:01 +01:00
Mateus Badan de Pieri 2f98ce9772 reverting some breaking changes 2023-04-14 11:45:27 +01:00
Mateus Badan de Pieri 038476523f doesHaveBasePermission tests 2023-04-14 11:39:52 +01:00
Mateus Badan de Pieri 696eea9f92 exporting function to test 2023-04-14 11:39:36 +01:00
Mateus Badan de Pieri fa83c5d7a1 added get allowed levels (not working yet) 2023-04-14 10:29:52 +01:00
Mateus Badan de Pieri 9bf580e761 Merge branch 'develop' into permissions-test 2023-04-14 10:27:35 +01:00
Mateus Badan de Pieri 62b5e08cde primary test cases, level to number working already 2023-04-14 10:25:38 +01:00
mike12345567 23e99ca4b7 Adding group and user tests for user sync. 2023-04-12 19:59:05 +01:00
mike12345567 a9fb09424b Merge branch 'develop' of github.com:Budibase/budibase into labday/automation-plugins 2023-04-12 14:27:50 +01:00
mike12345567 3eb718ea6d Merge branch 'develop' of github.com:Budibase/budibase into fix/BUDI-6754 2023-04-12 13:42:46 +01:00
Mateus Badan de Pieri df38368eaf removing tests 2023-04-12 11:06:01 +01:00
mike12345567 ada052e043 Merging in develop - fixing some test cases which broke in the process. 2023-04-12 10:56:21 +01:00
Mateus Badan de Pieri f427763308 export function to make test easier 2023-04-12 02:29:30 +01:00
Mateus Badan de Pieri ef0293bc6c encryption tests 100% 2023-04-12 02:25:53 +01:00
mike12345567 1aafdbe9a7 Merge branch 'develop' of github.com:Budibase/budibase into fix/BUDI-6754 2023-04-11 17:28:14 +01:00
adrinr c77ed3d737 Renames 2023-04-11 13:39:13 +01:00
adrinr e1279ffecd Use proper errors instead of string throwing 2023-04-11 13:39:13 +01:00
mike12345567 c4a4bdc9da Fixing tenancy.spec.ts - mocking was a bit messed up, moving it all around to work as expected. 2023-04-11 10:54:04 +01:00
Mateus Badan de Pieri de613d2b28 latest version 2023-04-11 10:22:47 +01:00
Michael Drury 1c7c06e983 Bulk of the automation plugin system, supporting custom plugins. 2023-04-10 23:48:54 +01:00
Michael Drury 4badd04e33 Some automation fixes and adding option to disable logging for CLI. 2023-04-10 22:33:53 +01:00
mike12345567 400a112a4b Refactoring automation steps to be better defined in Typescript, which allows writing the validator for automations. 2023-04-06 18:11:44 +01:00
mike12345567 0803b08217 Merge branch 'develop' of github.com:Budibase/budibase into fix/BUDI-6754 2023-04-05 17:59:18 +01:00
Mateus Badan de Pieri f1b7ff0f7c fixing expect on throw 2023-04-05 16:30:00 +01:00
Mateus Badan de Pieri b0df710a2a tweaks on some tests 2023-04-05 16:13:39 +01:00
Rory Powell 77ffb8d86d Run integration suite in CI again / auto detect tenancy / refactors (#10209)
* qa-core-ci-fixes

* global setup and teardown wip

* Updates to logs and setup

* Remove date and console mocking

* Update CI to spin up minimal dev env

* Update readme

* Fix scopeBackend.sh

* Ensure docker services are initialised before starting worker

* Lint

* Fix admin user being created on startup (#10219)

* use regular bootstrap and build

* Lint

* Temp: re-use global setup to get around app limit in QA
2023-04-05 15:33:56 +01:00
Mateus Badan de Pieri 6bd950717c mocked correctly 2023-04-05 14:14:55 +01:00
Rory Powell 976b3a55ca Update logging to support dd trace attributes (#10086)
* Update logging middleware to integrate with pino for console logging

* Remove elastic apm references, use updated core middlewares

* Remove redundant LOG_LEVEL definitions

* Remove no longer needed jest logging overrides

* lint

* Backwards compat between console log helpers and pino

* Configurable DISABLE_HTTP_LOGGING

* Don't log 4xx as errors

* Remove redundant ENABLE_4XX_HTTP_LOGGING

* Cleanup migrations and event logging

* Improve bb-alert logging

* Add DISABLE_HTTP_LOGGING to helm chart

* Add ops endpoints for testing

* Disable http logging in dev

* Backwards compatible tracing implementation

* Naming update on http logging env var

* lint

* Update packages/backend-core/src/environment.ts

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

* Merge

* Lint

* Fix console.warn failing mock by replacing with alerts mock instead

* Lint

---------

Co-authored-by: Adria Navarro <adria@revityapp.com>
2023-04-04 15:08:46 +01:00
mike12345567 e128642bce Merge branch 'develop' of github.com:Budibase/budibase into fix/BUDI-6754 2023-04-04 13:37:59 +01:00
Michael Drury ff98ba5a0a Adding a document update queue based on the events which can be used to track when certain documents have changed, using this for users and groups to detect when a re-sync is needed. 2023-04-04 00:25:15 +01:00
adrinr c0d7f2329a Extract valid email util 2023-04-03 16:42:30 +01:00
Adria Navarro e1669c8260 Merge pull request #10022 from Budibase/feature/scim
Feature - SCIM endpoints
2023-04-03 13:22:01 +02:00
Mateus Badan de Pieri b6fd3b7cf7 primary tests cases 2023-04-03 11:28:20 +01:00
Mateus Badan de Pieri e6ac534fca isUserInAppTenant tests working 2023-03-31 15:07:28 +01:00
Michael Drury 1c6465edcb Merge pull request #10172 from Budibase/fix/budi-6797
Googlesheets onboarding - fix in cloud, disable self host
2023-03-31 13:19:29 +01:00
mike12345567 75baba76d6 Resolving PR comments. 2023-03-31 11:38:09 +01:00
adrinr 48b964378b Remove all app cookie references (not really needed anymore) 2023-03-31 09:01:40 +01:00
mike12345567 42320b1d95 Merge branch 'develop' of github.com:Budibase/budibase into fix/budi-6797 2023-03-30 17:29:58 +01:00
Mateus Badan de Pieri 6404f07cfe first tenancy tests working 2023-03-30 17:27:13 +01:00
Mateus Badan de Pieri d03b27f79f first 2 tests passing 2023-03-30 17:08:18 +01:00
mike12345567 24fc72657d Fixing all broken test cases after breaking out context fully from jestSetup/backend-core jest loading. 2023-03-30 16:35:25 +01:00
mike12345567 47897c8afa Basic moving around of assets. 2023-03-30 16:07:59 +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
mike12345567 32c78ec9bf This makes it so that Googlesheets works correctly as part of onboarding in the Cloud, in self host the googlesheets onboarding option has been hidden as it is too complex to get the user to setup the correct integrations with their google account while doing the first time onboarding to an app. 2023-03-29 19:58:24 +01:00
Michael Drury d255bfad0b Merge pull request #10149 from Budibase/fix/budicloud-log-out
Budicloud logout on googlesheet auth
2023-03-29 14:47:15 +01:00
Rory Powell d6992bbf94 Merge branch 'master' into merge-master-develop 2023-03-29 11:52:09 +01:00
mike12345567 b7fe83ad17 Adding a check to config for isDev - don't use multi-tenant google SSO default in dev. 2023-03-28 18:14:04 +01:00
adrinr 31f94f6c3c Fix tests 2023-03-28 16:46:23 +01:00
Adria Navarro e662e8febe Update packages/backend-core/src/configs/configs.ts
Co-authored-by: Rory Powell <rory.codes@gmail.com>
2023-03-28 16:46:23 +01:00
adrinr f7a34dedfa Use generic types instead of overrides 2023-03-28 16:46:23 +01:00
adrinr 1a9653a4db Tests configs 2023-03-28 16:46:23 +01:00
adrinr d0772ee142 Test when scim is disabled 2023-03-28 16:46:23 +01:00
adrinr 1838f75dbc Add test 2023-03-28 16:46:23 +01:00
adrinr 54265816cc Renames 2023-03-28 16:46:23 +01:00
adrinr 8a6400c7d0 Add viaScim to group events 2023-03-28 16:46:23 +01:00
adrinr 7821c637c6 Move event one level up 2023-03-28 16:46:23 +01:00
adrinr 099cc145bf Clean code 2023-03-28 16:46:23 +01:00
adrinr 04bd9dda9c Use new scim context functions 2023-03-28 16:46:23 +01:00
adrinr 62cd6a43f2 Remove "duplicated" events 2023-03-28 16:46:23 +01:00
adrinr 648247b10e Add scim info in update/delete user events 2023-03-28 16:46:23 +01:00
adrinr 6df08799bb Add isScim to user created event 2023-03-28 16:46:23 +01:00
adrinr 31eaa36883 Unify create events 2023-03-28 16:46:23 +01:00
adrinr 924c103ccc Use ids instead of email on the events 2023-03-28 16:46:23 +01:00
adrinr 26f077cc1c Event on delete 2023-03-28 16:46:23 +01:00
adrinr cbadf69a29 Dispatch event on user update 2023-03-28 16:46:23 +01:00
adrinr e6ff0a44fb Dispatch event on scim user created 2023-03-28 16:46:23 +01:00
adrinr 771e3b8862 Bookmark optional 2023-03-28 16:46:22 +01:00
adrinr 43c25436c8 Test skip with filters 2023-03-28 16:46:22 +01:00
adrinr 348b06948b Test limits 2023-03-28 16:46:22 +01:00
adrinr 9a2eaaad42 Test deep pagination 2023-03-28 16:46:22 +01:00
adrinr 30c66748af Add skip tests 2023-03-28 16:46:22 +01:00
adrinr 47cc291551 Exclude session fields 2023-03-28 16:46:22 +01:00
adrinr f181cb02d0 Remove comment 2023-03-28 16:46:22 +01:00
adrinr 5ffa51d1f4 Rename 2023-03-28 16:46:22 +01:00
adrinr 41537cd00c Add comments 2023-03-28 16:46:22 +01:00
adrinr bf32801917 Handle skip on execution 2023-03-28 16:46:22 +01:00
adrinr a91e4b4da1 Make QueryBuilder vars private 2023-03-28 16:46:22 +01:00
adrinr 06245fee98 Make includeDocs private 2023-03-28 16:46:22 +01:00
adrinr 6c6d060550 Remove view 2023-03-28 16:46:22 +01:00
adrinr 1c828db694 Return total rows 2023-03-28 16:46:22 +01:00
adrinr c763c6fae5 Expose index 2023-03-28 16:46:22 +01:00
mike12345567 900e6c8129 Adding search index for user. 2023-03-28 16:46:22 +01:00
adrinr 621c06eada Add view 2023-03-28 16:46:22 +01:00
adrinr 2072664294 Move user search to core 2023-03-28 16:46:22 +01:00
adrinr f65ded4282 Allow bearer token for auth 2023-03-28 16:46:22 +01:00
mike12345567 cf5316ec8d General fixes for open handles, attempting to find and close all issues in server which are stopping shutdown of Jest suite. 2023-03-27 19:38:49 +01:00
Michael Drury 34e8009f08 Merge pull request #9949 from Budibase/fix/blacklist
Blacklisting
2023-03-20 10:33:11 +00:00
mike12345567 39bfbdfac1 PR comments. 2023-03-16 16:49:31 +00:00
mike12345567 c106c3291a Merge branch 'develop' of github.com:Budibase/budibase into fix/api-key-error 2023-03-16 13:39:24 +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
mike12345567 29fc91d6d1 Making it obvious that API key is invalid - error otherwise is quite cryptic. 2023-03-15 17:26:21 +00:00
mike12345567 63cf91218d Merge branch 'master' of github.com:Budibase/budibase into develop 2023-03-14 14:12:32 +00:00
Rory Powell e116941750 Rotatable secrets (#9982)
* Rotatable secrets

* Set new api encryption key var

* Lint

* Use fallback keys instead of array

* Point api encryption key to dedicated value

* Add API_ENCRYPTION_KEY to cli

* Lint + add api encryption key to env files
2023-03-13 15:02:59 +00:00
mike12345567 bff6a51af2 Adding test case for scenario. 2023-03-13 11:48:13 +00:00
mike12345567 212b93cbe9 Fix for not contains with all or - variety of changes needed to achieve the actual expected functionality. 2023-03-13 11:48:03 +00:00
Michael Drury 5eabe9db22 Merge pull request #9779 from Budibase/jonny/api-metrics
metrics api endpoint
2023-03-10 12:12:51 +00:00
mike12345567 564c724be1 Provides the option for blacklisting IPs. 2023-03-08 16:30:26 +00:00
adrinr 84d450a931 Renames 2023-03-07 12:47:27 +01:00
adrinr 49493d80be Use name suffix instead of complex key object 2023-03-07 12:45:20 +01:00
adrinr 4d854ea5a7 Merge remote-tracking branch 'origin/develop' into bug/budi-5901-usage-quota-document-conflicts-can-cause 2023-03-07 12:41:58 +01:00
mike12345567 c51b9fb4b3 Merge branch 'develop' of github.com:Budibase/budibase into jonny/api-metrics 2023-03-06 15:23:35 +00:00
mike12345567 96208a5e8a Fixing build issue. 2023-03-03 12:05:30 +00:00
mike12345567 04ef7eeb9c Minor fixes - after removing axios altogether and adding a start script to make life easier for running from ts. 2023-03-03 10:03:33 +00:00
mike12345567 2bc0e988af Getting proper tenant ID for use by audit logs queue. 2023-03-02 13:39:26 +00:00
mike12345567 2335932978 Some updates to core types - used in pro update. 2023-03-02 10:20:49 +00:00
mike12345567 b787fafb32 Removing skip setup, tests depend on this behaviour - will update in separate PR. 2023-03-01 19:45:59 +00:00
mike12345567 5b150e7748 Removing migration change and fixing #9738 - making sure that exports with excludeRows enabled don't include attachments. 2023-03-01 19:43:40 +00:00
mike12345567 923e9d8ec4 Adding in test check. 2023-03-01 19:17:45 +00:00
mike12345567 eba18a4159 Fix for #9739 - there was an issue with the mango syntax, when working with multi attachment columns it was using an AND comparator instead of OR, it should be searching for rows that contain any attachment column, not all attachment columns. 2023-03-01 19:01:13 +00:00
Michael Drury a7d5f0fa7e Merge pull request #9844 from Budibase/fix/audit-log-muli-tenant
Audit log multi-tenancy fix
2023-03-01 17:27:55 +00:00
mike12345567 bba6f6941c Minor fix for audit log system - after the switch to use an async queue for handling of audit log storage, context was lost - in multi-tenant environments need to carry the tenant ID into the queue job so that context can be applied. 2023-03-01 16:38:19 +00:00
Rory Powell c83684ed83 Prevent showing user exists for password disabled actions 2023-03-01 14:49:44 +00:00
Rory Powell 2dfca0f67c Fix settings doc id in new installs 2023-03-01 14:32:01 +00:00
adrinr 04566dbabd Merge remote-tracking branch 'origin/develop' into bug/budi-5901-usage-quota-document-conflicts-can-cause 2023-03-01 13:31:56 +01:00
adrinr dded8beaeb Fix writethrough falling behind 2023-03-01 13:16:57 +01:00
Dean a5c6dbe4ae Merge remote-tracking branch 'origin/develop' into feature/app-user-onboarding-ux 2023-02-28 16:38:44 +00:00
adrinr b922fc3b00 Improve testing 2023-02-28 15:03:18 +01:00
adrinr c1462a7c9c Clean code 2023-02-28 14:54:43 +01:00
adrinr c254c565e4 Use redlock for writethrough 2023-02-28 14:54:34 +01:00
adrinr 66217d6b08 Return redlock execution info 2023-02-28 12:52:43 +01:00
adrinr 24161d12bf Type locks 2023-02-28 12:47:28 +01:00
Rory Powell ab69bbc299 lint 2023-02-28 11:03:56 +00:00
Rory Powell 312c01a879 Prefer default config for google sheets in cloud, don't use env vars for regular auth 2023-02-28 10:36:29 +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 b47101e1fb Updating lucene test case to improve coverage. 2023-02-27 21:48:05 +00:00
mike12345567 c3a3fa1176 Adding a lucene test case. 2023-02-27 21:18:06 +00:00
mike12345567 2fb33e2cf3 Merge branch 'develop' of github.com:Budibase/budibase into feature/audit-logs 2023-02-27 14:51:33 +00:00
mike12345567 fefc6d920f Fixing open handle issue - now that the worker has access to queues needs to shut them down. 2023-02-27 14:41:28 +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
mike12345567 0fa984f26f Moving is audited and adding in env var for ip address/user agent auditing. 2023-02-27 11:42:52 +00:00
mike12345567 65646ba01b Further PR comments. 2023-02-27 11:00:13 +00:00
mike12345567 3e7c1d10cf Fix based on test cases. 2023-02-24 19:04:40 +00:00
mike12345567 8fb5168d56 Fix for auth logout test case. 2023-02-24 17:42:22 +00:00
mike12345567 d6b0b7610a Fixing circular dependencies which were blocking tests. 2023-02-24 17:31:58 +00:00
mike12345567 3ba76ce5cd Adding test case for PII clear out. 2023-02-24 16:51:04 +00:00
mike12345567 62501b0185 Adding a system for checking audited data in events, so that PII can be removed by posthog processor. 2023-02-24 16:45:33 +00:00
mike12345567 a293d3842f Fixing build issue. 2023-02-24 13:55:36 +00:00
mike12345567 8853776c79 Moving around processors to separate audit logs out of central event handling. 2023-02-24 13:52:54 +00:00
mike12345567 58fab29fb4 Main body of PR comments. 2023-02-24 13:32:45 +00:00
mike12345567 f070be5f65 Moving search index to an enum. 2023-02-24 13:15:14 +00:00
mike12345567 42fc004212 Merge branch 'develop' of github.com:Budibase/budibase into feature/audit-logs 2023-02-24 12:46:58 +00:00
mike12345567 0b48075688 Implementing a few basic tests to create and search the audit logs. 2023-02-23 17:23:06 +00:00
Rory Powell 4e1bebe897 Server flaky tests fixes - improving tenancy config 2023-02-23 13:43:27 +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
mike12345567 0bc340052c Adding the ability to cleanup users from get functions (default is old behaviour). 2023-02-23 11:28:18 +00:00
Jonny McCullagh dde1237ed2 allUsers function & more metrics 2023-02-22 21:10:35 +00:00
mike12345567 01076bd35f Getting downloading working correctly, some minor UI updates, adding a new middleware for converting a query string to a body (useful for when a GET has to be used). 2023-02-22 18:50:27 +00:00
mike12345567 c6dadaa4ff Some work to make sure the user agent and ip address are always passed correctly to audit logs. 2023-02-22 16:10:54 +00:00
Rory Powell 6a88cfc32d Update locks error logging (#9768)
* Fix intermittent backend-core migration test failure

* Update lock logging
2023-02-22 08:32: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 940de8b6a0 Run CI steps in parallel (#9760)
* Parallel CI

* Add build to integration test

* Add checkout to top of each run

* Revert branch update for ci job

* Experiment with --runInBand for CI

* Fix intermittent backend-core migration test failure

* Fix hanging worker redis connection

* Update naming from reset to newTenant
2023-02-21 17:13:24 +00:00
mike12345567 b48acd8cf4 Some DB type updates (typing dump function) and adding in main audit log event publishers. 2023-02-21 14:56:38 +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
mike12345567 6cc96f39b1 Minor fixes for friendly audited events, and a new function for comparing app IDs. 2023-02-20 17:20:42 +00:00
Rory Powell a57f0c9dea Merge branch 'develop' into rory/february 2023-02-20 09:57:17 +00:00
mike12345567 70e525b928 Updating types for audit logs to correctly handle the deletion of resources like users or apps. 2023-02-17 19:00:45 +00:00
mike12345567 eca34d73ed Finishing up search API, updating typing in lucene layer. 2023-02-17 17:46:49 +00:00
mike12345567 6ec5e97ce9 Required work to support the new lucene audit logs search indexing. 2023-02-17 16:26:55 +00:00
mike12345567 2afd3e1580 Updating events to include a proper friendly map of audited events. 2023-02-15 19:44:32 +00:00
mike12345567 6d83ea9bec Adding in event auditing to server/worker. 2023-02-15 18:03:55 +00:00
Rory Powell bb1faac62a Merge master into develop 2023-02-15 15:10:02 +00:00
mike12345567 c60b6da0ab Removing pro from backend-core. 2023-02-15 13:49:30 +00:00
mike12345567 1ed4f4b8fe Update on audit logs, getting the full write flow from events configured. 2023-02-15 12:37:32 +00:00
mike12345567 46e9bf1443 Some updates to add in the audit log DB. 2023-02-13 18:16:13 +00:00
mike12345567 05ceee1cfe Moving lucene handling to backend-core so that it can be used for other databases (outside row indexes). 2023-02-13 17:13:59 +00:00
Rory Powell cc7eb64a3b Rename LOG_4XX to ENABLE_4XX_HTTP_LOGGING and enable by default 2023-02-13 14:39:24 +00:00