Skip to content

Commit

Permalink
增加showFullData参数
Browse files Browse the repository at this point in the history
  • Loading branch information
Andy Chao committed Sep 23, 2024
1 parent 016c0ad commit 2309450
Show file tree
Hide file tree
Showing 11 changed files with 17 additions and 17 deletions.
4 changes: 2 additions & 2 deletions things/api/http/clients.go
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,8 @@ func decodeListClients(_ context.Context, r *http.Request) (interface{}, error)
if err != nil {
return nil, errors.Wrap(apiutil.ErrValidation, err)
}
// 读取 showFullData 参数,默认为 false
sf, err := apiutil.ReadBoolQuery(r, api.ShowFullDataKey, false) // 假设有一个常量 api.ShowFullDataKey
// 读取 showFullData 参数,默认为 ""
sf, err := apiutil.ReadStringQuery(r, api.ShowFullDataKey, "") // 假设有一个常量 api.ShowFullDataKey
if err != nil {
return nil, errors.Wrap(apiutil.ErrValidation, err)
}
Expand Down
4 changes: 2 additions & 2 deletions things/api/http/endpoints.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ func listClientsEndpoint(svc things.Service) endpoint.Endpoint {
}

// 提供 showFullData 的默认值
if !req.showFullData { // 如果没有传入,则使用默认值
req.showFullData = false // 默认值
if req.showFullData != "true" { // 如果没有传入,则使用默认值
req.showFullData = "" // 默认值
}

pm := mgclients.Page{
Expand Down
2 changes: 1 addition & 1 deletion things/api/http/requests.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ type listClientsReq struct {
userID string
listPerms bool
metadata mgclients.Metadata
showFullData bool
showFullData string
}

func (req listClientsReq) validate() error {
Expand Down
2 changes: 1 addition & 1 deletion things/api/logging.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ func (lm *loggingMiddleware) ViewClientPerms(ctx context.Context, token, id stri
return lm.svc.ViewClientPerms(ctx, token, id)
}

func (lm *loggingMiddleware) ListClients(ctx context.Context, token, reqUserID string, pm mgclients.Page, showFullData bool) (cp mgclients.ClientsPage, err error) {
func (lm *loggingMiddleware) ListClients(ctx context.Context, token, reqUserID string, pm mgclients.Page, showFullData string) (cp mgclients.ClientsPage, err error) {
defer func(begin time.Time) {
args := []any{
slog.String("duration", time.Since(begin).String()),
Expand Down
2 changes: 1 addition & 1 deletion things/api/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ func (ms *metricsMiddleware) ViewClientPerms(ctx context.Context, token, id stri
return ms.svc.ViewClientPerms(ctx, token, id)
}

func (ms *metricsMiddleware) ListClients(ctx context.Context, token, reqUserID string, pm mgclients.Page, showFullData bool) (mgclients.ClientsPage, error) {
func (ms *metricsMiddleware) ListClients(ctx context.Context, token, reqUserID string, pm mgclients.Page, showFullData string) (mgclients.ClientsPage, error) {
defer func(begin time.Time) {
ms.counter.With("method", "list_things").Add(1)
ms.latency.With("method", "list_things").Observe(time.Since(begin).Seconds())
Expand Down
2 changes: 1 addition & 1 deletion things/events/streams.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ func (es *eventStore) ViewClientPerms(ctx context.Context, token, id string) ([]
return permissions, nil
}

func (es *eventStore) ListClients(ctx context.Context, token, reqUserID string, pm mgclients.Page, showFullData bool) (mgclients.ClientsPage, error) {
func (es *eventStore) ListClients(ctx context.Context, token, reqUserID string, pm mgclients.Page, showFullData string) (mgclients.ClientsPage, error) {
cp, err := es.svc.ListClients(ctx, token, reqUserID, pm, showFullData)
if err != nil {
return cp, err
Expand Down
2 changes: 1 addition & 1 deletion things/mocks/service.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions things/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ func (svc service) ViewClientPerms(ctx context.Context, token, id string) ([]str
return permissions, nil
}

func (svc service) ListClients(ctx context.Context, token, reqUserID string, pm mgclients.Page, showFullData bool) (mgclients.ClientsPage, error) {
func (svc service) ListClients(ctx context.Context, token, reqUserID string, pm mgclients.Page, showFullData string) (mgclients.ClientsPage, error) {
var ids []string

res, err := svc.identify(ctx, token)
Expand Down Expand Up @@ -368,7 +368,7 @@ func (svc service) ListClients(ctx context.Context, token, reqUserID string, pm
return mgclients.ClientsPage{}, errors.Wrap(svcerr.ErrViewEntity, err)
}

if !showFullData {
if showFullData != "true" {
// 过滤 Client 字段
for i := range tp.Clients {
tp.Clients[i] = filterClientFields(tp.Clients[i])
Expand Down
8 changes: 4 additions & 4 deletions things/service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -602,7 +602,7 @@ func TestListClients(t *testing.T) {
retrieveAllCall := cRepo.On("RetrieveAllByIDs", mock.Anything, mock.Anything).Return(tc.retrieveAllResponse, tc.retrieveAllErr)
listPermissionsCall := auth.On("ListPermissions", mock.Anything, mock.Anything).Return(tc.listPermissionsResponse, tc.listPermissionsErr)

page, err := svc.ListClients(context.Background(), tc.token, tc.id, tc.page, false)
page, err := svc.ListClients(context.Background(), tc.token, tc.id, tc.page, "")
assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err))
assert.Equal(t, tc.response, page, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page))
repoCall.Unset()
Expand Down Expand Up @@ -782,7 +782,7 @@ func TestListClients(t *testing.T) {
retrieveAllCall := cRepo.On("RetrieveAllByIDs", mock.Anything, mock.Anything).Return(tc.retrieveAllResponse, tc.retrieveAllErr)
listPermissionsCall := auth.On("ListPermissions", mock.Anything, mock.Anything).Return(tc.listPermissionsResponse, tc.listPermissionsErr)

page, err := svc.ListClients(context.Background(), tc.token, tc.id, tc.page, false)
page, err := svc.ListClients(context.Background(), tc.token, tc.id, tc.page, "")
assert.True(t, errors.Contains(err, tc.err), fmt.Sprintf("%s: expected %s got %s\n", tc.desc, tc.err, err))
assert.Equal(t, tc.response, page, fmt.Sprintf("%s: expected %v got %v\n", tc.desc, tc.response, page))
repoCall.Unset()
Expand Down Expand Up @@ -1174,7 +1174,7 @@ func TestEnableClient(t *testing.T) {
repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, nil)
repoCall2 := auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&magistrala.ListObjectsRes{Policies: getIDs(tc.response.Clients)}, nil)
repoCall3 := cRepo.On("RetrieveAllByIDs", context.Background(), mock.Anything).Return(tc.response, nil)
page, err := svc.ListClients(context.Background(), validToken, "", pm, false)
page, err := svc.ListClients(context.Background(), validToken, "", pm, "")
require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err))
size := uint64(len(page.Clients))
assert.Equal(t, tc.size, size, fmt.Sprintf("%s: expected size %d got %d\n", tc.desc, tc.size, size))
Expand Down Expand Up @@ -1344,7 +1344,7 @@ func TestDisableClient(t *testing.T) {
repoCall1 := auth.On("Authorize", mock.Anything, mock.Anything).Return(&magistrala.AuthorizeRes{Authorized: true}, nil)
repoCall2 := auth.On("ListAllObjects", mock.Anything, mock.Anything).Return(&magistrala.ListObjectsRes{Policies: getIDs(tc.response.Clients)}, nil)
repoCall3 := cRepo.On("RetrieveAllByIDs", context.Background(), mock.Anything).Return(tc.response, nil)
page, err := svc.ListClients(context.Background(), validToken, "", pm, false)
page, err := svc.ListClients(context.Background(), validToken, "", pm, "")
require.Nil(t, err, fmt.Sprintf("unexpected error: %s", err))
size := uint64(len(page.Clients))
assert.Equal(t, tc.size, size, fmt.Sprintf("%s: expected size %d got %d\n", tc.desc, tc.size, size))
Expand Down
2 changes: 1 addition & 1 deletion things/things.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ type Service interface {
ViewClientPerms(ctx context.Context, token, id string) ([]string, error)

// ListClients retrieves clients list for a valid auth token.
ListClients(ctx context.Context, token string, reqUserID string, pm clients.Page, showFullData bool) (clients.ClientsPage, error)
ListClients(ctx context.Context, token string, reqUserID string, pm clients.Page, showFullData string) (clients.ClientsPage, error)

// ListClientsByGroup retrieves data about subset of things that are
// connected or not connected to specified channel and belong to the user identified by
Expand Down
2 changes: 1 addition & 1 deletion things/tracing/tracing.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func (tm *tracingMiddleware) ViewClientPerms(ctx context.Context, token, id stri
}

// ListClients traces the "ListClients" operation of the wrapped policies.Service.
func (tm *tracingMiddleware) ListClients(ctx context.Context, token, reqUserID string, pm mgclients.Page, showFullData bool) (mgclients.ClientsPage, error) {
func (tm *tracingMiddleware) ListClients(ctx context.Context, token, reqUserID string, pm mgclients.Page, showFullData string) (mgclients.ClientsPage, error) {
ctx, span := tm.tracer.Start(ctx, "svc_list_clients")
defer span.End()
return tm.svc.ListClients(ctx, token, reqUserID, pm, showFullData)
Expand Down

0 comments on commit 2309450

Please sign in to comment.