-
Notifications
You must be signed in to change notification settings - Fork 6
Add API for managing certifications and earning them #2484
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
Conversation
… earned certificates Removed the delete controller method for Certifications
Plus more testing and validation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Certification names in the database must be unique, and I added an is_active so we can deactivate certifications when they're no-longer considered relevant. Earned Certifications for deactivated Certifications do not show up in the list by default, but I added a query param to make them appear if required
vhscom
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
@mvolkmann who should be able to manage certifications and their earning? I'm guessing we need a permission for administering certifications, And then the earned certifications can only be managed by the member themselves (plus people with the certification permission above?) |
|
I was just about to leave a comment to that effect on here, @timyates. I think you are spot on, except I would make a |
Added `CAN_MANAGE_CERTIFICATIONS` and `CAN_MANAGE_EARNED_CERTIFICATIONS`
|
@mvolkmann @mkimberlin In the latest commit, I added 2 permissions:
Without the second permission, users can only create, update and delete I hope this makes sense and is the correct direction 🤔 |
|
Pushed 0632931 which allows anyone to create a certification So in the Certificate controller, update and merge require the The permissions for earned certifications are handled in the service itself with Lines 138 to 143 in 7a767cc
|
What?
Adds backend services API for managing certifications.
Should support #2477
I tried to keep as close to the Typescript skeleton as possible.
When running, Certifications swagger API can be seen here and the Earned Certifications swagger API can be seen here
Missing
Questions for future discussion:
Certifications
List
Create
Body should be:
com.objectcomputing.checkins.services.certification.CertificationDTO{ "name": "string", "badgeUrl": "string", "active": "boolean" }badgeUrlis optional andactiveis optional and defaults to trueUpdate
Body should be:
com.objectcomputing.checkins.services.certification.CertificationDTO(as above)Merge
Body should be
com.objectcomputing.checkins.services.certification.CertificationMergeDTO{ "sourceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "targetId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }Earned Certifications
List
Query parameters
memberId,certificationIdandincludeInactiveare optional for filtering the response to a certification or member or both, or including earned-certifications for deactivated certificationsCreate
Body should be
com.objectcomputing.checkins.services.certification.EarnedCertificationDTO{ "memberId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "certificationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "description": "string", "earnedDate": "2024-06-06", "expirationDate": "2024-06-06", "certificateImageUrl": "string" }expirationDateandcertificateImageUrlare optionalUpdate
Body should be
com.objectcomputing.checkins.services.certification.EarnedCertificationDTOas aboveDelete