TechStacks!

<back to all web services

UpdateTechnologyStack

TechStacks
Requires Authentication
The following routes are available for this service:
PUT/techstacks/{Id}
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 TechStacks.ServiceModel

        Public Partial Class TechnologyInStack
            Inherits TechnologyBase
            Public Overridable Property TechnologyId As Long
            Public Overridable Property TechnologyStackId As Long
            Public Overridable Property Justification As String
            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 Nullable(Of Date)
            Public Overridable Property OrganizationId As Nullable(Of Integer)
            Public Overridable Property CommentsPostId As Nullable(Of Long)
            Public Overridable Property ViewCount As Integer
            Public Overridable Property FavCount As Integer
        End Class

        Public Partial Class TechStackDetails
            Inherits TechnologyStackBase
            Public Sub New()
                TechnologyChoices = New List(Of TechnologyInStack)
            End Sub

            Public Overridable Property TechnologyChoices As List(Of TechnologyInStack)
            Public Overridable Property Id As Long
            Public Overridable Property Name As String
            Public Overridable Property VendorName As String
            Public Overridable Property Description As String
            Public Overridable Property AppUrl As String
            Public Overridable Property ScreenshotUrl 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 IsLocked As Boolean
            Public Overridable Property OwnerId As String
            Public Overridable Property Slug As String
            <StringLength(Integer.MaxValue)>
            Public Overridable Property Details As String

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

            Public Overridable Property LastStatusUpdate As Nullable(Of Date)
            Public Overridable Property OrganizationId As Nullable(Of Integer)
            Public Overridable Property CommentsPostId As Nullable(Of Long)
            Public Overridable Property ViewCount As Integer
            Public Overridable Property FavCount As Integer
        End Class

        Public Partial Class UpdateTechnologyStack
            Implements IPut
            Public Sub New()
                TechnologyIds = New List(Of Long)
            End Sub

            Public Overridable Property Id As Long
            Public Overridable Property Name As String
            Public Overridable Property VendorName As String
            Public Overridable Property AppUrl As String
            Public Overridable Property ScreenshotUrl As String
            Public Overridable Property Description As String
            Public Overridable Property Details As String
            Public Overridable Property IsLocked As Boolean
            Public Overridable Property TechnologyIds As List(Of Long)
        End Class

        Public Partial Class UpdateTechnologyStackResponse
            Public Overridable Property Result As TechStackDetails
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
    End Namespace

    Namespace TechStacks.ServiceModel.Types

        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 Nullable(Of Date)
            Public Overridable Property OrganizationId As Nullable(Of Integer)
            Public Overridable Property CommentsPostId As Nullable(Of Long)
            Public Overridable Property ViewCount As Integer
            Public Overridable Property FavCount As Integer
        End Class

        Public Partial Class TechnologyStackBase
            Public Overridable Property Id As Long
            Public Overridable Property Name As String
            Public Overridable Property VendorName As String
            Public Overridable Property Description As String
            Public Overridable Property AppUrl As String
            Public Overridable Property ScreenshotUrl 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 IsLocked As Boolean
            Public Overridable Property OwnerId As String
            Public Overridable Property Slug As String
            <StringLength(Integer.MaxValue)>
            Public Overridable Property Details As String

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

            Public Overridable Property LastStatusUpdate As Nullable(Of Date)
            Public Overridable Property OrganizationId As Nullable(Of Integer)
            Public Overridable Property CommentsPostId As Nullable(Of 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
    End Namespace
End Namespace

VB.NET UpdateTechnologyStack DTOs

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

HTTP + JSV

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

PUT /techstacks/{Id} HTTP/1.1 
Host: techstacks.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	name: String,
	vendorName: String,
	appUrl: String,
	screenshotUrl: String,
	description: String,
	details: String,
	isLocked: False,
	technologyIds: 
	[
		0
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	result: 
	{
		technologyChoices: 
		[
			{
				technologyId: 0,
				technologyStackId: 0,
				justification: String,
				id: 0,
				name: String,
				vendorName: String,
				vendorUrl: String,
				productUrl: String,
				logoUrl: String,
				description: String,
				created: 0001-01-01,
				createdBy: String,
				lastModified: 0001-01-01,
				lastModifiedBy: String,
				ownerId: String,
				slug: String,
				logoApproved: False,
				isLocked: False,
				tier: ProgrammingLanguage,
				lastStatusUpdate: 0001-01-01,
				organizationId: 0,
				commentsPostId: 0,
				viewCount: 0,
				favCount: 0
			}
		],
		id: 0,
		name: String,
		vendorName: String,
		description: String,
		appUrl: String,
		screenshotUrl: String,
		created: 0001-01-01,
		createdBy: String,
		lastModified: 0001-01-01,
		lastModifiedBy: String,
		isLocked: False,
		ownerId: String,
		slug: String,
		details: String,
		detailsHtml: String,
		lastStatusUpdate: 0001-01-01,
		organizationId: 0,
		commentsPostId: 0,
		viewCount: 0,
		favCount: 0
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}