diff --git a/extensions/armatak/Dockerfile.build b/extensions/armatak/Dockerfile.build deleted file mode 100644 index 8c0ea4b..0000000 --- a/extensions/armatak/Dockerfile.build +++ /dev/null @@ -1,10 +0,0 @@ -# build Golang app for Linux -FROM golang:1.20 - -WORKDIR /app - -# get gcc-multilib and gcc-mingw-w64 -RUN apt update -RUN apt install -y gcc-multilib gcc-mingw-w64 - -CMD ["/bin/sh"] \ No newline at end of file diff --git a/extensions/armatak/controller.go b/extensions/armatak/controller.go deleted file mode 100644 index 6c2f033..0000000 --- a/extensions/armatak/controller.go +++ /dev/null @@ -1,88 +0,0 @@ -package main - -import ( - "github.com/indig0fox/a3go/a3interface" -) - -func armatak_controller_get_uid( - ctx a3interface.ArmaExtensionContext, - data string, -) (string, error) { - return armatak_service_get_uid() -} - -func armatak_controller_args_get_uid( - ctx a3interface.ArmaExtensionContext, - command string, - args []string, -) (string, error) { - return armatak_service_get_uid() -} - -func armatak_controller_get_auth_token( - ctx a3interface.ArmaExtensionContext, - command string, -) (string, error) { - return invalidCallExtensionMethod(": the auth informations must be provided") -} - -func armatak_controller_args_get_auth_token( - ctx a3interface.ArmaExtensionContext, - command string, - args []string, -) (string, error) { - sanitazeArgs(args) - - return armatak_service_get_auth_token(args) -} - -func armatak_controller_post_marker( - ctx a3interface.ArmaExtensionContext, - data string, -) (string, error) { - return invalidCallExtensionMethod(": post marker requires args") -} - -func armatak_controller_args_post_marker( - ctx a3interface.ArmaExtensionContext, - command string, - args []string, -) (string, error) { - sanitazeArgs(args) - - return armatak_service_post_marker(args) -} - -func armatak_controller_post_marker_debug( - ctx a3interface.ArmaExtensionContext, - data string, -) (string, error) { - return invalidCallExtensionMethod(": post marker requires args") -} - -func armatak_controller_args_post_marker_debug( - ctx a3interface.ArmaExtensionContext, - command string, - args []string, -) (string, error) { - sanitazeArgs(args) - - return armatak_service_post_marker(args) -} - -func armatak_controller_delete_marker( - ctx a3interface.ArmaExtensionContext, - data string, -) (string, error) { - return invalidCallExtensionMethod(": post marker requires args") -} - -func armatak_controller_args_delete_marker( - ctx a3interface.ArmaExtensionContext, - command string, - args []string, -) (string, error) { - sanitazeArgs(args) - - return armatak_service_delete_marker(args) -} diff --git a/extensions/armatak/dist/armatak.dll b/extensions/armatak/dist/armatak.dll deleted file mode 100644 index 98beb47..0000000 --- a/extensions/armatak/dist/armatak.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7f06f0765aa9040055422c505c37cc4a3f503ef1b5677db545647bdcc4cc5fb -size 5010432 diff --git a/extensions/armatak/dist/armatak.so b/extensions/armatak/dist/armatak.so deleted file mode 100644 index c063d02..0000000 Binary files a/extensions/armatak/dist/armatak.so and /dev/null differ diff --git a/extensions/armatak/dist/armatak_x64.dll b/extensions/armatak/dist/armatak_x64.dll deleted file mode 100644 index da47a32..0000000 --- a/extensions/armatak/dist/armatak_x64.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f1e046ebe1c658b3edf3eca9895d7cf3cfb5187db124b0fa19d23ad51a6d824 -size 5137920 diff --git a/extensions/armatak/dist/armatak_x64.so b/extensions/armatak/dist/armatak_x64.so deleted file mode 100644 index 3e25856..0000000 Binary files a/extensions/armatak/dist/armatak_x64.so and /dev/null differ diff --git a/extensions/armatak/go.mod b/extensions/armatak/go.mod deleted file mode 100644 index a863631..0000000 --- a/extensions/armatak/go.mod +++ /dev/null @@ -1,8 +0,0 @@ -module armatak - -go 1.20 - -require ( - github.com/google/uuid v1.6.0 - github.com/indig0fox/a3go v0.3.2 -) diff --git a/extensions/armatak/go.sum b/extensions/armatak/go.sum deleted file mode 100644 index 63a752e..0000000 --- a/extensions/armatak/go.sum +++ /dev/null @@ -1,4 +0,0 @@ -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/indig0fox/a3go v0.3.2 h1:bNL90pffeOnS6Qtjoo5JHpdpZn1f0BZmRZR8nz/xcvQ= -github.com/indig0fox/a3go v0.3.2/go.mod h1:8htVwBiIAVKpT1Jyb+5dm7GuLAAevTXgw7UKxSlOawY= diff --git a/extensions/armatak/main.go b/extensions/armatak/main.go deleted file mode 100644 index a6170ff..0000000 --- a/extensions/armatak/main.go +++ /dev/null @@ -1,55 +0,0 @@ -package main - -import ( - "fmt" - - "github.com/indig0fox/a3go/a3interface" -) - -var EXTENSION_NAME = "ARMATAK" - -var a3ErrorChannel chan []string = make(chan []string) - -func main() { - fmt.Scanln() -} - -func init() { - a3interface.SetVersion("0.0.0") - a3interface.RegisterErrorChan(a3ErrorChannel) - - a3interface.NewRegistration("get_uid"). - SetDefaultResponse("getting uuid4"). - SetRunInBackground(false). - SetFunction(armatak_controller_get_uid). - SetArgsFunction(armatak_controller_args_get_uid). - Register() - - a3interface.NewRegistration("get_auth_token"). - SetDefaultResponse("getting auth token"). - SetRunInBackground(false). - SetFunction(armatak_controller_get_auth_token). - SetArgsFunction(armatak_controller_args_get_auth_token). - Register() - - a3interface.NewRegistration("post_marker"). - SetDefaultResponse("posting marker"). - SetRunInBackground(true). - SetFunction(armatak_controller_post_marker). - SetArgsFunction(armatak_controller_args_post_marker). - Register() - - a3interface.NewRegistration("post_marker_debug"). - SetDefaultResponse("posting marker debug mode"). - SetRunInBackground(false). - SetFunction(armatak_controller_post_marker_debug). - SetArgsFunction(armatak_controller_args_post_marker_debug). - Register() - - a3interface.NewRegistration("delete_marker"). - SetDefaultResponse("deleting marker"). - SetRunInBackground(false). - SetFunction(armatak_controller_delete_marker). - SetArgsFunction(armatak_controller_args_delete_marker). - Register() -} diff --git a/extensions/armatak/service.go b/extensions/armatak/service.go deleted file mode 100644 index 277c3a7..0000000 --- a/extensions/armatak/service.go +++ /dev/null @@ -1,77 +0,0 @@ -package main - -import ( - "encoding/json" - - "github.com/google/uuid" -) - -func armatak_service_get_uid() (string, error) { - return uuid.New().String(), nil -} - -func armatak_service_get_auth_token(args []string) (string, error) { - authInfo := AuthInfo{ - Username: args[1], - Password: args[2], - } - - response, responseError := postRequestWithoutToken(args[0]+"/api/login?include_auth_token", authInfo) - - if responseError != nil { - return "", responseError - } - - jsonString := string(response) - - var data struct { - Meta struct{} `json:"meta"` - Response struct { - CSRFToken string `json:"csrf_token"` - User struct { - AuthenticationToken string `json:"authentication_token"` - } `json:"user"` - } `json:"response"` - } - - err := json.Unmarshal([]byte(jsonString), &data) - if err != nil { - return "", err - } - - authToken := data.Response.User.AuthenticationToken - - return authToken, nil -} - -func armatak_service_post_marker(args []string) (string, error) { - marker, markerError := parseMarkerArgs(args) - - if markerError != nil { - return "", markerError - } - - response, responseError := postRequest(args[8]+"/api/markers?auth_token="+args[9], marker) - - if responseError != nil { - return "", responseError - } - - return response, nil -} - -func armatak_service_delete_marker(args []string) (string, error) { - marker, markerError := parseMarkerArgs(args) - - if markerError != nil { - return "", markerError - } - - response, responseError := deleteRequest(args[8]+"/api/markers?auth_token="+args[9], marker) - - if responseError != nil { - return "", responseError - } - - return response, nil -} diff --git a/extensions/armatak/structs.go b/extensions/armatak/structs.go deleted file mode 100644 index 036fec8..0000000 --- a/extensions/armatak/structs.go +++ /dev/null @@ -1,32 +0,0 @@ -package main - -type Payload struct { - Content string `json:"content"` - Username string `json:"username,omitempty"` -} - -type Marker struct { - Longitude float64 `json:"longitude"` - Latitude float64 `json:"latitude"` - Name string `json:"name"` - UID string `json:"uid"` - Type string `json:"type,omitempty"` - Course int `json:"course,omitempty"` - Azimuth int `json:"azimuth,omitempty"` - Speed int `json:"speed,omitempty"` - Battery int `json:"battery,omitempty"` - FOV int `json:"fov,omitempty"` - CE int `json:"ce,omitempty"` - HAE int `json:"hae,omitempty"` - LE int `json:"le,omitempty"` -} - -type Message struct { - Message string `json:"uid"` - Sender string `json:"sender"` -} - -type AuthInfo struct { - Username string `json:"username"` - Password string `json:"password"` -} diff --git a/extensions/armatak/util.go b/extensions/armatak/util.go deleted file mode 100644 index d28c086..0000000 --- a/extensions/armatak/util.go +++ /dev/null @@ -1,183 +0,0 @@ -package main - -import ( - "bytes" - "encoding/json" - "fmt" - "io" - "net/http" - "strconv" - - "github.com/indig0fox/a3go/a3interface" -) - -func sanitazeArgs(args []string) { - for i, v := range args { - args[i] = a3interface.RemoveEscapeQuotes(v) - } -} - -func invalidCallExtensionMethod(complement string) (string, error) { - return "Invalid callExtension method" + complement, nil -} - -func parseMarkerArgs(args []string) (Marker, error) { - sanitazeArgs(args) - - latitude, latitudeError := strconv.ParseFloat(args[1], 32) - - if latitudeError != nil { - return Marker{}, latitudeError - } - - longitude, longitudeError := strconv.ParseFloat(args[2], 32) - - if longitudeError != nil { - return Marker{}, longitudeError - } - - speed, speedError := strconv.ParseFloat(args[3], 32) - - if speedError != nil { - speed = 0 - } - - bearing, bearingError := strconv.ParseFloat(args[4], 32) - - if bearingError != nil { - bearing = 0 - } - - altitude, altitudeError := strconv.ParseFloat(args[7], 32) - - if altitudeError != nil { - altitude = 0 - } - - marker := Marker{ - UID: args[0], - Latitude: latitude, - Longitude: longitude, - Speed: int(speed / 4), - Course: int(bearing) + 6, - Type: args[5], - Name: args[6], - HAE: int(altitude), - } - - return marker, nil -} - -func postRequestWithoutToken(route string, body any) ([]byte, error) { - jsonData, err := json.Marshal(body) - if err != nil { - fmt.Println("Error marshalling payload:", err) - return nil, err - } - - client := &http.Client{} - - req, err := http.NewRequest(http.MethodPost, route, bytes.NewReader(jsonData)) - if err != nil { - fmt.Println("Error creating request:", err) - return nil, err - } - - req.Header.Set("Content-Type", "application/json") - - resp, err := client.Do(req) - if err != nil { - fmt.Println("Error sending request:", err) - return nil, err - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - fmt.Println("Error sending request:", resp.Status) - return nil, err - } - - parsedBody, err := io.ReadAll(resp.Body) - if err != nil { - return nil, fmt.Errorf("getting Error reading response body: %w", err) - } - - return (parsedBody), nil -} - -func postRequest(route string, body any) (string, error) { - jsonData, err := json.Marshal(body) - if err != nil { - fmt.Println("Error marshalling payload:", err) - return "", err - } - - client := &http.Client{} - - req, err := http.NewRequest(http.MethodPost, route, bytes.NewReader(jsonData)) - if err != nil { - fmt.Println("Error creating request:", err) - return "", err - } - - req.Header.Set("Content-Type", "application/json") - - resp, err := client.Do(req) - if err != nil { - fmt.Println("Error sending request:", err) - return "", err - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - fmt.Println("Error sending request:", resp.Status) - return "", nil - } - - parsedBody, err := io.ReadAll(resp.Body) - if err != nil { - return "", fmt.Errorf("getting Error reading response body: %w", err) - } - - return string(parsedBody), nil -} - -func deleteRequest(route string, body any) (string, error) { - jsonData, err := json.Marshal(body) - if err != nil { - fmt.Println("Error marshalling payload:", err) - return "", err - } - - client := &http.Client{} - - req, err := http.NewRequest(http.MethodDelete, route, bytes.NewReader(jsonData)) - if err != nil { - fmt.Println("Error creating request:", err) - return "", err - } - - req.Header.Set("Content-Type", "application/json") - - resp, err := client.Do(req) - if err != nil { - fmt.Println("Error sending request:", err) - return "", err - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - fmt.Println("Error sending request:", resp.Status) - return "", nil - } - - parsedBody, err := io.ReadAll(resp.Body) - if err != nil { - return "", fmt.Errorf("getting Error reading response body: %w", err) - } - - return string(parsedBody), nil -}