Revise PR based on review

This commit is contained in:
Tuan Dang
2025-05-02 12:16:51 -07:00
parent 83df0850ce
commit 6a5748150a
12 changed files with 130 additions and 22 deletions
@@ -90,15 +90,19 @@ export const sshHostDALFactory = (db: TDbClient) => {
const { sshHostId, hostname, alias, userCertTtl, hostCertTtl, userSshCaId, hostSshCaId, projectId } =
hostRows[0];
const loginMappingGrouped = groupBy(hostRows, (r) => `${r.loginUser}|${r.source}`);
const loginMappings = Object.entries(loginMappingGrouped).map(([key]) => {
const [loginUser, source] = key.split("|");
const loginMappingGrouped = groupBy(hostRows, (r) => r.loginUser);
const loginMappings = Object.entries(loginMappingGrouped).map(([loginUser, mappings]) => {
// Prefer HOST source over HOST_GROUP
const preferredMapping =
mappings.find((m) => m.source === LoginMappingSource.HOST) ||
mappings.find((m) => m.source === LoginMappingSource.HOST_GROUP);
return {
loginUser,
allowedPrincipals: {
usernames: [user.username]
},
source: source as LoginMappingSource
source: preferredMapping!.source
};
});