added get_uid and get_auth_token functions

This commit is contained in:
Valmo Trindade
2024-08-19 03:38:27 -03:00
parent d514983806
commit 558a5fc4f7
5 changed files with 71 additions and 451 deletions

View File

@@ -4,229 +4,51 @@ import (
"github.com/indig0fox/a3go/a3interface"
)
func armatak_controller_ManageAPI_getHelp(
func armatak_controller_get_uid(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return armatak_service_ManageAPI_getHelp()
return armatak_service_get_uid()
}
func armatak_controller_args_ManageAPI_getHelp(
func armatak_controller_args_get_uid(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return armatak_service_ManageAPI_getHelp()
return armatak_service_get_uid()
}
func armatak_controller_ManageGeoObject_postGeoObject(
func armatak_controller_get_auth_token(
ctx a3interface.ArmaExtensionContext,
data string,
command string,
) (string, error) {
return "You must use the armatak_fnc_extract_info function as param", nil
return invalidCallExtensionMethod("the auth informations must be provided")
}
func armatak_controller_args_ManageGeoObject_postGeoObject(
func armatak_controller_args_get_auth_token(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
sanitazeArgs(args)
return armatak_service_ManageGeoObject_postGeoObject(args)
return armatak_service_get_auth_token(args)
}
func armatak_controller_ManageGeoObject_putGeoObject(
func armatak_controller_post_marker(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "You must use the armatak_fnc_extract_info function as param", nil
return invalidCallExtensionMethod("post market requires args")
}
func armatak_controller_args_ManageGeoObject_putGeoObject(
func armatak_controller_args_post_marker(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return armatak_service_ManageGeoObject_putGeoObject(args)
}
sanitazeArgs(args)
func armatak_controller_ManageGeoObject_getGeoObject(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManageGeoObject_getGeoObject(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_ManageGeoObject_getGeoObjectByZone(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManageGeoObject_getGeoObjectByZone(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_ManageEmergency_postEmergency(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManageEmergency_postEmergency(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_ManageEmergency_getEmergency(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManageEmergency_getEmergency(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_ManageEmergency_deleteEmergency(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManageEmergency_deleteEmergency(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_ManageChat_postChatToAll(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManageChat_postChatToAll(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_ManageRoute_postRoute(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManageRoute_postRoute(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_ManagePresence_postPresence(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManagePresence_postPresence(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_ManagePresence_putPresence(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManagePresence_putPresence(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_ManageVideoStream_postVideoStream(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManageVideoStream_postVideoStream(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_Sensor_postDrone(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_Sensor_postDrone(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_Sensor_postSPI(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_Sensor_postSPI(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
}
func armatak_controller_ManageKML_postKML(
ctx a3interface.ArmaExtensionContext,
data string,
) (string, error) {
return "a", nil
}
func armatak_controller_args_ManageKML_postKML(
ctx a3interface.ArmaExtensionContext,
command string,
args []string,
) (string, error) {
return "a", nil
return "", nil
}

View File

@@ -18,122 +18,17 @@ func init() {
a3interface.SetVersion("0.0.0")
a3interface.RegisterErrorChan(a3ErrorChannel)
a3interface.NewRegistration("ping").
SetDefaultResponse("Pong").
a3interface.NewRegistration("get_uid").
SetDefaultResponse("getting uuid4").
SetRunInBackground(false).
SetFunction(armatak_controller_ping_server).
SetFunction(armatak_controller_get_uid).
SetArgsFunction(armatak_controller_args_get_uid).
Register()
a3interface.NewRegistration("ManageAPI/getHelp").
SetDefaultResponse("[Requested Get Help Command, starting background process]").
SetRunInBackground(true).
SetFunction(armatak_controller_ManageAPI_getHelp).
SetArgsFunction(armatak_controller_args_ManageAPI_getHelp).
Register()
a3interface.NewRegistration("ManageGeoObject/postGeoObject").
SetDefaultResponse("[Requested postGeoObject Command, starting background process]").
a3interface.NewRegistration("get_auth_token").
SetDefaultResponse("getting uuid4").
SetRunInBackground(false).
SetFunction(armatak_controller_ManageGeoObject_postGeoObject).
SetArgsFunction(armatak_controller_args_ManageGeoObject_postGeoObject).
SetFunction(armatak_controller_get_auth_token).
SetArgsFunction(armatak_controller_args_get_auth_token).
Register()
a3interface.NewRegistration("ManageGeoObject/putGeoObject").
SetDefaultResponse("[Requested putGeoObject Command, starting background process]").
SetRunInBackground(true).
SetFunction(armatak_controller_ManageGeoObject_putGeoObject).
SetArgsFunction(armatak_controller_args_ManageGeoObject_putGeoObject).
Register()
/*
a3interface.NewRegistration("ManageGeoObject/getGeoObject").
SetDefaultResponse("[Requested getGeoObject Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManageGeoObject_getGeoObject).
SetArgsFunction(armatak_controller_args_ManageGeoObject_getGeoObject).
Register()
a3interface.NewRegistration("ManageGeoObject/getGeoObjectByZone").
SetDefaultResponse("[Requested getGeoObjectByZone Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManageGeoObject_getGeoObjectByZone).
SetArgsFunction(armatak_controller_args_ManageGeoObject_getGeoObjectByZone).
Register()
a3interface.NewRegistration("ManageEmergency/postEmergency").
SetDefaultResponse("[Requested postEmergency Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManageEmergency_postEmergency).
SetArgsFunction(armatak_controller_args_ManageEmergency_postEmergency).
Register()
a3interface.NewRegistration("ManageEmergency/getEmergency").
SetDefaultResponse("[Requested getEmergency Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManageEmergency_getEmergency).
SetArgsFunction(armatak_controller_args_ManageEmergency_getEmergency).
Register()
a3interface.NewRegistration("ManageEmergency/deleteEmergency").
SetDefaultResponse("[Requested deleteEmergency Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManageEmergency_deleteEmergency).
SetArgsFunction(armatak_controller_args_ManageEmergency_deleteEmergency).
Register()
a3interface.NewRegistration("ManageChat/postChatToAll").
SetDefaultResponse("[Requested postChatToAll Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManageChat_postChatToAll).
SetArgsFunction(armatak_controller_args_ManageChat_postChatToAll).
Register()
a3interface.NewRegistration("ManageRoute/postRoute").
SetDefaultResponse("[Requested postRoute Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManageRoute_postRoute).
SetArgsFunction(armatak_controller_args_ManageRoute_postRoute).
Register()
a3interface.NewRegistration("ManagePresence/postPresence").
SetDefaultResponse("[Requested postPresence Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManagePresence_postPresence).
SetArgsFunction(armatak_controller_args_ManagePresence_postPresence).
Register()
a3interface.NewRegistration("ManagePresence/putPresence").
SetDefaultResponse("[Requested putPresence Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManagePresence_putPresence).
SetArgsFunction(armatak_controller_args_ManagePresence_putPresence).
Register()
a3interface.NewRegistration("ManageVideoStream/postVideoStream").
SetDefaultResponse("[Requested postVideoStream Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManageVideoStream_postVideoStream).
SetArgsFunction(armatak_controller_args_ManageVideoStream_postVideoStream).
Register()
a3interface.NewRegistration("Sensor/postDrone").
SetDefaultResponse("[Requested postDrone Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_Sensor_postDrone).
SetArgsFunction(armatak_controller_args_Sensor_postDrone).
Register()
a3interface.NewRegistration("Sensor/postSPI").
SetDefaultResponse("[Requested postSPI Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_Sensor_postSPI).
SetArgsFunction(armatak_controller_args_Sensor_postSPI).
Register()
a3interface.NewRegistration("ManageKML/postKML").
SetDefaultResponse("[Requested postKML Command, starting background process]").
SetRunInBackground(false).
SetFunction(armatak_controller_ManageKML_postKML).
SetArgsFunction(armatak_controller_args_ManageKML_postKML).
Register()
*/
}

View File

@@ -1,120 +1,45 @@
package main
import (
"strconv"
"encoding/json"
"github.com/google/uuid"
)
func armatak_service_ManageAPI_getHelp() (string, error) {
return getRequest("manageAPI/getHelp") // ERROR - returning unsuported on 2.2 FTS (API is returning this, not my fault)
func armatak_service_get_uid() (string, error) {
return uuid.New().String(), nil
}
func armatak_service_ManageGeoObject_postGeoObject(args []string) (string, error) {
sanitazeArgs(args)
latitude, latitudeError := strconv.ParseFloat(args[1], 32)
if latitudeError != nil {
return "", latitudeError
func armatak_service_get_auth_token(args []string) (string, error) {
authInfo := AuthInfo{
Username: args[1],
Password: args[2],
}
longitude, longitudeError := strconv.ParseFloat(args[2], 32)
response, responseError := postRequestWithoutToken(args[0]+"/api/login?include_auth_token", authInfo)
if longitudeError != nil {
return "", longitudeError
if responseError != nil {
return "", responseError
}
bearing, bearingError := strconv.ParseFloat(args[4], 32)
jsonString := string(response)
if bearingError != nil {
bearing = 0
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"`
}
payload := GeoObject{
UID: args[0],
Longitude: longitude,
Latitude: latitude,
Attitude: args[3],
Bearing: int(bearing),
GeoObject: args[5],
How: "nonCoT",
Name: args[6],
Timeout: 600,
err := json.Unmarshal([]byte(jsonString), &data)
if err != nil {
return "", err
}
return postRequest(args[7]+"/ManageGeoObject/postGeoObject", payload, args[8])
authToken := data.Response.User.AuthenticationToken
return authToken, nil
}
func armatak_service_ManageGeoObject_putGeoObject(args []string) (string, error) {
sanitazeArgs(args)
latitude, latitudeError := strconv.ParseFloat(args[1], 32)
if latitudeError != nil {
return "", latitudeError
}
longitude, longitudeError := strconv.ParseFloat(args[2], 32)
if longitudeError != nil {
return "", longitudeError
}
bearing, bearingError := strconv.ParseFloat(args[4], 32)
if bearingError != nil {
bearing = 0
}
uid := ""
if args[0] != "<null>" {
uid = args[0]
}
payload := GeoObject{
UID: uid,
Longitude: longitude,
Latitude: latitude,
Attitude: args[3],
Bearing: int(bearing),
GeoObject: args[5],
How: "nonCoT",
Name: args[6],
Timeout: 600,
}
return putRequest(args[7]+"/ManageGeoObject/putGeoObject", payload, args[8])
}
func armatak_service_ManageGeoObject_getGeoObject() {}
func armatak_service_ManageGeoObject_getGeoObjectByZone() {}
func armatak_service_ManageEmergency_postEmergency() {}
func armatak_service_ManageEmergency_getEmergency() {}
func armatak_service_ManageEmergency_deleteEmergency() {}
func armatak_service_ManageChat_postChatToAll(args []string) (string, error) {
payload := Message{
Message: args[0],
Sender: "ARMATAK",
}
return postRequest(args[1]+"/ManageChat/postChatToAll", payload, args[2])
}
func armatak_service_ManageRoute_postRoute() {}
func armatak_service_ManagePresence_postPresence() {}
func armatak_service_ManagePresence_putPresence() {}
func armatak_service_ManageVideoStream_postVideoStream() {}
func armatak_service_Sensor_postDrone() {}
func armatak_service_Sensor_postSPI() {}
func armatak_service_ManageKML_postKML() {}