mirror of
https://github.com/mainflux/mainflux.git
synced 2025-05-01 13:48:56 +08:00

* Add pagination to clients and channels endpoints Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Refactor code Change method signature and rename Bulk methods back to All. Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Rename transport_test.go to endpoint_test.go Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Fix manager tests to support pagination Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Add default offset and limit support Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Update docs Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Update tests to support pagination - Move maxLimitSize checking to request validation. - Add tests to support pagination. Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Fix handling query params for pagination Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Fix empty result set Return empty results if invalid offset and limit is passed to channel and client repository. Update tests accordingly. Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Update manager API docs Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Fix response to invalid limit query param Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com> * Remove offset and limmit checks in repository methods Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
86 lines
3.2 KiB
Go
86 lines
3.2 KiB
Go
package manager
|
|
|
|
import "errors"
|
|
|
|
var (
|
|
// ErrConflict indicates usage of the existing email during account
|
|
// registration.
|
|
ErrConflict error = errors.New("email already taken")
|
|
|
|
// ErrMalformedEntity indicates malformed entity specification (e.g.
|
|
// invalid username or password).
|
|
ErrMalformedEntity error = errors.New("malformed entity specification")
|
|
|
|
// ErrUnauthorizedAccess indicates missing or invalid credentials provided
|
|
// when accessing a protected resource.
|
|
ErrUnauthorizedAccess error = errors.New("missing or invalid credentials provided")
|
|
|
|
// ErrNotFound indicates a non-existent entity request.
|
|
ErrNotFound error = errors.New("non-existent entity")
|
|
)
|
|
|
|
// Service specifies an API that must be fullfiled by the domain service
|
|
// implementation, and all of its decorators (e.g. logging & metrics).
|
|
type Service interface {
|
|
// Register creates new user account. In case of the failed registration, a
|
|
// non-nil error value is returned.
|
|
Register(User) error
|
|
|
|
// Login authenticates the user given its credentials. Successful
|
|
// authentication generates new access token. Failed invocations are
|
|
// identified by the non-nil error values in the response.
|
|
Login(User) (string, error)
|
|
|
|
// AddClient adds new client to the user identified by the provided key.
|
|
AddClient(string, Client) (string, error)
|
|
|
|
// UpdateClient updates the client identified by the provided ID, that
|
|
// belongs to the user identified by the provided key.
|
|
UpdateClient(string, Client) error
|
|
|
|
// ViewClient retrieves data about the client identified with the provided
|
|
// ID, that belongs to the user identified by the provided key.
|
|
ViewClient(string, string) (Client, error)
|
|
|
|
// ListClients retrieves data about subset of clients that belongs to the
|
|
// user identified by the provided key.
|
|
ListClients(string, int, int) ([]Client, error)
|
|
|
|
// RemoveClient removes the client identified with the provided ID, that
|
|
// belongs to the user identified by the provided key.
|
|
RemoveClient(string, string) error
|
|
|
|
// CreateChannel adds new channel to the user identified by the provided key.
|
|
CreateChannel(string, Channel) (string, error)
|
|
|
|
// UpdateChannel updates the channel identified by the provided ID, that
|
|
// belongs to the user identified by the provided key.
|
|
UpdateChannel(string, Channel) error
|
|
|
|
// ViewChannel retrieves data about the channel identified by the provided
|
|
// ID, that belongs to the user identified by the provided key.
|
|
ViewChannel(string, string) (Channel, error)
|
|
|
|
// ListChannels retrieves data about subset of channels that belongs to the
|
|
// user identified by the provided key.
|
|
ListChannels(string, int, int) ([]Channel, error)
|
|
|
|
// RemoveChannel removes the client identified by the provided ID, that
|
|
// belongs to the user identified by the provided key.
|
|
RemoveChannel(string, string) error
|
|
|
|
// Connect adds client to the channel's list of connected clients.
|
|
Connect(string, string, string) error
|
|
|
|
// Disconnect removes client from the channel's list of connected
|
|
// clients.
|
|
Disconnect(string, string, string) error
|
|
|
|
// Identity retrieves Client ID for provided client token.
|
|
Identity(string) (string, error)
|
|
|
|
// CanAccess determines whether the channel can be accessed using the
|
|
// provided key.
|
|
CanAccess(string, string) (string, error)
|
|
}
|