api

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultBaseURL = "https://app.getoutline.com"

Variables

This section is empty.

Functions

This section is empty.

Types

type Abilities

type Abilities struct {
	Read   bool `json:"read"`
	Delete bool `json:"delete"`
}

type Client

type Client struct {
	HTTPClient *http.Client
	Config     *Config
}

func NewClient

func NewClient(config *Config) (*Client, error)

func (*Client) DeleteFileOperation

func (c *Client) DeleteFileOperation(ctx context.Context, id string) error

DeleteFileOperation deletes a file operation.

func (*Client) DownloadFileExport

func (c *Client) DownloadFileExport(ctx context.Context, id string) (io.ReadCloser, error)

DownloadFileExport downloads a file export.

func (*Client) GenerateExport

func (c *Client) GenerateExport(ctx context.Context, format ExportFormat, includeAttachments bool) (*FileOperation, error)

GenerateExport generates an export of all collections. Note that it will likely be pending once returned, and you should poll until it's ready. See [WaitForFileOperation] and [GenerateExportAndWait] for more information.

func (*Client) GenerateExportAndWait

func (c *Client) GenerateExportAndWait(ctx context.Context, format ExportFormat, includeAttachments bool) (*FileOperation, error)

GenerateExportAndWait generates an export of all collections and waits for it to complete.

func (*Client) GetFileOperation

func (c *Client) GetFileOperation(ctx context.Context, id string) (*FileOperation, error)

GetFileOperation fetches a specific file operation.

func (*Client) ListFileOperations

func (c *Client) ListFileOperations(ctx context.Context) iter.Seq2[*FileOperation, error]

ListFileOperations lists all file operations.

func (*Client) WaitForFileOperation

func (c *Client) WaitForFileOperation(ctx context.Context, id string) (*FileOperation, error)

WaitForFileOperation waits for a file operation to complete. Use a context to cancel the operation if it takes too long.

type Config

type Config struct {
	BaseURL string
	Token   string
	Logger  *slog.Logger
}

type ExportFormat

type ExportFormat string
const (
	ExportFormatMarkdown ExportFormat = "outline-markdown"
	ExportFormatHTML     ExportFormat = "html"
	ExportFormatJSON     ExportFormat = "json"
)

type FileOperation

type FileOperation struct {
	ID        string              `json:"id"`
	Name      string              `json:"name"`
	Type      FileOperationType   `json:"type"`
	Format    ExportFormat        `json:"format"`
	State     FileOperationState  `json:"state"`
	Error     *FileOperationError `json:"error"`
	CreatedAt time.Time           `json:"createdAt"`
	UpdatedAt time.Time           `json:"updatedAt"`
}

type FileOperationError

type FileOperationError struct {
	Data    map[string]any `json:"data,omitempty"`
	Error   string         `json:"error,omitempty"`
	Message string         `json:"message,omitempty"`
	Ok      bool           `json:"ok,omitempty"`
	Status  float32        `json:"status,omitempty"`
}

func (*FileOperationError) UnmarshalJSON added in v1.1.0

func (e *FileOperationError) UnmarshalJSON(data []byte) error

type FileOperationState

type FileOperationState string
const (
	FileOperationStateComplete  FileOperationState = "complete"
	FileOperationStateCreating  FileOperationState = "creating"
	FileOperationStateError     FileOperationState = "error"
	FileOperationStateExpired   FileOperationState = "expired"
	FileOperationStateUploading FileOperationState = "uploading"
)

type FileOperationType

type FileOperationType string
const (
	FileOperationTypeExport FileOperationType = "export"
	FileOperationTypeImport FileOperationType = "import"
)

type Pagination

type Pagination struct {
	Limit    int    `json:"limit"`
	Offset   int    `json:"offset"`
	Total    int    `json:"total"`
	NextPath string `json:"nextPath"`
}

type Policies

type Policies struct {
	ID        string    `json:"id"`
	Abilities Abilities `json:"abilities"`
}

Jump to

Keyboard shortcuts

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