1
0
mirror of https://github.com/mainflux/mainflux.git synced 2025-04-28 13:48:49 +08:00
Ivan Milošević d2153a8846
[NOISSUE] - Improve errors package (#1086)
* Init commit - implement errors package on things service

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* things service errors issue

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* Decode errors
Add authn service to run script

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* Modify tests

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* service_test

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* debug lines

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* Regulate tests

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* Improve errors in Redis

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* Remove dead code
Inline if conditions
Rename err var

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* Transform errors messages to lowercase

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* improve errors package

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* modify wrap method
inline wrapping errors in redis

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* Add copyright to errors package

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* wrapping nil error returns wrapper (instead of nil)

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* move response messages in test to vars

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* golangcibot review fix

Signed-off-by: Ivan Milošević <iva@blokovi.com>

* golangbot fix review in transport

Signed-off-by: Ivan Milošević <iva@blokovi.com>
2020-03-30 15:22:18 +02:00

96 lines
1.7 KiB
Go

// Copyright (c) Mainflux
// SPDX-License-Identifier: Apache-2.0
package api
import (
"github.com/mainflux/mainflux/users"
)
const minPassLen = 8
type apiReq interface {
validate() error
}
type userReq struct {
user users.User
}
func (req userReq) validate() error {
return req.user.Validate()
}
type viewUserInfoReq struct {
token string
}
func (req viewUserInfoReq) validate() error {
if req.token == "" {
return users.ErrUnauthorizedAccess
}
return nil
}
type updateUserReq struct {
token string
Metadata map[string]interface{} `json:"metadata,omitempty"`
}
func (req updateUserReq) validate() error {
if req.token == "" {
return users.ErrUnauthorizedAccess
}
return nil
}
type passwResetReq struct {
Email string `json:"email"`
Host string `json:"host"`
}
func (req passwResetReq) validate() error {
if req.Email == "" || req.Host == "" {
return users.ErrMalformedEntity
}
return nil
}
type resetTokenReq struct {
Token string `json:"token"`
Password string `json:"password"`
ConfPass string `json:"confirm_password"`
}
func (req resetTokenReq) validate() error {
if req.Password == "" || req.ConfPass == "" {
return users.ErrMalformedEntity
}
if req.Token == "" {
return users.ErrMissingResetToken
}
if req.Password != req.ConfPass {
return users.ErrMalformedEntity
}
return nil
}
type passwChangeReq struct {
Token string `json:"token"`
Password string `json:"password"`
OldPassword string `json:"old_password"`
}
func (req passwChangeReq) validate() error {
if req.Token == "" {
return users.ErrUnauthorizedAccess
}
if len(req.Password) < minPassLen {
return users.ErrMalformedEntity
}
if req.OldPassword == "" {
return users.ErrUnauthorizedAccess
}
return nil
}