no more last n lines
This commit is contained in:
@@ -70,44 +70,17 @@ func (router Router) FS(w http.ResponseWriter, r *http.Request) {
|
||||
func (router Router) API(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.URL.Path {
|
||||
case "/api/transactions":
|
||||
bpis, err := router.bpis()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
lastNLines, err := router.files.TempGetLastNLines(20)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
deltas, err := router.files.Deltas()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
json.NewEncoder(w).Encode(map[string]any{
|
||||
"deltas": deltas.Like(ledger.LikeAfter(time.Now().Add(-1 * time.Hour * 24 * 365 / 2).Format("2006-01"))),
|
||||
"balances": deltas.Balances().
|
||||
Like("^(Bel:Asset|Zach:Asset|HouseyMcHouseface:Debts:Credit)").
|
||||
Group(`^[^:]*`).
|
||||
WithBPIs(bpis),
|
||||
"lastNLines": lastNLines,
|
||||
})
|
||||
return
|
||||
case "/api/lastnlines":
|
||||
if r.Method != http.MethodPut {
|
||||
http.NotFound(w, r)
|
||||
return
|
||||
}
|
||||
var lines []string
|
||||
if err := json.NewDecoder(r.Body).Decode(&lines); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := router.files.TempSetLastNLines(20, lines); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusBadRequest)
|
||||
}
|
||||
w.WriteHeader(http.StatusResetContent)
|
||||
return
|
||||
router.APITransactions(w, r)
|
||||
case "/api/amend":
|
||||
router.APILastNLines(w, r)
|
||||
case "/api/reg":
|
||||
router.APIReg(w, r)
|
||||
default:
|
||||
http.NotFound(w, r)
|
||||
}
|
||||
}
|
||||
|
||||
func (router Router) APIReg(w http.ResponseWriter, r *http.Request) {
|
||||
deltas, err := router.files.Deltas()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
@@ -339,6 +312,34 @@ func (router Router) API(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
|
||||
func (router Router) APITransactions(w http.ResponseWriter, r *http.Request) {
|
||||
bpis, err := router.bpis()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
lastNLines, err := router.files.TempGetLastNLines(20)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
deltas, err := router.files.Deltas()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
json.NewEncoder(w).Encode(map[string]any{
|
||||
"deltas": deltas.Like(ledger.LikeAfter(time.Now().Add(-1 * time.Hour * 24 * 365 / 2).Format("2006-01"))),
|
||||
"balances": deltas.Balances().
|
||||
Like("^(Bel:Asset|Zach:Asset|HouseyMcHouseface:Debts:Credit)").
|
||||
Group(`^[^:]*`).
|
||||
WithBPIs(bpis),
|
||||
"lastNLines": lastNLines,
|
||||
})
|
||||
}
|
||||
|
||||
func (router Router) APILastNLines(w http.ResponseWriter, r *http.Request) {
|
||||
http.Error(w, http.StatusText(http.StatusNotImplemented), http.StatusNotImplemented)
|
||||
}
|
||||
|
||||
func (r Router) bpis() (ledger.BPIs, error) {
|
||||
if r.bpiPath == "" {
|
||||
return make(ledger.BPIs), nil
|
||||
|
||||
Reference in New Issue
Block a user