Skip to content
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

Feature/api documentation #10

Merged
merged 16 commits into from
Jan 2, 2021
Merged

Feature/api documentation #10

merged 16 commits into from
Jan 2, 2021

Conversation

sjeguedes
Copy link
Owner

@sjeguedes sjeguedes commented Jan 2, 2021

This branch manages API Documentation with application services. Please note that a JWT refresh token process was added to improve API.
This merge aims at testing better workflow with development and features branches added to master. No issue is referenced for this pull request.
This branch treated expected changes and "fixed" issue: #8

  • Configured API documentation on two different pages to separate consumer and administrator available actions

  • Customized Nelmio bundle API documentation Swagger UI with a particular recommended Twig template and CSS styles (no "Nelmio" header and hide "full_list" query parameter form without value to fill in, and changed empty value checkbox text) to improve UX

  • Detailed as much as possible API documentation (path & query parameters, request bodies, responses type & responses headers such as "cache" ones or others) and formatted also collection representation paginated results HAL responses

  • Created a SecurityController class to manage JWT process API documentation with annotations

  • Cleaned controllers with an AbstractAPIController class

  • Added a JWT refresh token process to simplify authentication action with single use to keep a better security approach

  • Added RefreshedTokenListener service class to delete all invalid existing refresh tokens in database

  • Fixed several detected bugs as concerns DoctrineCacheConverter cache list results, DoctrineSubscriber HTTPCache entity deletion, and "Vary" response header

Message: please accept this merge and be conscious multiple changes will be made later.

…uration with areas and default area page redirection - added API documentation annotations as a kind of test on SecurityController
…references - created AbstractAPIController to clean controllers - fixed PartnerController and DoctrineCacheConverter to manage cache with controller forwarding when partner details are requested thanks to his email - cleaned SecurityController API documentation
…dels custom names and descriptions depending on Nelmio API doc bundle - cleaned PartnerController API documentation, DoctrineSubscriber, Partner and Client entities
…match() on request URI and CacheKernel with request called twice due to use of validate() method - defined correctly X-App-Cache-Id custom header as one of two keys for Vary header to differenciate cache storage
…as possible for collection or single resource - reviewed all controllers classes to take into account changes - need to produce functional tests later on controllers to strengthen them
…EOAS representation in schemas for requests which concern list results
… and improve full_list query parameter UX for API documentation
…o header and improve full_list query parameter UX for API documentation"

This reverts commit 0eb6828.
… and improve full_list query parameter UX for API documentation
…tication with a refresh token - customized a particular entity and configuration to manage refresh token process - added this action to API documentation
…sting invalid refresh tokens in database each time a new refresh token is created - please note that a CRON job would be more adapted in this case
@sjeguedes
Copy link
Owner Author

Merge accepted!

Please note that:

Manage a tests suite (functional tests and maybe a few unit tests) and also code reviews is the next and final step!

@sjeguedes sjeguedes merged commit 2ab0ca6 into develop Jan 2, 2021
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.

1 participant