-
Notifications
You must be signed in to change notification settings - Fork 1
feat: type the remaining closed-set params as enums #508
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
9e7b503
feat(java): take a WorkflowCondition on the step builder
kartikeya-27 0cfac36
feat(java): take a StorageBackend on the client builder
kartikeya-27 3576cce
feat(python): type workflow condition/status compares
kartikeya-27 6efde5d
feat(python): accept a Strategy enum in register_type
kartikeya-27 dc829e7
feat(python): type the storage backend as StorageBackend
kartikeya-27 5b4ff89
feat(python): type the webhook delivery status
kartikeya-27 83da717
test(python): cover the remaining closed-set enums
kartikeya-27 1481ef9
docs: note the remaining closed-set enum typing
kartikeya-27 0707a43
fix(python): put None last in builder unions (RUF036)
kartikeya-27 46d8c87
fix(java): mention WorkflowCondition in condition error
kartikeya-27 0724159
fix(python): resolve compensates via _task_name too
kartikeya-27 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
34 changes: 34 additions & 0 deletions
34
sdks/java/src/main/java/org/byteveda/taskito/model/StorageBackend.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| package org.byteveda.taskito.model; | ||
|
|
||
| import java.util.Locale; | ||
| import org.byteveda.taskito.errors.SerializationException; | ||
|
|
||
| /** | ||
| * Storage backend a {@link org.byteveda.taskito.Taskito} client opens. The wire form is the | ||
| * lowercase name, shared across SDKs. | ||
| */ | ||
| public enum StorageBackend { | ||
| /** Brokerless SQLite file store — the default. */ | ||
| SQLITE, | ||
| /** PostgreSQL. */ | ||
| POSTGRES, | ||
| /** Redis. */ | ||
| REDIS; | ||
|
|
||
| /** Lowercase wire form passed to the native layer. */ | ||
| public String wire() { | ||
| return name().toLowerCase(Locale.ROOT); | ||
| } | ||
|
|
||
| /** Parse a wire form ({@code "sqlite"}/{@code "postgres"}/{@code "redis"}). */ | ||
| public static StorageBackend fromWire(String wire) { | ||
| if (wire == null) { | ||
| throw new SerializationException("storage backend is null"); | ||
| } | ||
| try { | ||
| return valueOf(wire.toUpperCase(Locale.ROOT)); | ||
| } catch (IllegalArgumentException e) { | ||
| throw new SerializationException("unknown storage backend: " + wire, e); | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
34 changes: 34 additions & 0 deletions
34
sdks/java/src/main/java/org/byteveda/taskito/workflows/WorkflowCondition.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| package org.byteveda.taskito.workflows; | ||
|
|
||
| import java.util.Locale; | ||
| import org.byteveda.taskito.errors.SerializationException; | ||
|
|
||
| /** | ||
| * When a step runs, based on its predecessors' outcomes. The wire form is the lowercase | ||
| * snake_case name, shared across SDKs. | ||
| */ | ||
| public enum WorkflowCondition { | ||
| /** Every predecessor completed — the default. */ | ||
| ON_SUCCESS, | ||
| /** At least one predecessor failed — an error-handler branch. */ | ||
| ON_FAILURE, | ||
| /** Regardless of predecessor outcomes, once they settle. */ | ||
| ALWAYS; | ||
|
|
||
| /** Lowercase snake_case wire form ({@code "on_success"}/{@code "on_failure"}/{@code "always"}). */ | ||
| public String wire() { | ||
| return name().toLowerCase(Locale.ROOT); | ||
| } | ||
|
|
||
| /** Parse a wire form ({@code "on_success"}/{@code "on_failure"}/{@code "always"}). */ | ||
| public static WorkflowCondition fromWire(String wire) { | ||
| if (wire == null) { | ||
| throw new SerializationException("workflow condition is null"); | ||
| } | ||
| try { | ||
| return valueOf(wire.toUpperCase(Locale.ROOT)); | ||
| } catch (IllegalArgumentException e) { | ||
| throw new SerializationException("unknown workflow condition: " + wire, e); | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.