/* Options: Date: 2026-04-04 06:46:38 SwiftVersion: 6.0 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://pfapi.pstpf.com.au/api //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: SaveAutoInspection.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Add or update an inspection automation for an object */ // @Route("/automation/inspection", "POST") // @Route("/automation/inspection/{AutomationId}", "PUT") // @Api(Description="Add or update an inspection automation for an object") public class SaveAutoInspection : IReturn, Codable { public typealias Return = GetAutomationsForObjectResponse /** * Details of the automation to be added or updated. */ // @ApiMember(Description="Details of the automation to be added or updated.", ParameterType="query") public var automation:AutoInspectionModel? /** * Id of the automation. */ // @ApiMember(Description="Id of the automation.", ParameterType="path") public var automationId:String? required public init(){} } // @ApiResponse(Description="List of automations that are setup for an object") public class GetAutomationsForObjectResponse : Codable { /** * List of automations. */ // @ApiMember(Description="List of automations.") public var automations:[AutomationModel]? public var responseStatus:ResponseStatus? required public init(){} } public class AutoInspectionModel : AutomationModel { /** * The inspection type for the template. */ // @ApiMember(Description="The inspection type for the template.", ParameterType="query") public var inspectionTypeId:String? /** * The template to base the new inspection on. */ // @ApiMember(Description="The template to base the new inspection on.", ParameterType="query") public var inspectionTemplateId:String? /** * 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") public var contactRoleId:String? /** * 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") public var ignoreIfExists:Bool? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case inspectionTypeId case inspectionTemplateId case contactRoleId case ignoreIfExists } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) inspectionTypeId = try container.decodeIfPresent(String.self, forKey: .inspectionTypeId) inspectionTemplateId = try container.decodeIfPresent(String.self, forKey: .inspectionTemplateId) contactRoleId = try container.decodeIfPresent(String.self, forKey: .contactRoleId) ignoreIfExists = try container.decodeIfPresent(Bool.self, forKey: .ignoreIfExists) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if inspectionTypeId != nil { try container.encode(inspectionTypeId, forKey: .inspectionTypeId) } if inspectionTemplateId != nil { try container.encode(inspectionTemplateId, forKey: .inspectionTemplateId) } if contactRoleId != nil { try container.encode(contactRoleId, forKey: .contactRoleId) } if ignoreIfExists != nil { try container.encode(ignoreIfExists, forKey: .ignoreIfExists) } } } public class AutomationModel : Codable { /** * The unique automation Id */ // @ApiMember(Description="The unique automation Id", ParameterType="query") public var automationId:String? /** * The automation type Id */ // @ApiMember(Description="The automation type Id", ParameterType="query") public var automationTypeId:String? /** * The automation type */ // @ApiMember(Description="The automation type", ParameterType="query") public var automationType:String? /** * The object this automation applies to */ // @ApiMember(Description="The object this automation applies to", ParameterType="query") public var objectId:String? /** * The object name this automation applies to */ // @ApiMember(Description="The object name this automation applies to", ParameterType="query") public var objectName:String? /** * 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") public var rmsTableCtxIdObject:String? /** * 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") public var rmsTableCtxName:String? /** * 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") public var actionList:[String]? /** * 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") public var actions:String? /** * Name of the automation. */ // @ApiMember(Description="Name of the automation.", ParameterType="query") public var name:String? /** * Description of the automation */ // @ApiMember(Description="Description of the automation", ParameterType="query") public var Description:String? /** * Owner Contact Id */ // @ApiMember(Description="Owner Contact Id", ParameterType="query") public var ownerContactId:String? /** * Record Status of the automation. */ // @ApiMember(Description="Record Status of the automation.", ParameterType="query") public var recordStatus:String? required public init(){} }