All Verbs | /technology/search |
---|
Imports System
Imports System.IO
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
<DataMember(Order:=1)>
Public Overridable Property Skip As Integer?
<DataMember(Order:=2)>
Public Overridable Property Take As 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 From, Into)
Inherits QueryBase
End Class
<DataContract>
Public Partial Class QueryResponse(Of T)
<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
<AutoQueryViewer(DefaultSearchField:="Tier", DefaultSearchText:="Data", DefaultSearchType:="=", Description:="Explore different Technologies", IconUrl:="octicon:database", Title:="Find Technologies")>
Public Partial Class FindTechnologies
Inherits QueryDb(Of Technology, TechnologyView)
Public Overridable Property Ids As List(Of Long)
Public Overridable Property Name As String
Public Overridable Property VendorName As String
Public Overridable Property NameContains As String
Public Overridable Property VendorNameContains As String
Public Overridable Property DescriptionContains As String
End Class
End Namespace
Namespace TechStacks.ServiceModel.Types
Public Partial Class Post
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 Long?
Public Overridable Property TechnologyIds As Integer()
Public Overridable Property FromDate As Date?
Public Overridable Property ToDate As 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 Date?
Public Overridable Property LastCommentId As Long?
Public Overridable Property LastCommentUserId As Integer?
Public Overridable Property Deleted As Date?
Public Overridable Property DeletedBy As String
Public Overridable Property Locked As Date?
Public Overridable Property LockedBy As String
Public Overridable Property Hidden As Date?
Public Overridable Property HiddenBy As String
Public Overridable Property Status As String
Public Overridable Property StatusDate As Date?
Public Overridable Property StatusBy As String
Public Overridable Property Archived As Boolean
Public Overridable Property Bumped As 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 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
Public Partial Class Technology
Inherits TechnologyBase
End Class
Public Partial Class TechnologyBase
Public Overridable Property Id As Long
Public Overridable Property Name As String
Public Overridable Property VendorName As String
Public Overridable Property VendorUrl As String
Public Overridable Property ProductUrl As String
Public Overridable Property LogoUrl As String
Public Overridable Property Description As String
Public Overridable Property Created As Date
Public Overridable Property CreatedBy As String
Public Overridable Property LastModified As Date
Public Overridable Property LastModifiedBy As String
Public Overridable Property OwnerId As String
Public Overridable Property Slug As String
Public Overridable Property LogoApproved As Boolean
Public Overridable Property IsLocked As Boolean
Public Overridable Property Tier As TechnologyTier
Public Overridable Property LastStatusUpdate As Date?
Public Overridable Property OrganizationId As Integer?
Public Overridable Property CommentsPostId As Long?
Public Overridable Property ViewCount As Integer
Public Overridable Property FavCount As Integer
End Class
Public Enum TechnologyTier
ProgrammingLanguage
Client
Http
Server
Data
SoftwareInfrastructure
OperatingSystem
HardwareInfrastructure
ThirdPartyServices
End Enum
Public Partial Class TechnologyView
Public Overridable Property Id As Long?
Public Overridable Property Name As String
Public Overridable Property VendorName As String
Public Overridable Property VendorUrl As String
Public Overridable Property ProductUrl As String
Public Overridable Property LogoUrl As String
Public Overridable Property Description As String
Public Overridable Property Created As Date?
Public Overridable Property CreatedBy As String
Public Overridable Property LastModified As Date?
Public Overridable Property LastModifiedBy As String
Public Overridable Property OwnerId As String
Public Overridable Property Slug As String
Public Overridable Property LogoApproved As Boolean?
Public Overridable Property IsLocked As Boolean?
Public Overridable Property Tier As TechnologyTier?
Public Overridable Property LastStatusUpdate As Date?
Public Overridable Property OrganizationId As Integer?
Public Overridable Property CommentsPostId As Long?
Public Overridable Property ViewCount As Integer?
Public Overridable Property FavCount As Integer?
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /technology/search HTTP/1.1
Host: techstacks.io
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"ids":[0],"name":"String","vendorName":"String","nameContains":"String","vendorNameContains":"String","descriptionContains":"String","skip":0,"take":0,"orderBy":"String","orderByDesc":"String","include":"String","fields":"String","meta":{"String":"String"}}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"offset":0,"total":0,"results":[{"id":0,"name":"String","vendorName":"String","vendorUrl":"String","productUrl":"String","logoUrl":"String","description":"String","created":"0001-01-01T00:00:00.0000000","createdBy":"String","lastModified":"0001-01-01T00:00:00.0000000","lastModifiedBy":"String","ownerId":"String","slug":"String","logoApproved":false,"isLocked":false,"tier":"ProgrammingLanguage","lastStatusUpdate":"0001-01-01T00:00:00.0000000","organizationId":0,"commentsPostId":0,"viewCount":0,"favCount":0}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}