| All Verbs | /api/attachments/{ConnectedObjectId} |
|---|
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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<String, dynamic> 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;
}
// @ApiResponse(Description="Returns list of attachments linked to an object.")
class GetAttachmentsResponse implements IConvertible
{
List<MediaModel>? Attachments;
ResponseStatus? ResponseStatus;
GetAttachmentsResponse({this.Attachments,this.ResponseStatus});
GetAttachmentsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Attachments = JsonConverters.fromJson(json['Attachments'],'List<MediaModel>',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Attachments': JsonConverters.toJson(Attachments,'List<MediaModel>',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "GetAttachmentsResponse";
TypeContext? context = _ctx;
}
class GetAttachments implements IConvertible
{
/**
* 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;
GetAttachments({this.ConnectedObjectId});
GetAttachments.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ConnectedObjectId = json['ConnectedObjectId'];
return this;
}
Map<String, dynamic> toJson() => {
'ConnectedObjectId': ConnectedObjectId
};
getTypeName() => "GetAttachments";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
'MediaModel': TypeInfo(TypeOf.Class, create:() => MediaModel()),
'GetAttachmentsResponse': TypeInfo(TypeOf.Class, create:() => GetAttachmentsResponse()),
'List<MediaModel>': TypeInfo(TypeOf.Class, create:() => <MediaModel>[]),
'GetAttachments': TypeInfo(TypeOf.Class, create:() => GetAttachments()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/attachments/{ConnectedObjectId} HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetAttachments xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.WebAPIModel.ServiceModels">
<ConnectedObjectId>00000000-0000-0000-0000-000000000000</ConnectedObjectId>
</GetAttachments>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<GetAttachmentsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.WebAPIModel.ServiceModels">
<Attachments xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.WebAPIModel.Models">
<d2p1:MediaModel>
<d2p1:AudienceLevel>String</d2p1:AudienceLevel>
<d2p1:BlobUriFull>String</d2p1:BlobUriFull>
<d2p1:BlobUriRaw>String</d2p1:BlobUriRaw>
<d2p1:BlobUriThumbnail>String</d2p1:BlobUriThumbnail>
<d2p1:CapturedByContactId>00000000-0000-0000-0000-000000000000</d2p1:CapturedByContactId>
<d2p1:CapturedByContactName>String</d2p1:CapturedByContactName>
<d2p1:CapturedByContactThumbnailUrl>String</d2p1:CapturedByContactThumbnailUrl>
<d2p1:CapturedDate>0001-01-01T00:00:00</d2p1:CapturedDate>
<d2p1:FileContent>String</d2p1:FileContent>
<d2p1:FileContentType>String</d2p1:FileContentType>
<d2p1:FilePath>String</d2p1:FilePath>
<d2p1:FileSizeKB>0</d2p1:FileSizeKB>
<d2p1:ImageHeight>0</d2p1:ImageHeight>
<d2p1:ImageWidth>0</d2p1:ImageWidth>
<d2p1:LocationVerified>String</d2p1:LocationVerified>
<d2p1:MediaFileId>00000000-0000-0000-0000-000000000000</d2p1:MediaFileId>
<d2p1:MediaName>String</d2p1:MediaName>
<d2p1:Notes>String</d2p1:Notes>
<d2p1:OriginalFileName>String</d2p1:OriginalFileName>
<d2p1:ResourceActionName>String</d2p1:ResourceActionName>
<d2p1:TrafficLightLocationVerified>00000000-0000-0000-0000-000000000000</d2p1:TrafficLightLocationVerified>
<d2p1:WatermarkUri>String</d2p1:WatermarkUri>
<d2p1:WorksFor>String</d2p1:WorksFor>
</d2p1:MediaModel>
</Attachments>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
</GetAttachmentsResponse>