Add warp account methods

This commit is contained in:
problematicconsumer
2024-02-18 12:31:17 +03:30
parent 3843ecd0d5
commit 203bd51f6d
3 changed files with 40 additions and 0 deletions

24
config/warp_account.go Normal file
View File

@@ -0,0 +1,24 @@
package config
import "encoding/json"
type WarpAccount struct {
AccountID string `json:"account-id"`
AccessToken string `json:"access-token"`
}
func GenerateWarpAccount(licenseKey string, accountId string, accessToken string) (string, error) {
data, _, _, err := GenerateWarpInfo(licenseKey, accountId, accessToken)
if err != nil {
return "", err
}
warpAccount := WarpAccount{
AccountID: data.AccountID,
AccessToken: data.AccessToken,
}
accountJson, err := json.Marshal(warpAccount)
if err != nil {
return "", err
}
return string(accountJson), nil
}

View File

@@ -295,4 +295,16 @@ func urlTest(groupTag *C.char) (CErr *C.char) {
return C.CString("")
}
//export generateWarpConfig
func generateWarpConfig(licenseKey *C.char, accountId *C.char, accessToken *C.char) (CResp *C.char) {
defer config.DeferPanicToError("generateWarpConfig", func(err error) {
CResp = C.CString(fmt.Sprint("error: ", err.Error()))
})
account, err := config.GenerateWarpAccount(C.GoString(licenseKey), C.GoString(accountId), C.GoString(accessToken))
if err != nil {
return C.CString(fmt.Sprint("error: ", err.Error()))
}
return C.CString(account)
}
func main() {}

View File

@@ -36,3 +36,7 @@ func BuildConfig(path string, configOptionsJson string) (string, error) {
}
return config.BuildConfigJson(*configOptions, options)
}
func GenerateWarpConfig(licenseKey string, accountId string, accessToken string) (string, error) {
return config.GenerateWarpAccount(licenseKey, accountId, accessToken)
}