/* Options: Date: 2026-04-04 03:13:59 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: ManagePrimaryImage.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/primaryimage") // @Route("/primaryimage/userprofile") public class ManagePrimaryImage : IReturn, Codable { public typealias Return = SaveMediaResponse /** * The licensee's contact Id linked to the media file. */ // @ApiMember(DataType="Guid", Description="The licensee's contact Id linked to the media file.", IsRequired=true, Name="ContactIdOwner", ParameterType="query") public var contactIdOwner:String? /** * Primary image file to be uploaded including file type and content type. */ // @ApiMember(DataType="MediaModel", Description="Primary image file to be uploaded including file type and content type.", IsRequired=true, Name="File") public var file:MediaModel? /** * Appliance from which primary image file is to be uploaded. */ // @ApiMember(DataType="Guid", Description="Appliance from which primary image file is to be uploaded.", IsRequired=true, Name="ApplianceId") public var applianceId:String? /** * Blob storage container to which primary image file is to be uploaded. */ // @ApiMember(DataType="Guid", Description="Blob storage container to which primary image file is to be uploaded.", IsRequired=true, Name="ContainerName") public var containerName:String? /** * Object for which primary image is to be uploaded. */ // @ApiMember(DataType="Guid", Description="Object for which primary image is to be uploaded.", IsRequired=true, Name="ConnectedObjectId") public var connectedObjectId:String? required public init(){} } public class SaveMediaResponse : Codable { /** * Media File Guid */ // @ApiMember(DataType="Guid", Description="Media File Guid", Name="ErosMediaFileId", ParameterType="query") public var erosMediaFileId:String? /** * Media File Name */ // @ApiMember(DataType="string", Description="Media File Name", Name="MediaName", ParameterType="query") public var mediaName:String? /** * The original name of the media being saved. */ // @ApiMember(DataType="string", Description="The original name of the media being saved.", Name="OriginalFileName", ParameterType="query") public var originalFileName:String? /** * Url of the media file. */ // @ApiMember(DataType="string", Description="Url of the media file.", Name="MediaFileUrl", ParameterType="query") public var mediaFileUrl:String? /** * Url of the media file thumbnail. */ // @ApiMember(DataType="string", Description="Url of the media file thumbnail.", Name="MediaFileThumbnailUrl", ParameterType="query") public var mediaFileThumbnailUrl:String? /** * Service Stack Response Status. */ // @ApiMember(DataType="ResponseStatus", Description="Service Stack Response Status.", Name="ResponseStatus", ParameterType="query") public var responseStatus:ResponseStatus? required public init(){} } public class MediaModel : Codable { public var mediaFileId:String? public var mediaName:String? public var fileContent:String? public var fileContentType:String? public var filePath:String? public var originalFileName:String? public var imageWidth:Int? public var imageHeight:Int? public var fileSizeKB:Int? public var blobUriRaw:String? public var blobUriFull:String? public var blobUriThumbnail:String? public var watermarkUri:String? public var capturedDate:Date? public var capturedByContactId:String? public var capturedByContactName:String? public var capturedByContactThumbnailUrl:String? public var notes:String? public var resourceActionName:String? public var locationVerified:String? public var trafficLightLocationVerified:String? public var audienceLevel:String? public var worksFor:String? required public init(){} }