All Verbs | /technology/search |
---|
import 'package:servicestack/servicestack.dart';
// @DataContract
abstract class QueryBase
{
// @DataMember(Order=1)
int? skip;
// @DataMember(Order=2)
int? take;
// @DataMember(Order=3)
String? orderBy;
// @DataMember(Order=4)
String? orderByDesc;
// @DataMember(Order=5)
String? include;
// @DataMember(Order=6)
String? fields;
// @DataMember(Order=7)
Map<String,String?>? meta;
QueryBase({this.skip,this.take,this.orderBy,this.orderByDesc,this.include,this.fields,this.meta});
QueryBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
skip = json['skip'];
take = json['take'];
orderBy = json['orderBy'];
orderByDesc = json['orderByDesc'];
include = json['include'];
fields = json['fields'];
meta = JsonConverters.toStringMap(json['meta']);
return this;
}
Map<String, dynamic> toJson() => {
'skip': skip,
'take': take,
'orderBy': orderBy,
'orderByDesc': orderByDesc,
'include': include,
'fields': fields,
'meta': meta
};
getTypeName() => "QueryBase";
TypeContext? context = _ctx;
}
abstract class QueryDb2<From,Into> extends QueryBase
{
QueryDb2();
QueryDb2.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "QueryDb<$From,$Into>";
TypeContext? context = _ctx;
}
enum TechnologyTier
{
ProgrammingLanguage,
Client,
Http,
Server,
Data,
SoftwareInfrastructure,
OperatingSystem,
HardwareInfrastructure,
ThirdPartyServices,
}
class TechnologyView 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;
TechnologyView({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});
TechnologyView.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<String, dynamic> 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() => "TechnologyView";
TypeContext? context = _ctx;
}
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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<String, dynamic> 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
{
Technology();
Technology.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "Technology";
TypeContext? context = _ctx;
}
// @AutoQueryViewer(DefaultSearchField="Tier", DefaultSearchText="Data", DefaultSearchType="=", Description="Explore different Technologies", IconUrl="octicon:database", Title="Find Technologies")
class FindTechnologies extends QueryDb2<Technology,TechnologyView> implements IConvertible
{
List<int>? ids;
String? name;
String? vendorName;
String? nameContains;
String? vendorNameContains;
String? descriptionContains;
FindTechnologies({this.ids,this.name,this.vendorName,this.nameContains,this.vendorNameContains,this.descriptionContains});
FindTechnologies.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
ids = JsonConverters.fromJson(json['ids'],'List<int>',context!);
name = json['name'];
vendorName = json['vendorName'];
nameContains = json['nameContains'];
vendorNameContains = json['vendorNameContains'];
descriptionContains = json['descriptionContains'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'ids': JsonConverters.toJson(ids,'List<int>',context!),
'name': name,
'vendorName': vendorName,
'nameContains': nameContains,
'vendorNameContains': vendorNameContains,
'descriptionContains': descriptionContains
});
getTypeName() => "FindTechnologies";
TypeContext? context = _ctx;
}
enum PostType
{
Announcement,
Post,
Showcase,
Question,
Request,
}
class Post implements IConvertible
{
int? id;
int? organizationId;
int? userId;
PostType? type;
int? categoryId;
String? title;
String? slug;
String? url;
String? imageUrl;
// @StringLength(2147483647)
String? content;
// @StringLength(2147483647)
String? contentHtml;
int? pinCommentId;
List<int>? technologyIds;
DateTime? fromDate;
DateTime? toDate;
String? location;
String? metaType;
String? meta;
bool? approved;
int? upVotes;
int? downVotes;
int? points;
int? views;
int? favorites;
int? subscribers;
int? replyCount;
int? commentsCount;
int? wordCount;
int? reportCount;
int? linksCount;
int? linkedToCount;
int? score;
int? rank;
List<String>? labels;
List<int>? refUserIds;
List<String>? refLinks;
List<int>? muteUserIds;
DateTime? lastCommentDate;
int? lastCommentId;
int? lastCommentUserId;
DateTime? deleted;
String? deletedBy;
DateTime? locked;
String? lockedBy;
DateTime? hidden;
String? hiddenBy;
String? status;
DateTime? statusDate;
String? statusBy;
bool? archived;
DateTime? bumped;
DateTime? created;
String? createdBy;
DateTime? modified;
String? modifiedBy;
int? refId;
String? refSource;
String? refUrn;
Post({this.id,this.organizationId,this.userId,this.type,this.categoryId,this.title,this.slug,this.url,this.imageUrl,this.content,this.contentHtml,this.pinCommentId,this.technologyIds,this.fromDate,this.toDate,this.location,this.metaType,this.meta,this.approved,this.upVotes,this.downVotes,this.points,this.views,this.favorites,this.subscribers,this.replyCount,this.commentsCount,this.wordCount,this.reportCount,this.linksCount,this.linkedToCount,this.score,this.rank,this.labels,this.refUserIds,this.refLinks,this.muteUserIds,this.lastCommentDate,this.lastCommentId,this.lastCommentUserId,this.deleted,this.deletedBy,this.locked,this.lockedBy,this.hidden,this.hiddenBy,this.status,this.statusDate,this.statusBy,this.archived,this.bumped,this.created,this.createdBy,this.modified,this.modifiedBy,this.refId,this.refSource,this.refUrn});
Post.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
organizationId = json['organizationId'];
userId = json['userId'];
type = JsonConverters.fromJson(json['type'],'PostType',context!);
categoryId = json['categoryId'];
title = json['title'];
slug = json['slug'];
url = json['url'];
imageUrl = json['imageUrl'];
content = json['content'];
contentHtml = json['contentHtml'];
pinCommentId = json['pinCommentId'];
technologyIds = JsonConverters.fromJson(json['technologyIds'],'List<int>',context!);
fromDate = JsonConverters.fromJson(json['fromDate'],'DateTime',context!);
toDate = JsonConverters.fromJson(json['toDate'],'DateTime',context!);
location = json['location'];
metaType = json['metaType'];
meta = json['meta'];
approved = json['approved'];
upVotes = json['upVotes'];
downVotes = json['downVotes'];
points = json['points'];
views = json['views'];
favorites = json['favorites'];
subscribers = json['subscribers'];
replyCount = json['replyCount'];
commentsCount = json['commentsCount'];
wordCount = json['wordCount'];
reportCount = json['reportCount'];
linksCount = json['linksCount'];
linkedToCount = json['linkedToCount'];
score = json['score'];
rank = json['rank'];
labels = JsonConverters.fromJson(json['labels'],'List<String>',context!);
refUserIds = JsonConverters.fromJson(json['refUserIds'],'List<int>',context!);
refLinks = JsonConverters.fromJson(json['refLinks'],'List<String>',context!);
muteUserIds = JsonConverters.fromJson(json['muteUserIds'],'List<int>',context!);
lastCommentDate = JsonConverters.fromJson(json['lastCommentDate'],'DateTime',context!);
lastCommentId = json['lastCommentId'];
lastCommentUserId = json['lastCommentUserId'];
deleted = JsonConverters.fromJson(json['deleted'],'DateTime',context!);
deletedBy = json['deletedBy'];
locked = JsonConverters.fromJson(json['locked'],'DateTime',context!);
lockedBy = json['lockedBy'];
hidden = JsonConverters.fromJson(json['hidden'],'DateTime',context!);
hiddenBy = json['hiddenBy'];
status = json['status'];
statusDate = JsonConverters.fromJson(json['statusDate'],'DateTime',context!);
statusBy = json['statusBy'];
archived = json['archived'];
bumped = JsonConverters.fromJson(json['bumped'],'DateTime',context!);
created = JsonConverters.fromJson(json['created'],'DateTime',context!);
createdBy = json['createdBy'];
modified = JsonConverters.fromJson(json['modified'],'DateTime',context!);
modifiedBy = json['modifiedBy'];
refId = json['refId'];
refSource = json['refSource'];
refUrn = json['refUrn'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'organizationId': organizationId,
'userId': userId,
'type': JsonConverters.toJson(type,'PostType',context!),
'categoryId': categoryId,
'title': title,
'slug': slug,
'url': url,
'imageUrl': imageUrl,
'content': content,
'contentHtml': contentHtml,
'pinCommentId': pinCommentId,
'technologyIds': JsonConverters.toJson(technologyIds,'List<int>',context!),
'fromDate': JsonConverters.toJson(fromDate,'DateTime',context!),
'toDate': JsonConverters.toJson(toDate,'DateTime',context!),
'location': location,
'metaType': metaType,
'meta': meta,
'approved': approved,
'upVotes': upVotes,
'downVotes': downVotes,
'points': points,
'views': views,
'favorites': favorites,
'subscribers': subscribers,
'replyCount': replyCount,
'commentsCount': commentsCount,
'wordCount': wordCount,
'reportCount': reportCount,
'linksCount': linksCount,
'linkedToCount': linkedToCount,
'score': score,
'rank': rank,
'labels': JsonConverters.toJson(labels,'List<String>',context!),
'refUserIds': JsonConverters.toJson(refUserIds,'List<int>',context!),
'refLinks': JsonConverters.toJson(refLinks,'List<String>',context!),
'muteUserIds': JsonConverters.toJson(muteUserIds,'List<int>',context!),
'lastCommentDate': JsonConverters.toJson(lastCommentDate,'DateTime',context!),
'lastCommentId': lastCommentId,
'lastCommentUserId': lastCommentUserId,
'deleted': JsonConverters.toJson(deleted,'DateTime',context!),
'deletedBy': deletedBy,
'locked': JsonConverters.toJson(locked,'DateTime',context!),
'lockedBy': lockedBy,
'hidden': JsonConverters.toJson(hidden,'DateTime',context!),
'hiddenBy': hiddenBy,
'status': status,
'statusDate': JsonConverters.toJson(statusDate,'DateTime',context!),
'statusBy': statusBy,
'archived': archived,
'bumped': JsonConverters.toJson(bumped,'DateTime',context!),
'created': JsonConverters.toJson(created,'DateTime',context!),
'createdBy': createdBy,
'modified': JsonConverters.toJson(modified,'DateTime',context!),
'modifiedBy': modifiedBy,
'refId': refId,
'refSource': refSource,
'refUrn': refUrn
};
getTypeName() => "Post";
TypeContext? context = _ctx;
}
// @DataContract
class QueryResponse<T> implements IConvertible
{
// @DataMember(Order=1)
int? offset;
// @DataMember(Order=2)
int? total;
// @DataMember(Order=3)
List<Post>? results;
// @DataMember(Order=4)
Map<String,String?>? meta;
// @DataMember(Order=5)
ResponseStatus? responseStatus;
QueryResponse({this.offset,this.total,this.results,this.meta,this.responseStatus});
QueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
offset = json['offset'];
total = json['total'];
results = JsonConverters.fromJson(json['results'],'List<Post>',context!);
meta = JsonConverters.toStringMap(json['meta']);
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'offset': offset,
'total': total,
'results': JsonConverters.toJson(results,'List<Post>',context!),
'meta': meta,
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "QueryResponse<$T>";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'techstacks.io', types: <String, TypeInfo> {
'TechnologyTier': TypeInfo(TypeOf.Enum, enumValues:TechnologyTier.values),
'TechnologyView': TypeInfo(TypeOf.Class, create:() => TechnologyView()),
'TechnologyBase': TypeInfo(TypeOf.AbstractClass),
'Technology': TypeInfo(TypeOf.Class, create:() => Technology()),
'FindTechnologies': TypeInfo(TypeOf.Class, create:() => FindTechnologies()),
'List<TechnologyView>': TypeInfo(TypeOf.Class, create:() => <TechnologyView>[]),
'PostType': TypeInfo(TypeOf.Enum, enumValues:PostType.values),
'Post': TypeInfo(TypeOf.Class, create:() => Post()),
'List<Post>': TypeInfo(TypeOf.Class, create:() => <Post>[]),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /technology/search HTTP/1.1
Host: techstacks.io
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"ids":[0],"name":"String","vendorName":"String","nameContains":"String","vendorNameContains":"String","descriptionContains":"String","skip":0,"take":0,"orderBy":"String","orderByDesc":"String","include":"String","fields":"String","meta":{"String":"String"}}
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"offset":0,"total":0,"results":[{"id":0,"name":"String","vendorName":"String","vendorUrl":"String","productUrl":"String","logoUrl":"String","description":"String","created":"0001-01-01T00:00:00.0000000","createdBy":"String","lastModified":"0001-01-01T00:00:00.0000000","lastModifiedBy":"String","ownerId":"String","slug":"String","logoApproved":false,"isLocked":false,"tier":"ProgrammingLanguage","lastStatusUpdate":"0001-01-01T00:00:00.0000000","organizationId":0,"commentsPostId":0,"viewCount":0,"favCount":0}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}