diff options
author | William Carroll <wpcarro@gmail.com> | 2020-02-10T23·22+0000 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-02-10T23·24+0000 |
commit | e223adfec540f3de19342b16eeb6336f14ff11e5 (patch) | |
tree | d24abff8125bc547bbb40e86851cb91b18913858 /monzo_ynab/main.go | |
parent | 2e719d117418e1e8718b242c0098b5e658fe714f (diff) |
Begin work on YNAB client
After reading these docs https://api.youneedabudget.com/v1#/Transactions/createTransaction I successfully made a request to post a transaction to my YNAB account. Hastily created a client.go that doesn't contain much at the moment.
Diffstat (limited to 'monzo_ynab/main.go')
-rw-r--r-- | monzo_ynab/main.go | 23 |
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) } |