attachment

package
v2.2.1 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package attachment provides filtering for Linear attachments.

The package implements 9 filter types:

  • 2 date filters: created-at, updated-at
  • 3 entity filters: id, creator, source-type
  • 4 text filters: title, subtitle, url

All filters follow the per-filter file pattern and are registered in the Filters map for use with FromFlags.

Index

Constants

This section is empty.

Variables

View Source
var Filters = map[string]FilterFunc{

	"created-at": common.ApplyCreatedAt[*FilterBuilder],
	"updated-at": common.ApplyUpdatedAt[*FilterBuilder],

	"id":          common.ApplyID[*FilterBuilder],
	"creator":     ApplyCreator,
	"source-type": ApplySourceType,

	"title":    ApplyTitle,
	"subtitle": ApplySubtitle,
	"url":      ApplyURL,
}

Filters maps filter names to their apply functions. Uses shared filters from common package where applicable.

Functions

func ApplyCreator

func ApplyCreator(ctx context.Context, cmd *cobra.Command, b *FilterBuilder) error

ApplyCreator handles --creator flag.

func ApplySourceType

func ApplySourceType(ctx context.Context, cmd *cobra.Command, b *FilterBuilder) error

ApplySourceType handles --source-type flag. Valid values: uploaded, url, github, slack

func ApplySubtitle

func ApplySubtitle(ctx context.Context, cmd *cobra.Command, b *FilterBuilder) error

ApplySubtitle handles --subtitle flag (case-insensitive contains).

func ApplyTitle

func ApplyTitle(ctx context.Context, cmd *cobra.Command, b *FilterBuilder) error

ApplyTitle handles --title flag (case-insensitive contains).

func ApplyURL

func ApplyURL(ctx context.Context, cmd *cobra.Command, b *FilterBuilder) error

ApplyURL handles --url flag (case-insensitive contains).

Types

type FilterBuilder

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

FilterBuilder constructs AttachmentFilter from CLI flags.

func NewFilterBuilder

func NewFilterBuilder(res *resolver.Resolver) *FilterBuilder

NewFilterBuilder creates a FilterBuilder with the given resolver.

func (*FilterBuilder) Build

Build returns the filter if any fields are set, nil otherwise.

func (*FilterBuilder) CreatedAtComparator

func (b *FilterBuilder) CreatedAtComparator() *intgraphql.DateComparator

CreatedAtComparator returns or creates the CreatedAt comparator.

func (*FilterBuilder) Filter

Filter returns the underlying AttachmentFilter.

func (*FilterBuilder) FromFlags

func (b *FilterBuilder) FromFlags(ctx context.Context, cmd *cobra.Command) error

FromFlags populates the filter from cobra command flags.

func (*FilterBuilder) Parser

func (b *FilterBuilder) Parser() dateparser.Parser

Parser returns the date parser.

func (*FilterBuilder) Resolver

func (b *FilterBuilder) Resolver() *resolver.Resolver

Resolver returns the resolver for entity lookups.

func (*FilterBuilder) SetID

func (b *FilterBuilder) SetID(comp *intgraphql.IDComparator)

SetID sets the ID comparator. Implements common.IDFilterable.

func (*FilterBuilder) UpdatedAtComparator

func (b *FilterBuilder) UpdatedAtComparator() *intgraphql.DateComparator

UpdatedAtComparator returns or creates the UpdatedAt comparator.

type FilterFunc

type FilterFunc func(ctx context.Context, cmd *cobra.Command, b *FilterBuilder) error

FilterFunc applies a filter based on command flags.

Jump to

Keyboard shortcuts

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