Commit Graph

304 Commits

Author SHA1 Message Date
Adria Navarro 24f8f3a7cb Fix currentapp middleware to allow app_ parameters 2023-01-12 15:38:22 +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
mike12345567 514f9a1210 Some fixes based on test runs. 2022-11-23 11:44:15 +00:00
mike12345567 de82eca502 Some typescript conversions, moving a few imports around. 2022-11-21 18:33:34 +00:00
mike12345567 31c198888a Updating some enums, plural to single. 2022-11-17 14:59:18 +00:00
mike12345567 58e59bfacc Updating PouchLike to be an interface in types, with its impl stored in backend-core, now called Database. 2022-11-17 14:35:03 +00:00
mike12345567 bc857d7bb8 PR comments - still experiencing build issues. 2022-11-17 13:31:54 +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
mike12345567 c6366c573a Final server test fixes, after all updates to context/removal of context faking. 2022-11-15 19:04:39 +00:00
mike12345567 b5472f882b Some updates for currentapp.spec.js test case. 2022-11-15 17:35:17 +00:00
mike12345567 72c9aadae0 Updating test cases - trying to get everything in order for merge. 2022-11-14 20:25:05 +00:00
mike12345567 c63c3b48c5 Typescript conversions, as well as updating context to just use an object map. 2022-11-10 17:38:26 +00:00
mike12345567 45e7ef61ef Re-building the context module to use a single object, meaning we can create new context frames and copy over whatever exists, then update. 2022-11-10 16:38:32 +00:00
mike12345567 e3f054470a Updating a few core endpoints to better integrate the groups system and make sure users always have the correct role ID updated onto them. 2022-09-22 18:27:43 +01:00
Rory Powell 276c455a11 Merge branch 'develop' into feature/day-pass-pricing 2022-09-01 15:26:16 +01:00
Rory Powell 7c2c4a0f94 Add conditional around joiValidator schema.append 2022-08-31 12:24:12 +01:00
Rory Powell 8fc8308530 Merge branch 'develop' into feature/day-pass-pricing 2022-08-19 14:08:03 +01:00
mike12345567 b803a3fd93 Replacing all plural TS enumerations with singular - this involves a major rename of the DocumentTypes. 2022-08-11 13:50:05 +01:00
Peter Clement 723bbd65e4 fixing bug on multi tenant environment 2022-07-22 10:12:16 +01:00
Rory Powell 3820182359 Write users and activity to dynamo 2022-07-18 16:11:52 -04:00
Andrew Kingston b5d635c83f Merge branch 'develop' of github.com:Budibase/budibase into new-design-ui 2022-06-15 15:32:33 +01:00
Dean 0561c17b6c Joi validator update to accomodate 'createdAt' and 'updatedAt' in the schema as optional 2022-06-14 12:34:15 +01:00
Andrew Kingston 2b594b09c2 Delete user builder and admin flags when specifying a custom role via dev tools 2022-06-09 14:26:56 +01:00
Dean 8131b8fcaa Overview Tab refactoring and general updates to the homepage 2022-05-06 15:52:49 +01:00
Dean 5104631d20 Initial Commit for app overview 2022-05-05 12:52:17 +01:00
mike12345567 bcee277acb Fixing issue with db init as part of the jest require. 2022-04-26 18:28:37 +01:00
Rory Powell 3991f25c5c Test fixes 2022-04-26 15:07:21 +01:00
Martin McKeaveney 9ca4dacbaa merge with master 2022-04-26 10:21:45 +01:00
mike12345567 345bbf603c Fixing issues with test cases - a lot of test cases didn't setup tenancy in any format, which now means that the API endpoints they call would not have access to a Global DB instance. Also had to disable the closing of the database in test as this was removing the database from memory, meaning future calls would find an empty database when they opened it. 2022-04-21 14:56:14 +01:00
Rory Powell d2a4e0a934 Merge branch 'develop' into feature/licensing 2022-04-20 14:59:36 +01:00
mike12345567 192fb1307e Initial version of memory leak protection, making sure that PouchDB databases are closed correctly after use, using a combination of closures wrapping DB gets (this replaces the getDB, leaving only a dangerousGetDB function which can be used in very very specific scenarios) and then closing the DB as part of CLS hooked functions finishing. Also moving the GlobalDB init to the tenancy middleware as this is used everywhere in the worker/app services - means that not all getGlobalDB calls require an async closure around them. 2022-04-19 19:42:52 +01:00
Rory Powell 41144db055 Remove remaining direct usage of CouchDB. Add common pouch config to backend-core 2022-04-19 16:45:27 +01:00
Rory Powell d87714107d Add checkout pro step to budibase-ci 2022-04-13 21:13:01 +01:00
Rory Powell 03ba6d914f Merge branch 'develop' into feature/licensing 2022-04-12 16:18:41 +01:00
Andrew Kingston 7546c1a8d5 Fix for tests when headers are undefined 2022-04-06 14:11:05 +01:00
Andrew Kingston 34a0c77d73 Tidy up 2022-04-06 13:40:07 +01:00
Andrew Kingston c2d61d8ebc Merge branch 'develop' of github.com:Budibase/budibase into cheeks-lab-day-devtools 2022-04-06 11:50:43 +01:00
mike12345567 88437e11d0 Fix for #5103 - some templates are built on an older version that stored permissions differently, we can't migrate these as they will keep being added, easiest to just support the old method (apply the old rule and convert to the new format when retrieving roles). 2022-03-28 16:34:50 +01:00
Rory Powell 819f9b75de Link app context with tenancy, remove app tenancy middleware 2022-03-24 13:04:49 +00:00
Rory Powell a68abf2730 Fix cross tenant apps with session 2022-03-23 16:45:06 +00:00
Rory Powell 0a4b1eb552 Tests complete + backwards compatibility for deployment 2022-03-22 00:23:22 +00:00
Rory Powell 715d42d3e6 Merge branch 'develop' into feature/licensing 2022-03-21 17:13:16 +00:00
Rory Powell 795b48bfb0 Published apps, automations and query count quotas 2022-03-20 01:13:54 +00:00
Rory Powell 661367333d Add developer usage restrictions to SSO user creation 2022-03-18 08:01:31 +00:00
Rory Powell e695a57853 Better error handling around license errors 2022-03-16 17:29:47 +00:00
mike12345567 ba9d6cf8f7 Fixing an issue that was breaking build. 2022-03-15 19:53:05 +00:00
mike12345567 d48d7f6e19 Quick fix for #4914 - adding some checks in API middleware to confirm headers have been set correctly. 2022-03-15 19:31:01 +00:00
Rory Powell 7698e9293c Self Host <-> Licensing integration 2022-03-09 21:16:22 +00:00
Rory Powell eefe4ea2ad Integrate usage quotas with licensing 2022-03-08 14:21:41 +00:00
Andrew Kingston c944d1fdf5 Update devtools with new features 2022-02-24 15:36:21 +00:00
Andrew Kingston 2461df61cb Fix bad import of headers constants 2022-02-24 14:14:39 +00:00
Andrew Kingston 66715b8290 Merge branch 'develop' of github.com:Budibase/budibase into cheeks-lab-day-devtools 2022-02-24 14:03:29 +00:00
mike12345567 476f34fb93 Merge branch 'develop' of github.com:Budibase/budibase into lab-day/refactor-app-db 2022-01-31 17:16:59 +00:00
mike12345567 e718b18127 Merge branch 'develop' of github.com:Budibase/budibase into lab-day/refactor-app-db 2022-01-31 14:09:07 +00:00
Rory Powell 54a32b41ef Merge branch 'develop' into feature/migrations-2.0 2022-01-30 22:37:11 +00:00
Rory Powell 0089fb06d9 Merge branch 'develop' into csrf 2022-01-30 21:20:48 +00:00
mike12345567 91a90e62b2 Fixing some issues discovered by the cypress tests, cleaning up how Couch is used. 2022-01-28 18:52:34 +00:00
mike12345567 d5f8cc1023 Tests updating, all now passing, fixed some issues discovered by them. 2022-01-28 15:43:51 +00:00
Michael Drury d3a90acc55 Final pass refactoring - need to test but all code in server converted. 2022-01-28 00:05:39 +00:00
mike12345567 d2fe119d90 Main body of work, refactoring most usages. 2022-01-27 18:18:31 +00:00
Rory Powell e5d04d2830 Merge branch 'develop' into feature/migrations-2.0 2022-01-26 15:00:52 +00:00
Rory Powell 0b9bb42817 Revert "Fix dev app preview return url"
This reverts commit 13d0bfb190.
2022-01-26 09:33:14 +00:00
Rory Powell ffcf5354eb Add CSRF Token 2022-01-25 22:54:50 +00:00
Rory Powell 3fdce44d56 Migrations 2.0 2022-01-24 10:48:59 +00:00
Rory Powell 04386bd1d8 Merge pull request #4000 from Budibase/fix/sync-apps-reset-rows-quotas
App and Row Quota Fixes
2022-01-21 11:20:14 +00:00
Rory Powell fc043e116d Support template and app import in quotas + logging 2022-01-18 15:37:16 +00:00
Rory Powell 439fa9a010 Refactor to allow for future quota migrations 2022-01-18 14:43:24 +00:00
Rory Powell 79c10fba7c Account for duplicate row ids caused by app import 2022-01-18 12:48:54 +00:00
Rory Powell ff887f8f88 Sync row usage with app deletion 2022-01-17 18:07:26 +00:00
Rory Powell 8fc60af820 Calculate total rows in migration, centralise quota enabled logic and tidy to use env vars only 2022-01-17 12:44:53 +00:00
Rory Powell 13d0bfb190 Fix dev app preview return url 2022-01-13 16:29:55 +00:00
mike12345567 bca8212d1d Merge branch 'develop' of github.com:Budibase/budibase into fix/sync-apps-reset-rows-quotas 2022-01-12 13:20:22 +00:00
mike12345567 398e87e72a Fixing test mocking. 2022-01-12 11:50:14 +00:00
mike12345567 5ee6aa24b2 Refactoring core library usage in monorepo, make it a bit cleaner/easier to search/more standardised. 2022-01-12 11:32:14 +00:00
Rory Powell e58bd14dcc Merge branch 'develop' into fix/sync-apps-reset-rows-quotas 2022-01-12 09:34:14 +00:00
Rory Powell da12a33cc1 Add local dev override for quotas 2022-01-11 18:47:42 +00:00
Rory Powell 979313f966 Enable migration 2022-01-11 18:38:18 +00:00
Rory Powell 726315afde Sync app quota to correct number, reset and disable rows quota 2022-01-11 17:49:42 +00:00
mike12345567 1327394784 Switching out @budibase/auth to @budibase/backend-core. 2022-01-10 19:33:00 +00:00
Andrew Kingston 1b3317a114 Add devtools to app preview and add ability to preview apps as different roles 2021-11-26 13:25:02 +00:00
mike12345567 0f0770af32 Merge branch 'master' of github.com:Budibase/budibase into develop 2021-11-25 12:21:58 +00:00
mike12345567 7170c00a4f Fix for cypress test issues, when metadata is updated rapidly it could get into a bad state - this should resolve it. 2021-11-16 20:56:24 +00:00
mike12345567 f13257bebe Updating the getAllApps function to use a cached version of the app metadata, rather than retrieving it individually everytime. Also invalidating the results everytime they are updated (at least in the important locations). 2021-11-15 17:40:45 +00:00
mike12345567 9b8df32c52 Fixing issue where database wasn't accessible in authorized test. 2021-11-15 15:57:02 +00:00
mike12345567 bf4a8737f0 Updating to allow a list of roles to be retrieved, allowing resources to have multiple levels of role that they can be accessed via. 2021-11-15 15:26:09 +00:00
mike12345567 e918efe8c2 Fixing an issue discovered in #3385 - RBAC roles worked for applying lower levels of roles, but they didn't revoke access correctly, it would always fallback to the base permissions if higher permissions were set. 2021-11-15 13:48:26 +00:00
mike12345567 99c47ab264 Merge branch 'develop' of github.com:Budibase/budibase into fix/user-metadata 2021-11-08 17:28:32 +00:00
mike12345567 61a4a240f1 Updating usage quota middleware to fix issue presented in #3258 where anything with an _id and a _rev is considered to exist in CouchDB, which won't always be the case. Handle the scenario of an external database ID and don't error. 2021-11-05 14:59:28 +00:00
mike12345567 94ee13ffc4 Adding the sync call from the worker for creation, updating and deletion of users. Making sure that production and development apps are always up to date with user metadata. 2021-11-04 14:53:03 +00:00
mike12345567 88a729913c Fixing an issue with webhooks, couldn't use them in development (like getting schema) and making sure trigger will always use production app #3143. 2021-11-03 14:08:47 +00:00
Rory Powell 46a886f83d Linting 2021-10-26 09:42:19 +01:00
Rory Powell ad61f2af3b Prevent non builder from accessing dev apps 2021-10-25 16:59:09 +01:00
Rory Powell 33a72b29d1 Fix unit tests 2021-10-12 14:03:47 +01:00
Rory Powell 8c67f3da13 No access role / public by default 2021-10-12 10:05:57 +01:00
mike12345567 183b6e7b50 Fixing issue with user's being logged in and trying to access other tenants public apps, this work makes sure that users from other tenants will not be 403'd immediately (too aggressive) but instead they will have all other their RBAC roles revoked. 2021-10-07 15:49:26 +01:00
mike12345567 0ea022971f Fixing minor mistake. 2021-10-07 08:33:39 +01:00
Martin McKeaveney fd5bb7b49f prevent cross tenant app access 2021-10-06 22:16:50 +01:00
mike12345567 453556d273 Fixing an issue with attempting to access a locked app causes a redirect loop locking up browser. 2021-10-06 16:27:46 +01:00
Rory Powell 68396fa4c8 Fix app creation when there is no app ctx 2021-09-30 17:35:09 +01:00