Skip to content
Draft
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package app.quickcase.sdk.spring.definition.model;

import java.util.List;
import java.util.Map;
import java.util.Set;

import lombok.Builder;
import lombok.NonNull;
import lombok.Singular;

@Builder
public record Action(
@NonNull String id,
@NonNull String name,
String label,
String description,
Integer order,
@Singular Set<String> fromStates,
String precondition,
String toState,
@Singular List<Postcondition> postconditions,
@NonNull @Singular("acl") Map<String, Integer> acl,
@NonNull String classification,
Webhooks webhooks
) {
@Builder
public record Postcondition(
@NonNull String path,
@NonNull String value
) {
}

@Builder
public record Webhooks(
@NonNull Webhook onStart,
@NonNull Webhook onSubmit,
@NonNull Webhook onSubmitted
) {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package app.quickcase.sdk.spring.definition.model;

import java.util.List;
import java.util.Map;

import lombok.Builder;
import lombok.NonNull;
import lombok.Singular;

@Builder
public record CreateAction(
@NonNull String id,
@NonNull String name,
String label,
String description,
Integer order,
@NonNull String toState,
@Singular List<Action.Postcondition> postconditions,
@NonNull @Singular("acl") Map<String, Integer> acl,
@NonNull String classification,
Action.Webhooks webhooks
) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

@Builder
public record RecordType(
@NonNull Schema schema
@NonNull Schema schema,
@NonNull Workflow workflow
) {
}
19 changes: 19 additions & 0 deletions src/main/java/app/quickcase/sdk/spring/definition/model/State.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package app.quickcase.sdk.spring.definition.model;

import java.util.Map;

import lombok.Builder;
import lombok.NonNull;
import lombok.Singular;

@Builder
public record State(
@NonNull String id,
@NonNull String name,
String label,
String description,
String titleTemplate,
Integer order,
@NonNull @Singular("acl") Map<String, Integer> acl
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package app.quickcase.sdk.spring.definition.model;

import java.net.URL;
import java.util.List;

import lombok.Builder;
import lombok.NonNull;
import lombok.Singular;

@Builder
public record Webhook(
@NonNull URL url,
@Singular @NonNull List<Integer> retries
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package app.quickcase.sdk.spring.definition.model;

import java.util.Map;

import lombok.Builder;
import lombok.NonNull;
import lombok.Singular;

@Builder
public record Workflow(
@NonNull @Singular Map<String, State> states,
@NonNull @Singular Map<String, CreateAction> createActions,
@NonNull @Singular Map<String, Action> actions
) {
}
Loading