Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion gen/iwfidl/api/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1259,7 +1259,6 @@ components:
enum:
- STATE_DECISION_FAILING_WORKFLOW_ERROR_TYPE
- CLIENT_API_FAILING_WORKFLOW_ERROR_TYPE
- STATE_API_FAIL_MAX_OUT_RETRY_ERROR_TYPE
- STATE_API_FAIL_ERROR_TYPE
- INVALID_USER_WORKFLOW_CODE_ERROR_TYPE
- RPC_ACQUIRE_LOCK_FAILURE
Expand Down Expand Up @@ -2083,6 +2082,7 @@ components:
signalValue:
data: data
encoding: encoding
stateWaitUntilFailed: true
interStateChannelResults:
- channelName: channelName
commandId: commandId
Expand Down Expand Up @@ -2840,6 +2840,7 @@ components:
signalValue:
data: data
encoding: encoding
stateWaitUntilFailed: true
interStateChannelResults:
- channelName: channelName
commandId: commandId
Expand Down Expand Up @@ -2874,6 +2875,8 @@ components:
type: array
stateStartApiSucceeded:
type: boolean
stateWaitUntilFailed:
type: boolean
type: object
TimerCommand:
example:
Expand Down
26 changes: 26 additions & 0 deletions gen/iwfidl/docs/CommandResults.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Name | Type | Description | Notes
**InterStateChannelResults** | Pointer to [**[]InterStateChannelResult**](InterStateChannelResult.md) | | [optional]
**TimerResults** | Pointer to [**[]TimerResult**](TimerResult.md) | | [optional]
**StateStartApiSucceeded** | Pointer to **bool** | | [optional]
**StateWaitUntilFailed** | Pointer to **bool** | | [optional]

## Methods

Expand Down Expand Up @@ -128,6 +129,31 @@ SetStateStartApiSucceeded sets StateStartApiSucceeded field to given value.

HasStateStartApiSucceeded returns a boolean if a field has been set.

### GetStateWaitUntilFailed

`func (o *CommandResults) GetStateWaitUntilFailed() bool`

GetStateWaitUntilFailed returns the StateWaitUntilFailed field if non-nil, zero value otherwise.

### GetStateWaitUntilFailedOk

`func (o *CommandResults) GetStateWaitUntilFailedOk() (*bool, bool)`

GetStateWaitUntilFailedOk returns a tuple with the StateWaitUntilFailed field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.

### SetStateWaitUntilFailed

`func (o *CommandResults) SetStateWaitUntilFailed(v bool)`

SetStateWaitUntilFailed sets StateWaitUntilFailed field to given value.

### HasStateWaitUntilFailed

`func (o *CommandResults) HasStateWaitUntilFailed() bool`

HasStateWaitUntilFailed returns a boolean if a field has been set.


[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

Expand Down
2 changes: 0 additions & 2 deletions gen/iwfidl/docs/WorkflowErrorType.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@

* `CLIENT_API_FAILING_WORKFLOW_ERROR_TYPE` (value: `"CLIENT_API_FAILING_WORKFLOW_ERROR_TYPE"`)

* `STATE_API_FAIL_MAX_OUT_RETRY_ERROR_TYPE` (value: `"STATE_API_FAIL_MAX_OUT_RETRY_ERROR_TYPE"`)

* `STATE_API_FAIL_ERROR_TYPE` (value: `"STATE_API_FAIL_ERROR_TYPE"`)

* `INVALID_USER_WORKFLOW_CODE_ERROR_TYPE` (value: `"INVALID_USER_WORKFLOW_CODE_ERROR_TYPE"`)
Expand Down
36 changes: 36 additions & 0 deletions gen/iwfidl/model_command_results.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions gen/iwfidl/model_workflow_error_type.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion iwf-idl
Submodule iwf-idl updated 2 files
+3 −2 iwf-sdk.yaml
+9 −1 iwf.yaml
12 changes: 6 additions & 6 deletions iwf/command_results.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import "github.com/indeedeng/iwf-golang-sdk/gen/iwfidl"

type (
CommandResults struct {
Timers []TimerCommandResult
Signals []SignalCommandResult
InternalChannelCommands []InternalChannelCommandResult
StateWaitUntilApiSucceeded *bool
Timers []TimerCommandResult
Signals []SignalCommandResult
InternalChannelCommands []InternalChannelCommandResult
WaitUntilApiSucceeded *bool
}

SignalCommandResult struct {
Expand Down Expand Up @@ -75,6 +75,6 @@ func (c CommandResults) GetInternalChannelCommandResultByChannel(channelName str
return nil
}

func (c CommandResults) GetStateWaitUntilApiSucceeded() *bool {
return c.StateWaitUntilApiSucceeded
func (c CommandResults) GetWaitUntilApiSucceeded() *bool {
return c.WaitUntilApiSucceeded
}
18 changes: 13 additions & 5 deletions iwf/internal_mapper.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package iwf

import (
"github.com/indeedeng/iwf-golang-sdk/iwf/ptr"
"strings"

"github.com/indeedeng/iwf-golang-sdk/gen/iwfidl"
"github.com/indeedeng/iwf-golang-sdk/iwf/ptr"
)

func fromIdlCommandResults(results *iwfidl.CommandResults, encoder ObjectEncoder) (CommandResults, error) {
Expand Down Expand Up @@ -39,11 +39,19 @@ func fromIdlCommandResults(results *iwfidl.CommandResults, encoder ObjectEncoder
}
internalChannelResults = append(internalChannelResults, interStateChannelResult)
}
var waitUntilApiSucceeded *bool
if results.StateWaitUntilFailed != nil {
// The server will set stateWaitUntilFailed to true if the waitUntil API failed.
// Hence, flag inversion is needed here to indicate that the waitUntil API
// succeeded.
stateWaitUntilFailed := !*results.StateWaitUntilFailed
waitUntilApiSucceeded = &stateWaitUntilFailed
}
return CommandResults{
Timers: timerResults,
Signals: signalResults,
InternalChannelCommands: internalChannelResults,
StateWaitUntilApiSucceeded: results.StateStartApiSucceeded,
Timers: timerResults,
Signals: signalResults,
InternalChannelCommands: internalChannelResults,
WaitUntilApiSucceeded: waitUntilApiSucceeded,
}, nil
}

Expand Down