Skip to content

Phase 2 BC Developer's Exchange #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 71 commits into from
Jul 4, 2018
Merged

Phase 2 BC Developer's Exchange #6

merged 71 commits into from
Jul 4, 2018

Conversation

sjrumsby
Copy link
Contributor

@sjrumsby sjrumsby commented Jul 3, 2018

Creation of API for performing queue-management related tasks.

scottrumsby and others added 30 commits June 8, 2018 20:32
Migrated using Authorization Bearer token to a document.cookie value for Websocket connections
Switched all authorizations to use Flask-OIDC tokens as opposed to Flask login
Add Flask-OIDC and python-jose to requirements.txt
Update config setting for development environment to point to openshift environment
Remove all references to api URL in development environments
… the API from the same domain as the front-end
…00 level response codes. Use api.marshal instead where it is applicable
Increase logging and ensure that we include an object in socket-io responses,
as it appears that flask-socketio will not actually emit the event if the
respsonse is empty
Included all tables from CFMS data dictionary. Currently, this webapp uses flask restplus to handle all of its response marshalling. This commit will not make sense until the resources commit happens later. There is a basic bootstrap file that is included with this commit that contains basic database inserts for testing purposes.

Future commits to this branch will see resources added for webapp endpoints that work directly with the models created in this commit.

Currently the only issues with this commit is the model base class has inheritance issues that need to be investigated. Through testing, it was found that running a migrate of the database without dropping the previous version of the database would cause a cascading error, with the inability to bootstrap new data to cockroach db. To ensure that this webapp can be tested after adding new data to the models, drop the queue_management database, re-create the queue_management database, provide the proper grants to qsystem, and then init, migrate, update, bootstrap and finally runserver for localhost testing.
Resource endpoints currently work with all test data provided in the bootstrap file from the previous commit.

All endpoints have been tested to show that the end-points are returning the appropriate data.

Known issues include during testing, Firefox is ROUNDING ids that are passed back via get responses. Raw Data shows that the real ids are actually being transmitted, but what is being rendered via browser are not the correct id values.

Squash resources
CFMS Phase 2 - Models and Partial Resources
…ll as replacing all schema references of "right" to "permissions", as the word right is a reserver postgresql key word.

This commit has been tested and verified that all models and resources are now compiling without error.

Work TODO:
- POST to create citizen
- POST to invite citizen
- GET single citizen (needs testing)
- PUT to update citizen

Then resources are complete
Right to Permissions Schema Replace
…nd and found to not be working with current app structure.

After code-review, these bug with the initially written code were addressed, and then tested.
…ll as replacing all schema references of "right" to "permissions", as the word right is a reserver postgresql key word.

This commit has been tested and verified that all models and resources are now compiling without error.

Work TODO:
- POST to create citizen
- POST to invite citizen
- GET single citizen (needs testing)
- PUT to update citizen

Then resources are complete

Squash me - kwargs cleanup for ALL inits

Squash me - removed password col on csr model

Squash me - Data Dictionary update column names, nullable values

Squash me - removed api.model / json return function from all models
…id functions.

The get_by_id function call requires that the session is expunged before return so that sessions are not left hanging.
…_by_id functions.

The get_by_id function requires that the session by expunged prior to returning anything so that sessions are not left hanging.
…that schemas are now defined in the schema package (next commit). This also means that all models no longer have a json return function as well.

All models have had their __repr__ functions ammended to reflect the marshmallow integration as well.
…a validation purposes.

Citizens now has a working POST and PUT functions which have been verified through testing with test data. Therefore creating citizens, and updating their data is fully working.

Cleaned up all testing print messages, and cleaned up fomatting as well.
…flect the integration of marshmallow to the project.
sjrumsby and others added 24 commits June 24, 2018 16:17
…tizen to state "Left" is working as intended.

Also, have added ST States and Period States data to the manage.py file.
…ti line commented out get function in service_request_list that is no longer needed.
Added methods for moving the client through its life cycle. Creates all required period objects. Does not yet perform validation to ensure state transitions.
These IDs are liable to change, and must not be hardcoded. Do a select from
the database to ensure we get the proper matching ID.
As a client's servicve request move through the workflow, update the state of
the corresponding service request so we know where it is in it's lifecycle
…ve default datetime from citizen, and remove hard coded period state id
…were broken down into separate files and then added to a directory inside the resources directory.

Qsystem.py was also modified to reflect these changes.
On creation of the service request object, do a count on the number of service
requests that match the current service prefix, while the service requests
table has been locked, to ensure that duplicates are not created.
To invite a generic citizen, the call looks at the quick transaction status of the currently signed in CSR, and tries to find a matching citizen in the queue to invite. If no matching status citizen can be found, then instead we look for any citizen waiting to be queued.
Removing all smells and issues from sonarqube analysis
Removing all smells and issues from sonarqube analysis
@gil0109 gil0109 merged commit f65e057 into bcgov:master Jul 4, 2018
nitheesh-aot pushed a commit to nitheesh-aot/queue-management that referenced this pull request Apr 28, 2020
gil0109 added a commit to gil0109/queue-management that referenced this pull request Nov 17, 2020
jhmccoll pushed a commit that referenced this pull request Nov 19, 2020
convert to ts tables.vue buttons.vue
shabeeb-aot referenced this pull request in shabeeb-aot/queue-management Mar 28, 2021
jhmccoll pushed a commit that referenced this pull request Mar 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants