1
0
mirror of https://github.com/mainflux/mainflux.git synced 2025-04-24 13:48:49 +08:00
Arvindh 75b37e078f
NOISSUE: Fix Response , SDK, Listing of users with Relation (#1935)
* fix: response of requests

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix: sdk url

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix: listing of users with relation

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
2023-10-18 15:58:14 +02:00

202 lines
3.6 KiB
Go

// Copyright (c) Mainflux
// SPDX-License-Identifier: Apache-2.0
package api
import (
"fmt"
"net/http"
"github.com/mainflux/mainflux"
"github.com/mainflux/mainflux/pkg/groups"
)
var (
_ mainflux.Response = (*viewMembershipRes)(nil)
_ mainflux.Response = (*membershipPageRes)(nil)
_ mainflux.Response = (*createGroupRes)(nil)
_ mainflux.Response = (*groupPageRes)(nil)
_ mainflux.Response = (*changeStatusRes)(nil)
_ mainflux.Response = (*viewGroupRes)(nil)
_ mainflux.Response = (*updateGroupRes)(nil)
_ mainflux.Response = (*assignRes)(nil)
_ mainflux.Response = (*unassignRes)(nil)
)
type viewMembershipRes struct {
groups.Group `json:",inline"`
}
func (res viewMembershipRes) Code() int {
return http.StatusOK
}
func (res viewMembershipRes) Headers() map[string]string {
return map[string]string{}
}
func (res viewMembershipRes) Empty() bool {
return false
}
type membershipPageRes struct {
pageRes
Members []groups.Member `json:"members"`
}
func (res membershipPageRes) Code() int {
return http.StatusOK
}
func (res membershipPageRes) Headers() map[string]string {
return map[string]string{}
}
func (res membershipPageRes) Empty() bool {
return false
}
type viewGroupRes struct {
groups.Group `json:",inline"`
}
func (res viewGroupRes) Code() int {
return http.StatusOK
}
func (res viewGroupRes) Headers() map[string]string {
return map[string]string{}
}
func (res viewGroupRes) Empty() bool {
return false
}
type createGroupRes struct {
groups.Group `json:",inline"`
created bool
}
func (res createGroupRes) Code() int {
if res.created {
return http.StatusCreated
}
return http.StatusOK
}
func (res createGroupRes) Headers() map[string]string {
if res.created {
return map[string]string{
"Location": fmt.Sprintf("/groups/%s", res.ID),
}
}
return map[string]string{}
}
func (res createGroupRes) Empty() bool {
return false
}
type groupPageRes struct {
pageRes
Groups []viewGroupRes `json:"groups"`
}
type pageRes struct {
Limit uint64 `json:"limit"`
Offset uint64 `json:"offset"`
Total uint64 `json:"total,omitempty"`
Level uint64 `json:"level,omitempty"`
}
func (res groupPageRes) Code() int {
return http.StatusOK
}
func (res groupPageRes) Headers() map[string]string {
return map[string]string{}
}
func (res groupPageRes) Empty() bool {
return false
}
type updateGroupRes struct {
groups.Group `json:",inline"`
}
func (res updateGroupRes) Code() int {
return http.StatusOK
}
func (res updateGroupRes) Headers() map[string]string {
return map[string]string{}
}
func (res updateGroupRes) Empty() bool {
return false
}
type changeStatusRes struct {
groups.Group `json:",inline"`
}
func (res changeStatusRes) Code() int {
return http.StatusOK
}
func (res changeStatusRes) Headers() map[string]string {
return map[string]string{}
}
func (res changeStatusRes) Empty() bool {
return false
}
type assignRes struct{}
func (res assignRes) Code() int {
return http.StatusCreated
}
func (res assignRes) Headers() map[string]string {
return map[string]string{}
}
func (res assignRes) Empty() bool {
return true
}
type unassignRes struct{}
func (res unassignRes) Code() int {
return http.StatusNoContent
}
func (res unassignRes) Headers() map[string]string {
return map[string]string{}
}
func (res unassignRes) Empty() bool {
return true
}
type listMembersRes struct {
pageRes
Members []groups.Member `json:"members"`
}
func (res listMembersRes) Code() int {
return http.StatusOK
}
func (res listMembersRes) Headers() map[string]string {
return map[string]string{}
}
func (res listMembersRes) Empty() bool {
return false
}