Challenge Overview
Challenge Requirements
Our security system is designed based on RBAC (Role Based Access Control). Users are directly assigned to some roles for performing permitted works.
In this challenge, we need to enhance the groups management api to have the following features:
- Add a private flag / attribute to a group, value can be either true or false, defaults to true. It private = true, only members of the group can have access (that's the current behavior); if private = false, then everyone can access.
- Add a self_register flag / attribute to group, value can be either true or false, defaults to false. This indicates whether the user can join this group themselves or does an admin need to add them. If the setting is false then only admins can manage group members, if it's true, then any logged in user can join.
- Update / add unit tests to work with the changes.
- Update swagger.yaml to reflect the changes.
The code that you need to update is in the folder tech.core/tech.core.service.identity, you should check the README in the tech.core/tech.core.service.identity/docker to see how to deploy and test the service code locally.
Test
Unit tests are required for the new changes. Existing unit tests must also be updated to make sure they still work.
Code
Your code must be well documented.
Technologies
- Java
- Informix
- SQL
- Docker
Final Submission Guidelines
Submission
- Updated code that covers all the requirements.
- A detailed deployment / verification guide explaining how to run and test your submission with some meaningful data.
- The winner will be asked to send a pull request to our repo.