From 241fe9e5fe6900e6bc68e46e7ae2f62bd111ca26 Mon Sep 17 00:00:00 2001 From: Carlosokumu Date: Fri, 30 Aug 2024 09:14:17 +0300 Subject: [PATCH] remove repeated code --- internal/handlers/server/accountstatus.go | 46 ----------------------- internal/handlers/server/balancecheck.go | 36 ------------------ internal/handlers/server/createaccount.go | 37 ------------------ 3 files changed, 119 deletions(-) delete mode 100644 internal/handlers/server/accountstatus.go delete mode 100644 internal/handlers/server/balancecheck.go delete mode 100644 internal/handlers/server/createaccount.go diff --git a/internal/handlers/server/accountstatus.go b/internal/handlers/server/accountstatus.go deleted file mode 100644 index 400642c..0000000 --- a/internal/handlers/server/accountstatus.go +++ /dev/null @@ -1,46 +0,0 @@ -package server - -import ( - "encoding/json" - "io" - "net/http" - - "git.grassecon.net/urdt/ussd/config" - "git.grassecon.net/urdt/ussd/internal/models" -) - -// CheckAccountStatus retrieves the status of an account transaction based on the provided tracking ID. -// -// Parameters: -// - trackingId: A unique identifier for the account.This should be obtained from a previous call to -// CreateAccount or a similar function that returns an AccountResponse. The `trackingId` field in the -// AccountResponse struct can be used here to check the account status during a transaction. -// -// -// Returns: -// - string: The status of the transaction as a string. If there is an error during the request or processing, this will be an empty string. -// - error: An error if any occurred during the HTTP request, reading the response, or unmarshalling the JSON data. -// If no error occurs, this will be nil. -// -func CheckAccountStatus(trackingId string) (string, error) { - resp, err := http.Get(config.TrackStatusURL + trackingId) - if err != nil { - return "", err - } - defer resp.Body.Close() - - body, err := io.ReadAll(resp.Body) - if err != nil { - return "", err - } - - var trackResp models.TrackStatusResponse - err = json.Unmarshal(body, &trackResp) - if err != nil { - return "", err - } - - status := trackResp.Result.Transaction.Status - - return status, nil -} diff --git a/internal/handlers/server/balancecheck.go b/internal/handlers/server/balancecheck.go deleted file mode 100644 index 85355be..0000000 --- a/internal/handlers/server/balancecheck.go +++ /dev/null @@ -1,36 +0,0 @@ -package server - -import ( - "encoding/json" - "io" - "net/http" - - "git.grassecon.net/urdt/ussd/config" - "git.grassecon.net/urdt/ussd/internal/models" -) - -// CheckBalance retrieves the balance for a given public key from the custodial balance API endpoint. -// Parameters: -// - publicKey: The public key associated with the account whose balance needs to be checked. -func CheckBalance(publicKey string) (string, error) { - - resp, err := http.Get(config.BalanceURL + publicKey) - if err != nil { - return "0.0", err - } - defer resp.Body.Close() - - body, err := io.ReadAll(resp.Body) - if err != nil { - return "0.0", err - } - - var balanceResp models.BalanceResponse - err = json.Unmarshal(body, &balanceResp) - if err != nil { - return "0.0", err - } - - balance := balanceResp.Result.Balance - return balance, nil -} diff --git a/internal/handlers/server/createaccount.go b/internal/handlers/server/createaccount.go deleted file mode 100644 index 4b7150c..0000000 --- a/internal/handlers/server/createaccount.go +++ /dev/null @@ -1,37 +0,0 @@ -package server - -import ( - "encoding/json" - "io" - "net/http" - - "git.grassecon.net/urdt/ussd/config" - "git.grassecon.net/urdt/ussd/internal/models" -) - -//CreateAccount creates a new account in the custodial system. -// Returns: -// - *models.AccountResponse: A pointer to an AccountResponse struct containing the details of the created account. -// If there is an error during the request or processing, this will be nil. -// - error: An error if any occurred during the HTTP request, reading the response, or unmarshalling the JSON data. -// If no error occurs, this will be nil. -func CreateAccount() (*models.AccountResponse, error) { - resp, err := http.Post(config.CreateAccountURL, "application/json", nil) - if err != nil { - return nil, err - } - defer resp.Body.Close() - - body, err := io.ReadAll(resp.Body) - if err != nil { - return nil, err - } - - var accountResp models.AccountResponse - err = json.Unmarshal(body, &accountResp) - if err != nil { - return nil, err - } - - return &accountResp, nil -} \ No newline at end of file