session profile decoupled.

This commit is contained in:
Miroslav Šedivý
2021-03-14 00:45:51 +01:00
parent 7d4f7694b9
commit 4a28307c1e
15 changed files with 38 additions and 79 deletions

View File

@ -6,7 +6,7 @@ import (
)
func (h *MessageHandlerCtx) clipboardSet(session types.Session, payload *message.ClipboardData) error {
if !session.CanAccessClipboard() {
if !session.Profile().CanAccessClipboard {
h.logger.Debug().Str("session_id", session.ID()).Msg("cannot access clipboard")
return nil
}

View File

@ -7,7 +7,7 @@ import (
)
func (h *MessageHandlerCtx) controlRelease(session types.Session) error {
if !session.CanHost() {
if !session.Profile().CanHost {
h.logger.Debug().Str("session_id", session.ID()).Msg("is not allowed to host")
return nil
}
@ -24,7 +24,7 @@ func (h *MessageHandlerCtx) controlRelease(session types.Session) error {
}
func (h *MessageHandlerCtx) controlRequest(session types.Session) error {
if !session.CanHost() {
if !session.Profile().CanHost {
h.logger.Debug().Str("session_id", session.ID()).Msg("is not allowed to host")
return nil
}

View File

@ -7,7 +7,7 @@ import (
)
func (h *MessageHandlerCtx) screenSet(session types.Session, payload *message.ScreenSize) error {
if !session.IsAdmin() {
if !session.Profile().IsAdmin {
h.logger.Debug().Str("session_id", session.ID()).Msg("is not the admin")
return nil
}

View File

@ -11,8 +11,8 @@ func (h *MessageHandlerCtx) SessionCreated(session types.Session) error {
message.SessionData{
Event: event.SESSION_CREATED,
ID: session.ID(),
Profile: session.GetProfile(),
State: session.GetState(),
Profile: session.Profile(),
State: session.State(),
}, nil)
return nil
@ -33,7 +33,7 @@ func (h *MessageHandlerCtx) SessionConnected(session types.Session) error {
return err
}
if session.IsAdmin() {
if session.Profile().IsAdmin {
if err := h.systemAdmin(session); err != nil {
return err
}
@ -53,7 +53,7 @@ func (h *MessageHandlerCtx) SessionDisconnected(session types.Session) error {
}
func (h *MessageHandlerCtx) SessionProfileChanged(session types.Session) error {
profile := session.GetProfile()
profile := session.Profile()
h.sessions.Broadcast(
message.MemberProfile{
@ -66,7 +66,7 @@ func (h *MessageHandlerCtx) SessionProfileChanged(session types.Session) error {
}
func (h *MessageHandlerCtx) SessionStateChanged(session types.Session) error {
state := session.GetState()
state := session.State()
h.sessions.Broadcast(
message.SessionState{

View File

@ -7,7 +7,7 @@ import (
)
func (h *MessageHandlerCtx) signalRequest(session types.Session) error {
if !session.CanWatch() {
if !session.Profile().CanWatch {
return nil
}

View File

@ -29,8 +29,8 @@ func (h *MessageHandlerCtx) systemInit(session types.Session) error {
sessionId := session.ID()
sessions[sessionId] = message.SessionData{
ID: sessionId,
Profile: session.GetProfile(),
State: session.GetState(),
Profile: session.Profile(),
State: session.State(),
}
}

View File

@ -107,7 +107,7 @@ func (manager *WebSocketManagerCtx) Start() {
manager.desktop.OnClipboardUpdated(func() {
session := manager.sessions.GetHost()
if session == nil || !session.CanAccessClipboard() {
if session == nil || !session.Profile().CanAccessClipboard {
return
}
@ -167,7 +167,7 @@ func (manager *WebSocketManagerCtx) Upgrade(w http.ResponseWriter, r *http.Reque
return connection.Close()
}
if !session.CanConnect() {
if !session.Profile().CanConnect {
// TODO: Refactor, return error code.
if err = connection.WriteJSON(
message.SystemDisconnect{