| GET | /api/object/{ObjectId}/reads |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Eros.Saguna.Common.WebAPIModel.ServiceModels
Imports Eros.Saguna.Common.WebAPIModel.Models
Namespace Global
Namespace Eros.Saguna.Common.WebAPIModel.Models
Public Partial Class ObjectAccessModel
'''<Summary>
'''Object Access Read Id.
'''</Summary>
<ApiMember(Description:="Object Access Read Id.", Name:="ObjectReadId")>
Public Overridable Property ObjectReadId As Guid
'''<Summary>
'''Object Id viewing the specified Object.
'''</Summary>
<ApiMember(Description:="Object Id viewing the specified Object.", IsRequired:=true, Name:="ViewingObjectId")>
Public Overridable Property ViewingObjectId As Guid
'''<Summary>
'''Name of the object viewing the specified Object.
'''</Summary>
<ApiMember(Description:="Name of the object viewing the specified Object.", Name:="ViewingObjectName")>
Public Overridable Property ViewingObjectName As String
'''<Summary>
'''Name of the object viewing the specified Object.
'''</Summary>
<ApiMember(Description:="Name of the object viewing the specified Object.", Name:="ViewingObjectPrimaryImageUrl")>
Public Overridable Property ViewingObjectPrimaryImageUrl As String
'''<Summary>
'''Id of the object being viewed.
'''</Summary>
<ApiMember(Description:="Id of the object being viewed.", IsRequired:=true, Name:="ViewedObjectId")>
Public Overridable Property ViewedObjectId As Guid
'''<Summary>
'''Name of the object being viewed.
'''</Summary>
<ApiMember(Description:="Name of the object being viewed.", Name:="ViewedObjectName")>
Public Overridable Property ViewedObjectName As String
'''<Summary>
'''Date and Time of object read
'''</Summary>
<ApiMember(Description:="Date and Time of object read", Name:="TimeRead")>
Public Overridable Property TimeRead As Date?
'''<Summary>
'''Date and Time object started watching the specified object.
'''</Summary>
<ApiMember(Description:="Date and Time object started watching the specified object.", Name:="TimeStartWatching")>
Public Overridable Property TimeStartWatching As Date?
'''<Summary>
'''Date and Time of object being flagged.
'''</Summary>
<ApiMember(Description:="Date and Time of object being flagged.", Name:="Flagged")>
Public Overridable Property Flagged As Date
End Class
End Namespace
Namespace Eros.Saguna.Common.WebAPIModel.ServiceModels
'''<Summary>
'''Get reads (object access) for the specified object.
'''</Summary>
<Api(Description:="Get reads (object access) for the specified object.")>
Public Partial Class GetObjectReads
'''<Summary>
'''Object Id to get object access reads for
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Object Id to get object access reads for", IsRequired:=true, Name:="ObjectId")>
Public Overridable Property ObjectId As Guid
End Class
<ApiResponse(Description:="Returns the reads (object access) to the specified object.")>
Public Partial Class GetObjectReadsResponse
Public Overridable Property ObjectReads As List(Of ObjectAccessModel)
Public Overridable Property ResponseStatus As ResponseStatus
End Class
End Namespace
End Namespace
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.
GET /api/object/{ObjectId}/reads HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ObjectReads:
[
{
ViewingObjectName: String,
ViewingObjectPrimaryImageUrl: String,
ViewedObjectName: String,
TimeRead: 0001-01-01,
TimeStartWatching: 0001-01-01,
Flagged: 0001-01-01
}
],
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}