mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-26 06:19:08 +01:00
Port VNC settings and connection-approval prompt to the Wails UI
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
//go:build !android && !ios && !freebsd && !js
|
||||
|
||||
package services
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/netbirdio/netbird/client/proto"
|
||||
)
|
||||
|
||||
// Approval forwards the user's decision on a pending inbound-connection
|
||||
// approval prompt to the daemon. The daemon pushes the prompt as a SystemEvent
|
||||
// with category APPROVAL; the dialog calls Respond with the same request id to
|
||||
// unblock whichever subsystem (VNC, SSH, ...) is waiting.
|
||||
type Approval struct {
|
||||
conn DaemonConn
|
||||
}
|
||||
|
||||
func NewApproval(conn DaemonConn) *Approval {
|
||||
return &Approval{conn: conn}
|
||||
}
|
||||
|
||||
// Respond delivers the accept/deny decision for requestID. viewOnly is only
|
||||
// meaningful when accept is true and the subsystem supports a read-only grant.
|
||||
func (a *Approval) Respond(ctx context.Context, requestID string, accept, viewOnly bool) error {
|
||||
cli, err := a.conn.Client()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = cli.RespondApproval(ctx, &proto.RespondApprovalRequest{
|
||||
RequestId: requestID,
|
||||
Accept: accept,
|
||||
ViewOnly: viewOnly,
|
||||
})
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user