refactor: update PAM session status handling and improve enum definitions

- Changed PAM session status from 'Expired' to 'Ended' in the database update logic and service layer for clarity.
- Updated the PamSessionStatus enum to consolidate the definitions of 'Ended' and 'Expired', reflecting that 'Ended' can result from both user action and automatic expiration.
- Removed references to 'Expired' in the frontend components and adjusted related UI elements for consistency.
This commit is contained in:
Victor Santos
2025-12-08 12:19:19 -03:00
parent a0718321e7
commit d09849d9dc
7 changed files with 21 additions and 26 deletions
@@ -31,7 +31,7 @@ export const pamSessionDALFactory = (db: TDbClient) => {
.where("id", sessionId)
.whereIn("status", [PamSessionStatus.Active, PamSessionStatus.Starting])
.update({
status: PamSessionStatus.Expired,
status: PamSessionStatus.Ended,
endedAt: now
});
@@ -1,7 +1,6 @@
export enum PamSessionStatus {
Starting = "starting", // Starting, user connecting to resource
Active = "active", // Active, user is connected to resource
Ended = "ended", // Ended by user
Terminated = "terminated", // Terminated by an admin
Expired = "expired" // Automatically expired after expiresAt timestamp
Ended = "ended", // Ended by user or automatically expired after expiresAt timestamp
Terminated = "terminated" // Terminated by an admin
}
@@ -53,7 +53,7 @@ export const pamSessionServiceFactory = ({
if (isActive && isExpired) {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const updatedSession = await pamSessionDAL.updateById(session.id, {
status: PamSessionStatus.Expired,
status: PamSessionStatus.Ended,
endedAt: new Date()
});
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
@@ -200,7 +200,7 @@ export const pamSessionServiceFactory = ({
throw new ForbiddenRequestError({ message: "Only identities and users can perform this action" });
}
if (session.status === PamSessionStatus.Ended || session.status === PamSessionStatus.Expired) {
if (session.status === PamSessionStatus.Ended) {
return {
session,
projectId: project.id