| All Verbs | /api/contact/{ContactId}/notifications |
|---|
import 'package:servicestack/servicestack.dart';
class InputSwitch implements IConvertible
{
String? Id;
String? Name;
bool? IsDisabled;
bool? IsChecked;
InputSwitch({this.Id,this.Name,this.IsDisabled,this.IsChecked});
InputSwitch.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Name = json['Name'];
IsDisabled = json['IsDisabled'];
IsChecked = json['IsChecked'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Name': Name,
'IsDisabled': IsDisabled,
'IsChecked': IsChecked
};
getTypeName() => "InputSwitch";
TypeContext? context = _ctx;
}
class NotificationDetails implements IConvertible
{
String? NotificationId;
String? NotificationGroupName;
String? NotificationValueId;
String? Name;
String? Description;
bool? IsMandatory;
bool? IsCardinality;
bool? IsSystem;
bool? IsVisibleToRecipients;
int? Index;
InputSwitch? Email;
InputSwitch? SMS;
InputSwitch? UpdateNotification;
InputSwitch? Push;
InputSwitch? Phone;
NotificationDetails({this.NotificationId,this.NotificationGroupName,this.NotificationValueId,this.Name,this.Description,this.IsMandatory,this.IsCardinality,this.IsSystem,this.IsVisibleToRecipients,this.Index,this.Email,this.SMS,this.UpdateNotification,this.Push,this.Phone});
NotificationDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
NotificationId = json['NotificationId'];
NotificationGroupName = json['NotificationGroupName'];
NotificationValueId = json['NotificationValueId'];
Name = json['Name'];
Description = json['Description'];
IsMandatory = json['IsMandatory'];
IsCardinality = json['IsCardinality'];
IsSystem = json['IsSystem'];
IsVisibleToRecipients = json['IsVisibleToRecipients'];
Index = json['Index'];
Email = JsonConverters.fromJson(json['Email'],'InputSwitch',context!);
SMS = JsonConverters.fromJson(json['SMS'],'InputSwitch',context!);
UpdateNotification = JsonConverters.fromJson(json['UpdateNotification'],'InputSwitch',context!);
Push = JsonConverters.fromJson(json['Push'],'InputSwitch',context!);
Phone = JsonConverters.fromJson(json['Phone'],'InputSwitch',context!);
return this;
}
Map<String, dynamic> toJson() => {
'NotificationId': NotificationId,
'NotificationGroupName': NotificationGroupName,
'NotificationValueId': NotificationValueId,
'Name': Name,
'Description': Description,
'IsMandatory': IsMandatory,
'IsCardinality': IsCardinality,
'IsSystem': IsSystem,
'IsVisibleToRecipients': IsVisibleToRecipients,
'Index': Index,
'Email': JsonConverters.toJson(Email,'InputSwitch',context!),
'SMS': JsonConverters.toJson(SMS,'InputSwitch',context!),
'UpdateNotification': JsonConverters.toJson(UpdateNotification,'InputSwitch',context!),
'Push': JsonConverters.toJson(Push,'InputSwitch',context!),
'Phone': JsonConverters.toJson(Phone,'InputSwitch',context!)
};
getTypeName() => "NotificationDetails";
TypeContext? context = _ctx;
}
class NotificationGroup implements IConvertible
{
String? GroupName;
List<NotificationDetails>? Notifications;
NotificationGroup({this.GroupName,this.Notifications});
NotificationGroup.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
GroupName = json['GroupName'];
Notifications = JsonConverters.fromJson(json['Notifications'],'List<NotificationDetails>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'GroupName': GroupName,
'Notifications': JsonConverters.toJson(Notifications,'List<NotificationDetails>',context!)
};
getTypeName() => "NotificationGroup";
TypeContext? context = _ctx;
}
// @ApiResponse(Description="List of contact notifications")
class GetContactNotificationsResponse implements IConvertible
{
List<NotificationGroup>? Notifications;
ResponseStatus? ResponseStatus;
GetContactNotificationsResponse({this.Notifications,this.ResponseStatus});
GetContactNotificationsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Notifications = JsonConverters.fromJson(json['Notifications'],'List<NotificationGroup>',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Notifications': JsonConverters.toJson(Notifications,'List<NotificationGroup>',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "GetContactNotificationsResponse";
TypeContext? context = _ctx;
}
/**
* Get notifications for the specified contact
*/
// @Api(Description="Get notifications for the specified contact")
class GetContactNotifications implements IConvertible
{
/**
* Id of contact to get notifications for
*/
// @ApiMember(Description="Id of contact to get notifications for", IsRequired=true, Name="ContactId")
String? ContactId;
/**
* Id of licensee to get notifications for
*/
// @ApiMember(Description="Id of licensee to get notifications for", IsRequired=true, Name="LicenseeId")
String? LicenseeId;
/**
* Id of suite to get notifications for
*/
// @ApiMember(Description="Id of suite to get notifications for", IsRequired=true, Name="Suite")
String? SuiteId;
GetContactNotifications({this.ContactId,this.LicenseeId,this.SuiteId});
GetContactNotifications.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactId = json['ContactId'];
LicenseeId = json['LicenseeId'];
SuiteId = json['SuiteId'];
return this;
}
Map<String, dynamic> toJson() => {
'ContactId': ContactId,
'LicenseeId': LicenseeId,
'SuiteId': SuiteId
};
getTypeName() => "GetContactNotifications";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
'InputSwitch': TypeInfo(TypeOf.Class, create:() => InputSwitch()),
'NotificationDetails': TypeInfo(TypeOf.Class, create:() => NotificationDetails()),
'NotificationGroup': TypeInfo(TypeOf.Class, create:() => NotificationGroup()),
'List<NotificationDetails>': TypeInfo(TypeOf.Class, create:() => <NotificationDetails>[]),
'GetContactNotificationsResponse': TypeInfo(TypeOf.Class, create:() => GetContactNotificationsResponse()),
'List<NotificationGroup>': TypeInfo(TypeOf.Class, create:() => <NotificationGroup>[]),
'GetContactNotifications': TypeInfo(TypeOf.Class, create:() => GetContactNotifications()),
});
Dart GetContactNotifications DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/contact/{ContactId}/notifications HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"ContactId":"00000000-0000-0000-0000-000000000000","LicenseeId":"00000000-0000-0000-0000-000000000000","SuiteId":"00000000-0000-0000-0000-000000000000"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"Notifications":[{"GroupName":"String","Notifications":[{"NotificationId":"00000000-0000-0000-0000-000000000000","NotificationGroupName":"String","NotificationValueId":"00000000-0000-0000-0000-000000000000","Name":"String","Description":"String","IsMandatory":false,"IsCardinality":false,"IsSystem":false,"IsVisibleToRecipients":false,"Index":0,"Email":{"Id":"String","Name":"String","IsDisabled":false,"IsChecked":false},"SMS":{"Id":"String","Name":"String","IsDisabled":false,"IsChecked":false},"UpdateNotification":{"Id":"String","Name":"String","IsDisabled":false,"IsChecked":false},"Push":{"Id":"String","Name":"String","IsDisabled":false,"IsChecked":false},"Phone":{"Id":"String","Name":"String","IsDisabled":false,"IsChecked":false}}]}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}