| All Verbs | /api/relateditems/{ObjectId} |
|---|
import 'package:servicestack/servicestack.dart';
enum SortOrder
{
Ascending,
Descending,
}
class PagedModel implements IConvertible
{
/**
* Page Number to retrieve
*/
// @ApiMember(DataType="int", Description="Page Number to retrieve", Name="PageNumber")
int? PageNumber;
/**
* Number of records to retrieve
*/
// @ApiMember(DataType="int", Description="Number of records to retrieve", Name="PageSize")
int? PageSize;
/**
* Index of field to sort results by
*/
// @ApiMember(DataType="int", Description="Index of field to sort results by", Name="SortIndex")
int? SortIndex;
/**
* Sort Order - Ascending or Descending
*/
// @ApiMember(DataType="int", Description="Sort Order - Ascending or Descending", Name="SortOrder")
SortOrder? SortOrder;
PagedModel({this.PageNumber,this.PageSize,this.SortIndex,this.SortOrder});
PagedModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PageNumber = json['PageNumber'];
PageSize = json['PageSize'];
SortIndex = json['SortIndex'];
SortOrder = JsonConverters.fromJson(json['SortOrder'],'SortOrder',context!);
return this;
}
Map<String, dynamic> toJson() => {
'PageNumber': PageNumber,
'PageSize': PageSize,
'SortIndex': SortIndex,
'SortOrder': JsonConverters.toJson(SortOrder,'SortOrder',context!)
};
getTypeName() => "PagedModel";
TypeContext? context = _ctx;
}
class RelatedItemsModel implements IConvertible
{
/**
* Object linked to the related item.
*/
// @ApiMember(DataType="Guid", Description="Object linked to the related item.", IsRequired=true, Name="ObjectId")
String? ObjectId;
/**
* Related item name.
*/
// @ApiMember(DataType="string", Description="Related item name.", Name="RelatedItemName")
String? RelatedItemName;
/**
* Related item type.
*/
// @ApiMember(DataType="string", Description="Related item type.", Name="RelatedItemType")
String? RelatedItemType;
/**
* Date of creation of the related item.
*/
// @ApiMember(DataType="DateTime", Description="Date of creation of the related item.", IsRequired=true, Name="CreatedAt")
DateTime? CreatedAt;
/**
* Contact who created the related item
*/
// @ApiMember(DataType="string", Description="Contact who created the related item", Name="CreatedByName")
String? CreatedByName;
/**
* Contact who created the related item
*/
// @ApiMember(DataType="Guid", Description="Contact who created the related item", Name="CreatedById")
String? CreatedById;
/**
* Profile photo of the contact who created the related item
*/
// @ApiMember(DataType="string", Description="Profile photo of the contact who created the related item", Name="CreatedByThumbnailUrl")
String? CreatedByThumbnailUrl;
/**
* Relationship between objects linked to the related item
*/
// @ApiMember(DataType="string", Description="Relationship between objects linked to the related item", Name="Relationship")
String? Relationship;
/**
* Is the related item significant?
*/
// @ApiMember(DataType="bool", Description="Is the related item significant?", IsRequired=true, Name="IsSignificant")
bool? IsSignificant;
RelatedItemsModel({this.ObjectId,this.RelatedItemName,this.RelatedItemType,this.CreatedAt,this.CreatedByName,this.CreatedById,this.CreatedByThumbnailUrl,this.Relationship,this.IsSignificant});
RelatedItemsModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ObjectId = json['ObjectId'];
RelatedItemName = json['RelatedItemName'];
RelatedItemType = json['RelatedItemType'];
CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
CreatedByName = json['CreatedByName'];
CreatedById = json['CreatedById'];
CreatedByThumbnailUrl = json['CreatedByThumbnailUrl'];
Relationship = json['Relationship'];
IsSignificant = json['IsSignificant'];
return this;
}
Map<String, dynamic> toJson() => {
'ObjectId': ObjectId,
'RelatedItemName': RelatedItemName,
'RelatedItemType': RelatedItemType,
'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
'CreatedByName': CreatedByName,
'CreatedById': CreatedById,
'CreatedByThumbnailUrl': CreatedByThumbnailUrl,
'Relationship': Relationship,
'IsSignificant': IsSignificant
};
getTypeName() => "RelatedItemsModel";
TypeContext? context = _ctx;
}
// @ApiResponse(Description="Items related to the object.")
class GetRelatedItemsResponse implements IConvertible
{
List<RelatedItemsModel>? RelatedItems;
int? TotalRelatedItems;
ResponseStatus? ResponseStatus;
GetRelatedItemsResponse({this.RelatedItems,this.TotalRelatedItems,this.ResponseStatus});
GetRelatedItemsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
RelatedItems = JsonConverters.fromJson(json['RelatedItems'],'List<RelatedItemsModel>',context!);
TotalRelatedItems = json['TotalRelatedItems'];
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'RelatedItems': JsonConverters.toJson(RelatedItems,'List<RelatedItemsModel>',context!),
'TotalRelatedItems': TotalRelatedItems,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "GetRelatedItemsResponse";
TypeContext? context = _ctx;
}
/**
* Get related items related to the specified object.
*/
// @Api(Description="Get related items related to the specified object.")
class GetRelatedItems extends PagedModel implements IConvertible
{
/**
* Object to get related items for.
*/
// @ApiMember(Description="Object to get related items for.", IsRequired=true, Name="ObjectId")
String? ObjectId;
/**
* Significant Only or All
*/
// @ApiMember(Description="Significant Only or All", IsRequired=true, Name="RelatedItemsLevel")
String? RelatedItemsLevel;
/**
* Return all connections or paged results?
*/
// @ApiMember(Description="Return all connections or paged results?", Name="IsPagedMode")
bool? IsPagedMode;
GetRelatedItems({this.ObjectId,this.RelatedItemsLevel,this.IsPagedMode});
GetRelatedItems.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
ObjectId = json['ObjectId'];
RelatedItemsLevel = json['RelatedItemsLevel'];
IsPagedMode = json['IsPagedMode'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'ObjectId': ObjectId,
'RelatedItemsLevel': RelatedItemsLevel,
'IsPagedMode': IsPagedMode
});
getTypeName() => "GetRelatedItems";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
'SortOrder': TypeInfo(TypeOf.Enum, enumValues:SortOrder.values),
'PagedModel': TypeInfo(TypeOf.Class, create:() => PagedModel()),
'RelatedItemsModel': TypeInfo(TypeOf.Class, create:() => RelatedItemsModel()),
'GetRelatedItemsResponse': TypeInfo(TypeOf.Class, create:() => GetRelatedItemsResponse()),
'List<RelatedItemsModel>': TypeInfo(TypeOf.Class, create:() => <RelatedItemsModel>[]),
'GetRelatedItems': TypeInfo(TypeOf.Class, create:() => GetRelatedItems()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/relateditems/{ObjectId} HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: application/json
Content-Type: application/json
Content-Length: length
{"ObjectId":"00000000-0000-0000-0000-000000000000","RelatedItemsLevel":"00000000-0000-0000-0000-000000000000","IsPagedMode":false,"PageNumber":0,"PageSize":0,"SortIndex":0,"SortOrder":"Ascending"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"RelatedItems":[{"ObjectId":"00000000-0000-0000-0000-000000000000","RelatedItemName":"String","RelatedItemType":"String","CreatedAt":"0001-01-01T00:00:00.0000000","CreatedByName":"String","CreatedById":"00000000-0000-0000-0000-000000000000","CreatedByThumbnailUrl":"String","Relationship":"String","IsSignificant":false}],"TotalRelatedItems":0,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}