about summary refs log tree commit diff
path: root/monzo_ynab/utils.go
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-02-05T23·28+0000
committerWilliam Carroll <wpcarro@gmail.com>2020-02-05T23·33+0000
commitfafabc6e4a549393992dc93075e30d26d8c63731 (patch)
tree020cbea046f1e4ac1ced2649ca54193f576e7018 /monzo_ynab/utils.go
parent138070f3f6492cdd45acf17ae4e1d25e30de7653 (diff)
Support OAuth 2.0 login flow for Monzo API
After some toil and lots of learning, monzo_ynab is receiving access and refresh
tokens from Monzo. I can now use these tokens to fetch my transactions from the
past 24 hours and then forward them along to YNAB.

If YNAB's API requires OAuth 2.0 login flow for authorization, I should be able
to set that up in about an hour, which would be much faster than it took me to
setup the login flow for Monzo. Learning can be a powerful thing.

See the TODOs scattered around for a general idea of some (but not all) of the
work that remains.

TL;DR
- Package monzo_ynab with buildGo
- Move some utility functions to sibling packages
- Add a README with a project overview, installation instructions, and a brief
  note about my ideas for deployment

Note: I have some outstanding questions about how to manage state in Go. Should
I use channels? Should I use a library? Are top-level variables enough? Answers
to some or all of these questions and more coming soon...
Diffstat (limited to 'monzo_ynab/utils.go')
-rw-r--r--monzo_ynab/utils.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/monzo_ynab/utils.go b/monzo_ynab/utils.go
new file mode 100644
index 000000000000..8b7decb90a3f
--- /dev/null
+++ b/monzo_ynab/utils.go
@@ -0,0 +1,9 @@
+package main
+
+import "log"
+
+func failOn(err error) {
+	if err != nil {
+		log.Fatal(err)
+	}
+}