mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-12 19:14:23 +00:00
45 lines
1.3 KiB
Go
45 lines
1.3 KiB
Go
|
package user
|
||
|
|
||
|
import (
|
||
|
"github.com/caos/zitadel/internal/api/grpc/object"
|
||
|
auth_req_model "github.com/caos/zitadel/internal/auth_request/model"
|
||
|
user_model "github.com/caos/zitadel/internal/user/model"
|
||
|
"github.com/caos/zitadel/pkg/grpc/user"
|
||
|
)
|
||
|
|
||
|
func UserSessionsToPb(sessions []*user_model.UserSessionView) []*user.Session {
|
||
|
s := make([]*user.Session, len(sessions))
|
||
|
for i, session := range sessions {
|
||
|
s[i] = UserSessionToPb(session)
|
||
|
}
|
||
|
return s
|
||
|
}
|
||
|
|
||
|
func UserSessionToPb(session *user_model.UserSessionView) *user.Session {
|
||
|
return &user.Session{
|
||
|
// SessionId: session.,//TOOD: not return from be
|
||
|
AgentId: session.UserAgentID,
|
||
|
UserId: session.UserID,
|
||
|
UserName: session.UserName,
|
||
|
LoginName: session.LoginName,
|
||
|
DisplayName: session.DisplayName,
|
||
|
AuthState: SessionStateToPb(session.State),
|
||
|
Details: object.ToDetailsPb(
|
||
|
session.Sequence,
|
||
|
session.ChangeDate,
|
||
|
session.ResourceOwner,
|
||
|
),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func SessionStateToPb(state auth_req_model.UserSessionState) user.SessionState {
|
||
|
switch state {
|
||
|
case auth_req_model.UserSessionStateActive:
|
||
|
return user.SessionState_SESSION_STATE_ACTIVE
|
||
|
case auth_req_model.UserSessionStateTerminated:
|
||
|
return user.SessionState_SESSION_STATE_TERMINATED
|
||
|
default:
|
||
|
return user.SessionState_SESSION_STATE_UNSPECIFIED
|
||
|
}
|
||
|
}
|