facade

package
v1.0.77 Latest Latest
Warning

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

Go to latest
Published: May 3, 2026 License: MIT Imports: 35 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Facade

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

Facade implements Service by composing specialized services

func NewService

func NewService(
	pref preferences.Service,
	tracker tracker.Service,
	registry operation.Registry,
	library library.Service,
	router *router.Router,
	uploadThumbnailSize int,
	workers int,
) *Facade

NewService creates a new Facade with all dependencies

func (Facade) AcceptLocalCard

func (u Facade) AcceptLocalCard(response UploadResponse) error

func (Facade) CheckIntegrity

func (s Facade) CheckIntegrity() (operation.ID, error)

CheckIntegrity initiates an integrity check for all cards in the vault.

func (Facade) CountRecords

func (s Facade) CountRecords(filter resource.Filter) (int, error)

func (Facade) ExportLatestCards

func (s Facade) ExportLatestCards(rids ...resource.RID) (operation.ID, error)

ExportLatestCards initiates the export of the specified cards.

func (Facade) ExportVault

func (s Facade) ExportVault() (operation.ID, error)

ExportVault exports all cards (the latest version) to a vault-named folder. Creates files with a pattern: {rid}_{template}.png Creates an index.json with map[rid]resource.Record.

func (Facade) FindPagedIDs

func (s Facade) FindPagedIDs(filter resource.Filter, offset int, limit int) ([]resource.RID, error)

func (Facade) FindRIDs

func (s Facade) FindRIDs(filter resource.Filter) ([]resource.RID, error)

func (Facade) FindRecords

func (s Facade) FindRecords(rids ...resource.RID) (resource.Box[resource.Record], error)

func (Facade) Flush

func (m Facade) Flush() (resource.Box[OperationPayload], error)

func (Facade) GetFilterControls

func (s Facade) GetFilterControls() resource.FieldControls

func (*Facade) GetSourceStatus

func (f *Facade) GetSourceStatus(sourceID source.ID) router.IntegrationStatus

func (*Facade) GetSources

func (f *Facade) GetSources() []source.ID

func (Facade) HasRequests

func (m Facade) HasRequests() bool

func (Facade) ImportURLs

func (s Facade) ImportURLs(rawURLs string) (operation.ID, error)

ImportURLs initiates the import of cards from a newline-separated list of URLs.

func (Facade) LoadLocalCard

func (u Facade) LoadLocalCard(path string) (UploadRequest, error)

func (Facade) LoadVault

func (m Facade) LoadVault(name library.VaultName) error

func (Facade) Push

func (m Facade) Push(rid resource.RID, operationID operation.ID)

func (Facade) Sheet

func (s Facade) Sheet(rid resource.RID, version timestamp.Nano) (*character.Sheet, error)

func (Facade) TagNames

func (s Facade) TagNames() ([]string, error)

func (Facade) ThumbnailBytes

func (s Facade) ThumbnailBytes(rid resource.RID) ([]byte, error)

func (Facade) ToggleFavorite

func (s Facade) ToggleFavorite(rid resource.RID) error

func (Facade) UnloadLocalCard

func (u Facade) UnloadLocalCard(signature Signature)

func (Facade) UnloadVault

func (m Facade) UnloadVault() error

func (Facade) UpdateCards

func (s Facade) UpdateCards(force bool, rids ...resource.RID) (operation.ID, error)

UpdateCards initiates async updates for the specified cards.

func (Facade) UpdateFavorites

func (s Facade) UpdateFavorites(favorite bool, rids ...resource.RID) error

type IntegrationReport

type IntegrationReport struct {
	SourceID source.ID
	Status   router.IntegrationStatus
}

IntegrationReport contains source integration status

type OperationPayload

type OperationPayload struct {
	OperationID operation.ID
	Record      resource.Record
}

OperationPayload contains operation ID and associated record

type Service

type Service interface {
	LoadVault(vault library.VaultName) error
	UnloadVault() error

	CountRecords(filter resource.Filter) (int, error)
	FindRIDs(filter resource.Filter) ([]resource.RID, error)
	FindPagedIDs(filter resource.Filter, offset int, limit int) ([]resource.RID, error)
	FindRecords(rids ...resource.RID) (resource.Box[resource.Record], error)
	Sheet(rid resource.RID, version timestamp.Nano) (*character.Sheet, error)
	ThumbnailBytes(rid resource.RID) ([]byte, error)
	TagNames() ([]string, error)

	ImportURLs(rawURLs string) (operation.ID, error)
	ExportLatestCards(rids ...resource.RID) (operation.ID, error)
	ExportVault() (operation.ID, error)
	UpdateCards(force bool, rids ...resource.RID) (operation.ID, error)
	CheckIntegrity() (operation.ID, error)

	ToggleFavorite(rid resource.RID) error
	UpdateFavorites(favorite bool, rids ...resource.RID) error

	Flush() (resource.Box[OperationPayload], error)
	HasRequests() bool

	LoadLocalCard(path string) (UploadRequest, error)
	UnloadLocalCard(signature Signature)
	AcceptLocalCard(response UploadResponse) error

	GetSources() []source.ID
	GetSourceStatus(sourceID source.ID) router.IntegrationStatus
	GetFilterControls() resource.FieldControls
}

Service is the main API for all card operations

type Signature

type Signature string

Signature uniquely identifies an uploaded card

type UploadRequest

type UploadRequest struct {
	UploadResponse
	ThumbnailBase64 string
}

UploadRequest contains upload data including thumbnail

type UploadResponse

type UploadResponse struct {
	Signature Signature
	Metadata  *models.Metadata
	Sheet     *character.Sheet
}

UploadResponse contains confirmed upload data

Jump to

Keyboard shortcuts

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