2718
2719
// ListWorkflowExecutions is a visibility API to list workflow executions in a specific namespace.
2720
>
func (wh *WorkflowHandler) ListWorkflowExecutions(ctx context.Context, request *workflowservice.ListWorkflowExecutionsRequest) (_ *workflowservice.ListWorkflowExecutionsResponse, retError error) {
workflow_handler.go
2721
>
defer log.CapturePanic(wh.logger, &retError)
2722
>
2723
>
if request == nil {
2724
return nil, errRequestNotSet
2725
}
2726
2727
>
maxPageSize := int32(wh.config.VisibilityMaxPageSize(request.GetNamespace()))
workflow_handler.go
2728
>
if request.GetPageSize() <= 0 || request.GetPageSize() > maxPageSize {
2729
request.PageSize = maxPageSize
2730
}
2731
2733
>
namespaceID, err := wh.namespaceRegistry.GetNamespaceID(namespaceName)
2734
>
if err != nil {
2735
return nil, err
2736
}
2737
2738
>
metrics.VisibilityListWorkflowsQueryLength.With(wh.metricsScope(ctx)).Record(int64(len(request.GetQuery())))
workflow_handler.go
2739
>
2740
>
req := &manager.ListWorkflowExecutionsRequestV2{
2741
>
NamespaceID: namespaceID,
2742
>
Namespace: namespaceName,
2743
>
PageSize: int(request.GetPageSize()),
2744
>
NextPageToken: request.NextPageToken,
2745
>
Query: request.GetQuery(),
2746
>
}
2747
>
persistenceResp, err := wh.visibilityMgr.ListWorkflowExecutions(ctx, req)
2748
>
if err != nil {
2749
return nil, err
2750
}
2751
2753
>
Executions: persistenceResp.Executions,
2754
>
NextPageToken: persistenceResp.NextPageToken,
2755
>
}, nil
2756
}
2757