quotes

package
v1.1.15 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2026 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Overview

Package quotes provides error handling utilities for quote operations.

Package quotes provides quote functionality and relationship management for status quotes.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidQuoteRequest     = pkgerrors.ValidationFailedWithField("quote request")
	ErrTargetStatusNotFound    = pkgerrors.NotFound("target status")
	ErrTargetStatusNotQuotable = pkgerrors.BusinessRuleViolated("target status not quotable", nil)
	ErrNotAuthorizedToQuote    = pkgerrors.InsufficientPermissions("quote status")
	ErrQuoteContentTooLong     = pkgerrors.ContentValidationFailed("quote content", "too long")
)

Quote validation errors

View Source
var (
	ErrCreateQuoteStatus          = pkgerrors.FailedToCreate("quote status", nil)
	ErrCreateQuoteRelationship    = pkgerrors.FailedToCreate("quote relationship", nil)
	ErrQuoteRelationshipNotFound  = pkgerrors.NotFound("quote relationship")
	ErrNotAuthorizedToDeleteQuote = pkgerrors.InsufficientPermissions("delete quote")
	ErrWithdrawQuoteRelationship  = pkgerrors.FailedToDelete("quote relationship", nil)
)

Quote operation errors

View Source
var (
	ErrSaveQuotePermissions = pkgerrors.FailedToSave("quote permissions", nil)
)

Quote permissions errors

Functions

func ErrCheckExistingPermissions

func ErrCheckExistingPermissions(err error) *pkgerrors.AppError

ErrCheckExistingPermissions returns an error when failing to check existing quote permissions

func ErrCheckQuotePermissions

func ErrCheckQuotePermissions(err error) *pkgerrors.AppError

ErrCheckQuotePermissions returns an error when failing to check quote permissions

func ErrGetQuotePermissions

func ErrGetQuotePermissions(err error) *pkgerrors.AppError

ErrGetQuotePermissions returns an error when failing to retrieve quote permissions

func ErrGetQuoteRelationship

func ErrGetQuoteRelationship(err error) *pkgerrors.AppError

ErrGetQuoteRelationship returns an error when failing to retrieve a single quote relationship

func ErrGetQuoteRelationships

func ErrGetQuoteRelationships(err error) *pkgerrors.AppError

ErrGetQuoteRelationships returns an error when failing to retrieve quote relationships

func ErrGetTargetStatus

func ErrGetTargetStatus(err error) *pkgerrors.AppError

ErrGetTargetStatus returns an error when failing to retrieve the target status for a quote

Types

type CreateQuoteRequest

type CreateQuoteRequest struct {
	QuoterUsername string
	TargetStatusID string
	Content        string
	Visibility     string
	SpoilerText    string
	Sensitive      bool
	Language       string
}

CreateQuoteRequest represents a request to create a quote post

type QuotePostResult

type QuotePostResult struct {
	QuoteStatus       *models.Status
	QuoteRelationship *models.QuoteRelationship
	TargetStatus      *models.Status
}

QuotePostResult represents the result of creating a quote post

type QuoteService

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

QuoteService provides quote posts functionality

func NewQuoteService

func NewQuoteService(storage core.RepositoryStorage, logger *zap.Logger) *QuoteService

NewQuoteService creates a new quote service

func (*QuoteService) AttachQuoteToStatus

func (qs *QuoteService) AttachQuoteToStatus(ctx context.Context, quoteStatus *models.Status, targetStatusID string) (*QuotePostResult, error)

AttachQuoteToStatus links an existing status to a target status as a quote

func (*QuoteService) CreateQuotePost

func (qs *QuoteService) CreateQuotePost(ctx context.Context, req *CreateQuoteRequest) (*QuotePostResult, error)

CreateQuotePost creates a new quote post

func (*QuoteService) DeleteQuotePost

func (qs *QuoteService) DeleteQuotePost(ctx context.Context, quoteStatusID, targetStatusID, username string) error

DeleteQuotePost removes a quote post and its relationship

func (*QuoteService) GetQuotePermissions

func (qs *QuoteService) GetQuotePermissions(ctx context.Context, username string) (*models.QuotePermissions, error)

GetQuotePermissions retrieves quote permissions for a user

func (*QuoteService) GetQuotesForStatus

func (qs *QuoteService) GetQuotesForStatus(ctx context.Context, statusID string, limit, offset int) ([]*models.Status, error)

GetQuotesForStatus retrieves quote posts for a given status

func (*QuoteService) UpdateQuotePermissions

func (qs *QuoteService) UpdateQuotePermissions(ctx context.Context, permissions *models.QuotePermissions) error

UpdateQuotePermissions updates quote permissions for a user

func (*QuoteService) WithdrawFromQuotes

func (qs *QuoteService) WithdrawFromQuotes(ctx context.Context, noteID, userID string) (*models.Status, int, error)

WithdrawFromQuotes withdraws all quotes of a note by a user

Jump to

Keyboard shortcuts

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