not logged in (null or {isAdmin:false, isLoggedIn:false})
logged in as non-admin (false or {isAdmin:false, isLoggedIn:true})
logged in as admin (true or {isAdmin:true, isLoggedIn:true})
which leaves {isAdmin:true, isLoggedIn:false} as an invalid, nonsensical state. (How would you know the user’s an admin if they’re not logged in?) Of course, in a different context, all four states could potentially be distinctly meaningful.
Admin false LoggedIn false doesn’t feel illegal to me, more redundant if anything
I was thinking of the three legal states as:
null
or{isAdmin: false, isLoggedIn: false}
)false
or{isAdmin: false, isLoggedIn: true}
)true
or{isAdmin: true, isLoggedIn: true}
)which leaves
{isAdmin: true, isLoggedIn: false}
as an invalid, nonsensical state. (How would you know the user’s an admin if they’re not logged in?) Of course, in a different context, all four states could potentially be distinctly meaningful.ah you are right! i am so dumb.
Honestly logged in is state and shouldn’t be on the user object.