| All Verbs | /api/relateditems/{ObjectId} |
|---|
"use strict";
/** @typedef {'Ascending'|'Descending'} */
export var SortOrder;
(function (SortOrder) {
SortOrder["Ascending"] = "Ascending"
SortOrder["Descending"] = "Descending"
})(SortOrder || (SortOrder = {}));
export class PagedModel {
/** @param {{PageNumber?:number,PageSize?:number,SortIndex?:number,SortOrder?:SortOrder}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description Page Number to retrieve */
PageNumber;
/**
* @type {number}
* @description Number of records to retrieve */
PageSize;
/**
* @type {number}
* @description Index of field to sort results by */
SortIndex;
/**
* @type {SortOrder}
* @description Sort Order - Ascending or Descending */
SortOrder;
}
export class RelatedItemsModel {
/** @param {{ObjectId?:string,RelatedItemName?:string,RelatedItemType?:string,CreatedAt?:string,CreatedByName?:string,CreatedById?:string,CreatedByThumbnailUrl?:string,Relationship?:string,IsSignificant?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Object linked to the related item. */
ObjectId;
/**
* @type {string}
* @description Related item name. */
RelatedItemName;
/**
* @type {string}
* @description Related item type. */
RelatedItemType;
/**
* @type {string}
* @description Date of creation of the related item. */
CreatedAt;
/**
* @type {string}
* @description Contact who created the related item */
CreatedByName;
/**
* @type {string}
* @description Contact who created the related item */
CreatedById;
/**
* @type {string}
* @description Profile photo of the contact who created the related item */
CreatedByThumbnailUrl;
/**
* @type {string}
* @description Relationship between objects linked to the related item */
Relationship;
/**
* @type {boolean}
* @description Is the related item significant? */
IsSignificant;
}
export class GetRelatedItemsResponse {
/** @param {{RelatedItems?:RelatedItemsModel[],TotalRelatedItems?:number,ResponseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {RelatedItemsModel[]} */
RelatedItems;
/** @type {number} */
TotalRelatedItems;
/** @type {ResponseStatus} */
ResponseStatus;
}
export class GetRelatedItems extends PagedModel {
/** @param {{ObjectId?:string,RelatedItemsLevel?:string,IsPagedMode?:boolean,PageNumber?:number,PageSize?:number,SortIndex?:number,SortOrder?:SortOrder}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {string}
* @description Object to get related items for. */
ObjectId;
/**
* @type {string}
* @description Significant Only or All */
RelatedItemsLevel;
/**
* @type {boolean}
* @description Return all connections or paged results? */
IsPagedMode;
}
JavaScript GetRelatedItems DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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: text/jsv
Content-Type: text/jsv
Content-Length: length
{
IsPagedMode: False,
PageNumber: 0,
PageSize: 0,
SortIndex: 0,
SortOrder: Ascending
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
RelatedItems:
[
{
RelatedItemName: String,
RelatedItemType: String,
CreatedAt: 0001-01-01,
CreatedByName: String,
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
}
}
}