6e6481e09a
Parallel package-type PRs conflict because every type edits the same shared lines (README tables, provider.go, server.go imports, the package type list, UI maps, the e2e caching table). A new type now only adds files.
- move per-type README sections into docs/<type>/{remote,local,virtual}.md
- split provider.go capability and metadata types into cap_*.go and metadata_*.go
- import providers via internal/provider/all, one file per type
- declare each package type in package_type_<type>.go, registered via init()
- split the e2e caching cases and UI colours/snippets into per-type files
Reviewed-on: #150
Co-authored-by: unkin-agent <unkin-agent@unkin.net>
Co-committed-by: unkin-agent <unkin-agent@unkin.net>
33 lines
783 B
Go
33 lines
783 B
Go
package provider
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
)
|
|
|
|
type PuppetMetadataStore interface {
|
|
InsertPuppetMetadata(ctx context.Context, meta *PuppetMetadata) error
|
|
}
|
|
|
|
type PuppetMetadataDeleter interface {
|
|
DeletePuppetMetadata(ctx context.Context, repoName, filePath string) error
|
|
}
|
|
|
|
type PuppetMetadataReader interface {
|
|
ListPuppetMetadataEntries(ctx context.Context, repoName, slug string) ([]PuppetMetadata, error)
|
|
}
|
|
|
|
// PuppetMetadata is a local module release; MetadataJSON is the tarball's
|
|
// metadata.json verbatim so Forge release objects carry every field.
|
|
type PuppetMetadata struct {
|
|
RepoName string
|
|
FilePath string
|
|
ContentHash string
|
|
Slug string
|
|
Version string
|
|
MetadataJSON string
|
|
Size int64
|
|
MD5 string
|
|
CreatedAt time.Time
|
|
}
|