artifacts

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Artifact

type Artifact struct {
	ID          string         `json:"id"`
	Name        string         `json:"name"`
	Type        ArtifactType   `json:"type"`
	Status      ArtifactStatus `json:"status"`
	MimeType    string         `json:"mime_type,omitempty"`
	Size        int64          `json:"size"`
	Checksum    string         `json:"checksum"`
	StoragePath string         `json:"storage_path"`
	URL         string         `json:"url,omitempty"`
	Metadata    map[string]any `json:"metadata,omitempty"`
	Tags        []string       `json:"tags,omitempty"`
	CreatedAt   time.Time      `json:"created_at"`
	UpdatedAt   time.Time      `json:"updated_at"`
	ExpiresAt   *time.Time     `json:"expires_at,omitempty"`
	CreatedBy   string         `json:"created_by"`
	SessionID   string         `json:"session_id,omitempty"`
	ParentID    string         `json:"parent_id,omitempty"`
	Version     int            `json:"version"`
}

人工活性代表系统中的受管文物.

type ArtifactQuery

type ArtifactQuery struct {
	SessionID string         `json:"session_id,omitempty"`
	Type      ArtifactType   `json:"type,omitempty"`
	Status    ArtifactStatus `json:"status,omitempty"`
	Tags      []string       `json:"tags,omitempty"`
	CreatedBy string         `json:"created_by,omitempty"`
	Limit     int            `json:"limit,omitempty"`
	Offset    int            `json:"offset,omitempty"`
}

ArtifactQuery定义了列出文物的查询参数.

type ArtifactStatus

type ArtifactStatus string

人工活性状态代表文物的生命周期状态。

const (
	StatusPending   ArtifactStatus = "pending"
	StatusUploading ArtifactStatus = "uploading"
	StatusReady     ArtifactStatus = "ready"
	StatusArchived  ArtifactStatus = "archived"
	StatusDeleted   ArtifactStatus = "deleted"
)

type ArtifactStore

type ArtifactStore interface {
	Save(ctx context.Context, artifact *Artifact, data io.Reader) error
	Load(ctx context.Context, artifactID string) (*Artifact, io.ReadCloser, error)
	GetMetadata(ctx context.Context, artifactID string) (*Artifact, error)
	Delete(ctx context.Context, artifactID string) error
	List(ctx context.Context, query ArtifactQuery) ([]*Artifact, error)
	Archive(ctx context.Context, artifactID string) error
}

ArtifactStore定义了文物的存储界面.

type ArtifactType

type ArtifactType string

工艺品Type定义了文物的类型.

const (
	ArtifactTypeFile   ArtifactType = "file"
	ArtifactTypeData   ArtifactType = "data"
	ArtifactTypeImage  ArtifactType = "image"
	ArtifactTypeCode   ArtifactType = "code"
	ArtifactTypeOutput ArtifactType = "output"
	ArtifactTypeModel  ArtifactType = "model"
)

type CreateOption

type CreateOption func(*createOptions)

创建可选配置文物创建 。

func WithCreatedBy

func WithCreatedBy(createdBy string) CreateOption

func WithMetadata

func WithMetadata(metadata map[string]any) CreateOption

func WithMimeType

func WithMimeType(mimeType string) CreateOption

func WithSessionID

func WithSessionID(sessionID string) CreateOption

func WithTTL

func WithTTL(ttl time.Duration) CreateOption

func WithTags

func WithTags(tags ...string) CreateOption

type FileStore

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

FileStore使用本地文件系统执行ArtifactStore.

func NewFileStore

func NewFileStore(basePath string) (*FileStore, error)

NewFileStore创建了一个新的基于文件的文物商店.

func (*FileStore) Archive

func (s *FileStore) Archive(ctx context.Context, artifactID string) error

func (*FileStore) Delete

func (s *FileStore) Delete(ctx context.Context, artifactID string) error

func (*FileStore) GetMetadata

func (s *FileStore) GetMetadata(ctx context.Context, artifactID string) (*Artifact, error)

func (*FileStore) List

func (s *FileStore) List(ctx context.Context, query ArtifactQuery) ([]*Artifact, error)

func (*FileStore) Load

func (s *FileStore) Load(ctx context.Context, artifactID string) (*Artifact, io.ReadCloser, error)

func (*FileStore) Save

func (s *FileStore) Save(ctx context.Context, artifact *Artifact, data io.Reader) error

type Manager

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

经理处理文物生命周期管理.

func NewManager

func NewManager(config ManagerConfig, store ArtifactStore, logger *zap.Logger) *Manager

NewManager创建了新的文物管理器.

func (*Manager) Archive

func (m *Manager) Archive(ctx context.Context, artifactID string) error

档案馆收藏了一件文物

func (*Manager) Cleanup

func (m *Manager) Cleanup(ctx context.Context) (int, error)

清理清除过期文物.

func (*Manager) Create

func (m *Manager) Create(ctx context.Context, name string, artifactType ArtifactType, data io.Reader, opts ...CreateOption) (*Artifact, error)

从数据创建出新的文物 。

func (*Manager) CreateVersion

func (m *Manager) CreateVersion(ctx context.Context, parentID string, data io.Reader) (*Artifact, error)

CreateVersion 创建了新版本的已有文物.

func (*Manager) Delete

func (m *Manager) Delete(ctx context.Context, artifactID string) error

删除一个文物。

func (*Manager) Get

func (m *Manager) Get(ctx context.Context, artifactID string) (*Artifact, io.ReadCloser, error)

凭身份证取回文物

func (*Manager) GetMetadata

func (m *Manager) GetMetadata(ctx context.Context, artifactID string) (*Artifact, error)

GetMetadata检索没有数据的文物元数据.

func (*Manager) List

func (m *Manager) List(ctx context.Context, query ArtifactQuery) ([]*Artifact, error)

列表列出符合查询的文物.

type ManagerConfig

type ManagerConfig struct {
	BasePath   string        `json:"base_path"`
	MaxSize    int64         `json:"max_size"`
	DefaultTTL time.Duration `json:"default_ttl"`
}

Manager Config 配置了文物管理器 。

func DefaultManagerConfig

func DefaultManagerConfig() ManagerConfig

默认管理器 Config 返回合理的默认值 。

Jump to

Keyboard shortcuts

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