about summary refs log tree commit diff
path: root/monzo_ynab/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'monzo_ynab/main.go')
-rw-r--r--monzo_ynab/main.go23
1 files changed, 22 insertions, 1 deletions
diff --git a/monzo_ynab/main.go b/monzo_ynab/main.go
index 835cfadcb7db..06f1944eab70 100644
--- a/monzo_ynab/main.go
+++ b/monzo_ynab/main.go
@@ -13,10 +13,31 @@ import (
 	"fmt"
 )
 
+var (
+	ynabAccountID = os.Getenv("ynab_account_id")
+)
+
 ////////////////////////////////////////////////////////////////////////////////
 // Business Logic
 ////////////////////////////////////////////////////////////////////////////////
 
+// Convert a Monzo transaction struct, `tx`, into a YNAB transaction struct.
+func toYnab(tx monzoSerde.Transaction) ynabSerde.Transaction {
+	return ynabSerde.Transaction{
+		Id: tx.Id,
+		Date: tx.Created,
+		Amount: tx.Amount,
+		Memo: tx.Notes,
+		AccountId: ynabAccountID,
+	}
+}
+
 func main() {
-	fmt.Println("To be implemented...")
+	txs := monzo.TransactionsLast24Hours()
+	var ynabTxs []ynabSerde.Transaction{}
+	for tx := range txs {
+		append(ynabTxs, toYnab(tx))
+	}
+	ynab.PostTransactions(ynabTxs)
+	os.Exit(0)
 }