| POST | /api/v1/direktkosten |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class PostDirektkostenResponse implements IConvertible
{
ResponseStatus? responseStatus;
String? checksumMD5;
PostDirektkostenResponse({this.responseStatus,this.checksumMD5});
PostDirektkostenResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
checksumMD5 = json['checksumMD5'];
return this;
}
Map<String, dynamic> toJson() => {
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
'checksumMD5': checksumMD5
};
getTypeName() => "PostDirektkostenResponse";
TypeContext? context = _ctx;
}
// @DataContract
class BillingInformation implements IConvertible
{
// @DataMember
String? guid;
// @DataMember
DateTime? from;
// @DataMember
DateTime? to;
// @DataMember
bool? isCompleted;
// @DataMember
bool? hasNebenkosten;
BillingInformation({this.guid,this.from,this.to,this.isCompleted,this.hasNebenkosten});
BillingInformation.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
guid = json['guid'];
from = JsonConverters.fromJson(json['from'],'DateTime',context!);
to = JsonConverters.fromJson(json['to'],'DateTime',context!);
isCompleted = json['isCompleted'];
hasNebenkosten = json['hasNebenkosten'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': guid,
'from': JsonConverters.toJson(from,'DateTime',context!),
'to': JsonConverters.toJson(to,'DateTime',context!),
'isCompleted': isCompleted,
'hasNebenkosten': hasNebenkosten
};
getTypeName() => "BillingInformation";
TypeContext? context = _ctx;
}
// @DataContract
class Direktkosten implements IConvertible
{
// @DataMember
String? guid;
// @DataMember
String? label;
// @DataMember
DateTime? date;
// @DataMember
double? brutto;
// @DataMember
double? salesTax;
// @DataMember
double? quantity;
// @DataMember
String? type;
// @DataMember
bool? isDeleted;
// @DataMember
bool? isCreatedByApp;
// @DataMember
String? nutzerGuid;
// @DataMember
BillingInformation? billingInformation;
Direktkosten({this.guid,this.label,this.date,this.brutto,this.salesTax,this.quantity,this.type,this.isDeleted,this.isCreatedByApp,this.nutzerGuid,this.billingInformation});
Direktkosten.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
guid = json['guid'];
label = json['label'];
date = JsonConverters.fromJson(json['date'],'DateTime',context!);
brutto = JsonConverters.toDouble(json['brutto']);
salesTax = JsonConverters.toDouble(json['salesTax']);
quantity = JsonConverters.toDouble(json['quantity']);
type = json['type'];
isDeleted = json['isDeleted'];
isCreatedByApp = json['isCreatedByApp'];
nutzerGuid = json['nutzerGuid'];
billingInformation = JsonConverters.fromJson(json['billingInformation'],'BillingInformation',context!);
return this;
}
Map<String, dynamic> toJson() => {
'guid': guid,
'label': label,
'date': JsonConverters.toJson(date,'DateTime',context!),
'brutto': brutto,
'salesTax': salesTax,
'quantity': quantity,
'type': type,
'isDeleted': isDeleted,
'isCreatedByApp': isCreatedByApp,
'nutzerGuid': nutzerGuid,
'billingInformation': JsonConverters.toJson(billingInformation,'BillingInformation',context!)
};
getTypeName() => "Direktkosten";
TypeContext? context = _ctx;
}
// @DataContract
class RelatedTo implements IConvertible
{
// @DataMember
String? guid;
RelatedTo({this.guid});
RelatedTo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
guid = json['guid'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': guid
};
getTypeName() => "RelatedTo";
TypeContext? context = _ctx;
}
class PostDirektkosten implements IHasBearerToken, IConvertible
{
// @ApiMember(IsRequired=true, ParameterType="body")
Direktkosten? direktkosten;
// @ApiMember(IsRequired=true, ParameterType="body")
RelatedTo? relatedToObjekt;
// @ApiMember(IsRequired=true, ParameterType="body")
RelatedTo? relatedToBillingInformation;
// @ApiMember(IsRequired=true, ParameterType="body")
RelatedTo? relatedToNutzer;
// @ApiMember(IsRequired=true, ParameterType="body")
String? bearerToken;
PostDirektkosten({this.direktkosten,this.relatedToObjekt,this.relatedToBillingInformation,this.relatedToNutzer,this.bearerToken});
PostDirektkosten.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
direktkosten = JsonConverters.fromJson(json['direktkosten'],'Direktkosten',context!);
relatedToObjekt = JsonConverters.fromJson(json['relatedToObjekt'],'RelatedTo',context!);
relatedToBillingInformation = JsonConverters.fromJson(json['relatedToBillingInformation'],'RelatedTo',context!);
relatedToNutzer = JsonConverters.fromJson(json['relatedToNutzer'],'RelatedTo',context!);
bearerToken = json['bearerToken'];
return this;
}
Map<String, dynamic> toJson() => {
'direktkosten': JsonConverters.toJson(direktkosten,'Direktkosten',context!),
'relatedToObjekt': JsonConverters.toJson(relatedToObjekt,'RelatedTo',context!),
'relatedToBillingInformation': JsonConverters.toJson(relatedToBillingInformation,'RelatedTo',context!),
'relatedToNutzer': JsonConverters.toJson(relatedToNutzer,'RelatedTo',context!),
'bearerToken': bearerToken
};
getTypeName() => "PostDirektkosten";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'develop_servdesk.eras_online.de', types: <String, TypeInfo> {
'PostDirektkostenResponse': TypeInfo(TypeOf.Class, create:() => PostDirektkostenResponse()),
'BillingInformation': TypeInfo(TypeOf.Class, create:() => BillingInformation()),
'Direktkosten': TypeInfo(TypeOf.Class, create:() => Direktkosten()),
'RelatedTo': TypeInfo(TypeOf.Class, create:() => RelatedTo()),
'PostDirektkosten': TypeInfo(TypeOf.Class, create:() => PostDirektkosten()),
});
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.
POST /api/v1/direktkosten HTTP/1.1
Host: develop-servdesk.eras-online.de
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
direktkosten:
{
guid: 00000000000000000000000000000000,
label: String,
date: 0001-01-01T00:00:00Z,
brutto: 0,
salesTax: 0,
quantity: 0,
type: String,
isDeleted: False,
isCreatedByApp: False,
nutzerGuid: 00000000000000000000000000000000,
billingInformation:
{
guid: String,
from: 0001-01-01T00:00:00Z,
to: 0001-01-01T00:00:00Z,
isCompleted: False,
hasNebenkosten: False
}
},
relatedToObjekt:
{
guid: 00000000000000000000000000000000
},
relatedToBillingInformation:
{
guid: 00000000000000000000000000000000
},
relatedToNutzer:
{
guid: 00000000000000000000000000000000
},
bearerToken: String
}
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
}
},
checksumMD5: String
}