Commit Graph

91 Commits

Author SHA1 Message Date
Aaron Louie 4eaee57076 Apparently, APPLICATION_ROOT does something. 2020-05-24 00:05:13 -04:00
Aaron Louie 68084a84cf Adds base href environment variable. Sets base path for API and all routes from BASE_HREF environment variable. 2020-05-23 22:07:22 -04:00
Dan Funk 503c1c8f18 Allow disabling the Protocol Builder
PB_ENABLED can be set to false in the configuration (either in a file called instance/config.py, or as an environment variable)

Added a check in the base_test, to assure that we are always running tests with the test configuration, and bail out otherwise.  Setting TESTING=true as an environment variable will get this, but so well the correct ordering of imports. Just be dead certain the first file every test file imports is base_test.py.

Aaron was right, and we call the Protocol Builder in all kinds of awful places.  But we don't do this now.  So Carlos, you should have the ability to reuse a lot of the logic in the study_service now.

I dropped the poorly named "study-update" endpoint completely.  We weren't using it. POST and PUT to Study still work just fine for doing exactly that.

All the tests now run and pass with the Protocol builder disabled. Tests that specifically check PB behavior turn it back on for the test, or mock it out.
2020-05-22 14:37:49 -04:00
Dan Funk b490005af7 dropping the remaining config stuff for flask_sso.
updaing the user 'sso' endpoint to provide additional information for debugging.
Pulling information from ldap to stay super consistent on where we get our information.
2020-05-22 09:50:18 -04:00
Dan Funk b3ae9ee770 changing the mapping, because 'Uid' not 'uid' 2020-05-21 16:28:34 -04:00
Aaron Louie daaa7be4ba Corrects typo 2020-05-16 13:13:49 -04:00
Aaron Louie 183a2c5d66 Run flask on PORT_0 environment variable, if defined. 2020-05-16 11:39:45 -04:00
Aaron Louie bf563e177b Allows port to be set via environment variable 2020-05-15 21:32:33 -04:00
Dan Funk f2c9fd5fc4 adding a default url. And some debugging information to see if we hit he endpoint in the logs. 2020-05-14 15:07:05 -04:00
Aaron Louie 73ce70b574 Allows CORS connections from frontend 2020-05-12 10:43:52 -04:00
Aaron Louie 02118800ca Prints out LDAP URL 2020-05-11 16:22:42 -04:00
Dan Funk 9629b36e92 Setting JSON_SORT_KEYS to false, assuring that Flask does not resort all data returned to the front end.
Updating Spiff Workflow which has some critical behavioral changes around MultiInstance.
2020-05-06 10:59:49 -04:00
Dan Funk 2699f5c65c Refactor the stats models, and assure they are very correct across all tests with the workflow api.
I noticed we were saving the workflow every time we loaded it up, rather than only when we were making changes to it.  Refactored this to be a little more careful.
Centralized the saving of the workflow into one location in the processor, so we can make sure we update all the details about that workflow every time we save.
The workflow service has a method that will log any task action taken in a consistent way.
The stats models were removed from the API completely.  Will wait for a use case for dealing with this later.
2020-05-04 10:57:09 -04:00
Dan Funk 7b32198795 Increasing the time-to-live for user sessions from 2 hours to 4 in the default configuration. 2020-04-21 11:03:35 -04:00
Dan Funk d2b31bb3d1
Merge pull request #31 from sartography/feature_personnel_multi_instance
Feature personnel multi instance
2020-04-20 16:17:43 -04:00
Dan Funk edbd75bb75 Connect LDAP Requests to the StudyInfo service so we get back additional details. 2020-04-20 16:02:13 -04:00
Dan Funk 2d3402a719 Ldap Service with Test and mocks.
LDAP_URL can be set in an environment variable.
2020-04-20 15:16:33 -04:00
Aaron Louie 00312d244a Cleans up debugging config print 2020-04-20 12:04:10 -04:00
Aaron Louie e9548b2172 Never mind. It's set by FLASK_ENV already 2020-04-15 21:02:39 -04:00
Aaron Louie 3a9d2c0b4d Sets ENV variable 2020-04-15 20:59:13 -04:00
Aaron Louie b4fdba0fc9 Sets production environment variable 2020-04-15 17:22:41 -04:00
Aaron Louie 2a15f3a488 Sets dev and testing environment variables 2020-04-15 16:49:03 -04:00
Aaron Louie dffba7dc92 Prints some more config settings for debugging 2020-04-15 14:14:58 -04:00
Aaron Louie 5e924b3646 Prints some config settings for debugging 2020-04-15 14:03:04 -04:00
Aaron Louie 90b2a1d744 Explicitly sets port. Prints some config settings for debugging. 2020-04-15 13:49:32 -04:00
Aaron Louie 4428dfe819 Removes eval. Just casting string to bool works. 2020-04-15 13:36:39 -04:00
Aaron Louie 38f9a70511 Converts dev flag to boolean 2020-04-15 13:25:12 -04:00
Aaron Louie bb0efff839 Enables config items to be set via environment variables 2020-04-15 11:49:45 -04:00
Dan Funk f4342fc785 It became impossible to use the Swagger ui when we started adding authentication to all of the calls. I discovered Connexion and Swagger have a default way of handing JTW authentication and this cleans up our code quite a bit, moves the securing of endpoints into the API Definition, which is quite nice, and removes a whole library dependency (I never get to do that!) I added a SWAGGER_AUTH_KEY that can be used in non-production environments to allow users to quickly authenticate from the Swagger ui. I also removed all api calls to simple little happy api services, because that is just mean and pointless. 2020-03-24 14:15:21 -04:00
Aaron Louie 01228d5a8a Edits frontend callback URL 2020-02-20 21:10:34 -05:00
Aaron Louie a6e0809183 Adds SSO attributes. Prevents uid duplication errors. 2020-02-20 17:23:10 -05:00
Aaron Louie 0cda7c66e5 Merge remote-tracking branch 'origin/master' 2020-02-20 15:43:34 -05:00
Aaron Louie 581434b453 Adds SSO header attributes 2020-02-20 15:43:29 -05:00
Dan Funk 8b48acea9a Protocol builder connections, default configuration 2020-02-20 13:30:48 -05:00
Dan Funk a642593e3d Adding support to handle Single Sign On (Shibboleth) authentication using Flask SSO and an attribute map that has worked in the past with UVA's implementation. Aside from the new user endpoint, nothing requires authentication, but soon everything will expect it. I'm setting up a backdoor we can use for development and staging that will cause a round-robin affair that should make this relatively painless. Dropped "RestException" as we had two ways or raising errors, and that was silly. 2020-02-18 16:38:56 -05:00
Dan Funk d1c32c0aaa Travis configuration for connecting to postgres. 2020-02-05 15:17:47 -05:00
Aaron Louie e1e866a2b3 Gets docker-compose working.
You'll need to add a .env file to the same directory as the docker-compose.yml file that sets the values for DB_USER and DB_PASS.
2020-02-04 21:42:09 -05:00
Dan Funk 37df0bf8f4 Converting this over to using Postgres. See the new postgres directory for a docker container to spin this up. Tests and development databases are the same, will try and get this corrected at some point. 2020-02-04 14:25:17 -05:00
Dan Funk 9861f6baf3 Lots and lots of random stuff as I organize code and get things to make sense. 2019-12-18 14:02:17 -05:00
Dan Funk e8ac73888b Creating a dependency on the SpiffWorkflow fork we created. and placing the command line script into this code base and demonstrating that our workflow processor works at least on that level. Removing all kinds of garbage that had piled up before to keep this thing clean. 2019-12-11 11:45:44 -05:00
Dan Funk b279246e80 Setting up tests to work correctly when verifying endpoints. 2019-11-21 11:36:32 -05:00