summary history files

desktop/backend/types/split.go
package types

import (
	"fmt"
	"pennyapp/backend/model"
)

type SplitResponse struct {
	Success bool   `json:"success"`
	Msg     string `json:"msg"`
	Data    Split  `json:"data"`
}

func NewSplitResponse(s model.Split) SplitResponse {
	split := Split{
		ID:         s.ID,
		ValueNum:   s.ValueNum,
		ValueDenom: s.ValueDenom,
		Amount:     getAmountAsString(s.ValueNum, s.ValueDenom),
		Account: Account{
			ID:   s.R.Account.ID,
			Name: s.R.Account.Name,
			AccountType: AccountType{
				ID:   s.R.Account.R.AccountType.ID,
				Name: s.R.Account.R.AccountType.Name,
			},
		},
	}

	r := SplitResponse{
		Success: false,
		Msg:     "default",
		Data:    split,
	}
	return r
}

type Split struct {
	ID         int64   `json:"id"`
	ValueNum   int64   `json:"value_num"`
	ValueDenom int64   `json:"value_denom"`
	Amount     string  `json:"amount"`
	Account    Account `json:"account"`
}

func NewSplit(s *model.Split) (Split, error) {
	var split Split

	if s.R.Account == nil {
		return split, fmt.Errorf("missing split account relationship")
	}

	split = Split{
		ID:         s.ID,
		ValueNum:   s.ValueNum,
		ValueDenom: s.ValueDenom,
	}

	split.Account = Account{
		ID:   s.R.Account.ID,
		Name: s.R.Account.Name,
	}
	return split, nil
}