Documentation
¶
Overview ¶
Package quotes provides error handling utilities for quote operations.
Package quotes provides quote functionality and relationship management for status quotes.
Index ¶
- Variables
- func ErrCheckExistingPermissions(err error) *pkgerrors.AppError
- func ErrCheckQuotePermissions(err error) *pkgerrors.AppError
- func ErrGetQuotePermissions(err error) *pkgerrors.AppError
- func ErrGetQuoteRelationship(err error) *pkgerrors.AppError
- func ErrGetQuoteRelationships(err error) *pkgerrors.AppError
- func ErrGetTargetStatus(err error) *pkgerrors.AppError
- type CreateQuoteRequest
- type QuotePostResult
- type QuoteService
- func (qs *QuoteService) AttachQuoteToStatus(ctx context.Context, quoteStatus *models.Status, targetStatusID string) (*QuotePostResult, error)
- func (qs *QuoteService) CreateQuotePost(ctx context.Context, req *CreateQuoteRequest) (*QuotePostResult, error)
- func (qs *QuoteService) DeleteQuotePost(ctx context.Context, quoteStatusID, targetStatusID, username string) error
- func (qs *QuoteService) GetQuotePermissions(ctx context.Context, username string) (*models.QuotePermissions, error)
- func (qs *QuoteService) GetQuotesForStatus(ctx context.Context, statusID string, limit, offset int) ([]*models.Status, error)
- func (qs *QuoteService) UpdateQuotePermissions(ctx context.Context, permissions *models.QuotePermissions) error
- func (qs *QuoteService) WithdrawFromQuotes(ctx context.Context, noteID, userID string) (*models.Status, int, error)
Constants ¶
This section is empty.
Variables ¶
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
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
var (
ErrSaveQuotePermissions = pkgerrors.FailedToSave("quote permissions", nil)
)
Quote permissions errors
Functions ¶
func ErrCheckExistingPermissions ¶
ErrCheckExistingPermissions returns an error when failing to check existing quote permissions
func ErrCheckQuotePermissions ¶
ErrCheckQuotePermissions returns an error when failing to check quote permissions
func ErrGetQuotePermissions ¶
ErrGetQuotePermissions returns an error when failing to retrieve quote permissions
func ErrGetQuoteRelationship ¶
ErrGetQuoteRelationship returns an error when failing to retrieve a single quote relationship
func ErrGetQuoteRelationships ¶
ErrGetQuoteRelationships returns an error when failing to retrieve quote relationships
func ErrGetTargetStatus ¶
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