| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // Code scaffolded by goctl. Safe to edit.
- // goctl 1.10.2
- package logic
- import (
- "context"
- "strings"
- "udeServer/internal/apierr"
- "udeServer/internal/svc"
- "udeServer/internal/types"
- "github.com/zeromicro/go-zero/core/logx"
- )
- type ListKeysLogic struct {
- logx.Logger
- ctx context.Context
- svcCtx *svc.ServiceContext
- }
- func NewListKeysLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListKeysLogic {
- return &ListKeysLogic{
- Logger: logx.WithContext(ctx),
- ctx: ctx,
- svcCtx: svcCtx,
- }
- }
- // ListKeys lists keys with paging and optional filters.
- // name supports fuzzy matching; status accepts "1" (enabled) or "2" (disabled).
- func (l *ListKeysLogic) ListKeys(req *types.ListKeysReq) (*types.KeyListResp, error) {
- page, pageSize := normalizePage(req.Page, req.PageSize)
- status := strings.TrimSpace(req.Status)
- if status != "" && status != keyStatusEnabled && status != keyStatusDisabled {
- return nil, apierr.BadRequest("status must be %q (enabled) or %q (disabled)",
- keyStatusEnabled, keyStatusDisabled)
- }
- list, total, err := l.svcCtx.KeyModel.FindPage(l.ctx, page, pageSize, req.Name, status)
- if err != nil {
- l.Errorf("list keys failed: %v", err)
- return nil, err
- }
- resp := &types.KeyListResp{
- List: make([]types.KeyResp, 0, len(list)),
- Total: total,
- }
- for i := range list {
- resp.List = append(resp.List, *toKeyResp(&list[i]))
- }
- return resp, nil
- }
|