diff --git a/app/src/types/api.ts b/app/src/types/api.ts index 047628d..1783cbb 100644 --- a/app/src/types/api.ts +++ b/app/src/types/api.ts @@ -42,10 +42,10 @@ export function isLoginResponse(obj: unknown): obj is LoginResponse { obj !== null && 'user' in obj && isUser(obj.user) && - 'sessionId' in obj && - typeof (obj as LoginResponse).sessionId === 'string' && - 'expiresAt' in obj && - typeof (obj as LoginResponse).expiresAt === 'string' + (!('sessionId' in obj) || + typeof (obj as LoginResponse).sessionId === 'string') && + (!('expiresAt' in obj) || + typeof (obj as LoginResponse).expiresAt === 'string') ); } diff --git a/app/src/types/models.ts b/app/src/types/models.ts index 8041cb8..d95e27a 100644 --- a/app/src/types/models.ts +++ b/app/src/types/models.ts @@ -46,7 +46,10 @@ export enum UserRole { * Type guard to check if a value is a valid UserRole */ export function isUserRole(value: unknown): value is UserRole { - return typeof value === 'string' && value in UserRole; + return ( + typeof value === 'string' && + Object.values(UserRole).includes(value as UserRole) + ); } export enum Theme {