From 7e2fcb909fc143894c305930e1e0b7c8f173d886 Mon Sep 17 00:00:00 2001 From: schulze Date: Wed, 26 Apr 2023 13:47:32 +0200 Subject: [PATCH] comments in commands.go --- pcsdk/commands.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/pcsdk/commands.go b/pcsdk/commands.go index e96b45d..ad1d288 100644 --- a/pcsdk/commands.go +++ b/pcsdk/commands.go @@ -13,6 +13,7 @@ import ( "github.com/thefeli73/polemos/state" ) +// ExecuteCommand is the interface that wraps the Execute method. type ExecuteCommand interface { Execute(netip.AddrPort) error } @@ -21,14 +22,16 @@ type response struct { message string `json:"message"` } +// ProxyCommandStatus is the command to get the status of a proxy type ProxyCommandStatus struct { Command CommandStatus `json:"status"` // signature Signature } -type CommandStatus struct { -} +// CommandStatus is the status of a proxy +type CommandStatus struct {} +// Execute is the method that executes the Status command func (c ProxyCommandStatus) Execute(url netip.AddrPort) error { data, err := json.Marshal(c) if err != nil { @@ -59,16 +62,19 @@ func (c ProxyCommandStatus) Execute(url netip.AddrPort) error { } } +// NewCommandStatus returns a new CommandStatus func NewCommandStatus() ProxyCommandStatus { c := CommandStatus{} return ProxyCommandStatus{c} } +// ProxyCommandCreate is the command to create a proxy type ProxyCommandCreate struct { Command CommandCreate `json:"create"` // signature Signature } +// CommandCreate is the struct for the "Create" Command and contains all the info the proxy needs to create a tunnel type CommandCreate struct { IncomingPort uint16 `json:"incoming_port"` DestinationPort uint16 `json:"destination_port"` @@ -76,6 +82,7 @@ type CommandCreate struct { Id string `json:"id"` } +// Execute is the method that executes the Create command on a ProxyCommandCreate func (c ProxyCommandCreate) Execute(url netip.AddrPort) error { data, err := json.Marshal(c) if err != nil { @@ -106,21 +113,25 @@ func (c ProxyCommandCreate) Execute(url netip.AddrPort) error { } } +// NewCommandCreate returns a new CommandCreate func NewCommandCreate(iport uint16, oport uint16, oip netip.Addr, id state.CustomUUID) ProxyCommandCreate { c := CommandCreate{iport, oport, oip, uuid.UUID.String(uuid.UUID(id))} return ProxyCommandCreate{c} } +// ProxyCommandModify is the command to modify a proxy type ProxyCommandModify struct { Command CommandModify `json:"modify"` } +// CommandModify is the struct for the "Modify" Command and contains all the info the proxy needs to modify a tunnel type CommandModify struct { DestinationPort uint16 `json:"destination_port"` DestinationIP netip.Addr `json:"destination_ip"` Id string `json:"id"` } +// Execute is the method that executes the Modify command on a ProxyCommandModify func (c ProxyCommandModify) Execute(url netip.AddrPort) error { data, err := json.Marshal(c) if err != nil { @@ -151,19 +162,23 @@ func (c ProxyCommandModify) Execute(url netip.AddrPort) error { } } +// NewCommandModify returns a new CommandModify func NewCommandModify(oport uint16, oip netip.Addr, id state.CustomUUID) ProxyCommandModify { c := CommandModify{oport, oip, uuid.UUID.String(uuid.UUID(id))} return ProxyCommandModify{c} } +// ProxyCommandDelete is the command to delete a proxy type ProxyCommandDelete struct { Command CommandDelete `json:"delete"` } +// CommandDelete is the struct for the "Delete" Command and contains the id of the tunnel to delete type CommandDelete struct { Id string `json:"id"` } +// Execute is the method that executes the Delete command on a ProxyCommandDelete func (c ProxyCommandDelete) Execute(url netip.AddrPort) error { data, err := json.Marshal(c) if err != nil { @@ -194,6 +209,7 @@ func (c ProxyCommandDelete) Execute(url netip.AddrPort) error { } } +// NewCommandDelete returns a new CommandDelete func NewCommandDelete(id state.CustomUUID) ProxyCommandDelete { c := CommandDelete{uuid.UUID.String(uuid.UUID(id))} return ProxyCommandDelete{c}