/* Options: Date: 2024-05-02 15:21:37 Version: 8.13 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://techstacks.io //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetTechnology.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum TechnologyTier { ProgrammingLanguage, Client, Http, Server, Data, SoftwareInfrastructure, OperatingSystem, HardwareInfrastructure, ThirdPartyServices, } abstract class TechnologyBase { int? id; String? name; String? vendorName; String? vendorUrl; String? productUrl; String? logoUrl; String? description; DateTime? created; String? createdBy; DateTime? lastModified; String? lastModifiedBy; String? ownerId; String? slug; bool? logoApproved; bool? isLocked; TechnologyTier? tier; DateTime? lastStatusUpdate; int? organizationId; int? commentsPostId; int? viewCount; int? favCount; TechnologyBase({this.id,this.name,this.vendorName,this.vendorUrl,this.productUrl,this.logoUrl,this.description,this.created,this.createdBy,this.lastModified,this.lastModifiedBy,this.ownerId,this.slug,this.logoApproved,this.isLocked,this.tier,this.lastStatusUpdate,this.organizationId,this.commentsPostId,this.viewCount,this.favCount}); TechnologyBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; name = json['name']; vendorName = json['vendorName']; vendorUrl = json['vendorUrl']; productUrl = json['productUrl']; logoUrl = json['logoUrl']; description = json['description']; created = JsonConverters.fromJson(json['created'],'DateTime',context!); createdBy = json['createdBy']; lastModified = JsonConverters.fromJson(json['lastModified'],'DateTime',context!); lastModifiedBy = json['lastModifiedBy']; ownerId = json['ownerId']; slug = json['slug']; logoApproved = json['logoApproved']; isLocked = json['isLocked']; tier = JsonConverters.fromJson(json['tier'],'TechnologyTier',context!); lastStatusUpdate = JsonConverters.fromJson(json['lastStatusUpdate'],'DateTime',context!); organizationId = json['organizationId']; commentsPostId = json['commentsPostId']; viewCount = json['viewCount']; favCount = json['favCount']; return this; } Map toJson() => { 'id': id, 'name': name, 'vendorName': vendorName, 'vendorUrl': vendorUrl, 'productUrl': productUrl, 'logoUrl': logoUrl, 'description': description, 'created': JsonConverters.toJson(created,'DateTime',context!), 'createdBy': createdBy, 'lastModified': JsonConverters.toJson(lastModified,'DateTime',context!), 'lastModifiedBy': lastModifiedBy, 'ownerId': ownerId, 'slug': slug, 'logoApproved': logoApproved, 'isLocked': isLocked, 'tier': JsonConverters.toJson(tier,'TechnologyTier',context!), 'lastStatusUpdate': JsonConverters.toJson(lastStatusUpdate,'DateTime',context!), 'organizationId': organizationId, 'commentsPostId': commentsPostId, 'viewCount': viewCount, 'favCount': favCount }; getTypeName() => "TechnologyBase"; TypeContext? context = _ctx; } class Technology extends TechnologyBase implements IConvertible { int? id; String? name; String? vendorName; String? vendorUrl; String? productUrl; String? logoUrl; String? description; DateTime? created; String? createdBy; DateTime? lastModified; String? lastModifiedBy; String? ownerId; String? slug; bool? logoApproved; bool? isLocked; TechnologyTier? tier; DateTime? lastStatusUpdate; int? organizationId; int? commentsPostId; int? viewCount; int? favCount; Technology({this.id,this.name,this.vendorName,this.vendorUrl,this.productUrl,this.logoUrl,this.description,this.created,this.createdBy,this.lastModified,this.lastModifiedBy,this.ownerId,this.slug,this.logoApproved,this.isLocked,this.tier,this.lastStatusUpdate,this.organizationId,this.commentsPostId,this.viewCount,this.favCount}); Technology.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); id = json['id']; name = json['name']; vendorName = json['vendorName']; vendorUrl = json['vendorUrl']; productUrl = json['productUrl']; logoUrl = json['logoUrl']; description = json['description']; created = JsonConverters.fromJson(json['created'],'DateTime',context!); createdBy = json['createdBy']; lastModified = JsonConverters.fromJson(json['lastModified'],'DateTime',context!); lastModifiedBy = json['lastModifiedBy']; ownerId = json['ownerId']; slug = json['slug']; logoApproved = json['logoApproved']; isLocked = json['isLocked']; tier = JsonConverters.fromJson(json['tier'],'TechnologyTier',context!); lastStatusUpdate = JsonConverters.fromJson(json['lastStatusUpdate'],'DateTime',context!); organizationId = json['organizationId']; commentsPostId = json['commentsPostId']; viewCount = json['viewCount']; favCount = json['favCount']; return this; } Map toJson() => super.toJson()..addAll({ 'id': id, 'name': name, 'vendorName': vendorName, 'vendorUrl': vendorUrl, 'productUrl': productUrl, 'logoUrl': logoUrl, 'description': description, 'created': JsonConverters.toJson(created,'DateTime',context!), 'createdBy': createdBy, 'lastModified': JsonConverters.toJson(lastModified,'DateTime',context!), 'lastModifiedBy': lastModifiedBy, 'ownerId': ownerId, 'slug': slug, 'logoApproved': logoApproved, 'isLocked': isLocked, 'tier': JsonConverters.toJson(tier,'TechnologyTier',context!), 'lastStatusUpdate': JsonConverters.toJson(lastStatusUpdate,'DateTime',context!), 'organizationId': organizationId, 'commentsPostId': commentsPostId, 'viewCount': viewCount, 'favCount': favCount }); getTypeName() => "Technology"; TypeContext? context = _ctx; } abstract class IRegisterStats { } 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 json) { fromMap(json); } fromMap(Map 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 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 TechnologyStack extends TechnologyStackBase implements IConvertible { 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; TechnologyStack({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}); TechnologyStack.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(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 toJson() => super.toJson()..addAll({ '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() => "TechnologyStack"; TypeContext? context = _ctx; } class GetTechnologyResponse implements IConvertible { DateTime? created; Technology? technology; List? technologyStacks; ResponseStatus? responseStatus; GetTechnologyResponse({this.created,this.technology,this.technologyStacks,this.responseStatus}); GetTechnologyResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { created = JsonConverters.fromJson(json['created'],'DateTime',context!); technology = JsonConverters.fromJson(json['technology'],'Technology',context!); technologyStacks = JsonConverters.fromJson(json['technologyStacks'],'List',context!); responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'created': JsonConverters.toJson(created,'DateTime',context!), 'technology': JsonConverters.toJson(technology,'Technology',context!), 'technologyStacks': JsonConverters.toJson(technologyStacks,'List',context!), 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "GetTechnologyResponse"; TypeContext? context = _ctx; } // @Route("/technology/{Slug}") class GetTechnology implements IReturn, IRegisterStats, IGet, IConvertible { String? slug; GetTechnology({this.slug}); GetTechnology.fromJson(Map json) { fromMap(json); } fromMap(Map json) { slug = json['slug']; return this; } Map toJson() => { 'slug': slug }; createResponse() => GetTechnologyResponse(); getResponseTypeName() => "GetTechnologyResponse"; getTypeName() => "GetTechnology"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'techstacks.io', types: { 'TechnologyTier': TypeInfo(TypeOf.Enum, enumValues:TechnologyTier.values), 'TechnologyBase': TypeInfo(TypeOf.AbstractClass), 'Technology': TypeInfo(TypeOf.Class, create:() => Technology()), 'IRegisterStats': TypeInfo(TypeOf.Interface), 'TechnologyStackBase': TypeInfo(TypeOf.AbstractClass), 'TechnologyStack': TypeInfo(TypeOf.Class, create:() => TechnologyStack()), 'GetTechnologyResponse': TypeInfo(TypeOf.Class, create:() => GetTechnologyResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetTechnology': TypeInfo(TypeOf.Class, create:() => GetTechnology()), });