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
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
d6e9380c06
General work after running some tests in CI - general refactoring as well.
2022-11-28 17:54:04 +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
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
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
1612044dc1
Merge branch 'develop' into subdomain-tenancy
2022-11-15 16:18:59 +00:00
Rory Powell
9973f2e161
Bump jest and ts-jest to be consistent across backend packages to fix CI issue, test config updates
2022-11-14 22:55:47 +00:00
mike12345567
3f0e53f90c
Updating context test, some minor adjustments based on getting the test working again.
2022-11-14 18:29:15 +00:00
mike12345567
3f6cdd787c
Replacing CLS with local-storage, simplified usage which should remove the memory leak permenantly.
2022-11-14 18:00:20 +00:00
mike12345567
b4b471e054
Re-jigging things a bit, hiding as much of the couch/pouch stuff away.
2022-11-11 12:46:32 +00:00
mike12345567
bc94f20794
Typescript conversions - trying to get all of context/db layer into TS.
2022-11-11 11:57:50 +00:00
Rory Powell
72562278c0
Support path variable tenancy detection, add /api/system/* tests, update no tenancy matchers to be more accurate
2022-11-11 11:10:07 +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
c744d23832
Major update - removing the use of context for PouchDB instances, swapping knowledge of PouchDB to the PouchLike structure that replaces it.
2022-11-09 16:53:42 +00:00
mike12345567
a24694a4ea
Refactoring a lot of content around webhooks to Typescript, as well as fixing webhooks and automation app IDs on import of new app.
2022-10-25 18:19:18 +01:00
mike12345567
1373630b33
Minor fixes after testing manual backup system.
2022-10-14 20:10:44 +01:00
Rory Powell
79226777b1
Merge develop
2022-09-28 08:56:45 +01:00
mike12345567
dae6a6b81c
Fixing minor issue with automation quota updates.
2022-05-30 14:06:42 +01:00
mike12345567
484dbbb605
Adding the ability to force a new context.
2022-05-23 23:23:49 +01:00
mike12345567
e5922269aa
Switching over to using our own version of cls-hooked which has the memory leak (no async hooks disable call) fixed as well as changing how we use the CLS namespaces to allow us to destroy the namespace we use per request.
2022-05-10 16:37:24 +01:00
Rory Powell
12abe4adcc
Bypass couch db when using tenancy middleware
2022-04-26 17:13:45 +01:00
mike12345567
2441f42c54
Merge branch 'develop' of github.com:Budibase/budibase into fix/develop-merge
2022-04-26 16:31:17 +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
mike12345567
13cb5f7f7c
Adding another check to make sure context is the same.
2022-04-20 23:13:08 +01:00
mike12345567
151ed604f8
Fixing some issues detected by the test cases, making the in-use mechanism for context more clear to complete avoid stack up of contexts (leading to loss of knowledge around previous databases.
2022-04-20 23:10:39 +01:00
mike12345567
9899781fc5
Some updates, making sure databases will always close directly using finally checks around the actual tasks, updating how replication works to have a close statement (to make sure it is controlled correctly) and then updating to PouchDB 7.3.0 for one of the memory leak fixes.
2022-04-20 17:33:42 +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
Dean
f78aaa640f
Code style check
2022-04-19 14:56:56 +01:00
Dean
26c19891bb
Unpublish refactored to stop development applications being mistakenly deleted. Minor updates to the modal content component to allow the replacement of the header. Further work to implement the publishing workflow changes
2022-04-19 14:38:09 +01:00
Rory Powell
819f9b75de
Link app context with tenancy, remove app tenancy middleware
2022-03-24 13:04:49 +00:00
Rory Powell
02c0c49594
Deprovision and local couch db url fix
2022-02-18 17:36:23 +00:00
Rory Powell
da9be1b20a
Add 'location = /' -> 4001 to nginx dev conf
2022-02-18 11:18:59 +00:00
mike12345567
72534c6ed2
Refactoring backend-core tenancy to context, splitting out tenancy functionality to its own area.
2022-01-31 17:53:19 +00:00