fireflyiii

package
v0.98.0 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2026 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Package fireflyiii implements the Firefly III adapter for the finance capability.

Index

Constants

View Source
const (
	OpCreateTransaction = "create_transaction"
	OpAbout             = "about"
	OpCurrentUser       = "current_user"
	OpHealth            = "health"
)

Variables

This section is empty.

Functions

func Register

func Register(app string, svc Service) error

Register registers the fireflyiii capability with hub and invoker registry. When svc is nil the provider is not configured and registration is skipped.

Types

type Adapter

type Adapter struct {
	// contains filtered or unexported fields
}

Adapter implements Service using the Firefly III provider client.

func (*Adapter) About

func (a *Adapter) About(ctx context.Context) (*capability.FinanceAbout, error)

About returns Firefly III instance metadata.

func (*Adapter) CreateTransaction

func (a *Adapter) CreateTransaction(ctx context.Context, in CreateTransactionInput) (*capability.Transaction, error)

CreateTransaction creates a new finance transaction. Source and destination must each be identified by id and/or name. ApplyRules and FireWebhooks are enabled so Firefly processes rules and notifies listeners.

func (*Adapter) CurrentUser

func (a *Adapter) CurrentUser(ctx context.Context) (*capability.FinanceUser, error)

CurrentUser returns the authenticated Firefly III user.

func (*Adapter) HealthCheck

func (a *Adapter) HealthCheck(ctx context.Context) (bool, error)

HealthCheck reports whether the Firefly III backend is reachable.

type CreateTransactionInput

type CreateTransactionInput struct {
	Type            string
	Date            string
	Amount          string
	Description     string
	SourceID        string
	SourceName      string
	DestinationID   string
	DestinationName string
	CategoryName    string
	Notes           string
}

CreateTransactionInput holds parameters for creating a finance transaction.

type Service

type Service interface {
	CreateTransaction(ctx context.Context, in CreateTransactionInput) (*capability.Transaction, error)
	About(ctx context.Context) (*capability.FinanceAbout, error)
	CurrentUser(ctx context.Context) (*capability.FinanceUser, error)
	HealthCheck(ctx context.Context) (bool, error)
}

Service defines the fireflyiii finance capability contract.

func New

func New() Service

New creates an Adapter using the default provider client (reads config from YAML). Returns nil when the provider is not configured.

func NewWithClient

func NewWithClient(c client) Service

NewWithClient creates an Adapter with a specific client, useful for testing.

Jump to

Keyboard shortcuts

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