(id toolspkg.ToolID, field string, raw string)
| 5784 | } |
| 5785 | |
| 5786 | func parseNativeOptionalRFC3339(id toolspkg.ToolID, field string, raw string) (time.Time, error) { |
| 5787 | trimmed := strings.TrimSpace(raw) |
| 5788 | if trimmed == "" { |
| 5789 | return time.Time{}, nil |
| 5790 | } |
| 5791 | timestamp, err := time.Parse(time.RFC3339, trimmed) |
| 5792 | if err != nil { |
| 5793 | return time.Time{}, toolspkg.NewToolError( |
| 5794 | toolspkg.ErrorCodeInvalidInput, |
| 5795 | id, |
| 5796 | fmt.Sprintf("%s must be an RFC3339 timestamp", field), |
| 5797 | fmt.Errorf("%w: %w", toolspkg.ErrToolInvalidInput, err), |
| 5798 | toolspkg.ReasonSchemaInvalid, |
| 5799 | ) |
| 5800 | } |
| 5801 | return timestamp, nil |
| 5802 | } |
| 5803 | |
| 5804 | func logEventPayloads(events []store.EventSummary) []contract.LogEventPayload { |
| 5805 | payload := make([]contract.LogEventPayload, 0, len(events)) |
no outgoing calls
no test coverage detected