PUT | /techstacks/{Id} |
---|
"use strict";
export class TechnologyStackBase {
/** @param {{id?:number,name?:string,vendorName?:string,description?:string,appUrl?:string,screenshotUrl?:string,created?:string,createdBy?:string,lastModified?:string,lastModifiedBy?:string,isLocked?:boolean,ownerId?:string,slug?:string,details?:string,detailsHtml?:string,lastStatusUpdate?:string,organizationId?:number,commentsPostId?:number,viewCount?:number,favCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {string} */
vendorName;
/** @type {string} */
description;
/** @type {string} */
appUrl;
/** @type {string} */
screenshotUrl;
/** @type {string} */
created;
/** @type {string} */
createdBy;
/** @type {string} */
lastModified;
/** @type {string} */
lastModifiedBy;
/** @type {boolean} */
isLocked;
/** @type {string} */
ownerId;
/** @type {string} */
slug;
/** @type {string} */
details;
/** @type {string} */
detailsHtml;
/** @type {?string} */
lastStatusUpdate;
/** @type {?number} */
organizationId;
/** @type {?number} */
commentsPostId;
/** @type {number} */
viewCount;
/** @type {number} */
favCount;
}
/** @typedef {'ProgrammingLanguage'|'Client'|'Http'|'Server'|'Data'|'SoftwareInfrastructure'|'OperatingSystem'|'HardwareInfrastructure'|'ThirdPartyServices'} */
export var TechnologyTier;
(function (TechnologyTier) {
TechnologyTier["ProgrammingLanguage"] = "ProgrammingLanguage"
TechnologyTier["Client"] = "Client"
TechnologyTier["Http"] = "Http"
TechnologyTier["Server"] = "Server"
TechnologyTier["Data"] = "Data"
TechnologyTier["SoftwareInfrastructure"] = "SoftwareInfrastructure"
TechnologyTier["OperatingSystem"] = "OperatingSystem"
TechnologyTier["HardwareInfrastructure"] = "HardwareInfrastructure"
TechnologyTier["ThirdPartyServices"] = "ThirdPartyServices"
})(TechnologyTier || (TechnologyTier = {}));
export class TechnologyBase {
/** @param {{id?:number,name?:string,vendorName?:string,vendorUrl?:string,productUrl?:string,logoUrl?:string,description?:string,created?:string,createdBy?:string,lastModified?:string,lastModifiedBy?:string,ownerId?:string,slug?:string,logoApproved?:boolean,isLocked?:boolean,tier?:TechnologyTier,lastStatusUpdate?:string,organizationId?:number,commentsPostId?:number,viewCount?:number,favCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {string} */
vendorName;
/** @type {string} */
vendorUrl;
/** @type {string} */
productUrl;
/** @type {string} */
logoUrl;
/** @type {string} */
description;
/** @type {string} */
created;
/** @type {string} */
createdBy;
/** @type {string} */
lastModified;
/** @type {string} */
lastModifiedBy;
/** @type {string} */
ownerId;
/** @type {string} */
slug;
/** @type {boolean} */
logoApproved;
/** @type {boolean} */
isLocked;
/** @type {TechnologyTier} */
tier;
/** @type {?string} */
lastStatusUpdate;
/** @type {?number} */
organizationId;
/** @type {?number} */
commentsPostId;
/** @type {number} */
viewCount;
/** @type {number} */
favCount;
}
export class TechnologyInStack extends TechnologyBase {
/** @param {{technologyId?:number,technologyStackId?:number,justification?:string,id?:number,name?:string,vendorName?:string,vendorUrl?:string,productUrl?:string,logoUrl?:string,description?:string,created?:string,createdBy?:string,lastModified?:string,lastModifiedBy?:string,ownerId?:string,slug?:string,logoApproved?:boolean,isLocked?:boolean,tier?:TechnologyTier,lastStatusUpdate?:string,organizationId?:number,commentsPostId?:number,viewCount?:number,favCount?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
technologyId;
/** @type {number} */
technologyStackId;
/** @type {string} */
justification;
}
export class TechStackDetails extends TechnologyStackBase {
/** @param {{technologyChoices?:TechnologyInStack[],id?:number,name?:string,vendorName?:string,description?:string,appUrl?:string,screenshotUrl?:string,created?:string,createdBy?:string,lastModified?:string,lastModifiedBy?:string,isLocked?:boolean,ownerId?:string,slug?:string,details?:string,detailsHtml?:string,lastStatusUpdate?:string,organizationId?:number,commentsPostId?:number,viewCount?:number,favCount?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {TechnologyInStack[]} */
technologyChoices;
}
export class UpdateTechnologyStackResponse {
/** @param {{result?:TechStackDetails,responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {TechStackDetails} */
result;
/** @type {ResponseStatus} */
responseStatus;
}
export class UpdateTechnologyStack {
/** @param {{id?:number,name?:string,vendorName?:string,appUrl?:string,screenshotUrl?:string,description?:string,details?:string,isLocked?:boolean,technologyIds?:number[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {string} */
vendorName;
/** @type {string} */
appUrl;
/** @type {string} */
screenshotUrl;
/** @type {string} */
description;
/** @type {string} */
details;
/** @type {boolean} */
isLocked;
/** @type {number[]} */
technologyIds;
}
JavaScript UpdateTechnologyStack DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<UpdateTechnologyStack xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel">
<AppUrl>String</AppUrl>
<Description>String</Description>
<Details>String</Details>
<Id>0</Id>
<IsLocked>false</IsLocked>
<Name>String</Name>
<ScreenshotUrl>String</ScreenshotUrl>
<TechnologyIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:long>0</d2p1:long>
</TechnologyIds>
<VendorName>String</VendorName>
</UpdateTechnologyStack>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <UpdateTechnologyStackResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel"> <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types"> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:Message>String</d2p1:Message> <d2p1:StackTrace>String</d2p1:StackTrace> <d2p1:Errors> <d2p1:ResponseError> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:FieldName>String</d2p1:FieldName> <d2p1:Message>String</d2p1:Message> <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d2p1:Meta> </d2p1:ResponseError> </d2p1:Errors> <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Meta> </ResponseStatus> <Result> <AppUrl xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</AppUrl> <CommentsPostId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</CommentsPostId> <Created xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</Created> <CreatedBy xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</CreatedBy> <Description xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Description> <Details xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Details> <DetailsHtml xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</DetailsHtml> <FavCount xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</FavCount> <Id xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</Id> <IsLocked xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">false</IsLocked> <LastModified xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</LastModified> <LastModifiedBy xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</LastModifiedBy> <LastStatusUpdate xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</LastStatusUpdate> <Name xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Name> <OrganizationId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</OrganizationId> <OwnerId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</OwnerId> <ScreenshotUrl xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</ScreenshotUrl> <Slug xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Slug> <VendorName xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</VendorName> <ViewCount xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</ViewCount> <TechnologyChoices> <TechnologyInStack> <CommentsPostId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</CommentsPostId> <Created xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</Created> <CreatedBy xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</CreatedBy> <Description xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Description> <FavCount xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</FavCount> <Id xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</Id> <IsLocked xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">false</IsLocked> <LastModified xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</LastModified> <LastModifiedBy xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</LastModifiedBy> <LastStatusUpdate xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0001-01-01T00:00:00</LastStatusUpdate> <LogoApproved xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">false</LogoApproved> <LogoUrl xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</LogoUrl> <Name xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Name> <OrganizationId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</OrganizationId> <OwnerId xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</OwnerId> <ProductUrl xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</ProductUrl> <Slug xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</Slug> <Tier xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">ProgrammingLanguage</Tier> <VendorName xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</VendorName> <VendorUrl xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">String</VendorUrl> <ViewCount xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types">0</ViewCount> <Justification>String</Justification> <TechnologyId>0</TechnologyId> <TechnologyStackId>0</TechnologyStackId> </TechnologyInStack> </TechnologyChoices> </Result> </UpdateTechnologyStackResponse>