func ListKV()

in server/service/kv/kv_svc.go [45:69]


func ListKV(ctx context.Context, request *model.ListKVRequest) (int64, *model.KVResponse, *errsvc.Error) {
	opts := []datasource.FindOption{
		datasource.WithKey(request.Key),
		datasource.WithLabels(request.Labels),
		datasource.WithOffset(request.Offset),
		datasource.WithLimit(request.Limit),
	}
	m := request.Match
	if m == common.PatternExact {
		opts = append(opts, datasource.WithExactLabels())
	}
	if request.Status != "" {
		opts = append(opts, datasource.WithStatus(request.Status))
	}
	rev, err := datasource.GetBroker().GetRevisionDao().GetRevision(ctx, request.Domain)
	if err != nil {
		return rev, nil, config.NewError(config.ErrInternal, err.Error())
	}
	kv, err := List(ctx, request.Project, request.Domain, opts...)
	if err != nil {
		openlog.Error("common: " + err.Error())
		return rev, nil, config.NewError(config.ErrInternal, common.MsgDBError)
	}
	return rev, kv, nil
}