import 'package:servicestack/servicestack.dart';
abstract class Outlook365Properties
{
String? PidTag;
String? ItemId;
String? EwsUrl;
String? Token;
Outlook365Properties({this.PidTag,this.ItemId,this.EwsUrl,this.Token});
Outlook365Properties.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PidTag = json['PidTag'];
ItemId = json['ItemId'];
EwsUrl = json['EwsUrl'];
Token = json['Token'];
return this;
}
Map<String, dynamic> toJson() => {
'PidTag': PidTag,
'ItemId': ItemId,
'EwsUrl': EwsUrl,
'Token': Token
};
getTypeName() => "Outlook365Properties";
TypeContext? context = _ctx;
}
class RegistrationProfileFieldStateBase implements IConvertible
{
String? DocumentFieldID;
bool? Required;
bool? Visible;
bool? Readonly;
RegistrationProfileFieldStateBase({this.DocumentFieldID,this.Required,this.Visible,this.Readonly});
RegistrationProfileFieldStateBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DocumentFieldID = json['DocumentFieldID'];
Required = json['Required'];
Visible = json['Visible'];
Readonly = json['Readonly'];
return this;
}
Map<String, dynamic> toJson() => {
'DocumentFieldID': DocumentFieldID,
'Required': Required,
'Visible': Visible,
'Readonly': Readonly
};
getTypeName() => "RegistrationProfileFieldStateBase";
TypeContext? context = _ctx;
}
class CorporateIdentityMail implements IConvertible
{
String? DocumentId;
String? EmailHtml;
bool? IsRegistered;
String? DocumentNr;
List<RegistrationProfileFieldStateBase>? Values;
String? RegistrationProfileID;
bool? RegisterAutomatically;
CorporateIdentityMail({this.DocumentId,this.EmailHtml,this.IsRegistered,this.DocumentNr,this.Values,this.RegistrationProfileID,this.RegisterAutomatically});
CorporateIdentityMail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DocumentId = json['DocumentId'];
EmailHtml = json['EmailHtml'];
IsRegistered = json['IsRegistered'];
DocumentNr = json['DocumentNr'];
Values = JsonConverters.fromJson(json['Values'],'List<RegistrationProfileFieldStateBase>',context!);
RegistrationProfileID = json['RegistrationProfileID'];
RegisterAutomatically = json['RegisterAutomatically'];
return this;
}
Map<String, dynamic> toJson() => {
'DocumentId': DocumentId,
'EmailHtml': EmailHtml,
'IsRegistered': IsRegistered,
'DocumentNr': DocumentNr,
'Values': JsonConverters.toJson(Values,'List<RegistrationProfileFieldStateBase>',context!),
'RegistrationProfileID': RegistrationProfileID,
'RegisterAutomatically': RegisterAutomatically
};
getTypeName() => "CorporateIdentityMail";
TypeContext? context = _ctx;
}
class RegistrationValue implements IConvertible
{
String? Key;
String? Value;
String? ShadowValue;
RegistrationValue({this.Key,this.Value,this.ShadowValue});
RegistrationValue.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Key = json['Key'];
Value = json['Value'];
ShadowValue = json['ShadowValue'];
return this;
}
Map<String, dynamic> toJson() => {
'Key': Key,
'Value': Value,
'ShadowValue': ShadowValue
};
getTypeName() => "RegistrationValue";
TypeContext? context = _ctx;
}
class Transition implements IConvertible
{
String? ID;
String? Reason;
DateTime? DelayDate;
String? DelayReason;
List<int>? UserIDs;
List<int>? GroupIDs;
Transition({this.ID,this.Reason,this.DelayDate,this.DelayReason,this.UserIDs,this.GroupIDs});
Transition.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ID = json['ID'];
Reason = json['Reason'];
DelayDate = JsonConverters.fromJson(json['DelayDate'],'DateTime',context!);
DelayReason = json['DelayReason'];
UserIDs = JsonConverters.fromJson(json['UserIDs'],'List<int>',context!);
GroupIDs = JsonConverters.fromJson(json['GroupIDs'],'List<int>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ID': ID,
'Reason': Reason,
'DelayDate': JsonConverters.toJson(DelayDate,'DateTime',context!),
'DelayReason': DelayReason,
'UserIDs': JsonConverters.toJson(UserIDs,'List<int>',context!),
'GroupIDs': JsonConverters.toJson(GroupIDs,'List<int>',context!)
};
getTypeName() => "Transition";
TypeContext? context = _ctx;
}
class Process implements IConvertible
{
int? ID;
String? Title;
String? Description;
String? Note;
String? Coordinator;
bool? Urgent;
List<Transition>? Transitions;
Process({this.ID,this.Title,this.Description,this.Note,this.Coordinator,this.Urgent,this.Transitions});
Process.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ID = json['ID'];
Title = json['Title'];
Description = json['Description'];
Note = json['Note'];
Coordinator = json['Coordinator'];
Urgent = json['Urgent'];
Transitions = JsonConverters.fromJson(json['Transitions'],'List<Transition>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ID': ID,
'Title': Title,
'Description': Description,
'Note': Note,
'Coordinator': Coordinator,
'Urgent': Urgent,
'Transitions': JsonConverters.toJson(Transitions,'List<Transition>',context!)
};
getTypeName() => "Process";
TypeContext? context = _ctx;
}
class CreateDraftCorporateIdentityMail extends Outlook365Properties implements IConvertible
{
String? RegistrationProfileID;
List<RegistrationValue>? Values;
List<Process>? Processes;
String? DocumentUploadId;
String? MessageQueueId;
String? ReplyEmailHtml;
CreateDraftCorporateIdentityMail({this.RegistrationProfileID,this.Values,this.Processes,this.DocumentUploadId,this.MessageQueueId,this.ReplyEmailHtml});
CreateDraftCorporateIdentityMail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
RegistrationProfileID = json['RegistrationProfileID'];
Values = JsonConverters.fromJson(json['Values'],'List<RegistrationValue>',context!);
Processes = JsonConverters.fromJson(json['Processes'],'List<Process>',context!);
DocumentUploadId = json['DocumentUploadId'];
MessageQueueId = json['MessageQueueId'];
ReplyEmailHtml = json['ReplyEmailHtml'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'RegistrationProfileID': RegistrationProfileID,
'Values': JsonConverters.toJson(Values,'List<RegistrationValue>',context!),
'Processes': JsonConverters.toJson(Processes,'List<Process>',context!),
'DocumentUploadId': DocumentUploadId,
'MessageQueueId': MessageQueueId,
'ReplyEmailHtml': ReplyEmailHtml
});
getTypeName() => "CreateDraftCorporateIdentityMail";
TypeContext? context = _ctx;
}
class CreateOrUpdateEmailDraft extends CreateDraftCorporateIdentityMail implements IConvertible
{
CreateOrUpdateEmailDraft();
CreateOrUpdateEmailDraft.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() => "CreateOrUpdateEmailDraft";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'digiofficeapigateway.deltares.nl', types: <String, TypeInfo> {
'Outlook365Properties': TypeInfo(TypeOf.AbstractClass),
'RegistrationProfileFieldStateBase': TypeInfo(TypeOf.Class, create:() => RegistrationProfileFieldStateBase()),
'CorporateIdentityMail': TypeInfo(TypeOf.Class, create:() => CorporateIdentityMail()),
'List<RegistrationProfileFieldStateBase>': TypeInfo(TypeOf.Class, create:() => <RegistrationProfileFieldStateBase>[]),
'RegistrationValue': TypeInfo(TypeOf.Class, create:() => RegistrationValue()),
'Transition': TypeInfo(TypeOf.Class, create:() => Transition()),
'Process': TypeInfo(TypeOf.Class, create:() => Process()),
'List<Transition>': TypeInfo(TypeOf.Class, create:() => <Transition>[]),
'CreateDraftCorporateIdentityMail': TypeInfo(TypeOf.Class, create:() => CreateDraftCorporateIdentityMail()),
'List<RegistrationValue>': TypeInfo(TypeOf.Class, create:() => <RegistrationValue>[]),
'List<Process>': TypeInfo(TypeOf.Class, create:() => <Process>[]),
'CreateOrUpdateEmailDraft': TypeInfo(TypeOf.Class, create:() => CreateOrUpdateEmailDraft()),
});
Dart CreateOrUpdateEmailDraft DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /json/reply/CreateOrUpdateEmailDraft HTTP/1.1
Host: digiofficeapigateway.deltares.nl
Accept: application/json
Content-Type: application/json
Content-Length: length
{"RegistrationProfileID":"00000000-0000-0000-0000-000000000000","Values":[{"Key":"00000000-0000-0000-0000-000000000000","Value":"String","ShadowValue":"String"}],"Processes":[{"ID":0,"Title":"String","Description":"String","Note":"String","Coordinator":"String","Urgent":false,"Transitions":[{"ID":"00000000-0000-0000-0000-000000000000","Reason":"String","DelayDate":"0001-01-01T00:00:00.0000000","DelayReason":"String","UserIDs":[0],"GroupIDs":[0]}]}],"DocumentUploadId":"String","MessageQueueId":"String","ReplyEmailHtml":"String","PidTag":"String","ItemId":"String","EwsUrl":"String","Token":"String"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"DocumentId":"00000000-0000-0000-0000-000000000000","EmailHtml":"String","IsRegistered":false,"DocumentNr":"String","Values":[{"DocumentFieldID":"00000000-0000-0000-0000-000000000000","Required":false,"Visible":false,"Readonly":false}],"RegistrationProfileID":"00000000-0000-0000-0000-000000000000","RegisterAutomatically":false}