All Verbs | /techstacks/query |
---|
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;
}
class TechnologyStackView 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;
String? details;
String? detailsHtml;
DateTime? lastStatusUpdate;
int? organizationId;
int? commentsPostId;
int? viewCount;
int? favCount;
TechnologyStackView({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});
TechnologyStackView.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() => "TechnologyStackView";
TypeContext? context = _ctx;
}
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 TechnologyStack extends TechnologyStackBase implements IConvertible
{
TechnologyStack();
TechnologyStack.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() => "TechnologyStack";
TypeContext? context = _ctx;
}
class QueryTechStacks extends QueryDb2<TechnologyStack,TechnologyStackView> implements IConvertible
{
List<int>? ids;
String? name;
String? vendorName;
String? nameContains;
String? vendorNameContains;
String? descriptionContains;
QueryTechStacks({this.ids,this.name,this.vendorName,this.nameContains,this.vendorNameContains,this.descriptionContains});
QueryTechStacks.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() => "QueryTechStacks";
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> {
'TechnologyStackView': TypeInfo(TypeOf.Class, create:() => TechnologyStackView()),
'TechnologyStackBase': TypeInfo(TypeOf.AbstractClass),
'TechnologyStack': TypeInfo(TypeOf.Class, create:() => TechnologyStack()),
'QueryTechStacks': TypeInfo(TypeOf.Class, create:() => QueryTechStacks()),
'List<TechnologyStackView>': TypeInfo(TypeOf.Class, create:() => <TechnologyStackView>[]),
'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 .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /techstacks/query HTTP/1.1
Host: techstacks.io
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<QueryTechStacks xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel">
<Skip xmlns="http://schemas.servicestack.net/types">0</Skip>
<Take xmlns="http://schemas.servicestack.net/types">0</Take>
<OrderBy xmlns="http://schemas.servicestack.net/types">String</OrderBy>
<OrderByDesc xmlns="http://schemas.servicestack.net/types">String</OrderByDesc>
<Include xmlns="http://schemas.servicestack.net/types">String</Include>
<Fields xmlns="http://schemas.servicestack.net/types">String</Fields>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
<DescriptionContains>String</DescriptionContains>
<Ids xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:long>0</d2p1:long>
</Ids>
<Name>String</Name>
<NameContains>String</NameContains>
<VendorName>String</VendorName>
<VendorNameContains>String</VendorNameContains>
</QueryTechStacks>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <QueryResponseOfTechnologyStackViewclPpLQp2 xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types"> <Offset>0</Offset> <Total>0</Total> <Results xmlns:d2p1="http://schemas.datacontract.org/2004/07/TechStacks.ServiceModel.Types"> <d2p1:TechnologyStackView> <d2p1:AppUrl>String</d2p1:AppUrl> <d2p1:CommentsPostId>0</d2p1:CommentsPostId> <d2p1:Created>0001-01-01T00:00:00</d2p1:Created> <d2p1:CreatedBy>String</d2p1:CreatedBy> <d2p1:Description>String</d2p1:Description> <d2p1:Details>String</d2p1:Details> <d2p1:DetailsHtml>String</d2p1:DetailsHtml> <d2p1:FavCount>0</d2p1:FavCount> <d2p1:Id>0</d2p1:Id> <d2p1:IsLocked>false</d2p1:IsLocked> <d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified> <d2p1:LastModifiedBy>String</d2p1:LastModifiedBy> <d2p1:LastStatusUpdate>0001-01-01T00:00:00</d2p1:LastStatusUpdate> <d2p1:Name>String</d2p1:Name> <d2p1:OrganizationId>0</d2p1:OrganizationId> <d2p1:OwnerId>String</d2p1:OwnerId> <d2p1:ScreenshotUrl>String</d2p1:ScreenshotUrl> <d2p1:Slug>String</d2p1:Slug> <d2p1:VendorName>String</d2p1:VendorName> <d2p1:ViewCount>0</d2p1:ViewCount> </d2p1:TechnologyStackView> </Results> <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringstring> <d2p1:Key>String</d2p1:Key> <d2p1:Value>String</d2p1:Value> </d2p1:KeyValueOfstringstring> </Meta> <ResponseStatus> <ErrorCode>String</ErrorCode> <Message>String</Message> <StackTrace>String</StackTrace> <Errors> <ResponseError> <ErrorCode>String</ErrorCode> <FieldName>String</FieldName> <Message>String</Message> <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> </Meta> </ResponseError> </Errors> <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> </Meta> </ResponseStatus> </QueryResponseOfTechnologyStackViewclPpLQp2>