| PUT | /api/automation/inspection/{AutomationId} | ||
|---|---|---|---|
| POST | /api/automation/inspection |
import 'package:servicestack/servicestack.dart';
class AutomationModel implements IConvertible
{
/**
* The unique automation Id
*/
// @ApiMember(Description="The unique automation Id", ParameterType="query")
String? AutomationId;
/**
* The automation type Id
*/
// @ApiMember(Description="The automation type Id", ParameterType="query")
String? AutomationTypeId;
/**
* The automation type
*/
// @ApiMember(Description="The automation type", ParameterType="query")
String? AutomationType;
/**
* The object this automation applies to
*/
// @ApiMember(Description="The object this automation applies to", ParameterType="query")
String? ObjectId;
/**
* The object name this automation applies to
*/
// @ApiMember(Description="The object name this automation applies to", ParameterType="query")
String? ObjectName;
/**
* The Id of the object type that this automation applies to.
*/
// @ApiMember(Description="The Id of the object type that this automation applies to. ", ParameterType="query")
String? RmsTableCtxIdObject;
/**
* The name of the object type that this automation applies to.
*/
// @ApiMember(Description="The name of the object type that this automation applies to.", ParameterType="query")
String? RmsTableCtxName;
/**
* A guid list containing the selected system action Id's that trigger this automation.
*/
// @ApiMember(Description="A guid list containing the selected system action Id's that trigger this automation.", ParameterType="query")
List<String>? ActionList;
/**
* A comma separated string of the selected system action names that trigger this automation.
*/
// @ApiMember(Description="A comma separated string of the selected system action names that trigger this automation.", ParameterType="query")
String? Actions;
/**
* Name of the automation.
*/
// @ApiMember(Description="Name of the automation.", ParameterType="query")
String? Name;
/**
* Description of the automation
*/
// @ApiMember(Description="Description of the automation", ParameterType="query")
String? Description;
/**
* Owner Contact Id
*/
// @ApiMember(Description="Owner Contact Id", ParameterType="query")
String? OwnerContactId;
/**
* Record Status of the automation.
*/
// @ApiMember(Description="Record Status of the automation.", ParameterType="query")
String? RecordStatus;
AutomationModel({this.AutomationId,this.AutomationTypeId,this.AutomationType,this.ObjectId,this.ObjectName,this.RmsTableCtxIdObject,this.RmsTableCtxName,this.ActionList,this.Actions,this.Name,this.Description,this.OwnerContactId,this.RecordStatus});
AutomationModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AutomationId = json['AutomationId'];
AutomationTypeId = json['AutomationTypeId'];
AutomationType = json['AutomationType'];
ObjectId = json['ObjectId'];
ObjectName = json['ObjectName'];
RmsTableCtxIdObject = json['RmsTableCtxIdObject'];
RmsTableCtxName = json['RmsTableCtxName'];
ActionList = JsonConverters.fromJson(json['ActionList'],'List<String>',context!);
Actions = json['Actions'];
Name = json['Name'];
Description = json['Description'];
OwnerContactId = json['OwnerContactId'];
RecordStatus = json['RecordStatus'];
return this;
}
Map<String, dynamic> toJson() => {
'AutomationId': AutomationId,
'AutomationTypeId': AutomationTypeId,
'AutomationType': AutomationType,
'ObjectId': ObjectId,
'ObjectName': ObjectName,
'RmsTableCtxIdObject': RmsTableCtxIdObject,
'RmsTableCtxName': RmsTableCtxName,
'ActionList': JsonConverters.toJson(ActionList,'List<String>',context!),
'Actions': Actions,
'Name': Name,
'Description': Description,
'OwnerContactId': OwnerContactId,
'RecordStatus': RecordStatus
};
getTypeName() => "AutomationModel";
TypeContext? context = _ctx;
}
// @ApiResponse(Description="List of automations that are setup for an object")
class GetAutomationsForObjectResponse implements IConvertible
{
/**
* List of automations.
*/
// @ApiMember(Description="List of automations.")
List<AutomationModel>? Automations;
ResponseStatus? ResponseStatus;
GetAutomationsForObjectResponse({this.Automations,this.ResponseStatus});
GetAutomationsForObjectResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Automations = JsonConverters.fromJson(json['Automations'],'List<AutomationModel>',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Automations': JsonConverters.toJson(Automations,'List<AutomationModel>',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "GetAutomationsForObjectResponse";
TypeContext? context = _ctx;
}
class AutoInspectionModel extends AutomationModel implements IConvertible
{
/**
* The inspection type for the template.
*/
// @ApiMember(Description="The inspection type for the template.", ParameterType="query")
String? InspectionTypeId;
/**
* The template to base the new inspection on.
*/
// @ApiMember(Description="The template to base the new inspection on.", ParameterType="query")
String? InspectionTemplateId;
/**
* The inspector chosen for this inspection will be a contact linked to the project in this role. If no one matches the description, the inspector is not set.
*/
// @ApiMember(Description="The inspector chosen for this inspection will be a contact linked to the project in this role. If no one matches the description, the inspector is not set. ", ParameterType="query")
String? ContactRoleId;
/**
* If this is true, then if a project inspection for this template already exists, we will not create another inspection.
*/
// @ApiMember(Description="If this is true, then if a project inspection for this template already exists, we will not create another inspection.", ParameterType="query")
bool? IgnoreIfExists;
AutoInspectionModel({this.InspectionTypeId,this.InspectionTemplateId,this.ContactRoleId,this.IgnoreIfExists});
AutoInspectionModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
InspectionTypeId = json['InspectionTypeId'];
InspectionTemplateId = json['InspectionTemplateId'];
ContactRoleId = json['ContactRoleId'];
IgnoreIfExists = json['IgnoreIfExists'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'InspectionTypeId': InspectionTypeId,
'InspectionTemplateId': InspectionTemplateId,
'ContactRoleId': ContactRoleId,
'IgnoreIfExists': IgnoreIfExists
});
getTypeName() => "AutoInspectionModel";
TypeContext? context = _ctx;
}
/**
* Add or update an inspection automation for an object
*/
// @Api(Description="Add or update an inspection automation for an object")
class SaveAutoInspection implements IConvertible
{
/**
* Details of the automation to be added or updated.
*/
// @ApiMember(Description="Details of the automation to be added or updated.", ParameterType="query")
AutoInspectionModel? Automation;
/**
* Id of the automation.
*/
// @ApiMember(Description="Id of the automation.", ParameterType="path")
String? AutomationId;
SaveAutoInspection({this.Automation,this.AutomationId});
SaveAutoInspection.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Automation = JsonConverters.fromJson(json['Automation'],'AutoInspectionModel',context!);
AutomationId = json['AutomationId'];
return this;
}
Map<String, dynamic> toJson() => {
'Automation': JsonConverters.toJson(Automation,'AutoInspectionModel',context!),
'AutomationId': AutomationId
};
getTypeName() => "SaveAutoInspection";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
'AutomationModel': TypeInfo(TypeOf.Class, create:() => AutomationModel()),
'GetAutomationsForObjectResponse': TypeInfo(TypeOf.Class, create:() => GetAutomationsForObjectResponse()),
'List<AutomationModel>': TypeInfo(TypeOf.Class, create:() => <AutomationModel>[]),
'AutoInspectionModel': TypeInfo(TypeOf.Class, create:() => AutoInspectionModel()),
'SaveAutoInspection': TypeInfo(TypeOf.Class, create:() => SaveAutoInspection()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/automation/inspection HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: application/json
Content-Type: application/json
Content-Length: length
{"Automation":{"InspectionTypeId":"00000000-0000-0000-0000-000000000000","InspectionTemplateId":"00000000-0000-0000-0000-000000000000","ContactRoleId":"00000000-0000-0000-0000-000000000000","IgnoreIfExists":false,"AutomationId":"00000000-0000-0000-0000-000000000000","AutomationTypeId":"00000000-0000-0000-0000-000000000000","AutomationType":"String","ObjectId":"00000000-0000-0000-0000-000000000000","ObjectName":"String","RmsTableCtxIdObject":"00000000-0000-0000-0000-000000000000","RmsTableCtxName":"String","ActionList":["00000000-0000-0000-0000-000000000000"],"Actions":"String","Name":"String","Description":"String","OwnerContactId":"00000000-0000-0000-0000-000000000000","RecordStatus":"String"},"AutomationId":"00000000-0000-0000-0000-000000000000"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"Automations":[{"AutomationId":"00000000-0000-0000-0000-000000000000","AutomationTypeId":"00000000-0000-0000-0000-000000000000","AutomationType":"String","ObjectId":"00000000-0000-0000-0000-000000000000","ObjectName":"String","RmsTableCtxIdObject":"00000000-0000-0000-0000-000000000000","RmsTableCtxName":"String","ActionList":["00000000-0000-0000-0000-000000000000"],"Actions":"String","Name":"String","Description":"String","OwnerContactId":"00000000-0000-0000-0000-000000000000","RecordStatus":"String"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}