/* Options: Date: 2026-04-04 01:21:58 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: GetRelatedItems.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ 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 json) { fromMap(json); } fromMap(Map json) { PageNumber = json['PageNumber']; PageSize = json['PageSize']; SortIndex = json['SortIndex']; SortOrder = JsonConverters.fromJson(json['SortOrder'],'SortOrder',context!); return this; } Map 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 json) { fromMap(json); } fromMap(Map 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 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? RelatedItems; int? TotalRelatedItems; ResponseStatus? ResponseStatus; GetRelatedItemsResponse({this.RelatedItems,this.TotalRelatedItems,this.ResponseStatus}); GetRelatedItemsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RelatedItems = JsonConverters.fromJson(json['RelatedItems'],'List',context!); TotalRelatedItems = json['TotalRelatedItems']; ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'RelatedItems': JsonConverters.toJson(RelatedItems,'List',context!), 'TotalRelatedItems': TotalRelatedItems, 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "GetRelatedItemsResponse"; TypeContext? context = _ctx; } /** * Get related items related to the specified object. */ // @Route("/relateditems/{ObjectId}") // @Api(Description="Get related items related to the specified object.") class GetRelatedItems extends PagedModel implements IReturn, IConvertible, IGet { /** * 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 json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ObjectId = json['ObjectId']; RelatedItemsLevel = json['RelatedItemsLevel']; IsPagedMode = json['IsPagedMode']; return this; } Map toJson() => super.toJson()..addAll({ 'ObjectId': ObjectId, 'RelatedItemsLevel': RelatedItemsLevel, 'IsPagedMode': IsPagedMode }); createResponse() => GetRelatedItemsResponse(); getResponseTypeName() => "GetRelatedItemsResponse"; getTypeName() => "GetRelatedItems"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: { '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': TypeInfo(TypeOf.Class, create:() => []), 'GetRelatedItems': TypeInfo(TypeOf.Class, create:() => GetRelatedItems()), });