2603
2604
// ListClosedWorkflowExecutions is a visibility API to list the closed executions in a specific namespace.
2605
>
func (wh *WorkflowHandler) ListClosedWorkflowExecutions(ctx context.Context, request *workflowservice.ListClosedWorkflowExecutionsRequest) (_ *workflowservice.ListClosedWorkflowExecutionsResponse, retError error) {
workflow_handler.go
2606
>
defer log.CapturePanic(wh.logger, &retError)
2607
>
2608
>
if request == nil {
2609
return nil, errRequestNotSet
2610
}
2611
2612
>
maxPageSize := int32(wh.config.VisibilityMaxPageSize(request.GetNamespace()))
workflow_handler.go
2613
>
if request.GetMaximumPageSize() <= 0 || request.GetMaximumPageSize() > maxPageSize {
2614
>
request.MaximumPageSize = maxPageSize
2615
>
}
2616
2618
>
namespaceID, err := wh.namespaceRegistry.GetNamespaceID(namespaceName)
2619
>
if err != nil {
2620
return nil, err
2621
}
2622
2624
request.StartTimeFilter = &filterpb.StartTimeFilter{}
2625
}
2626
2628
>
latestTime := request.StartTimeFilter.GetLatestTime()
2629
>
query := []string{}
2630
>
2631
>
query = append(query, fmt.Sprintf(
2632
>
"%s != '%s'",
2633
>
sadefs.ExecutionStatus,
2634
>
enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING,
2635
>
))
2636
>
2637
>
if earliestTime != nil && !earliestTime.AsTime().IsZero() &&
2638
>
latestTime != nil && !latestTime.AsTime().IsZero() {
2639
if earliestTime.AsTime().After(latestTime.AsTime()) {
2640
return nil, errEarliestTimeIsGreaterThanLatestTime