Commit Graph

236 Commits

Author SHA1 Message Date
Martin McKeaveney 93b562e2df make logged in users basic by default, prevent allowing users to be assigned as default in the UI 2021-07-06 18:43:04 +01:00
mike12345567 36c0e45761 WIP - first version of user sessions. 2021-07-06 18:10:04 +01:00
mike12345567 19da122425 Updating tests to use latest version of jest, which broke a lot of things, but was necessary to get proper ts-jest support. 2021-06-25 13:46:02 +01:00
Andrew Kingston abb1d33948 Lint with prettier 2021-06-15 19:39:40 +01:00
mike12345567 5a9c8daf7b Formatting. 2021-06-08 18:06:56 +01:00
mike12345567 8cffe5c9ff 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 9d3c28ecbf Fixing issue with builder not always having the correct roles to view an app - global builders are now admins in all apps. 2021-06-04 12:13:29 +01:00
Martin McKeaveney b1b73e1380 fixing various babel issues within tests 2021-06-01 17:09:26 +01:00
mike12345567 397a4d883f Fixing server test cases. 2021-05-27 15:40:55 +01:00
mike12345567 24b3635b9b Linting. 2021-05-27 14:55:48 +01:00
mike12345567 bc6660fd0e Updating permissions to allow roles other than builder/admin to use apps properly. 2021-05-27 14:53:41 +01:00
mike12345567 484e22c62d Upping debounce to 30 seconds as it has no real negative. 2021-05-21 15:14:35 +01:00
mike12345567 ae8e88f426 Switching logic for lazy evaluation. 2021-05-21 15:03:28 +01:00
mike12345567 96ad77b41d Formatting 2021-05-21 14:49:59 +01:00
mike12345567 f56250824c Adding a debounced updated at timestamp to applications. 2021-05-21 13:07:10 +01:00
mike12345567 fba63134d1 Fixing some issues found when testing. 2021-05-20 20:48:24 +01:00
mike12345567 2d0122f7d6 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
mike12345567 4652aaa16f Fixing two issues which were blocking previews, one the user was no longer being updated as an admin (when first building/creating an app) and two, role was not being carried across from global user properly. 2021-05-13 18:10:09 +01:00
mike12345567 e560390d8a Fixing an issue with portal calls causing the app to be re-locked. 2021-05-13 15:32:03 +01:00
mike12345567 799b3fc138 Updating locks to store the whole global user as well as implementing the locks on dev apps fetch. 2021-05-13 12:16:09 +01:00
mike12345567 2fa7ee5bcb Formatting. 2021-05-12 17:43:29 +01:00
mike12345567 f6fbeb4858 Putting together redis lock system. 2021-05-12 17:37:09 +01:00
Andrew Kingston 556236ebce Add explicit prettier options 2021-05-04 11:32:22 +01:00
Keviin Åberg Kultalahti 4ec2e7d01f lint:fix 2021-05-03 09:31:09 +02:00
mike12345567 d985d338ec Updating test cases and some re-work of the email system. 2021-04-23 18:07:39 +01:00
Martin McKeaveney 737e9dba47 config specificity 2021-04-22 11:45:22 +01:00
mike12345567 bb5dbf27aa Some re-work of the auth package, making it a bit easier to use/less likely to make a mistake. 2021-04-21 16:42:44 +01:00
mike12345567 7612b5ed16 Swapping over everything to use the new user ID and updating everything after some end to end testing. 2021-04-20 17:17:44 +01:00
mike12345567 ade007482c Updating the server to remove use of the email in the user ID. 2021-04-19 16:26:33 +01:00
mike12345567 8e729f92e1 Some more server-side fixes, updating it so that builders have permissions to do anything for now (means that a builder user doesn't have to be present in app database to work. 2021-04-14 16:00:58 +01:00
mike12345567 8b20fcb573 Getting most of the test auth working, adding in global builder configuration. 2021-04-13 18:12:35 +01:00
mike12345567 a8f7977510 Merge branch 'feature/global-user-management' of github.com:Budibase/budibase into feature/global-user-management 2021-04-13 17:12:09 +01:00
mike12345567 d0bdd113e1 Removing the lookup of _id in usage quota when in dev/self host for performance reasons as part of usage quota, re-writing some bits of fetch self for cleaner implementation, fixing some issues with updating/saving users from within app. 2021-04-13 17:11:55 +01:00
Martin McKeaveney 06f3b1fbad ensuring public users can log in after being assigned a roleId 2021-04-13 16:56:45 +01:00
mike12345567 7e6855262b Fixing some issues with the ctx.user, this was previously filled in by the old auth middleware. 2021-04-13 15:27:47 +01:00
mike12345567 42ed66703a Updating current app to set up role in middleware. 2021-04-13 14:35:00 +01:00
mike12345567 f219b4e4fb Removing test cases which are no longer valid. 2021-04-13 13:37:54 +01:00
mike12345567 df55363133 Merge branch 'feature/global-user-management' of github.com:Budibase/budibase into feature/global-user-management 2021-04-13 13:35:21 +01:00
mike12345567 a209606739 Adding test cases for current app middleware as well as removing some old middlewares that were no longer used. 2021-04-13 13:32:09 +01:00
Martin McKeaveney b728fc1a3c currentapp being set correctly for user 2021-04-13 13:26:13 +01:00
Martin McKeaveney 654a53fc0a Authentication working on builder homepage, integration with currentapp middleware 2021-04-13 11:56:57 +01:00
mike12345567 2aa26a2302 Some work towards implementing the current app cookie, removing some old dead code and re-working some of the different middlewares involved. 2021-04-12 18:31:58 +01:00
Martin McKeaveney 22a3f1691f in progress - currentapp token 2021-04-12 12:02:28 +01:00
Martin McKeaveney 826da54731 Merge branch 'feature/global-user-management' of https://github.com/Budibase/budibase into feature/global-user-management 2021-04-12 11:20:07 +01:00
Martin McKeaveney 0548fdc863 self endpoint, simple auth 2021-04-12 11:20:01 +01:00
mike12345567 47fa06675e Merge branch 'feature/global-user-management' of github.com:Budibase/budibase into feature/global-user-management 2021-04-12 11:09:22 +01:00
mike12345567 eed1228803 Updating snapshot for middleware test. 2021-04-12 11:09:06 +01:00
Martin McKeaveney 6499213f90 merge 2021-04-12 10:48:27 +01:00
Martin McKeaveney b5a5df7f60 login page 2021-04-11 11:35:55 +01:00
mike12345567 dccd559b56 Updating some test cases to work with new system. 2021-04-09 17:33:21 +01:00
Martin McKeaveney 2d7823f314 Merge branch 'dev-experience' of https://github.com/Budibase/budibase into feature/global-user-management 2021-04-07 17:17:00 +01:00
mike12345567 29787032f0 Fixing an issue with builder auth, adding a temporary endpoint which the server can set builder token on. 2021-04-07 16:08:29 +01:00
mike12345567 fed4910ac8 Merge branch 'dev-experience' of github.com:Budibase/budibase into feature/global-user-management 2021-04-07 15:22:22 +01:00
mike12345567 18ce4a1e19 Updating authorization test case to remove check for builder security and removing builder security while auth is being worked on - added an option to start stack without server so that user can start it in a debug mode if desired. 2021-04-07 11:54:51 +01:00
mike12345567 62360b1025 Fixing component definition test cases and fixing an issue found by authorized test case. 2021-04-07 11:27:15 +01:00
mike12345567 73e97e50f4 Updating some route middleware security. 2021-04-01 14:38:31 +01:00
Andrew Kingston 23641a5d56 Update URLs to use builder instead of _builder 2021-04-01 10:06:22 +01:00
Andrew Kingston 583faba9da Add BBUI to monorepo and use vite for builder, client lib and standard components 2021-03-31 16:14:56 +01:00
mike12345567 865baf6d16 Removing use of the , replacing to ctx.appId to make it clear appId not part of the auth. 2021-03-29 17:32:05 +01:00
mike12345567 73cf53d149 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 e715423544 Fixing some test cases that were affected by file system refactor. 2021-03-23 18:04:53 +00:00
mike12345567 bf2adb0458 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
mike12345567 571ac3cf06 Testing some of the automation actions (still a few to complete) and adding quick test case for the self host stuff. 2021-03-11 18:29:48 +00:00
mike12345567 d9217b1148 Updating row tests, reducing console logging during tests for speed and clarity, testing some misc endpoints and updating search functionality to use a starts with operator when working with strings on rows. 2021-03-10 17:55:42 +00:00
Martin McKeaveney 39f5bdc184
Merge pull request #1266 from Budibase/middleware-tests
Middleware tests
2021-03-10 15:28:11 +00:00
Martin McKeaveney 6263300a68 finish authenticated tests 2021-03-09 17:31:52 +00:00
Martin McKeaveney 67c4a5ef6c authenticated tests 2021-03-09 17:04:24 +00:00
Martin McKeaveney 38e27b9003 usageQuota tests 2021-03-09 15:13:14 +00:00
Martin McKeaveney 108f4861e3 resourceId tests 2021-03-09 12:39:32 +00:00
Martin McKeaveney c073b8639d refactor selfhost middleware tests to use TestConfiguration 2021-03-09 11:33:16 +00:00
Martin McKeaveney 758e964977 tests for authorized middleware 2021-03-09 11:27:12 +00:00
mike12345567 039de61de3 Some fixes after testing webhooks as well as adding test cases for all webhook endpoints. 2021-03-08 15:57:19 +00:00
Martin McKeaveney c429caf6a4 self hosted middleware test 2021-03-08 15:46:12 +00:00
Martin McKeaveney dc586a1185 middleware tests 2021-03-05 14:13:43 +00:00
mike12345567 f57db6afad Fixing an issue with RBAC, there was a mutable issue where a server builtin resource was getting updated, fixed this by not exposing the mutable structure, instead exposing a function which provides a new object everytime. 2021-02-12 20:34:54 +00:00
mike12345567 31d7a7a378 Adding basic permissions test which proves a public user can read from a table, but cannot write. 2021-02-09 17:24:36 +00:00
mike12345567 fee073fcfe Some more fixes after testing permissions a bit further. 2021-02-09 16:01:02 +00:00
mike12345567 c8ef404560 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
mike12345567 7d8cdafc60 Making use of the resourceId in the middleware package. 2021-02-08 17:52:22 +00:00
mike12345567 cd729192ea Adding in resource IDs everywhere they should be accessible. 2021-02-08 17:22:07 +00:00
mike12345567 918a95071d Fixing a bug found by tests in auth. 2021-01-29 13:14:36 +00:00
mike12345567 4d1ad5e726 This commit includes some fixes for a few auth issues I found when I was working on this and a static page which shows the self hosting info to get the user going (if they end up there). 2021-01-28 18:30:59 +00:00
mike12345567 0c66d9fca4 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
mike12345567 1904ec8bb4 Updating API key controller in self-host mode to return self host API key. 2020-12-09 17:10:53 +00:00
mike12345567 bc5f520a03 Adding in self hosted API key. 2020-12-09 17:04:05 +00:00
mike12345567 65302e1dd9 Changing the role system to have permissions integrated rather than the permissions being per user. 2020-12-02 17:08:25 +00:00
mike12345567 05d5feb9fd Changing the naming of access levels to be roles. 2020-12-02 13:20:56 +00:00
Michael Drury b75bf13edc Another quick fix for apps to work again. 2020-11-19 20:42:49 +00:00
Michael Drury 7f3f11c68b Fixing issues thrown up by PR. 2020-11-19 20:31:11 +00:00
Michael Drury a6e9500be9 Linting. 2020-11-19 20:19:18 +00:00
Michael Drury c03923360b Minor update to make use of new client header to state the request is from the client, not the builder. 2020-11-19 20:18:28 +00:00
mike12345567 48f0608c74 Fixing some bugs with previous commit and updating to add the functionality of the api/routing/client. 2020-11-18 15:12:42 +00:00
mike12345567 acdc1e9a56 Updating to have proper access control via an accessController and nearly ready to spit out the routing structure. 2020-11-16 18:04:44 +00:00
Michael Drury 63b08e42aa Large update, tests passing, have simplifed access level API, access levels and permissions are now totally separate. 2020-11-13 15:35:20 +00:00
Michael Drury e35817f5f3 Linting. 2020-11-12 17:43:17 +00:00
mike12345567 2472168477 Tests failing but starting to progress. 2020-11-12 17:06:55 +00:00
Michael Drury 4852ecf96a WIP - this is working towards the permissions system but stopping here for the night, this is currently not functional. 2020-11-11 17:34:15 +00:00
mike12345567 7600710125 The API that the components library would use was not always consistent with the API client library would use and this would sometimes break things. 2020-11-09 09:42:35 +00:00
Michael Drury 0cc837b220 Updating server test cases with the header for appId. 2020-11-03 15:00:39 +00:00
Michael Drury a35b6a57f9 Further work towards the re-implementation of auth, changing how the appId is determined, now it mainly will use a header, and a cookie which will be written to store the current status of appId. 2020-11-03 13:45:49 +00:00
mike12345567 0c81516662 Some more re-work, more testing needed to auth stuff. 2020-11-02 20:14:10 +00:00
mike12345567 d587bad363 Renaming instanceId -> appId to reduce confusion through the system, there only is one ID now. 2020-10-29 10:28:27 +00:00
mike12345567 d79be3c854 Initial work into multi-tenancy removal, experiencing issues with test cases at this point. 2020-10-28 20:35:06 +00:00
mike12345567 a967645a21 Some initial work towards webhooks, that generates schema similar to integromat. 2020-10-22 17:48:32 +01:00
Martin McKeaveney fab9f8f1c8 merge from master 2020-10-15 14:41:29 +01:00
Martin McKeaveney 8a936e0927 more auth bugfixes 2020-10-15 14:26:33 +01:00
mike12345567 bbe085f734 Some changes for authentication and getting rid of allScreens component of store as it was causing confusion and breakages. 2020-10-15 13:52:56 +01:00
Martin McKeaveney 3abf7daa73 frontend bug fixes, remove bindable prop, add not equals filter 2020-10-14 21:43:36 +01:00
Martin McKeaveney c329063f61 fix for appid referer split 2020-10-14 17:30:00 +01:00
Martin McKeaveney a8dfb34112 don't show login component on logged in page, fix auth for app assets 2020-10-14 16:47:53 +01:00
Martin McKeaveney e95af51cde simplify user authentication, remove anon user, fix login cookie issues 2020-10-13 21:33:56 +01:00
mike12345567 2e49221ebc Merge branch 'master' of github.com:Budibase/budibase into endpoint-renaming 2020-10-12 13:54:34 +01:00
Martin McKeaveney 7f7594895b adding auth object to context rather than separate booleans 2020-10-12 13:32:52 +01:00
Martin McKeaveney dd2a84d58a support for external webhooks 2020-10-12 11:57:37 +01:00
mike12345567 3f0d205846 Merge branch 'master' of github.com:Budibase/budibase into endpoint-renaming 2020-10-12 09:41:42 +01:00
Martin McKeaveney 3f81757faa deployment API usage complete 2020-10-09 21:42:20 +01:00
mike12345567 d90c1e3dd3 Changing record -> row in this update, completing the update of renaming in the builder, this release needs further testing. 2020-10-09 19:10:28 +01:00
mike12345567 b400a06027 Updates for API usage after testing against local Dynamo. 2020-10-08 17:34:41 +01:00
mike12345567 f2b7d85b6e Fixing up middleware to handle uploads, views, records, automation runs and users. 2020-10-07 17:56:47 +01:00
mike12345567 fc2e2a8804 First work towards implementing Dynamo usage in the server when running in the cloud; this is for tracking usage against API keys. 2020-10-06 19:13:41 +01:00
mike12345567 0e4748003e Updates as per review comments. 2020-09-21 23:19:45 +01:00
mike12345567 ec265f6821 Update to improve test cases and get JOI to work as expected. 2020-09-16 19:25:52 +01:00
mike12345567 ad48b9fdd2 Adding joi validation to the workflow update and create to make sure structure is adhered to, this is built through a curried middleware, to validate on headers, body etc add multiple different validator middlewares to your endpoint. 2020-09-10 17:46:34 +01:00
Martin McKeaveney 3122334c35 lint 2020-07-07 21:29:20 +01:00
Martin McKeaveney 59c2f247a7 upload assets to s3 2020-06-29 19:15:43 +01:00
Michael Shanks d7b09f5b65 removed x-user-agent 2020-06-19 16:59:46 +01:00
Michael Shanks 11e56467b8 fixing broken tests 2020-06-18 20:41:37 +01:00
Michael Shanks bf952f8677 instanceid removal 2020-06-18 16:59:31 +01:00
Martin McKeaveney 07cf98b0de use custom user agent header 2020-06-03 19:35:04 +01:00
Michael Shanks 47162d806b logic to not use builder:token for apps running in dev 2020-06-03 17:05:36 +01:00
Michael Shanks 3bfe7840e4 access levels 2020-05-27 17:23:01 +01:00
Michael Shanks 52a3b4786f removing Authorization header 2020-05-18 11:53:04 +01:00
Michael Shanks b62449bf96 removing clientId from frontend, fixing invalid database name 2020-05-18 06:40:29 +01:00
Michael Shanks 18375a6d19 server tests in-memory and passing 2020-05-14 15:12:30 +01:00
Martin McKeaveney 2ad007fce0 further simplification of server code 2020-05-07 14:04:32 +01:00
Martin McKeaveney 94b2e0f134 further tidy up and removal 2020-05-07 13:52:24 +01:00