Required role: | API |
All Verbs | /api/Query/FileAttachment |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
// @DataContract
abstract class QueryBase
{
// @DataMember(Order=1)
int? Skip;
// @DataMember(Order=2)
int? Take;
// @DataMember(Order=3)
String? OrderBy;
// @DataMember(Order=4)
String? OrderByDesc;
// @DataMember(Order=5)
String? Include;
// @DataMember(Order=6)
String? Fields;
// @DataMember(Order=7)
Map<String,String?>? Meta;
QueryBase({this.Skip,this.Take,this.OrderBy,this.OrderByDesc,this.Include,this.Fields,this.Meta});
QueryBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Skip = json['Skip'];
Take = json['Take'];
OrderBy = json['OrderBy'];
OrderByDesc = json['OrderByDesc'];
Include = json['Include'];
Fields = json['Fields'];
Meta = JsonConverters.toStringMap(json['Meta']);
return this;
}
Map<String, dynamic> toJson() => {
'Skip': Skip,
'Take': Take,
'OrderBy': OrderBy,
'OrderByDesc': OrderByDesc,
'Include': Include,
'Fields': Fields,
'Meta': Meta
};
getTypeName() => "QueryBase";
TypeContext? context = _ctx;
}
abstract class QueryDb<T> extends QueryBase
{
QueryDb();
QueryDb.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "QueryDb<$T>";
TypeContext? context = _ctx;
}
class FileAttachmentInstance implements IConvertible
{
int? FileAttachmentId;
Uint8List? FileData;
String? MimeType;
int? InstanceId;
String? InstanceType;
int? UploadedByUserId;
DateTime? UploadedDate;
double? FileSize;
String? Filename;
Uint8List? Thumbnail;
String? PublicKey;
FileAttachmentInstance({this.FileAttachmentId,this.FileData,this.MimeType,this.InstanceId,this.InstanceType,this.UploadedByUserId,this.UploadedDate,this.FileSize,this.Filename,this.Thumbnail,this.PublicKey});
FileAttachmentInstance.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
FileAttachmentId = json['FileAttachmentId'];
FileData = JsonConverters.fromJson(json['FileData'],'Uint8List',context!);
MimeType = json['MimeType'];
InstanceId = json['InstanceId'];
InstanceType = json['InstanceType'];
UploadedByUserId = json['UploadedByUserId'];
UploadedDate = JsonConverters.fromJson(json['UploadedDate'],'DateTime',context!);
FileSize = JsonConverters.toDouble(json['FileSize']);
Filename = json['Filename'];
Thumbnail = JsonConverters.fromJson(json['Thumbnail'],'Uint8List',context!);
PublicKey = json['PublicKey'];
return this;
}
Map<String, dynamic> toJson() => {
'FileAttachmentId': FileAttachmentId,
'FileData': JsonConverters.toJson(FileData,'Uint8List',context!),
'MimeType': MimeType,
'InstanceId': InstanceId,
'InstanceType': InstanceType,
'UploadedByUserId': UploadedByUserId,
'UploadedDate': JsonConverters.toJson(UploadedDate,'DateTime',context!),
'FileSize': FileSize,
'Filename': Filename,
'Thumbnail': JsonConverters.toJson(Thumbnail,'Uint8List',context!),
'PublicKey': PublicKey
};
getTypeName() => "FileAttachmentInstance";
TypeContext? context = _ctx;
}
// @AutoQueryViewer(Description="", IconUrl="octicon:database", Title="FileAttachment")
class FindFileAttachment extends QueryDb<FileAttachmentInstance> implements IConvertible
{
FindFileAttachment();
FindFileAttachment.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "FindFileAttachment";
TypeContext? context = _ctx;
}
// @DataContract
class QueryResponse<T> implements IConvertible
{
// @DataMember(Order=1)
int? Offset;
// @DataMember(Order=2)
int? Total;
// @DataMember(Order=3)
List<T>? Results;
// @DataMember(Order=4)
Map<String,String?>? Meta;
// @DataMember(Order=5)
ResponseStatus? ResponseStatus;
QueryResponse({this.Offset,this.Total,this.Results,this.Meta,this.ResponseStatus});
QueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Offset = json['Offset'];
Total = json['Total'];
Results = JsonConverters.fromJson(json['Results'],'List<${runtimeGenericTypeDefs(this,[0]).join(",")}>',context!);
Meta = JsonConverters.toStringMap(json['Meta']);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Offset': Offset,
'Total': Total,
'Results': JsonConverters.toJson(Results,'List<T>',context!),
'Meta': Meta,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "QueryResponse<$T>";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.clubmanagercentral.com', types: <String, TypeInfo> {
'FileAttachmentInstance': TypeInfo(TypeOf.Class, create:() => FileAttachmentInstance()),
'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
'FindFileAttachment': TypeInfo(TypeOf.Class, create:() => FindFileAttachment()),
'List<FileAttachmentInstance>': TypeInfo(TypeOf.Class, create:() => <FileAttachmentInstance>[]),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/Query/FileAttachment HTTP/1.1
Host: api.clubmanagercentral.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Skip":0,"Take":0,"OrderBy":"String","OrderByDesc":"String","Include":"String","Fields":"String","Meta":{"String":"String"}}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Offset":0,"Total":0,"Results":[{"FileAttachmentId":0,"FileData":"AA==","MimeType":"String","InstanceId":0,"InstanceType":"String","UploadedByUserId":0,"UploadedDate":"0001-01-01T00:00:00.0000000","FileSize":0,"Filename":"String","Thumbnail":"AA==","PublicKey":"00000000000000000000000000000000"}],"Meta":{"String":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}