import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
public static class CreateApiProvider implements ICreateDb<ApiProvider>
{
@Validate(Validator="GreaterThan(0)")
public Integer apiTypeId = null;
public String apiBaseUrl = null;
@Validate(Validator="NotEmpty")
public String name = null;
public String apiKeyVar = null;
public String apiKey = null;
public String apiKeyHeader = null;
public String heartbeatUrl = null;
public HashMap<TaskType,String> taskPaths = null;
public Integer concurrency = null;
public Integer priority = null;
public Boolean enabled = null;
public ArrayList<ApiProviderModel> models = null;
public ArrayList<String> selectedModels = null;
public Integer getApiTypeId() { return apiTypeId; }
public CreateApiProvider setApiTypeId(Integer value) { this.apiTypeId = value; return this; }
public String getApiBaseUrl() { return apiBaseUrl; }
public CreateApiProvider setApiBaseUrl(String value) { this.apiBaseUrl = value; return this; }
public String getName() { return name; }
public CreateApiProvider setName(String value) { this.name = value; return this; }
public String getApiKeyVar() { return apiKeyVar; }
public CreateApiProvider setApiKeyVar(String value) { this.apiKeyVar = value; return this; }
public String getApiKey() { return apiKey; }
public CreateApiProvider setApiKey(String value) { this.apiKey = value; return this; }
public String getApiKeyHeader() { return apiKeyHeader; }
public CreateApiProvider setApiKeyHeader(String value) { this.apiKeyHeader = value; return this; }
public String getHeartbeatUrl() { return heartbeatUrl; }
public CreateApiProvider setHeartbeatUrl(String value) { this.heartbeatUrl = value; return this; }
public HashMap<TaskType,String> getTaskPaths() { return taskPaths; }
public CreateApiProvider setTaskPaths(HashMap<TaskType,String> value) { this.taskPaths = value; return this; }
public Integer getConcurrency() { return concurrency; }
public CreateApiProvider setConcurrency(Integer value) { this.concurrency = value; return this; }
public Integer getPriority() { return priority; }
public CreateApiProvider setPriority(Integer value) { this.priority = value; return this; }
public Boolean isEnabled() { return enabled; }
public CreateApiProvider setEnabled(Boolean value) { this.enabled = value; return this; }
public ArrayList<ApiProviderModel> getModels() { return models; }
public CreateApiProvider setModels(ArrayList<ApiProviderModel> value) { this.models = value; return this; }
public ArrayList<String> getSelectedModels() { return selectedModels; }
public CreateApiProvider setSelectedModels(ArrayList<String> value) { this.selectedModels = value; return this; }
}
public static enum TaskType
{
OpenAiChat(1),
Comfy(2);
private final int value;
TaskType(final int intValue) { value = intValue; }
public int getValue() { return value; }
}
public static class ApiProviderModel
{
public String model = null;
public String apiModel = null;
public String getModel() { return model; }
public ApiProviderModel setModel(String value) { this.model = value; return this; }
public String getApiModel() { return apiModel; }
public ApiProviderModel setApiModel(String value) { this.apiModel = value; return this; }
}
@DataContract
public static class IdResponse
{
@DataMember(Order=1)
public String id = null;
@DataMember(Order=2)
public ResponseStatus responseStatus = null;
public String getId() { return id; }
public IdResponse setId(String value) { this.id = value; return this; }
public ResponseStatus getResponseStatus() { return responseStatus; }
public IdResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/CreateApiProvider HTTP/1.1
Host: blazordiffusion.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
apiTypeId: 0,
apiBaseUrl: String,
name: String,
apiKeyVar: String,
apiKey: String,
apiKeyHeader: String,
heartbeatUrl: String,
taskPaths:
{
OpenAiChat: String
},
concurrency: 0,
priority: 0,
enabled: False,
models:
[
{
model: String,
apiModel: String
}
],
selectedModels:
[
String
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { id: String, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }