TechStacks!

<back to all web services

QueryPosts

AutoQueryPosts
The following routes are available for this service:
GET/posts
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports TechStacks.ServiceModel
Imports TechStacks.ServiceModel.Types

Namespace Global

    Namespace ServiceStack

        <DataContract>
        Public Partial Class QueryBase
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Skip As Nullable(Of Integer)

            <DataMember(Order:=2)>
            Public Overridable Property Take As Nullable(Of Integer)

            <DataMember(Order:=3)>
            Public Overridable Property OrderBy As String

            <DataMember(Order:=4)>
            Public Overridable Property OrderByDesc As String

            <DataMember(Order:=5)>
            Public Overridable Property Include As String

            <DataMember(Order:=6)>
            Public Overridable Property Fields As String

            <DataMember(Order:=7)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        Public Partial Class QueryDb(Of T)
            Inherits QueryBase
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Skip As Nullable(Of Integer)

            <DataMember(Order:=2)>
            Public Overridable Property Take As Nullable(Of Integer)

            <DataMember(Order:=3)>
            Public Overridable Property OrderBy As String

            <DataMember(Order:=4)>
            Public Overridable Property OrderByDesc As String

            <DataMember(Order:=5)>
            Public Overridable Property Include As String

            <DataMember(Order:=6)>
            Public Overridable Property Fields As String

            <DataMember(Order:=7)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        <DataContract>
        Public Partial Class QueryResponse(Of Post)
            Public Sub New()
                Results = New List(Of Post)
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Offset As Integer

            <DataMember(Order:=2)>
            Public Overridable Property Total As Integer

            <DataMember(Order:=3)>
            Public Overridable Property Results As List(Of Post)

            <DataMember(Order:=4)>
            Public Overridable Property Meta As Dictionary(Of String, String)

            <DataMember(Order:=5)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
    End Namespace

    Namespace TechStacks.ServiceModel

        Public Partial Class QueryPosts
            Inherits QueryDb(Of Post)
            Public Overridable Property Ids As Integer()
            Public Overridable Property OrganizationId As Nullable(Of Integer)
            Public Overridable Property OrganizationIds As List(Of Integer)
            Public Overridable Property Types As HashSet(Of String)
            Public Overridable Property AnyTechnologyIds As HashSet(Of Integer)
            Public Overridable Property [Is] As String()
            <DataMember(Order:=1)>
            Public Overridable Property Skip As Nullable(Of Integer)

            <DataMember(Order:=2)>
            Public Overridable Property Take As Nullable(Of Integer)

            <DataMember(Order:=3)>
            Public Overridable Property OrderBy As String

            <DataMember(Order:=4)>
            Public Overridable Property OrderByDesc As String

            <DataMember(Order:=5)>
            Public Overridable Property Include As String

            <DataMember(Order:=6)>
            Public Overridable Property Fields As String

            <DataMember(Order:=7)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class
    End Namespace

    Namespace TechStacks.ServiceModel.Types

        Public Partial Class Post
            Public Sub New()
                TechnologyIds = New Integer(){}
                Labels = New String(){}
                RefUserIds = New Integer(){}
                RefLinks = New String(){}
                MuteUserIds = New Integer(){}
            End Sub

            Public Overridable Property Id As Long
            Public Overridable Property OrganizationId As Integer
            Public Overridable Property UserId As Integer
            Public Overridable Property Type As PostType
            Public Overridable Property CategoryId As Integer
            Public Overridable Property Title As String
            Public Overridable Property Slug As String
            Public Overridable Property Url As String
            Public Overridable Property ImageUrl As String
            <StringLength(Integer.MaxValue)>
            Public Overridable Property Content As String

            <StringLength(Integer.MaxValue)>
            Public Overridable Property ContentHtml As String

            Public Overridable Property PinCommentId As Nullable(Of Long)
            Public Overridable Property TechnologyIds As Integer()
            Public Overridable Property FromDate As Nullable(Of Date)
            Public Overridable Property ToDate As Nullable(Of Date)
            Public Overridable Property Location As String
            Public Overridable Property MetaType As String
            Public Overridable Property Meta As String
            Public Overridable Property Approved As Boolean
            Public Overridable Property UpVotes As Long
            Public Overridable Property DownVotes As Long
            Public Overridable Property Points As Long
            Public Overridable Property Views As Long
            Public Overridable Property Favorites As Long
            Public Overridable Property Subscribers As Integer
            Public Overridable Property ReplyCount As Integer
            Public Overridable Property CommentsCount As Integer
            Public Overridable Property WordCount As Integer
            Public Overridable Property ReportCount As Integer
            Public Overridable Property LinksCount As Integer
            Public Overridable Property LinkedToCount As Integer
            Public Overridable Property Score As Integer
            Public Overridable Property Rank As Integer
            Public Overridable Property Labels As String()
            Public Overridable Property RefUserIds As Integer()
            Public Overridable Property RefLinks As String()
            Public Overridable Property MuteUserIds As Integer()
            Public Overridable Property LastCommentDate As Nullable(Of Date)
            Public Overridable Property LastCommentId As Nullable(Of Long)
            Public Overridable Property LastCommentUserId As Nullable(Of Integer)
            Public Overridable Property Deleted As Nullable(Of Date)
            Public Overridable Property DeletedBy As String
            Public Overridable Property Locked As Nullable(Of Date)
            Public Overridable Property LockedBy As String
            Public Overridable Property Hidden As Nullable(Of Date)
            Public Overridable Property HiddenBy As String
            Public Overridable Property Status As String
            Public Overridable Property StatusDate As Nullable(Of Date)
            Public Overridable Property StatusBy As String
            Public Overridable Property Archived As Boolean
            Public Overridable Property Bumped As Nullable(Of Date)
            Public Overridable Property Created As Date
            Public Overridable Property CreatedBy As String
            Public Overridable Property Modified As Date
            Public Overridable Property ModifiedBy As String
            Public Overridable Property RefId As Nullable(Of Long)
            Public Overridable Property RefSource As String
            Public Overridable Property RefUrn As String
        End Class

        Public Enum PostType
            Announcement
            Post
            Showcase
            Question
            Request
        End Enum
    End Namespace
End Namespace

VB.NET QueryPosts DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /posts HTTP/1.1 
Host: techstacks.io 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"offset":0,"total":0,"results":[{"id":0,"organizationId":0,"userId":0,"type":"Announcement","categoryId":0,"title":"String","slug":"String","url":"String","imageUrl":"String","content":"String","contentHtml":"String","pinCommentId":0,"technologyIds":[0],"fromDate":"0001-01-01T00:00:00.0000000","toDate":"0001-01-01T00:00:00.0000000","location":"String","metaType":"String","meta":"String","approved":false,"upVotes":0,"downVotes":0,"points":0,"views":0,"favorites":0,"subscribers":0,"replyCount":0,"commentsCount":0,"wordCount":0,"reportCount":0,"linksCount":0,"linkedToCount":0,"score":0,"rank":0,"labels":["String"],"refUserIds":[0],"refLinks":["String"],"muteUserIds":[0],"lastCommentDate":"0001-01-01T00:00:00.0000000","lastCommentId":0,"lastCommentUserId":0,"deleted":"0001-01-01T00:00:00.0000000","deletedBy":"String","locked":"0001-01-01T00:00:00.0000000","lockedBy":"String","hidden":"0001-01-01T00:00:00.0000000","hiddenBy":"String","status":"String","statusDate":"0001-01-01T00:00:00.0000000","statusBy":"String","archived":false,"bumped":"0001-01-01T00:00:00.0000000","created":"0001-01-01T00:00:00.0000000","createdBy":"String","modified":"0001-01-01T00:00:00.0000000","modifiedBy":"String","refId":0,"refSource":"String","refUrn":"String"}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}