Documentation
¶
Index ¶
- type BaseManager
- func (bm *BaseManager) Exists(labelID int64) (*models.Label, error)
- func (bm *BaseManager) GetLabelsOfResource(resourceType string, resourceIDOrName interface{}) ([]*models.Label, error)
- func (bm *BaseManager) MarkLabelToResource(label *models.ResourceLabel) (int64, error)
- func (bm *BaseManager) RemoveLabelFromResource(resourceType string, resourceIDOrName interface{}, labelID int64) error
- func (bm *BaseManager) Validate(labelID int64, projectID int64) (*models.Label, error)
- type ErrLabelBadRequest
- type ErrLabelBase
- type ErrLabelConflict
- type ErrLabelNotFound
- type Manager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseManager ¶
type BaseManager struct{}
BaseManager is the default implementation of the Manager interface.
func (*BaseManager) Exists ¶
func (bm *BaseManager) Exists(labelID int64) (*models.Label, error)
Exists is the implementation of same method in Manager interface.
func (*BaseManager) GetLabelsOfResource ¶
func (bm *BaseManager) GetLabelsOfResource(resourceType string, resourceIDOrName interface{}) ([]*models.Label, error)
GetLabelsOfResource is the implementation of same method in Manager interface.
func (*BaseManager) MarkLabelToResource ¶
func (bm *BaseManager) MarkLabelToResource(label *models.ResourceLabel) (int64, error)
MarkLabelToResource is the implementation of same method in Manager interface.
func (*BaseManager) RemoveLabelFromResource ¶
func (bm *BaseManager) RemoveLabelFromResource(resourceType string, resourceIDOrName interface{}, labelID int64) error
RemoveLabelFromResource is the implementation of same method in Manager interface.
type ErrLabelBadRequest ¶
type ErrLabelBadRequest struct {
Message string
}
ErrLabelBadRequest defines the error of bad request to the resource.
func NewErrLabelBadRequest ¶
func NewErrLabelBadRequest(message string) *ErrLabelBadRequest
NewErrLabelBadRequest builds an error with ErrLabelBadRequest type.
func (*ErrLabelBadRequest) Error ¶
func (br *ErrLabelBadRequest) Error() string
Error returns the error message of ErrLabelBadRequest.
type ErrLabelBase ¶
ErrLabelBase contains the basic required info for building the final errors.
type ErrLabelConflict ¶
type ErrLabelConflict struct {
ErrLabelBase
}
ErrLabelConflict defines the error of label conflicts on the resource.
func NewErrLabelConflict ¶
func NewErrLabelConflict(labelID int64, resourceType string, resourceIDOrName interface{}) *ErrLabelConflict
NewErrLabelConflict builds an error with NewErrLabelConflict type.
func (*ErrLabelConflict) Error ¶
func (cl *ErrLabelConflict) Error() string
Error returns the error message of ErrLabelConflict.
type ErrLabelNotFound ¶
type ErrLabelNotFound struct {
ErrLabelBase
}
ErrLabelNotFound defines the error of not found label on the resource or the specified label is not found.
func NewErrLabelNotFound ¶
func NewErrLabelNotFound(labelID int64, resourceType string, resourceIDOrName interface{}) *ErrLabelNotFound
NewErrLabelNotFound builds an error with ErrLabelNotFound type
func (*ErrLabelNotFound) Error ¶
func (nf *ErrLabelNotFound) Error() string
Error returns the error message of ErrLabelNotFound.
type Manager ¶
type Manager interface {
// Mark label to the resource.
//
// If succeed, the relationship ID will be returned.
// Otherwise, an non-nil error will be returned.
MarkLabelToResource(label *models.ResourceLabel) (int64, error)
// Remove the label from the resource.
// Resource type and ID(/name) should be provided to identify the relationship.
//
// An non-nil error will be got if meet any issues or nil error returned.
RemoveLabelFromResource(resourceType string, resourceIDOrName interface{}, labelID int64) error
// Get labels for the specified resource.
// Resource is identified by the resource type and ID(/name).
//
// If succeed, a label list is returned.
// Otherwise, a non-nil error will be returned.
GetLabelsOfResource(resourceType string, resourceIDOrName interface{}) ([]*models.Label, error)
// Check the existence of the specified label.
//
// If label existing, a non-nil label object is returned and nil error is set.
// A non-nil error will be set if any issues met while checking or label is not found.
Exists(labelID int64) (*models.Label, error)
// Validate if the scope of the input label is correct.
// If the scope is project level, the projectID is required then.
//
// If everything is ok, an validated label reference will be returned.
// Otherwise, a non-nil error is returned.
Validate(labelID int64, projectID int64) (*models.Label, error)
}
Manager defines the related operations for label management