common

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2026 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Overview

Package common provides shared output modules that work across services.

All outputs in this package auto-register themselves via init() functions. Simply import this package to make all outputs available:

import _ "github.com/fulgidus/revoco/outputs/common"

Available outputs:

  • local-folder: Copy/move files to local directory
  • immich: Upload to Immich photo server
  • photoprism: Upload to PhotoPrism server
  • s3: Upload to S3-compatible storage
  • google-photos-api: Upload to Google Photos via API

Package common provides shared output modules that work across services.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GooglePhotosOutput

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

GooglePhotosOutput uploads files to Google Photos via the API. Supports both OAuth and cookie-based authentication.

func NewGooglePhotos

func NewGooglePhotos() *GooglePhotosOutput

NewGooglePhotos creates a new Google Photos API output.

func (*GooglePhotosOutput) ConfigSchema

func (o *GooglePhotosOutput) ConfigSchema() []core.ConfigOption

func (*GooglePhotosOutput) Description

func (o *GooglePhotosOutput) Description() string

func (*GooglePhotosOutput) Export

func (*GooglePhotosOutput) ExportBatch

func (o *GooglePhotosOutput) ExportBatch(ctx context.Context, items []core.ProcessedItem, progress core.ProgressFunc) error

func (*GooglePhotosOutput) Finalize

func (o *GooglePhotosOutput) Finalize(ctx context.Context) error

func (*GooglePhotosOutput) ID

func (o *GooglePhotosOutput) ID() string

func (*GooglePhotosOutput) Initialize

func (o *GooglePhotosOutput) Initialize(ctx context.Context, cfg core.OutputConfig) error

func (*GooglePhotosOutput) Name

func (o *GooglePhotosOutput) Name() string

func (*GooglePhotosOutput) SupportedItemTypes

func (o *GooglePhotosOutput) SupportedItemTypes() []string

type ImmichOutput

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

ImmichOutput uploads files to an Immich server via REST API.

func NewImmich

func NewImmich() *ImmichOutput

NewImmich creates a new Immich output.

func (*ImmichOutput) ConfigSchema

func (o *ImmichOutput) ConfigSchema() []core.ConfigOption

func (*ImmichOutput) Description

func (o *ImmichOutput) Description() string

func (*ImmichOutput) Export

func (o *ImmichOutput) Export(ctx context.Context, item core.ProcessedItem) error

func (*ImmichOutput) ExportBatch

func (o *ImmichOutput) ExportBatch(ctx context.Context, items []core.ProcessedItem, progress core.ProgressFunc) error

func (*ImmichOutput) Finalize

func (o *ImmichOutput) Finalize(ctx context.Context) error

func (*ImmichOutput) ID

func (o *ImmichOutput) ID() string

func (*ImmichOutput) Initialize

func (o *ImmichOutput) Initialize(ctx context.Context, cfg core.OutputConfig) error

func (*ImmichOutput) Name

func (o *ImmichOutput) Name() string

func (*ImmichOutput) SupportedItemTypes

func (o *ImmichOutput) SupportedItemTypes() []string

type LocalFolderOutput

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

LocalFolderOutput copies processed files to a local directory.

func NewLocalFolder

func NewLocalFolder() *LocalFolderOutput

NewLocalFolder creates a new local folder output.

func (*LocalFolderOutput) ConfigSchema

func (o *LocalFolderOutput) ConfigSchema() []core.ConfigOption

func (*LocalFolderOutput) Description

func (o *LocalFolderOutput) Description() string

func (*LocalFolderOutput) Export

func (*LocalFolderOutput) ExportBatch

func (o *LocalFolderOutput) ExportBatch(ctx context.Context, items []core.ProcessedItem, progress core.ProgressFunc) error

func (*LocalFolderOutput) ExportStream

func (o *LocalFolderOutput) ExportStream(ctx context.Context, item core.ProcessedItem, reader io.Reader, size int64) error

func (*LocalFolderOutput) Finalize

func (o *LocalFolderOutput) Finalize(ctx context.Context) error

func (*LocalFolderOutput) ID

func (o *LocalFolderOutput) ID() string

func (*LocalFolderOutput) Initialize

func (o *LocalFolderOutput) Initialize(ctx context.Context, cfg core.OutputConfig) error

func (*LocalFolderOutput) Name

func (o *LocalFolderOutput) Name() string

func (*LocalFolderOutput) SupportedItemTypes

func (o *LocalFolderOutput) SupportedItemTypes() []string

func (*LocalFolderOutput) SupportsStreaming

func (o *LocalFolderOutput) SupportsStreaming() bool

type PhotoprismOutput

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

PhotoprismOutput uploads files to a Photoprism server via REST API.

func NewPhotoprism

func NewPhotoprism() *PhotoprismOutput

NewPhotoprism creates a new Photoprism output.

func (*PhotoprismOutput) ConfigSchema

func (o *PhotoprismOutput) ConfigSchema() []core.ConfigOption

func (*PhotoprismOutput) Description

func (o *PhotoprismOutput) Description() string

func (*PhotoprismOutput) Export

func (o *PhotoprismOutput) Export(ctx context.Context, item core.ProcessedItem) error

func (*PhotoprismOutput) ExportBatch

func (o *PhotoprismOutput) ExportBatch(ctx context.Context, items []core.ProcessedItem, progress core.ProgressFunc) error

func (*PhotoprismOutput) Finalize

func (o *PhotoprismOutput) Finalize(ctx context.Context) error

func (*PhotoprismOutput) ID

func (o *PhotoprismOutput) ID() string

func (*PhotoprismOutput) Initialize

func (o *PhotoprismOutput) Initialize(ctx context.Context, cfg core.OutputConfig) error

func (*PhotoprismOutput) Name

func (o *PhotoprismOutput) Name() string

func (*PhotoprismOutput) SupportedItemTypes

func (o *PhotoprismOutput) SupportedItemTypes() []string

type S3Output

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

S3Output uploads files to S3-compatible object storage.

func NewS3

func NewS3() *S3Output

NewS3 creates a new S3 output.

func (*S3Output) ConfigSchema

func (o *S3Output) ConfigSchema() []core.ConfigOption

func (*S3Output) Description

func (o *S3Output) Description() string

func (*S3Output) Export

func (o *S3Output) Export(ctx context.Context, item core.ProcessedItem) error

func (*S3Output) ExportBatch

func (o *S3Output) ExportBatch(ctx context.Context, items []core.ProcessedItem, progress core.ProgressFunc) error

func (*S3Output) ExportStream

func (o *S3Output) ExportStream(ctx context.Context, item core.ProcessedItem, reader io.Reader, size int64) error

func (*S3Output) Finalize

func (o *S3Output) Finalize(ctx context.Context) error

func (*S3Output) ID

func (o *S3Output) ID() string

func (*S3Output) Initialize

func (o *S3Output) Initialize(ctx context.Context, cfg core.OutputConfig) error

func (*S3Output) Name

func (o *S3Output) Name() string

func (*S3Output) SupportedItemTypes

func (o *S3Output) SupportedItemTypes() []string

func (*S3Output) SupportsStreaming

func (o *S3Output) SupportsStreaming() bool

Streaming support

Jump to

Keyboard shortcuts

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