model

package
v0.0.0-...-ec25b82 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

This section is empty.

Types

type Account

type Account struct {
	Tenant               *Tenant        `json:"tenant"`
	ID                   string         `json:"id"`
	DisplayName          string         `json:"displayName"`
	Icon                 string         `json:"icon"`
	Labels               []*KeyAndValue `json:"labels"`
	ChildCount           int            `json:"childCount"`
	Children             []*Account     `json:"children"`
	Parent               *Account       `json:"parent,omitempty"`
	OutgoingTransactions []*Transaction `json:"outgoingTransactions"`
	IncomingTransactions []*Transaction `json:"incomingTransactions"`
}

type AccountChanges

type AccountChanges struct {
	DisplayName *string             `json:"displayName,omitempty"`
	Icon        *string             `json:"icon,omitempty"`
	Labels      []*KeyAndValueInput `json:"labels,omitempty"`
	ParentID    *string             `json:"parentID,omitempty"`
}

type KeyAndValue

type KeyAndValue struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type KeyAndValueInput

type KeyAndValueInput struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type Money

type Money uint64

func MustParseMoney

func MustParseMoney(s string) Money

func NewMoney

func NewMoney(primary, secondary uint64) Money

func ParseMoney

func ParseMoney(s string) (Money, error)

func (Money) FormatContext

func (m Money) FormatContext(_ context.Context) (string, error)

func (Money) MarshalGQLContext

func (m Money) MarshalGQLContext(ctx context.Context, w io.Writer) error

func (Money) Primary

func (m Money) Primary() uint64

func (Money) Secondary

func (m Money) Secondary() uint64

func (Money) String

func (m Money) String() string

func (*Money) UnmarshalGQLContext

func (m *Money) UnmarshalGQLContext(_ context.Context, v interface{}) error

type Operation

type Operation struct {
	ID          string          `json:"id"`
	Name        string          `json:"name"`
	Description *string         `json:"description,omitempty"`
	Status      OperationStatus `json:"status"`
	Result      OperationResult `json:"result"`
	CreatedAt   string          `json:"createdAt"`
	UpdatedAt   string          `json:"updatedAt"`
}

type OperationChanges

type OperationChanges struct {
	Name        string          `json:"name"`
	Description *string         `json:"description,omitempty"`
	Status      OperationStatus `json:"status"`
	Result      OperationResult `json:"result"`
}

type OperationResult

type OperationResult string
const (
	OperationResultSucceeded OperationResult = "SUCCEEDED"
	OperationResultFailed    OperationResult = "FAILED"
)

func (OperationResult) IsValid

func (e OperationResult) IsValid() bool

func (OperationResult) MarshalGQL

func (e OperationResult) MarshalGQL(w io.Writer)

func (OperationResult) String

func (e OperationResult) String() string

func (*OperationResult) UnmarshalGQL

func (e *OperationResult) UnmarshalGQL(v interface{}) error

type OperationStatus

type OperationStatus string
const (
	OperationStatusPending   OperationStatus = "PENDING"
	OperationStatusAccepted  OperationStatus = "ACCEPTED"
	OperationStatusRejected  OperationStatus = "REJECTED"
	OperationStatusStarted   OperationStatus = "STARTED"
	OperationStatusCompleted OperationStatus = "COMPLETED"
)

func (OperationStatus) IsValid

func (e OperationStatus) IsValid() bool

func (OperationStatus) MarshalGQL

func (e OperationStatus) MarshalGQL(w io.Writer)

func (OperationStatus) String

func (e OperationStatus) String() string

func (*OperationStatus) UnmarshalGQL

func (e *OperationStatus) UnmarshalGQL(v interface{}) error

type Tenant

type Tenant struct {
	ID           string         `json:"id"`
	DisplayName  string         `json:"displayName"`
	Accounts     []*Account     `json:"accounts"`
	Account      *Account       `json:"account,omitempty"`
	Transactions []*Transaction `json:"transactions"`
}

type TenantChanges

type TenantChanges struct {
	DisplayName string `json:"displayName"`
}

type Transaction

type Transaction struct {
	ID            string    `json:"id"`
	Date          time.Time `json:"Date"`
	TargetAccount *Account  `json:"targetAccount"`
	SourceAccount *Account  `json:"sourceAccount"`
	ReferenceID   string    `json:"referenceID"`
	Amount        Money     `json:"amount"`
	Description   string    `json:"description"`
}

type TransactionChanges

type TransactionChanges struct {
	Date            time.Time `json:"Date"`
	TargetAccountID string    `json:"targetAccountID"`
	SourceAccountID string    `json:"sourceAccountID"`
	ReferenceID     string    `json:"referenceID"`
	Amount          Money     `json:"amount"`
	Description     string    `json:"description"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL