Spaces:
Sleeping
Sleeping
| // _ _ | |
| // __ _____ __ ___ ___ __ _| |_ ___ | |
| // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ | |
| // \ V V / __/ (_| |\ V /| | (_| | || __/ | |
| // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| | |
| // | |
| // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. | |
| // | |
| // CONTACT: [email protected] | |
| // | |
| package objects | |
| import ( | |
| "fmt" | |
| ) | |
| // objects status code | |
| const ( | |
| StatusForbidden = 403 | |
| StatusBadRequest = 400 | |
| StatusNotFound = 404 | |
| StatusUnprocessableEntity = 422 | |
| StatusInternalServerError = 500 | |
| ) | |
| type Error struct { | |
| Msg string | |
| Code int | |
| Err error | |
| } | |
| // Error implements error interface | |
| func (e *Error) Error() string { | |
| return fmt.Sprintf("msg:%s code:%v err:%v", e.Msg, e.Code, e.Err) | |
| } | |
| // Unwrap underlying error | |
| func (e *Error) Unwrap() error { | |
| return e.Err | |
| } | |
| func (e *Error) NotFound() bool { | |
| return e.Code == StatusNotFound | |
| } | |
| func (e *Error) Forbidden() bool { | |
| return e.Code == StatusForbidden | |
| } | |
| func (e *Error) BadRequest() bool { | |
| return e.Code == StatusBadRequest | |
| } | |
| func (e *Error) UnprocessableEntity() bool { | |
| return e.Code == StatusUnprocessableEntity | |
| } | |
| // ErrInvalidUserInput indicates a client-side error | |
| type ErrInvalidUserInput struct { | |
| msg string | |
| } | |
| func (e ErrInvalidUserInput) Error() string { | |
| return e.msg | |
| } | |
| // NewErrInvalidUserInput with Errorf signature | |
| func NewErrInvalidUserInput(format string, args ...interface{}) ErrInvalidUserInput { | |
| return ErrInvalidUserInput{msg: fmt.Sprintf(format, args...)} | |
| } | |
| // ErrInternal indicates something went wrong during processing | |
| type ErrInternal struct { | |
| msg string | |
| } | |
| func (e ErrInternal) Error() string { | |
| return e.msg | |
| } | |
| // NewErrInternal with Errorf signature | |
| func NewErrInternal(format string, args ...interface{}) ErrInternal { | |
| return ErrInternal{msg: fmt.Sprintf(format, args...)} | |
| } | |
| // ErrNotFound indicates the desired resource doesn't exist | |
| type ErrNotFound struct { | |
| msg string | |
| } | |
| func (e ErrNotFound) Error() string { | |
| return e.msg | |
| } | |
| // NewErrNotFound with Errorf signature | |
| func NewErrNotFound(format string, args ...interface{}) ErrNotFound { | |
| return ErrNotFound{msg: fmt.Sprintf(format, args...)} | |
| } | |
| type ErrMultiTenancy struct { | |
| err error | |
| } | |
| func (e ErrMultiTenancy) Error() string { | |
| return e.err.Error() | |
| } | |
| // NewErrMultiTenancy with error signature | |
| func NewErrMultiTenancy(err error) ErrMultiTenancy { | |
| return ErrMultiTenancy{err} | |
| } | |