66 lines
1.6 KiB
Go
66 lines
1.6 KiB
Go
package merrors
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
)
|
|
|
|
var ErrNotImplemented = errors.New("notImplemented")
|
|
|
|
func NotImplemented(msg string) error {
|
|
return fmt.Errorf("%w: %s", ErrNotImplemented, msg)
|
|
}
|
|
|
|
var ErrNoData = errors.New("noData")
|
|
|
|
func NoData(msg string) error {
|
|
return fmt.Errorf("%w: %s", ErrNoData, msg)
|
|
}
|
|
|
|
var ErrInternal = errors.New("internal")
|
|
|
|
func Internal(msg string) error {
|
|
return fmt.Errorf("%w: %s", ErrInternal, msg)
|
|
}
|
|
|
|
var ErrInvalidArg = errors.New("invalidArgError")
|
|
|
|
func InvalidArgument(msg string) error {
|
|
return fmt.Errorf("%w: %s", ErrInvalidArg, msg)
|
|
}
|
|
|
|
var ErrDataConflict = errors.New("DataConflict")
|
|
|
|
func DataConflict(msg string) error {
|
|
return fmt.Errorf("%w: %s", ErrDataConflict, msg)
|
|
}
|
|
|
|
var ErrAccessDenied = errors.New("accessDenied")
|
|
|
|
func AccessDenied(object, action string, objectRef primitive.ObjectID) error {
|
|
if objectRef != primitive.NilObjectID {
|
|
return fmt.Errorf("%w: cannot %s object of type '%s' with ID '%s'", ErrAccessDenied, action, object, objectRef.Hex())
|
|
}
|
|
return fmt.Errorf("%w: cannot %s object of type '%s'", ErrAccessDenied, action, object)
|
|
}
|
|
|
|
var ErrInvalidDataType = errors.New("invalidDataType")
|
|
|
|
func InvalidDataType(msg string) error {
|
|
return fmt.Errorf("%w: %s", ErrDataConflict, msg)
|
|
}
|
|
|
|
var ErrUnauthorized = errors.New("unathorized")
|
|
|
|
func Unauthorized(msg string) error {
|
|
return fmt.Errorf("%w: %s", ErrDataConflict, msg)
|
|
}
|
|
|
|
var ErrNoMessagingTopic = errors.New("messagingTopicError")
|
|
|
|
func NoMessagingTopic(topic string) error {
|
|
return fmt.Errorf("%w: messaging topic '%s' not found", ErrNoMessagingTopic, topic)
|
|
}
|