Documentation ¶
Overview ¶
Package pluginregistry implements a service for interacting with the plugin registry.
Index ¶
- type CreatePluginInput
- type CreatePluginPlatformInput
- type CreatePluginVersionInput
- type DeletePluginInput
- type DeletePluginPlatformInput
- type DeletePluginVersionInput
- type GetPluginPlatformsInput
- type GetPluginVersionDocFileInput
- type GetPluginVersionsInput
- type GetPluginsInput
- type MockRegistryStore
- func (_m *MockRegistryStore) GetPluginPlatformBinaryPresignedURL(ctx context.Context, pluginPlatform *models.PluginPlatform, ...) (string, error)
- func (_m *MockRegistryStore) GetPluginVersionDocFile(ctx context.Context, pluginVersion *models.PluginVersion, ...) (io.ReadCloser, error)
- func (_m *MockRegistryStore) GetPluginVersionReadme(ctx context.Context, pluginVersion *models.PluginVersion, ...) (io.ReadCloser, error)
- func (_m *MockRegistryStore) GetPluginVersionSHASumsPresignedURL(ctx context.Context, pluginVersion *models.PluginVersion, ...) (string, error)
- func (_m *MockRegistryStore) UploadPluginPlatformBinary(ctx context.Context, pluginPlatform *models.PluginPlatform, ...) error
- func (_m *MockRegistryStore) UploadPluginVersionDocFile(ctx context.Context, pluginVersion *models.PluginVersion, ...) error
- func (_m *MockRegistryStore) UploadPluginVersionReadme(ctx context.Context, pluginVersion *models.PluginVersion, ...) error
- func (_m *MockRegistryStore) UploadPluginVersionSHASums(ctx context.Context, pluginVersion *models.PluginVersion, ...) error
- func (_m *MockRegistryStore) UploadPluginVersionSchema(ctx context.Context, pluginVersion *models.PluginVersion, ...) error
- type PluginPlatformDownloadURLs
- type RegistryStore
- type Service
- type UpdatePluginInput
- type UploadPluginVersionDocFileInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreatePluginInput ¶
type CreatePluginInput struct { Name string OrganizationID string RepositoryURL string Private bool }
CreatePluginInput is the input for the CreatePlugin method
type CreatePluginPlatformInput ¶
type CreatePluginPlatformInput struct { PluginVersionID string OperatingSystem string Architecture string Filename string SHASum string }
CreatePluginPlatformInput is the input for the CreatePluginPlatform method
type CreatePluginVersionInput ¶
CreatePluginVersionInput is the input for the CreatePluginVersion method
type DeletePluginInput ¶
DeletePluginInput is the input for the DeletePlugin method
type DeletePluginPlatformInput ¶
DeletePluginPlatformInput is the input for the DeletePluginPlatform method
type DeletePluginVersionInput ¶
DeletePluginVersionInput is the input for the DeletePluginVersion method
type GetPluginPlatformsInput ¶
type GetPluginPlatformsInput struct { // Sort specifies the field to sort on and direction Sort *db.PluginPlatformSortableField // PaginationOptions supports cursor based pagination PaginationOptions *pagination.Options // PluginVersionID is the plugin version id to filter by PluginVersionID *string // PluginID is the plugin id to filter by PluginID *string // OperatingSystem is the operating system to filter by OperatingSystem *string // Architecture is the architecture to filter by Architecture *string // BinaryUploaded specifies whether to return only plugin platforms with binaries uploaded BinaryUploaded *bool }
GetPluginPlatformsInput is the input for the GetPluginPlatforms method
type GetPluginVersionDocFileInput ¶
GetPluginVersionDocFileInput is the input for getting a plugin version doc file
type GetPluginVersionsInput ¶
type GetPluginVersionsInput struct { // Sort specifies the field to sort on and direction Sort *db.PluginVersionSortableField // PaginationOptions supports cursor based pagination PaginationOptions *pagination.Options // SemanticVersion is the semantic version to filter by SemanticVersion *string // SHASumsUploaded specifies whether to return only plugin versions with SHASums uploaded SHASumsUploaded *bool // Latest specifies whether to return only the latest version Latest *bool // PluginID is the plugin id to filter by PluginID string }
GetPluginVersionsInput is the input for the GetPluginVersions method
type GetPluginsInput ¶
type GetPluginsInput struct { // Sort specifies the field to sort on and direction Sort *db.PluginSortableField // PaginationOptions supports cursor based pagination PaginationOptions *pagination.Options // OrganizationID is the organization id to filter by OrganizationID *string // Search is the search term to filter by Search *string }
GetPluginsInput is the input for the GetPlugins method
type MockRegistryStore ¶
MockRegistryStore is an autogenerated mock type for the RegistryStore type
func NewMockRegistryStore ¶
func NewMockRegistryStore(t mockConstructorTestingTNewMockRegistryStore) *MockRegistryStore
NewMockRegistryStore creates a new instance of MockRegistryStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
func (*MockRegistryStore) GetPluginPlatformBinaryPresignedURL ¶
func (_m *MockRegistryStore) GetPluginPlatformBinaryPresignedURL(ctx context.Context, pluginPlatform *models.PluginPlatform, pluginVersion *models.PluginVersion, plugin *models.Plugin) (string, error)
GetPluginPlatformBinaryPresignedURL provides a mock function with given fields: ctx, pluginPlatform, pluginVersion, plugin
func (*MockRegistryStore) GetPluginVersionDocFile ¶
func (_m *MockRegistryStore) GetPluginVersionDocFile(ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, filePath string) (io.ReadCloser, error)
GetPluginVersionDocFile provides a mock function with given fields: ctx, pluginVersion, plugin, filePath
func (*MockRegistryStore) GetPluginVersionReadme ¶
func (_m *MockRegistryStore) GetPluginVersionReadme(ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin) (io.ReadCloser, error)
GetPluginVersionReadme provides a mock function with given fields: ctx, pluginVersion, plugin
func (*MockRegistryStore) GetPluginVersionSHASumsPresignedURL ¶
func (_m *MockRegistryStore) GetPluginVersionSHASumsPresignedURL(ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin) (string, error)
GetPluginVersionSHASumsPresignedURL provides a mock function with given fields: ctx, pluginVersion, plugin
func (*MockRegistryStore) UploadPluginPlatformBinary ¶
func (_m *MockRegistryStore) UploadPluginPlatformBinary(ctx context.Context, pluginPlatform *models.PluginPlatform, pluginVersion *models.PluginVersion, plugin *models.Plugin, body io.Reader) error
UploadPluginPlatformBinary provides a mock function with given fields: ctx, pluginPlatform, pluginVersion, plugin, body
func (*MockRegistryStore) UploadPluginVersionDocFile ¶
func (_m *MockRegistryStore) UploadPluginVersionDocFile(ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, filePath string, body io.Reader) error
UploadPluginVersionDocFile provides a mock function with given fields: ctx, pluginVersion, plugin, filePath, body
func (*MockRegistryStore) UploadPluginVersionReadme ¶
func (_m *MockRegistryStore) UploadPluginVersionReadme(ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, body io.Reader) error
UploadPluginVersionReadme provides a mock function with given fields: ctx, pluginVersion, plugin, body
func (*MockRegistryStore) UploadPluginVersionSHASums ¶
func (_m *MockRegistryStore) UploadPluginVersionSHASums(ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, body io.Reader) error
UploadPluginVersionSHASums provides a mock function with given fields: ctx, pluginVersion, plugin, body
func (*MockRegistryStore) UploadPluginVersionSchema ¶
func (_m *MockRegistryStore) UploadPluginVersionSchema(ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, body io.Reader) error
UploadPluginVersionSchema provides a mock function with given fields: ctx, pluginVersion, plugin, body
type PluginPlatformDownloadURLs ¶
PluginPlatformDownloadURLs contains the signed URLs for downloading a plugin platform
type RegistryStore ¶
type RegistryStore interface { UploadPluginPlatformBinary( ctx context.Context, pluginPlatform *models.PluginPlatform, pluginVersion *models.PluginVersion, plugin *models.Plugin, body io.Reader, ) error UploadPluginVersionReadme( ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, body io.Reader, ) error UploadPluginVersionSchema( ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, body io.Reader, ) error UploadPluginVersionDocFile( ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, filePath string, body io.Reader, ) error UploadPluginVersionSHASums( ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, body io.Reader, ) error GetPluginVersionDocFile( ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, filePath string, ) (io.ReadCloser, error) GetPluginVersionReadme( ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, ) (io.ReadCloser, error) GetPluginPlatformBinaryPresignedURL( ctx context.Context, pluginPlatform *models.PluginPlatform, pluginVersion *models.PluginVersion, plugin *models.Plugin, ) (string, error) GetPluginVersionSHASumsPresignedURL( ctx context.Context, pluginVersion *models.PluginVersion, plugin *models.Plugin, ) (string, error) }
RegistryStore interface encapsulates the logic for saving plugin binaries and metadata
func NewRegistryStore ¶
func NewRegistryStore(objectStore objectstore.ObjectStore) RegistryStore
NewRegistryStore creates an instance of the RegistryStore interface
type Service ¶
type Service interface { GetPluginByID(ctx context.Context, id string) (*models.Plugin, error) GetPluginByPRN(ctx context.Context, prn string) (*models.Plugin, error) GetPlugins(ctx context.Context, input *GetPluginsInput) (*db.PluginsResult, error) GetPluginsByIDs(ctx context.Context, idList []string) ([]models.Plugin, error) GetPluginVersionByID(ctx context.Context, id string) (*models.PluginVersion, error) GetPluginVersionByPRN(ctx context.Context, prn string) (*models.PluginVersion, error) GetPluginVersions(ctx context.Context, input *GetPluginVersionsInput) (*db.PluginVersionsResult, error) GetPluginVersionsByIDs(ctx context.Context, idList []string) ([]models.PluginVersion, error) GetPluginVersionDocFile(ctx context.Context, input *GetPluginVersionDocFileInput) (string, error) GetPluginVersionReadme(ctx context.Context, pluginVersion *models.PluginVersion) (string, error) GetPluginPlatformByID(ctx context.Context, id string) (*models.PluginPlatform, error) GetPluginPlatformByPRN(ctx context.Context, prn string) (*models.PluginPlatform, error) GetPluginPlatforms(ctx context.Context, input *GetPluginPlatformsInput) (*db.PluginPlatformsResult, error) GetPluginPlatformDownloadURLs(ctx context.Context, pluginPlatformID string) (*PluginPlatformDownloadURLs, error) CreatePlugin(ctx context.Context, input *CreatePluginInput) (*models.Plugin, error) CreatePluginVersion(ctx context.Context, input *CreatePluginVersionInput) (*models.PluginVersion, error) CreatePluginPlatform(ctx context.Context, input *CreatePluginPlatformInput) (*models.PluginPlatform, error) UpdatePlugin(ctx context.Context, input *UpdatePluginInput) (*models.Plugin, error) UploadPluginPlatformBinary(ctx context.Context, pluginPlatformID string, body io.Reader) error UploadPluginVersionDocFile(ctx context.Context, input *UploadPluginVersionDocFileInput) error UploadPluginVersionReadme(ctx context.Context, pluginVersionID string, body io.Reader) error UploadPluginVersionSchema(ctx context.Context, pluginVersionID string, body io.Reader) error UploadPluginVersionSHASums(ctx context.Context, pluginVersionID string, body io.Reader) error DeletePlugin(ctx context.Context, input *DeletePluginInput) error DeletePluginVersion(ctx context.Context, input *DeletePluginVersionInput) error DeletePluginPlatform(ctx context.Context, input *DeletePluginPlatformInput) error }
Service is the interface for the plugin registry service
func NewService ¶
func NewService( logger logger.Logger, dbClient *db.Client, registryStore RegistryStore, limitChecker limits.LimitChecker, activityService activityevent.Service, ) Service
NewService creates a new instance of the plugin registry service
type UpdatePluginInput ¶
UpdatePluginInput is the input for the UpdatePlugin method
type UploadPluginVersionDocFileInput ¶
type UploadPluginVersionDocFileInput struct { Body io.Reader PluginVersionID string Category models.PluginVersionDocCategory Subcategory string Title string Name string }
UploadPluginVersionDocFileInput is the input for uploading a plugin version doc file
func (*UploadPluginVersionDocFileInput) FilePath ¶
func (u *UploadPluginVersionDocFileInput) FilePath() (string, error)
FilePath returns the file path for the doc file