You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Phase 2 of the GetUserViaKeycloakId decom — removal
This is the removal half of the 2-phase keycloak-lookup decom. Blocked by #97 (Phase 1, deprecation).
Scope
After unblockers land:
Delete MilpacService.GetUserViaKeycloakId from proto/milpacs.proto.
Delete the keycloak_id field from Profile, the equivalent field on LiteProfileResponse, and any other profile message that carries it. Remove KeycloakIdRequest itself once no longer referenced.
Regenerate. buf breaking will flag the RPC and field removals — intentional, accept the break.
Delete FindProfileByKeycloakID from the Datastore interface and from the Mysql implementation.
Delete the handler in the gRPC service.
Delete extractKeycloakID and any Provider == "keycloak" branches in datastores/mysql.go if they have no remaining call sites.
Delete the associated tests in servers/grpc/milpacs_test.go (TestGetUserViaKeycloakId_NotFound, TestGetUserViaKeycloakId_DatastoreError). Easy to miss — the handler being gone won't auto-delete the tests; they'll fail to compile.
Regenerated *.pb.go / *.pb.gw.go / openapi/assets/*.swagger.json reflect the removal and are committed.
CLAUDE.md's soft-deprecation note about GetUserViaKeycloakId is removed (or updated to past tense).
If #95 (drop gRPC entirely) goes forward before the unblockers above are satisfied, this work collapses into that rewrite — the keycloak field/RPC simply doesn't get re-emitted in the huma version. Close as superseded if that happens.
Phase 2 of the GetUserViaKeycloakId decom — removal
This is the removal half of the 2-phase keycloak-lookup decom. Blocked by #97 (Phase 1, deprecation).
Scope
After unblockers land:
MilpacService.GetUserViaKeycloakIdfromproto/milpacs.proto.keycloak_idfield fromProfile, the equivalent field onLiteProfileResponse, and any other profile message that carries it. RemoveKeycloakIdRequestitself once no longer referenced.buf breakingwill flag the RPC and field removals — intentional, accept the break.FindProfileByKeycloakIDfrom theDatastoreinterface and from theMysqlimplementation.extractKeycloakIDand anyProvider == "keycloak"branches indatastores/mysql.goif they have no remaining call sites.servers/grpc/milpacs_test.go(TestGetUserViaKeycloakId_NotFound,TestGetUserViaKeycloakId_DatastoreError). Easy to miss — the handler being gone won't auto-delete the tests; they'll fail to compile.*.pb.go/*.pb.gw.go/openapi/assets/*.swagger.jsonreflect the removal and are committed.GetUserViaKeycloakIdis removed (or updated to past tense).Unblockers
/api/v1/milpac/keycloak/{keycloak_id}over an agreed window (parent ticket suggested ~1 week). Without traffic data, removal is on a hunch — not the bar this codebase holds.Coordination caveat
If #95 (drop gRPC entirely) goes forward before the unblockers above are satisfied, this work collapses into that rewrite — the keycloak field/RPC simply doesn't get re-emitted in the huma version. Close as superseded if that happens.
Related