mirror of
https://github.com/mainflux/mainflux.git
synced 2025-04-24 13:48:49 +08:00
NOISSUE - Remove auth URL from SDK (#1511)
* Remove auth URL from SDK Signed-off-by: Filip Bugarski <filipbugarski@gmail.com> * Update CLi/main.go authURL to GroupsURL Signed-off-by: Filip Bugarski <filipbugarski@gmail.com> * Add authURL back Signed-off-by: Filip Bugarski <filipbugarski@gmail.com> * Refactor group structures Signed-off-by: Filip Bugarski <filipbugarski@gmail.com> * Add AuthURL back to cli/main.go Signed-off-by: Filip Bugarski <filipbugarski@gmail.com>
This commit is contained in:
parent
31d30b204d
commit
5112ef681a
@ -11,16 +11,14 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/mainflux/mainflux/auth"
|
||||
"github.com/mainflux/mainflux/pkg/errors"
|
||||
)
|
||||
|
||||
const groupsEndpoint = "groups"
|
||||
|
||||
type assignRequest struct {
|
||||
Type string `json:"type,omitempty"`
|
||||
Members []string `json:"members"`
|
||||
}
|
||||
const (
|
||||
groupsEndpoint = "groups"
|
||||
MaxLevel = uint64(5)
|
||||
MinLevel = uint64(1)
|
||||
)
|
||||
|
||||
func (sdk mfSDK) CreateGroup(g Group, token string) (string, error) {
|
||||
data, err := json.Marshal(g)
|
||||
@ -128,75 +126,75 @@ func (sdk mfSDK) Unassign(token, groupID string, memberIDs ...string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sdk mfSDK) Members(groupID, token string, offset, limit uint64) (auth.MemberPage, error) {
|
||||
func (sdk mfSDK) Members(groupID, token string, offset, limit uint64) (MembersPage, error) {
|
||||
url := fmt.Sprintf("%s, %s/%s/members?offset=%d&limit=%d&", sdk.authURL, groupsEndpoint, groupID, offset, limit)
|
||||
req, err := http.NewRequest(http.MethodGet, url, nil)
|
||||
if err != nil {
|
||||
return auth.MemberPage{}, err
|
||||
return MembersPage{}, err
|
||||
}
|
||||
|
||||
resp, err := sdk.sendRequest(req, token, string(CTJSON))
|
||||
if err != nil {
|
||||
return auth.MemberPage{}, err
|
||||
return MembersPage{}, err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return auth.MemberPage{}, err
|
||||
return MembersPage{}, err
|
||||
}
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
return auth.MemberPage{}, errors.Wrap(ErrFailedFetch, errors.New(resp.Status))
|
||||
return MembersPage{}, errors.Wrap(ErrFailedFetch, errors.New(resp.Status))
|
||||
}
|
||||
|
||||
var tp auth.MemberPage
|
||||
var tp MembersPage
|
||||
if err := json.Unmarshal(body, &tp); err != nil {
|
||||
return auth.MemberPage{}, err
|
||||
return MembersPage{}, err
|
||||
}
|
||||
|
||||
return tp, nil
|
||||
}
|
||||
|
||||
func (sdk mfSDK) Groups(offset, limit uint64, token string) (auth.GroupPage, error) {
|
||||
func (sdk mfSDK) Groups(offset, limit uint64, token string) (GroupsPage, error) {
|
||||
url := fmt.Sprintf("%s/%s?offset=%d&limit=%d&tree=false", sdk.authURL, groupsEndpoint, offset, limit)
|
||||
return sdk.getGroups(token, url)
|
||||
}
|
||||
|
||||
func (sdk mfSDK) Parents(id string, offset, limit uint64, token string) (auth.GroupPage, error) {
|
||||
url := fmt.Sprintf("%s/%s/%s/parents?offset=%d&limit=%d&tree=false&level=%d", sdk.authURL, groupsEndpoint, id, offset, limit, auth.MaxLevel)
|
||||
func (sdk mfSDK) Parents(id string, offset, limit uint64, token string) (GroupsPage, error) {
|
||||
url := fmt.Sprintf("%s/%s/%s/parents?offset=%d&limit=%d&tree=false&level=%d", sdk.authURL, groupsEndpoint, id, offset, limit, MaxLevel)
|
||||
return sdk.getGroups(token, url)
|
||||
}
|
||||
|
||||
func (sdk mfSDK) Children(id string, offset, limit uint64, token string) (auth.GroupPage, error) {
|
||||
url := fmt.Sprintf("%s/%s/%s/children?offset=%d&limit=%d&tree=false&level=%d", sdk.authURL, groupsEndpoint, id, offset, limit, auth.MaxLevel)
|
||||
func (sdk mfSDK) Children(id string, offset, limit uint64, token string) (GroupsPage, error) {
|
||||
url := fmt.Sprintf("%s/%s/%s/children?offset=%d&limit=%d&tree=false&level=%d", sdk.authURL, groupsEndpoint, id, offset, limit, MaxLevel)
|
||||
return sdk.getGroups(token, url)
|
||||
}
|
||||
|
||||
func (sdk mfSDK) getGroups(token, url string) (auth.GroupPage, error) {
|
||||
func (sdk mfSDK) getGroups(token, url string) (GroupsPage, error) {
|
||||
req, err := http.NewRequest(http.MethodGet, url, nil)
|
||||
if err != nil {
|
||||
return auth.GroupPage{}, err
|
||||
return GroupsPage{}, err
|
||||
}
|
||||
|
||||
resp, err := sdk.sendRequest(req, token, string(CTJSON))
|
||||
if err != nil {
|
||||
return auth.GroupPage{}, err
|
||||
return GroupsPage{}, err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return auth.GroupPage{}, err
|
||||
return GroupsPage{}, err
|
||||
}
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
return auth.GroupPage{}, errors.Wrap(ErrFailedFetch, errors.New(resp.Status))
|
||||
return GroupsPage{}, errors.Wrap(ErrFailedFetch, errors.New(resp.Status))
|
||||
}
|
||||
|
||||
var tp auth.GroupPage
|
||||
var tp GroupsPage
|
||||
if err := json.Unmarshal(body, &tp); err != nil {
|
||||
return auth.GroupPage{}, err
|
||||
return GroupsPage{}, err
|
||||
}
|
||||
return tp, nil
|
||||
}
|
||||
|
@ -3,6 +3,11 @@
|
||||
|
||||
package sdk
|
||||
|
||||
type assignRequest struct {
|
||||
Type string `json:"type,omitempty"`
|
||||
Members []string `json:"members"`
|
||||
}
|
||||
|
||||
// UserPasswordReq contains old and new passwords
|
||||
type UserPasswordReq struct {
|
||||
OldPassword string `json:"old_password,omitempty"`
|
||||
|
@ -50,3 +50,8 @@ type UsersPage struct {
|
||||
Users []User `json:"users"`
|
||||
pageRes
|
||||
}
|
||||
|
||||
type MembersPage struct {
|
||||
Members []Member `json:"members"`
|
||||
pageRes
|
||||
}
|
||||
|
@ -7,8 +7,6 @@ import (
|
||||
"crypto/tls"
|
||||
"errors"
|
||||
"net/http"
|
||||
|
||||
"github.com/mainflux/mainflux/auth"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -111,6 +109,12 @@ type Channel struct {
|
||||
Metadata map[string]interface{} `json:"metadata,omitempty"`
|
||||
}
|
||||
|
||||
//Member represents mainflux member.
|
||||
type Member struct {
|
||||
ID string
|
||||
Type string
|
||||
}
|
||||
|
||||
// SDK contains Mainflux API.
|
||||
type SDK interface {
|
||||
// CreateUser registers mainflux user.
|
||||
@ -157,13 +161,13 @@ type SDK interface {
|
||||
DeleteGroup(id, token string) error
|
||||
|
||||
// Groups returns page of users groups.
|
||||
Groups(offset, limit uint64, token string) (auth.GroupPage, error)
|
||||
Groups(offset, limit uint64, token string) (GroupsPage, error)
|
||||
|
||||
// Parents returns page of users groups.
|
||||
Parents(id string, offset, limit uint64, token string) (auth.GroupPage, error)
|
||||
Parents(id string, offset, limit uint64, token string) (GroupsPage, error)
|
||||
|
||||
// Children returns page of users groups.
|
||||
Children(id string, offset, limit uint64, token string) (auth.GroupPage, error)
|
||||
Children(id string, offset, limit uint64, token string) (GroupsPage, error)
|
||||
|
||||
// Group returns users group object by id.
|
||||
Group(id, token string) (Group, error)
|
||||
@ -175,7 +179,7 @@ type SDK interface {
|
||||
Unassign(token, groupID string, memberIDs ...string) error
|
||||
|
||||
// Members lists members of a group.
|
||||
Members(groupID, token string, offset, limit uint64) (auth.MemberPage, error)
|
||||
Members(groupID, token string, offset, limit uint64) (MembersPage, error)
|
||||
|
||||
// Memberships lists groups for user.
|
||||
Memberships(userID, token string, offset, limit uint64) (GroupsPage, error)
|
||||
|
Loading…
x
Reference in New Issue
Block a user