1
0
Fork 0
mirror of synced 2024-09-21 20:01:32 +12:00
Commit graph

342 commits

Author SHA1 Message Date
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
f5557fd805 Fetching a list of backup/restore events includes the full user object. 2022-10-20 15:05:50 +01:00
Rory Powell
79226777b1 Merge develop 2022-09-28 08:56:45 +01:00
mike12345567
5ba7942282 Moving table, datasource and datasource plus document types into the backend core. 2022-05-25 10:52:19 +01:00
mike12345567
8e704cc70f Fixing issue #5778 - making sure to only remove the first app_ element of the app ID. 2022-05-09 12:29:44 +01:00
mike12345567
194b76985c Fix for #5269 - the sub type was being lost in some scenarios related to the user table being updated - making sure it is consistently kept when dealing with either of the related tables. 2022-04-26 14:24:51 +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
Rory Powell
dd9503ac09 Add typescript linting at the top level 2022-03-25 11:17:58 +00:00
mike12345567
7b3318a19e Switching the basic single row read to use the enrich endpoint. 2022-02-28 12:54:32 +00:00
Rory Powell
02c0c49594 Deprovision and local couch db url fix 2022-02-18 17:36:23 +00:00
Andrew Kingston
d34e57382e Replace all spaces with underscores in column names rather than just the first one 2022-02-14 10:21:31 +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
mike12345567
1327394784 Switching out @budibase/auth to @budibase/backend-core. 2022-01-10 19:33:00 +00:00
mike12345567
c0512fa242 Adding query save, fixing routing to handle existing rest queries, adding in full saving of enabled headers functionality, fixing various issues discovered while testing. 2021-12-07 18:24:10 +00:00
mike12345567
23071993c6 Fixing an issue with user metadata not always being present when user accessing app, causing weird issues. 2021-10-21 17:23:10 +01:00
mike12345567
94737c6574 Final cleanup, just need to handle view migration (to self host from cloud). 2021-09-29 17:43:16 +01:00
mike12345567
c8dbf02acf Performance improvements after testing - switching to temporary in memory queries for cloud views. 2021-09-21 15:59:50 +01:00
mike12345567
cf5b7b1a99 Fixing issues with automation steps found during testing. 2021-09-20 19:21:04 +01:00
mike12345567
a38f83d0ec Moving views into a different location so they don't trigger tree creation and attempting to use in memory pouchDB to run views on the fly. 2021-09-20 18:24:09 +01:00
mike12345567
a92530f170 Fixing issue #2412 - making sure full enriched records are passed along to automations. 2021-09-13 16:28:52 +01:00
mike12345567
a366ab80e1 Merge branch 'develop' of github.com:Budibase/budibase into feature/automation-rework 2021-09-09 16:33:41 +01:00
Michael Drury
e935a2196a Merge pull request #2575 from Budibase/fix/public-multi-tenancy
Issue with public apps and multi-tenancy
2021-09-09 14:42:12 +01:00
mike12345567
58aa32f1b0 Fixing issue with multi-tenancy and public apps, when the tenant isn't necessarily known, it can be found in the app ID, building a middleware to manage this. 2021-09-09 13:27:18 +01:00
mike12345567
557bd2df9f Adding metadata system and re-writing how Cron works, previously cron only worked in dev because it would never be enabled for the production app ID, this makes it so that it is never enabled for the dev app and when the production app is deployed it runs through all the automations and checks if any need cron jobs setup/disabled. 2021-09-08 19:29:28 +01:00
mike12345567
4450883a0a Adding slack integration. 2021-09-07 13:58:53 +01:00
mike12345567
3f960e4f13 Fixing an issue that occurs when the table name and the primary display column are the same name. 2021-09-03 14:49:56 +01:00
Michael Drury
8ce56c8492 Merge pull request #2531 from Budibase/fix/sql-relationship-issues
Relationship bug fixes (SQL and internal) and a few other bits
2021-09-03 11:47:36 +01:00
mike12345567
8c3eb30ab1 Fixing issues after upgrading to node 14 and circular dependencies causing issues. 2021-09-02 18:33:41 +01:00
mike12345567
2148bf6da4 Fixing issues with search endpoint not handling users fully. 2021-09-02 17:13:00 +01:00
Andrew Kingston
6e856c4bd7 Fix indexing of rows with arrays of objects 2021-09-02 12:00:18 +01:00
Peter Clement
e03244e44e change index definition 2021-08-27 14:10:19 +01:00
Peter Clement
1ab618c2ef fix indexing of arrays 2021-08-26 14:22:52 +01:00
Peter Clement
725b9bb6e2 Add more validation options for array field 2021-08-25 15:49:04 +01:00
Peter Clement
f000d44e39 Add contains option to lucene query builder 2021-08-24 16:14:38 +01:00
Martin McKeaveney
af4c1b23de simplify couchDB configuration 2021-08-18 11:23:28 +01:00
Martin McKeaveney
87bf640a5d conditionally apply username and password to couchdb auth 2021-08-17 16:48:02 +01:00
Martin McKeaveney
f4232bd7d7 couchDB auth options 2021-08-17 14:11:03 +01:00
Keviin Åberg Kultalahti
f6218d8e0b Merge branch 'master' into develop 2021-08-13 14:41:49 +02:00
Martin McKeaveney
83b99be1d6 linting 2021-08-11 20:34:45 +01:00
Martin McKeaveney
1678c86bf4 lint 2021-08-10 17:46:28 +01:00
Martin McKeaveney
ccb7f67458 ensure user metadata is created before link documents are created 2021-08-10 13:00:15 +01:00
mike12345567
a8eb067de3 Merge branch 'fix/apps-2195-2282-2283' of github.com:Budibase/budibase into develop 2021-08-06 17:14:31 +01:00
mike12345567
be48677490 Fixes for a lot of issues generated by the use of the pouchdb allDbs call, which is not designed for multi-client DB setups like ours, using CouchDB method instead. 2021-08-06 16:38:07 +01:00
mike12345567
bc84bab52c Merge branch 'master' of github.com:Budibase/budibase into develop 2021-08-06 13:04:54 +01:00
mike12345567
7624390f0b Fixing a variety of issues with internal relationships and external SQL relationships. 2021-08-05 19:24:29 +01:00
mike12345567
46ea3f3e9e Revert "Merge pull request #2253 from Budibase/revert-2076-feature/multi-tenants"
This reverts commit 4834b765be, reversing
changes made to 2456e69483.
2021-08-05 09:59:08 +01:00
Michael Drury
b86a6fddc9 Revert "Multi-tenancy/organisations" 2021-08-04 10:02:24 +01:00
mike12345567
4d0faa38e3 Changing how apps are retrieved to be more efficient. 2021-07-23 20:01:53 +01:00
mike12345567
912659a8ad First version of multi-tenancy, work still to be done. 2021-07-15 17:57:02 +01:00
mike12345567
f6a133e556 Cleaning up deployments into the app DB, moving API keys to be in global DB (which will be tenancy managed) and adding concept of platform info DB. 2021-07-14 16:29:32 +01:00
mike12345567
1568702a6d Linting + formatting. 2021-06-25 17:21:36 +01:00
mike12345567
5462ca5930 Removing use of the arguments[0] as they don't mesh well with TS. 2021-06-25 17:14:23 +01:00
mike12345567
c531a02725 Allowing formula fields to be display columns. 2021-06-22 11:49:35 +01:00
Martin McKeaveney
597149228e Merge branch 'master' of github.com:Budibase/budibase into feature/opinionated-sql 2021-06-21 11:14:27 +01:00
mike12345567
47fb67ebfc Linting. 2021-06-20 10:55:12 +01:00
mike12345567
052d14ad38 Fixing issue with 1:N relationships and multiple fields, issue #1753. 2021-06-20 10:53:55 +01:00
Martin McKeaveney
626bc5e9dd better UI flow, list tables underneath datasources 2021-06-17 11:40:01 +01:00
Martin McKeaveney
e3cced9d97 consolidate data sources and queries together in one UI 2021-06-15 19:48:05 +01:00
mike12345567
ae0dbacb31 Merge branch 'master' of github.com:Budibase/budibase into feature/opinionated-sql 2021-06-09 11:03:01 +01:00
mike12345567
fe66c3535c Fixing a collection of issues, specifically users being exported/imported and issues with database import causing weirdness (metadata doc being wrong). 2021-06-08 18:06:16 +01:00
mike12345567
b05c67e8b5 Formatting. 2021-06-08 16:11:46 +01:00
mike12345567
33184be064 Re-writing how global users are handled in server, specifically how they are retrieved, so that for relationships it can handle the global user. 2021-06-08 16:06:30 +01:00
mike12345567
4fdbeafca5 Adding test case for data source opinionated query endpoint. 2021-06-04 15:16:15 +01:00
Martin McKeaveney
dd69d5480b Joi schema validation for plus datasources 2021-06-04 10:50:02 +01:00
Andrew Kingston
b904bba4c7 Merge branch 'master' of github.com:Budibase/budibase into enhanced-app-list 2021-05-21 11:11:43 +01:00
Michael Drury
f76c7d9684 Merge pull request #1514 from Budibase/fix/per-app-login
Removing per app login screens
2021-05-21 11:11:21 +01:00
Andrew Kingston
c174602704 Merge branch 'master' of github.com:Budibase/budibase into enhanced-app-list 2021-05-21 11:00:26 +01:00
Andrew Kingston
f63f9a7c51 Update app list screen to show unified app list with publish status 2021-05-21 10:32:16 +01:00
Martin McKeaveney
e83f600b9e removing skip_setup as it was preventing init 2021-05-20 21:42:27 +01:00
mike12345567
4d6e4475d3 Fixing some issues found when testing. 2021-05-20 20:48:24 +01:00
Martin McKeaveney
7ab24fed2b merge with master 2021-05-20 10:40:15 +01:00
mike12345567
0bbd45b413 Adding the ability to get all apps, with the status attached. 2021-05-19 15:09:57 +01:00
Martin McKeaveney
d9ed0686ab Merge pull request #1496 from Budibase/feature/draft-apps
Feature/draft apps
2021-05-18 11:25:51 +01:00
Martin McKeaveney
fc7ddbe540 merge 2021-05-16 21:29:07 +01:00
Martin McKeaveney
0f2bcf581d revert functionality working 2021-05-16 21:25:37 +01:00
mike12345567
cea82f9335 A general re-work of some parts of the auth lib, as well as moving roles/permissions around to make it possible to build an admin API which has role knowledge. 2021-05-14 15:43:41 +01:00
Andrew Kingston
b402254b2c Lint 2021-05-14 15:41:58 +01:00
Martin McKeaveney
48006408f1 publish button 2021-05-13 17:33:31 +01:00
mike12345567
81c5ed5554 Altering object store so that all writes/reads to the object store have the dev app prefix replaced with standard app. 2021-05-13 13:29:53 +01:00
Martin McKeaveney
c3e7548255 dev mode E2E 2021-05-13 11:06:08 +01:00
mike12345567
2021c59dd9 Putting together redis lock system. 2021-05-12 17:37:09 +01:00
mike12345567
2ec6b15e56 General cleanup, doing away with the concept of hosting in the builder and the generally confusing difference between cloud, self hosting and running locally - server is simply always a server now. 2021-05-11 17:49:26 +01:00
Andrew Kingston
e661fe8cf2 Merge branch 'next' of github.com:Budibase/budibase into lab-day-search 2021-05-11 10:47:52 +01:00
mike12345567
e5f3b3956c Merge branch 'next' of github.com:Budibase/budibase into labday/mike-formulas 2021-05-04 13:24:14 +01:00
Andrew Kingston
797e8a8b67 Add explicit prettier options 2021-05-04 11:32:22 +01:00
mike12345567
dcf69b2181 Merge branch 'next' of github.com:Budibase/budibase into labday/mike-formulas 2021-05-04 10:34:30 +01:00
Keviin Åberg Kultalahti
0afbf1649e lint:fix 2021-05-03 09:31:09 +02:00
Andrew Kingston
6f6770cef7 Add server-side searching and pagination to data providers using internal tables 2021-04-30 16:29:53 +01:00
mike12345567
a14c80bf6c Adding handlebars formulas to the system, it is now possible to set a formula at a column level which will always be applied on the way out with a relationship depth of one. 2021-04-29 19:06:58 +01:00
mike12345567
e85b7682e0 Initial CRUD interface for templates. 2021-04-21 18:15:57 +01:00
mike12345567
2ef1586d4d Adding cleanup operation to dynamo client. 2021-04-19 22:36:14 +01:00
mike12345567
eaa89c824e Updating the server to remove use of the email in the user ID. 2021-04-19 16:26:33 +01:00
mike12345567
4f71e11c94 Updating some test cases to work with new system. 2021-04-09 17:33:21 +01:00
mike12345567
3214abb89a Global users now working through the server, all requests proxied. 2021-04-09 15:11:49 +01:00
mike12345567
8cde219db9 First pass of global user configuration through existing user API with role mappings. 2021-04-08 16:58:33 +01:00
mike12345567
97f8d34947 Some final changes to search system so that the new indexing system is used instead of mango to achieve exactly the same result. 2021-03-26 13:46:20 +00:00
mike12345567
b97071bf82 Rewriting search to use the new couchdb 3.0 search functionality. 2021-03-25 23:42:50 +00:00
mike12345567
c51cf423e3 Creating CouchDB 3.0 indexes. 2021-03-25 19:12:17 +00:00
mike12345567
24c523faad Initialising CouchDB link to lucene and app design DBs for it. 2021-03-25 18:04:44 +00:00
mike12345567
d66af9f151 Getting rid of the CLOUD environment variable, this makes no sense anymore, now there is isDev() and isProd() which will work out the current state of the cluster. 2021-03-24 18:21:23 +00:00
mike12345567
78eb00b39d Merge branch 'single-stack-dev' of github.com:Budibase/budibase into feature/fs-removal 2021-03-22 17:20:07 +00:00
mike12345567
fca242b9ee Updating API keys and changing over system to allow use of builder endpoints when running in cloud. 2021-03-22 16:39:11 +00:00
Martin McKeaveney
6742c3ca99 basic single stack dev setup 2021-03-22 15:43:26 +00:00
mike12345567
d28737da34 Upping relationship coverage overall to 98% - looking over utilities which are barely ever used. 2021-03-16 23:25:18 +00:00
mike12345567
d6329e2409 Adding test cases which bring the link controller coverage to 100%. 2021-03-16 18:13:00 +00:00
mike12345567
47cf63bb16 starting into relationship testing. 2021-03-16 13:24:44 +00:00
mike12345567
794372987e Adding more test cases for the controllers, tables and views weren't as well covered as required. 2021-03-15 16:36:38 +00:00
mike12345567
68bb5d5062 Updating package.json to include an option for coverage, had to re-write some stuff to make sure that views were not getting coverage statements inserted (breaking things). 2021-03-02 17:13:11 +00:00
mike12345567
0c8026c5ce First version, still playing around with styling. 2021-03-01 17:06:08 +00:00
mike12345567
78286ae514 Minor update to fix an issue when updating a row that it would throw an error with 1->to->many relationships on existing relationships for that row, as well as cleaning up how relationshipType is put onto the linked table. 2021-02-25 17:07:32 +00:00
Martin McKeaveney
c73c77448c bugfixes 2021-02-25 16:21:41 +00:00
mike12345567
51ed23d0a7 Updating link controller to manage existing column comparison a bit better. 2021-02-25 15:21:08 +00:00
mike12345567
cd36739c23 Merge branch 'master' of github.com:Budibase/budibase into bug/relationship-display-id 2021-02-25 12:36:16 +00:00
Martin McKeaveney
2d75bc750b relationship type constant 2021-02-25 12:21:24 +00:00
mike12345567
429811ec8b Wrapping throws in new errors. 2021-02-25 12:10:18 +00:00
mike12345567
a311002632 Found some issues with relationship columns being doubled up, this isn't validated client side, best to make sure it doesn't happen server-side (can really break your data structure if columns overwrite each other). 2021-02-25 12:06:13 +00:00
Martin McKeaveney
89350c91d1 refactor 2021-02-25 11:59:31 +00:00
Martin McKeaveney
bcaed4f4e4 Server side data integrity for 1:N 2021-02-25 11:55:23 +00:00
Martin McKeaveney
19fb11e69d 1-n-data-integrity 2021-02-25 11:05:15 +00:00
mike12345567
91878ed2ce Having the server send out _id and primaryDisplay in an object for relationships, also accepting objects and coercing them on way in. 2021-02-25 09:41:04 +00:00
mike12345567
8f9ea1cd8a Minor change, making sure each link is definitely unique by combining each of its three unique properties into a uniqueness hash, was missing one of the components. 2021-02-24 13:55:48 +00:00
mike12345567
780b6e0956 Fixing some issues with enrichment, making sure display column can always be worked out. 2021-02-19 13:21:38 +00:00
mike12345567
fa6d3e5e63 Updating the self auth endpoint to use the row processor. 2021-02-19 10:32:24 +00:00
mike12345567
474796baea Fixing an issue found by Andrew K - relationship lookup needs to work on both sides of relationship. 2021-02-19 10:17:11 +00:00
mike12345567
f080fa6537 Some major performance optimisations, found that db.find is not fast unless its indexed, there is also no point in indexing for our internal relationship searching, however we can use the allDocs call. This will likely be slow for very large calls (say 100K records) but for these sort of calls we really need to paginate anyway. 2021-02-18 13:38:57 +00:00
mike12345567
5fab1529ec work in progress, enriching in the display names. 2021-02-17 18:04:21 +00:00
mike12345567
a93eb180ce Starting with some work towards a deeper enrichment of rows. 2021-02-17 17:09:59 +00:00
mike12345567
1a9d16c8c7 Updating where utilities are held in builder and then making user table relationships autocolumn aware too. 2021-02-16 15:41:50 +00:00
mike12345567
23cac6a9ac Fixing issue with linked rows not handling uniqueness correctly when links between tables are using fieldnames for uniqueness. 2021-02-15 19:01:15 +00:00
mike12345567
245cd0a791 Fixing issue with relationships. 2021-02-15 18:53:20 +00:00
mike12345567
4b1855974c Work in progress, getting the server backend mostly ready for this work. 2021-02-15 17:47:14 +00:00
mike12345567
f266129489 Merge branch 'develop' of github.com:Budibase/budibase into feature/autocolumns 2021-02-12 13:40:27 +00:00
Andrew Kingston
56d8a27286 Merge branch 'master' of github.com:Budibase/budibase into form-builder 2021-02-10 18:34:45 +00:00
mike12345567
ca20cbeeca First lot of work to update the auto fields into schema. 2021-02-10 17:55:19 +00:00
Martin McKeaveney
587d20b611 Merge branch 'master' of https://github.com/Budibase/budibase into internal-search 2021-02-10 14:02:57 +00:00
Andrew Kingston
10a9b8034a Fix relationships not being saved for new rows 2021-02-09 14:50:02 +00:00
mike12345567
3712de65ee Make sure both directions exist. 2021-02-09 13:20:53 +00:00
mike12345567
04035a24e9 Quick fix to make sure all relationships link to a valid, existing doc. 2021-02-09 13:18:59 +00:00
mike12345567
cc02397b01 Fixing issues with builtin roles living in the database as well as in code (easier to change in the future this way) - discovered by basic test case. 2021-02-09 13:01:45 +00:00
Martin McKeaveney
b4628a43d0 merge 2021-02-05 11:18:37 +00:00
mike12345567
8656ef3465 Adding a check to the link utils which should make sure the correct link doc is always picked. 2021-02-03 17:19:41 +00:00
mike12345567
c9690f730c Added some unit tests for the enrichment process of rows, in the process found some issues with linking a table to itself, so fixed those so that we can do that in the future if desired. 2021-02-02 11:46:10 +00:00
Martin McKeaveney
27c7f5697b internal search working 2021-02-01 21:02:54 +00:00
mike12345567
561ce349f9 Fixing an issue that aptkingston found with relationships were links on the way out would be multiplied (due to the bi-directional nature). 2021-01-28 14:03:19 +00:00
Martin McKeaveney
53db6e05f9 merge 2021-01-18 14:43:26 +00:00
mike12345567
16a25a7cff When self hosting it is now possible to use a pretty URL to access the app rather than the normal appId. 2021-01-14 17:01:31 +00:00
Martin McKeaveney
d05f1666fc further syntax highlighting updates 2021-01-12 16:49:11 +00:00