about summary refs log tree commit diff
path: root/monzo_ynab
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-02-09T13·47+0000
committerWilliam Carroll <wpcarro@gmail.com>2020-02-10T10·06+0000
commit64654d1d6d1f36a20e00ee6cdc3866ff009c3a0a (patch)
tree3a764c88197e704a86ef527467b49a933c9f242d /monzo_ynab
parentec4c8472ca8eaed9a40d5decf5f909bdda96ec62 (diff)
Create gopkgs directory for golang libs
- Created a gopkgs directory and registered it with default.nix's readTree
- Moved monzo_ynab/utils -> gopkgs
- Consumed utils.go in main.go
- Renamed monzo_ynab -> job
Diffstat (limited to 'monzo_ynab')
-rw-r--r--monzo_ynab/default.nix10
-rw-r--r--monzo_ynab/job.nix16
-rw-r--r--monzo_ynab/main.go10
-rw-r--r--monzo_ynab/utils.go49
4 files changed, 19 insertions, 66 deletions
diff --git a/monzo_ynab/default.nix b/monzo_ynab/default.nix
deleted file mode 100644
index 735029bb1808..000000000000
--- a/monzo_ynab/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ depot ? import <depot> {}, ... }:
-
-depot.buildGo.program {
-  name = "monzo_ynab";
-  srcs = [
-    ./utils.go
-    ./main.go
-    ./monzo.go
-  ];
-}
diff --git a/monzo_ynab/job.nix b/monzo_ynab/job.nix
new file mode 100644
index 000000000000..f6cb78789000
--- /dev/null
+++ b/monzo_ynab/job.nix
@@ -0,0 +1,16 @@
+{
+  depot ? import <depot> {},
+  briefcase ? import <briefcase> {},
+  ...
+}:
+
+depot.buildGo.program {
+  name = "job";
+  srcs = [
+    ./main.go
+  ];
+  deps = with briefcase.gopkgs; [
+    kv
+    utils
+  ];
+}
diff --git a/monzo_ynab/main.go b/monzo_ynab/main.go
index 1709ffda786e..10dc9f3effe5 100644
--- a/monzo_ynab/main.go
+++ b/monzo_ynab/main.go
@@ -13,7 +13,6 @@ import (
 	"bytes"
 	"encoding/json"
 	"fmt"
-	"io/ioutil"
 	"log"
 	"net/http"
 	"net/http/httputil"
@@ -21,6 +20,7 @@ import (
 	"strings"
 	"os"
 	"os/exec"
+	"utils"
 )
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -78,9 +78,7 @@ func getTokens(code string) *Tokens {
 		"redirect_uri":  {redirectURI},
 		"code":          {code},
 	})
-	if err != nil {
-		log.Fatal(err)
-	}
+	utils.FailOn(err)
 	defer res.Body.Close()
 	payload := &accessTokenResponse{}
 	json.NewDecoder(res.Body).Decode(payload)
@@ -136,9 +134,7 @@ func authorize() {
 	req, _ := http.NewRequest("POST", "http://localhost:4242/set-tokens", bytes.NewBuffer(payload))
 	req.Header.Set("Content-Type", "application/json")
 	_, err := client.Do(req)
-	if err != nil {
-		log.Fatal(err)
-	}
+	utils.FailOn(err)
 }
 
 // Retrieves the access token from the tokens server.
diff --git a/monzo_ynab/utils.go b/monzo_ynab/utils.go
deleted file mode 100644
index 9b8843f24a77..000000000000
--- a/monzo_ynab/utils.go
+++ /dev/null
@@ -1,49 +0,0 @@
-package main
-
-import "log"
-
-func failOn(err error) {
-	if err != nil {
-		log.Fatal(err)
-	}
-}
-
-// Make a simple GET request to `url`. Fail if anything returns an error. I'd
-// like to accumulate a library of these, so that I can write scrappy Go
-// quickly. For now, this function just returns the body of the response back as
-// a string.
-func simpleGet(url string, headers map[string]string, debug bool) string {
-	client := &http.Client{}
-	req, err := http.NewRequest("GET", url, nil)
-	if err != nil {
-		log.Fatal(err)
-	}
-	for k, v := range headers {
-		req.Header.Add(k, v)
-	}
-
-	res, err := client.Do(req)
-	if err != nil {
-		log.Fatal(err)
-	}
-	defer res.Body.Close()
-
-	if debug {
-		bytes, _ := httputil.DumpRequest(req, true)
-		log.Println(string(bytes))
-		bytes, _ = httputil.DumpResponse(res, true)
-		log.Println(string(bytes))
-	}
-
-	if res.StatusCode == http.StatusOK {
-		bytes, err := ioutil.ReadAll(res.Body)
-		if err != nil {
-			log.Fatal(err)
-		}
-		return string(bytes)
-	} else {
-		log.Println(res)
-		log.Fatalf("HTTP status code of response not OK: %v\n", res.StatusCode)
-		return ""
-	}
-}