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), AvatarUrl: session.AvatarURL, Details: object.ToViewDetailsPb( session.Sequence, session.CreationDate, 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 } }