All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Filtered out the provider admins from the list of users returned for reporting orgs.
- Upgraded
libsuitecrmto 0.5.2 to bring in fix for SuiteCRM's over-zealous HTML escaping.
- Updated the EDITOR role to have permission to set visibility on datasets.
- Tools list endpoint and associated test.
- User roles endpoint and associated test; and a placeholder for the related permissions endpoint.
- Provider admin management endpoint placeholders and tests.
- FGA Provider now stores tool client IDs and can handle multiple provider_admin roles per user per reporting orgs to accommodate multiple tools being able to access the same reporting org via provider_admin.
- FGA Validator now ingests a list of tools that the user is an admin user for and the client id of the calling application.
- FGA Validator restricts provider_admin access to only the client id associated with that tool.
- Tests for the FGA provider DB and validator.
- Changes to the tests for dataset and reporting org routes so that calls via provider_admin can use the correct client id.
- Dataset creation endpoint now returns 201 rather than 200.
- Permissions for provider admin user role.
- Integration tests for creating and deleting datasets, and updating organisations.
- New provider admin database models for the FGA database provider.
- Refactored provider admin code in the FGA validator and database provider.
- Small fix to correct a failing test.
- Added the ability to search the discoverable reporting orgs.
- Added the /users/{id}/reporting-orgs endpoint which allows lookup of a user's orgs by user id.
- Updated short name validation so that it rejects values with uppercase characters.
- Improves error handling and logging for when clients connect with a misconfigured client ID.
- Emails notifications to Secretariat admins when a user creates a new organisation and to organisation admins when a user requests to join their organisation.
- Improved and adding more audit logging.
- Fixed the validation on dataset short_name which wasn't checking whether the record in the CRM was deleted.
- Fixed the dataset PATCH endpoint to include validation of the dataset short_name field.
- Added paging to GET /reporting-orgs, as per the specification.
- Fixed the 'last' paging link when there are no results to point to page 1.
- Made the utility check_record_exists function more robust by limiting fields returned.
- Dataset actions returned on /dataset/{id} and /reporting-orgs/{id}/dataset endpoints.
- Validation of dataset, reporting_org short_name to alphanumeric, '-', '_' chars
- On record creation, check dataset, reporting_org short_name for uniqueness
- Ensured that newly created reporting orgs are made discoverable on the Registry.
- Removed auto-redirect on trailing slashes
- Unified all endpoints to not have any trailing slashes
- Send custom audit headers to Registry on write requests.
- SuiteCRMClientFactory class which generates SuiteCRM clients using a cached access token and refreshes the token when needed.
- Initial implemtnation of
GETdisoverable-reporting-orgs
- Paging to
GETreporting-orgs/{oid}/datasetsendpoint - Initial implementation of
DELETEreporting-orgs/{oid}
include_metaflag fromGETreporting-orgsendpoint
- Update/remove users role for organisation endpoint
- Delete dataset endpoint
- Alembic for database migrations
- Code to handle CONTRIBUTOR_PENDING state
- Added iatiRegistryId to required claims
- Create dataset endpoint
- Update dataset endpoint
- Get dataset details endpoint