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 .jsv suffix or ?format=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 } } }