TechStacks!

<back to all web services

GetTechnologyStackPreviousVersions

TechStacks
The following routes are available for this service:
GET/techstacks/{Slug}/previous-versions
import 'package:servicestack/servicestack.dart';

abstract class TechnologyStackBase
{
    int? id;
    String? name;
    String? vendorName;
    String? description;
    String? appUrl;
    String? screenshotUrl;
    DateTime? created;
    String? createdBy;
    DateTime? lastModified;
    String? lastModifiedBy;
    bool? isLocked;
    String? ownerId;
    String? slug;
    // @StringLength(2147483647)
    String? details;

    // @StringLength(2147483647)
    String? detailsHtml;

    DateTime? lastStatusUpdate;
    int? organizationId;
    int? commentsPostId;
    int? viewCount;
    int? favCount;

    TechnologyStackBase({this.id,this.name,this.vendorName,this.description,this.appUrl,this.screenshotUrl,this.created,this.createdBy,this.lastModified,this.lastModifiedBy,this.isLocked,this.ownerId,this.slug,this.details,this.detailsHtml,this.lastStatusUpdate,this.organizationId,this.commentsPostId,this.viewCount,this.favCount});
    TechnologyStackBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        vendorName = json['vendorName'];
        description = json['description'];
        appUrl = json['appUrl'];
        screenshotUrl = json['screenshotUrl'];
        created = JsonConverters.fromJson(json['created'],'DateTime',context!);
        createdBy = json['createdBy'];
        lastModified = JsonConverters.fromJson(json['lastModified'],'DateTime',context!);
        lastModifiedBy = json['lastModifiedBy'];
        isLocked = json['isLocked'];
        ownerId = json['ownerId'];
        slug = json['slug'];
        details = json['details'];
        detailsHtml = json['detailsHtml'];
        lastStatusUpdate = JsonConverters.fromJson(json['lastStatusUpdate'],'DateTime',context!);
        organizationId = json['organizationId'];
        commentsPostId = json['commentsPostId'];
        viewCount = json['viewCount'];
        favCount = json['favCount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'vendorName': vendorName,
        'description': description,
        'appUrl': appUrl,
        'screenshotUrl': screenshotUrl,
        'created': JsonConverters.toJson(created,'DateTime',context!),
        'createdBy': createdBy,
        'lastModified': JsonConverters.toJson(lastModified,'DateTime',context!),
        'lastModifiedBy': lastModifiedBy,
        'isLocked': isLocked,
        'ownerId': ownerId,
        'slug': slug,
        'details': details,
        'detailsHtml': detailsHtml,
        'lastStatusUpdate': JsonConverters.toJson(lastStatusUpdate,'DateTime',context!),
        'organizationId': organizationId,
        'commentsPostId': commentsPostId,
        'viewCount': viewCount,
        'favCount': favCount
    };

    getTypeName() => "TechnologyStackBase";
    TypeContext? context = _ctx;
}

class TechnologyStackHistory extends TechnologyStackBase implements IConvertible
{
    int? technologyStackId;
    String? operation;
    List<int>? technologyIds;

    TechnologyStackHistory({this.technologyStackId,this.operation,this.technologyIds});
    TechnologyStackHistory.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        technologyStackId = json['technologyStackId'];
        operation = json['operation'];
        technologyIds = JsonConverters.fromJson(json['technologyIds'],'List<int>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'technologyStackId': technologyStackId,
        'operation': operation,
        'technologyIds': JsonConverters.toJson(technologyIds,'List<int>',context!)
    });

    getTypeName() => "TechnologyStackHistory";
    TypeContext? context = _ctx;
}

class GetTechnologyStackPreviousVersionsResponse implements IConvertible
{
    List<TechnologyStackHistory>? results;

    GetTechnologyStackPreviousVersionsResponse({this.results});
    GetTechnologyStackPreviousVersionsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        results = JsonConverters.fromJson(json['results'],'List<TechnologyStackHistory>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'results': JsonConverters.toJson(results,'List<TechnologyStackHistory>',context!)
    };

    getTypeName() => "GetTechnologyStackPreviousVersionsResponse";
    TypeContext? context = _ctx;
}

class GetTechnologyStackPreviousVersions implements IGet, IConvertible
{
    String? slug;

    GetTechnologyStackPreviousVersions({this.slug});
    GetTechnologyStackPreviousVersions.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        slug = json['slug'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'slug': slug
    };

    getTypeName() => "GetTechnologyStackPreviousVersions";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'techstacks.io', types: <String, TypeInfo> {
    'TechnologyStackBase': TypeInfo(TypeOf.AbstractClass),
    'TechnologyStackHistory': TypeInfo(TypeOf.Class, create:() => TechnologyStackHistory()),
    'GetTechnologyStackPreviousVersionsResponse': TypeInfo(TypeOf.Class, create:() => GetTechnologyStackPreviousVersionsResponse()),
    'List<TechnologyStackHistory>': TypeInfo(TypeOf.Class, create:() => <TechnologyStackHistory>[]),
    'GetTechnologyStackPreviousVersions': TypeInfo(TypeOf.Class, create:() => GetTechnologyStackPreviousVersions()),
});

Dart GetTechnologyStackPreviousVersions 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.

GET /techstacks/{Slug}/previous-versions HTTP/1.1 
Host: techstacks.io 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	results: 
	[
		{
			technologyStackId: 0,
			operation: String,
			technologyIds: 
			[
				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
		}
	]
}