chore(api): add memberIdOrLfid
param support and user validation endpoints
#3009
+579
−44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces LFID support across member-related endpoints and adds new APIs to support user validation from the Individual Dashboard (ID). It also includes permission refinements and audit logging.
Highlights
:memberIdOrLfid
to a canonicalmemberId
(UUID), allowing endpoints to accept either a member UUID or LFID.memberUserValidations
table, with audit log hooks for traceability.🔄 Modified Endpoints
:memberIdOrLfid
(either a member UUID or LFID) param:GET /member/:memberIdOrLfid/organization
req.memberId
(set by the new middleware).memberIdentityCreate
,memberOrganizationRead
, etc.).🆕 New Endpoints
GET /member/:memberIdOrLfid/detected-identity
Returns detected identities for a member (LFID) that have not yet been validated, including an optional
activityCount
for username identities.Permissions:
memberIdentityRead
Response Example:
POST /member/:memberIdOrLfid/user-validation
Creates a user validation record for a member identity (accept or reject).
Permissions:
memberUserValidationCreate
Request Body Example:
Response:
200 OK
GET /member/:memberIdOrLfid/organization/status
Checks if work history records exist for the member.
Permissions:
memberOrganizationRead
Response Example:
POST /member/:memberIdOrLfid/organization/user-validation
Creates a user validation record for a member’s organization (create, update, or delete).
Permissions:
memberUserValidationCreate
Request Body Example:
Response:
200 OK
🗄️ Data Layer & Audit Logging
memberUserValidations
for storing user validation actions.🔐 Permissions & Roles
externalService
role and fine-grained permissions for all new and updated endpoints.externalService
role.