| GET,OPTIONS | /v1/projects/{ProjectID}/qc-summary |
|---|
import 'package:servicestack/servicestack.dart';
class QcSummary implements IConvertible
{
int? TestsThisMonth;
int? TestsTotal;
int? PassCount;
int? FailCount;
int? GradedCount;
int? PassRate;
int? RetestCount;
int? OpenNcrCount;
int? PendingHoldPoints;
QcSummary({this.TestsThisMonth,this.TestsTotal,this.PassCount,this.FailCount,this.GradedCount,this.PassRate,this.RetestCount,this.OpenNcrCount,this.PendingHoldPoints});
QcSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TestsThisMonth = json['TestsThisMonth'];
TestsTotal = json['TestsTotal'];
PassCount = json['PassCount'];
FailCount = json['FailCount'];
GradedCount = json['GradedCount'];
PassRate = json['PassRate'];
RetestCount = json['RetestCount'];
OpenNcrCount = json['OpenNcrCount'];
PendingHoldPoints = json['PendingHoldPoints'];
return this;
}
Map<String, dynamic> toJson() => {
'TestsThisMonth': TestsThisMonth,
'TestsTotal': TestsTotal,
'PassCount': PassCount,
'FailCount': FailCount,
'GradedCount': GradedCount,
'PassRate': PassRate,
'RetestCount': RetestCount,
'OpenNcrCount': OpenNcrCount,
'PendingHoldPoints': PendingHoldPoints
};
getTypeName() => "QcSummary";
TypeContext? context = _ctx;
}
class QcSummaryResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
int? ProjectID;
QcSummary? Summary;
QcSummaryResponse({this.ResponseStatus,this.ProjectID,this.Summary});
QcSummaryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
ProjectID = json['ProjectID'];
Summary = JsonConverters.fromJson(json['Summary'],'QcSummary',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'ProjectID': ProjectID,
'Summary': JsonConverters.toJson(Summary,'QcSummary',context!)
};
getTypeName() => "QcSummaryResponse";
TypeContext? context = _ctx;
}
class QcSummaryRequest implements IConvertible
{
int? ProjectID;
QcSummaryRequest({this.ProjectID});
QcSummaryRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectID = json['ProjectID'];
return this;
}
Map<String, dynamic> toJson() => {
'ProjectID': ProjectID
};
getTypeName() => "QcSummaryRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'QcSummary': TypeInfo(TypeOf.Class, create:() => QcSummary()),
'QcSummaryResponse': TypeInfo(TypeOf.Class, create:() => QcSummaryResponse()),
'QcSummaryRequest': TypeInfo(TypeOf.Class, create:() => QcSummaryRequest()),
});
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.
GET /v1/projects/{ProjectID}/qc-summary HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
ProjectID: 0,
Summary:
{
TestsThisMonth: 0,
TestsTotal: 0,
PassCount: 0,
FailCount: 0,
GradedCount: 0,
PassRate: 0,
RetestCount: 0,
OpenNcrCount: 0,
PendingHoldPoints: 0
}
}