From 21ca6f0701ebe898270f0fa52dac068d88d2f371 Mon Sep 17 00:00:00 2001 From: schreifuchs Date: Tue, 26 Aug 2025 23:01:10 +0200 Subject: [PATCH] feat(api): test /invoice/send --- README.md | 46 ++++++++++++++++++++++++++++++++ internal/api/httpinvoce/model.go | 2 +- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 32fdec8..eddf9e2 100644 --- a/README.md +++ b/README.md @@ -63,3 +63,49 @@ curl -X POST -H "Content-Type: application/json" -d '{ ] }' http://localhost:8080/invoice ``` + +### POST /invoice/send + +Creates a new invoice and sends it by email. + +```bash +curl -X POST -H "Content-Type: application/json" -d '{ + "to": ["john.doe@example.com"], + "subject": "Invoice for project lou-taylor/accounting", + "body": "Hi John,\n\nPlease find attached the invoice for the project lou-taylor/accounting.\n\nBest regards,\nJane Doe", + "invoice": { + "debtor": { + "name": "John Doe", + "Address": { + "street": "Musterstrasse", + "number": "1", + "zipCode": "1234", + "place": "Musterstadt", + "country": "CH" + }, + "contact": "john.doe@example.com" + }, + "creditor": { + "name": "Jane Doe", + "Address": { + "street": "Beispielweg", + "number": "2", + "zipCode": "5678", + "place": "Beispielhausen", + "country": "CH" + }, + "contact": "jane.doe@example.com", + "iban": "CH1234567890123456789" + }, + "durationThreshold": "1h", + "hourlyRate": 100, + "repositories": [ + "lou-taylor/accounting" + ] + } +}' http://localhost:8080/invoice/send +``` + +``` + +``` diff --git a/internal/api/httpinvoce/model.go b/internal/api/httpinvoce/model.go index faf2859..bb98e29 100644 --- a/internal/api/httpinvoce/model.go +++ b/internal/api/httpinvoce/model.go @@ -39,7 +39,7 @@ type sendReq struct { To []string `json:"to"` Cc []string `json:"cc"` Bcc []string `json:"bcc"` - Subject string `json:"subjec"` + Subject string `json:"subject"` Body string `json:"body"` Invoice invoiceReq `json:"invoice"` }