/* Options: Date: 2026-04-04 01:21:54 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://pfapi.pstpf.com.au/api //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ManagePrimaryImage.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class MediaModel implements IConvertible { String? MediaFileId; String? MediaName; String? FileContent; String? FileContentType; String? FilePath; String? OriginalFileName; int? ImageWidth; int? ImageHeight; int? FileSizeKB; String? BlobUriRaw; String? BlobUriFull; String? BlobUriThumbnail; String? WatermarkUri; DateTime? CapturedDate; String? CapturedByContactId; String? CapturedByContactName; String? CapturedByContactThumbnailUrl; String? Notes; String? ResourceActionName; String? LocationVerified; String? TrafficLightLocationVerified; String? AudienceLevel; String? WorksFor; MediaModel({this.MediaFileId,this.MediaName,this.FileContent,this.FileContentType,this.FilePath,this.OriginalFileName,this.ImageWidth,this.ImageHeight,this.FileSizeKB,this.BlobUriRaw,this.BlobUriFull,this.BlobUriThumbnail,this.WatermarkUri,this.CapturedDate,this.CapturedByContactId,this.CapturedByContactName,this.CapturedByContactThumbnailUrl,this.Notes,this.ResourceActionName,this.LocationVerified,this.TrafficLightLocationVerified,this.AudienceLevel,this.WorksFor}); MediaModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { MediaFileId = json['MediaFileId']; MediaName = json['MediaName']; FileContent = json['FileContent']; FileContentType = json['FileContentType']; FilePath = json['FilePath']; OriginalFileName = json['OriginalFileName']; ImageWidth = json['ImageWidth']; ImageHeight = json['ImageHeight']; FileSizeKB = json['FileSizeKB']; BlobUriRaw = json['BlobUriRaw']; BlobUriFull = json['BlobUriFull']; BlobUriThumbnail = json['BlobUriThumbnail']; WatermarkUri = json['WatermarkUri']; CapturedDate = JsonConverters.fromJson(json['CapturedDate'],'DateTime',context!); CapturedByContactId = json['CapturedByContactId']; CapturedByContactName = json['CapturedByContactName']; CapturedByContactThumbnailUrl = json['CapturedByContactThumbnailUrl']; Notes = json['Notes']; ResourceActionName = json['ResourceActionName']; LocationVerified = json['LocationVerified']; TrafficLightLocationVerified = json['TrafficLightLocationVerified']; AudienceLevel = json['AudienceLevel']; WorksFor = json['WorksFor']; return this; } Map toJson() => { 'MediaFileId': MediaFileId, 'MediaName': MediaName, 'FileContent': FileContent, 'FileContentType': FileContentType, 'FilePath': FilePath, 'OriginalFileName': OriginalFileName, 'ImageWidth': ImageWidth, 'ImageHeight': ImageHeight, 'FileSizeKB': FileSizeKB, 'BlobUriRaw': BlobUriRaw, 'BlobUriFull': BlobUriFull, 'BlobUriThumbnail': BlobUriThumbnail, 'WatermarkUri': WatermarkUri, 'CapturedDate': JsonConverters.toJson(CapturedDate,'DateTime',context!), 'CapturedByContactId': CapturedByContactId, 'CapturedByContactName': CapturedByContactName, 'CapturedByContactThumbnailUrl': CapturedByContactThumbnailUrl, 'Notes': Notes, 'ResourceActionName': ResourceActionName, 'LocationVerified': LocationVerified, 'TrafficLightLocationVerified': TrafficLightLocationVerified, 'AudienceLevel': AudienceLevel, 'WorksFor': WorksFor }; getTypeName() => "MediaModel"; TypeContext? context = _ctx; } class SaveMediaResponse implements IConvertible { /** * Media File Guid */ // @ApiMember(DataType="Guid", Description="Media File Guid", Name="ErosMediaFileId", ParameterType="query") String? ErosMediaFileId; /** * Media File Name */ // @ApiMember(DataType="string", Description="Media File Name", Name="MediaName", ParameterType="query") String? MediaName; /** * The original name of the media being saved. */ // @ApiMember(DataType="string", Description="The original name of the media being saved.", Name="OriginalFileName", ParameterType="query") String? OriginalFileName; /** * Url of the media file. */ // @ApiMember(DataType="string", Description="Url of the media file.", Name="MediaFileUrl", ParameterType="query") String? MediaFileUrl; /** * Url of the media file thumbnail. */ // @ApiMember(DataType="string", Description="Url of the media file thumbnail.", Name="MediaFileThumbnailUrl", ParameterType="query") String? MediaFileThumbnailUrl; /** * Service Stack Response Status. */ // @ApiMember(DataType="ResponseStatus", Description="Service Stack Response Status.", Name="ResponseStatus", ParameterType="query") ResponseStatus? ResponseStatus; SaveMediaResponse({this.ErosMediaFileId,this.MediaName,this.OriginalFileName,this.MediaFileUrl,this.MediaFileThumbnailUrl,this.ResponseStatus}); SaveMediaResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ErosMediaFileId = json['ErosMediaFileId']; MediaName = json['MediaName']; OriginalFileName = json['OriginalFileName']; MediaFileUrl = json['MediaFileUrl']; MediaFileThumbnailUrl = json['MediaFileThumbnailUrl']; ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'ErosMediaFileId': ErosMediaFileId, 'MediaName': MediaName, 'OriginalFileName': OriginalFileName, 'MediaFileUrl': MediaFileUrl, 'MediaFileThumbnailUrl': MediaFileThumbnailUrl, 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "SaveMediaResponse"; TypeContext? context = _ctx; } // @Route("/primaryimage") // @Route("/primaryimage/userprofile") class ManagePrimaryImage implements IReturn, IConvertible, IPost { /** * 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") String? ContactIdOwner; /** * 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") MediaModel? File; /** * 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") String? ApplianceId; /** * 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") String? ContainerName; /** * 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") String? ConnectedObjectId; ManagePrimaryImage({this.ContactIdOwner,this.File,this.ApplianceId,this.ContainerName,this.ConnectedObjectId}); ManagePrimaryImage.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ContactIdOwner = json['ContactIdOwner']; File = JsonConverters.fromJson(json['File'],'MediaModel',context!); ApplianceId = json['ApplianceId']; ContainerName = json['ContainerName']; ConnectedObjectId = json['ConnectedObjectId']; return this; } Map toJson() => { 'ContactIdOwner': ContactIdOwner, 'File': JsonConverters.toJson(File,'MediaModel',context!), 'ApplianceId': ApplianceId, 'ContainerName': ContainerName, 'ConnectedObjectId': ConnectedObjectId }; createResponse() => SaveMediaResponse(); getResponseTypeName() => "SaveMediaResponse"; getTypeName() => "ManagePrimaryImage"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: { 'MediaModel': TypeInfo(TypeOf.Class, create:() => MediaModel()), 'SaveMediaResponse': TypeInfo(TypeOf.Class, create:() => SaveMediaResponse()), 'ManagePrimaryImage': TypeInfo(TypeOf.Class, create:() => ManagePrimaryImage()), });