Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add compression support JSON:API responses can be potentially be quite large, especially since no minification to the JSON output is performed. Adding deflate compression with reduce transfer sizes. * WIP: Add extra development tooling * WIP: Start conversion of hashtopolis to new JSON:API standard * WIP: Start of GET of JSON:API implementation Focus on working on Users, GlobalPermissionGroups and AccessGroups * Fix ensure consistent composer packages get installed. This file was never commited and missed, due to the wildcard *.lock pattern set in .gitigore https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control * Fix expansion parameter not working. Rename to reflect new naming (include) * Cosmetic: Rename variables to match new meaning It is confusing to mix expand with include. Thus rename all variables in python test code from expand to include. * Add interactive debugging of pytest unit files The hashtopolis.py cannot be debugged with default Interactive debugging of VScode debugging of pytests. Thus make a small workaround based of the idea: https://stackoverflow.com/questions/62419998/how-can-i-get-pytest-to-not-catch-exceptions/62563106#62563106 * WIP: Start working on delete and creation actions * Fix 500 returned when page is not found Should be 404, how-ever this trow was not captured, due to incorrect ordering. * WIP: Innitial support for PATCH/CREATE operations * WIP: All unit tests complete. GET mostly implemented - PATCH/DELETE requires mapping to new format. - Helpers need some thinking on request/response. - Relation updates needs to be implemented. * WIP: Need ER relations for CREATE When creating an object the ER relations are sent via JSON:API how-ever without an formal definition, there is no way of knowing whether something is considered an relation. * WIP: Example model for CREATE in client Add PoC conversion using Django tooling for reference purposes. This could be used as base for creating objects within the python libary (also to do some client-side checking as well). * Updated PHP dependencies * Refactor pagination to adhere to JSON:API standards - Updated pagination parameters from 'page[after]' and 'page[size]' to 'page[offset] and 'page[limit'] - This change aligns with the JSON:API specification for pagination (https://jsonapi.org/format/#fetching-pagination) * Refactored links object to adhere to JSON:API standard -changed 'page[after]' and 'page[size] to 'page[offset]' and 'page[limit]' in the link objects * feat: Add support for limit queries in ORM * Made pagination and sorting working by fixing some logic bugs * Added more input filtering for the Limit filter * Fixed the location header to comply to the JSON API standard in case of an POST request * WIP: Made start to link first and last attribute in json response to GET requests for pagination * Added page size exceeded error handling and started implementing link next and previous for pagination * FEAT: Implemented first and last in paginated json response * FEAT: Implemented previous and next within JSON pagination response * FEAT: Made PATCH request compliant to JSON API 1.1 * FEAT made patch To-One relationship compliant to JSON API standard * FEAT made get request to relationship working also throught intermediate tables * FEAT made pagination in to many relationships work * FEAT implemented patching to many relationships * FEAT added to many relationship from cracker to task in API * FEAT added to many relationship from crackerType to task in API * FEAT implemented delete to many relationship link and fixed bug in patch to many relationship link * FEAT fixed bug in PATCH to many relation and implemented POST to many relation * FEAT made patchOne compliant to JSON API 1.1 standard * FEAT fix a bug withing pagination and ordering and made Post one compliant to JSON API 1.1 * FEAT updated the tests to adhere to JSON API spec * FEAT added tests for pagination * clean up pagination test * Added range validation to validating data * Added a json response moduel for the responses * Added function to validate if its allowed to mutate DBA fields * Fixed inconsitency in color len in task feautures * Added test that will verify database size constraint * FEAT: made helper API endpoints compliant to json API standard, by putting no resource record responses in the metadata --------- Co-authored-by: Rick van der Zwet <[email protected]> Co-authored-by: Rick van der Zwet <[email protected]> Co-authored-by: Jesse van Zutphen (DBS) <[email protected]>
- Loading branch information