POST | /async/webhooks/subscriptions/delete |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class SubscriptionConfig implements IConvertible
{
String? url;
String? contentType;
String? secret;
SubscriptionConfig({this.url,this.contentType,this.secret});
SubscriptionConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
url = json['url'];
contentType = json['contentType'];
secret = json['secret'];
return this;
}
Map<String, dynamic> toJson() => {
'url': url,
'contentType': contentType,
'secret': secret
};
getTypeName() => "SubscriptionConfig";
TypeContext? context = _ctx;
}
class WebhookSubscription implements IConvertible
{
String? id;
String? name;
String? event;
bool? isActive;
DateTime? createdDateUtc;
String? createdById;
DateTime? lastModifiedDateUtc;
SubscriptionConfig? config;
WebhookSubscription({this.id,this.name,this.event,this.isActive,this.createdDateUtc,this.createdById,this.lastModifiedDateUtc,this.config});
WebhookSubscription.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
event = json['event'];
isActive = json['isActive'];
createdDateUtc = JsonConverters.fromJson(json['createdDateUtc'],'DateTime',context!);
createdById = json['createdById'];
lastModifiedDateUtc = JsonConverters.fromJson(json['lastModifiedDateUtc'],'DateTime',context!);
config = JsonConverters.fromJson(json['config'],'SubscriptionConfig',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'name': name,
'event': event,
'isActive': isActive,
'createdDateUtc': JsonConverters.toJson(createdDateUtc,'DateTime',context!),
'createdById': createdById,
'lastModifiedDateUtc': JsonConverters.toJson(lastModifiedDateUtc,'DateTime',context!),
'config': JsonConverters.toJson(config,'SubscriptionConfig',context!)
};
getTypeName() => "WebhookSubscription";
TypeContext? context = _ctx;
}
/**
* Specifies a request to delete webhook subscriptions.
*/
// @Api(Description="Specifies a request to delete webhook subscriptions.")
abstract class BatchDeleteWebhookSubscriptionsBase implements IPost
{
/**
* The subscriptions to delete.
*/
// @ApiMember(Description="The subscriptions to delete.", IsRequired=true, Name="Subscriptions")
List<WebhookSubscription>? subscriptions;
BatchDeleteWebhookSubscriptionsBase({this.subscriptions});
BatchDeleteWebhookSubscriptionsBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
subscriptions = JsonConverters.fromJson(json['subscriptions'],'List<WebhookSubscription>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'subscriptions': JsonConverters.toJson(subscriptions,'List<WebhookSubscription>',context!)
};
getTypeName() => "BatchDeleteWebhookSubscriptionsBase";
TypeContext? context = _ctx;
}
/**
* Represents a request to delete webhook subscriptions in an asynchronous operation.
*/
// @Api(Description="Represents a request to delete webhook subscriptions in an asynchronous operation.")
class BatchDeleteWebhookSubscriptionsAsync extends BatchDeleteWebhookSubscriptionsBase implements IConvertible
{
BatchDeleteWebhookSubscriptionsAsync();
BatchDeleteWebhookSubscriptionsAsync.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() => "BatchDeleteWebhookSubscriptionsAsync";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'reportfiling.pwc.de', types: <String, TypeInfo> {
'SubscriptionConfig': TypeInfo(TypeOf.Class, create:() => SubscriptionConfig()),
'WebhookSubscription': TypeInfo(TypeOf.Class, create:() => WebhookSubscription()),
'BatchDeleteWebhookSubscriptionsBase': TypeInfo(TypeOf.AbstractClass),
'List<WebhookSubscription>': TypeInfo(TypeOf.Class, create:() => <WebhookSubscription>[]),
'BatchDeleteWebhookSubscriptionsAsync': TypeInfo(TypeOf.Class, create:() => BatchDeleteWebhookSubscriptionsAsync()),
});
Dart BatchDeleteWebhookSubscriptionsAsync DTOs
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 /async/webhooks/subscriptions/delete HTTP/1.1
Host: reportfiling.pwc.de
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
subscriptions:
[
{
id: String,
name: String,
event: String,
isActive: False,
createdDateUtc: 0001-01-01,
createdById: String,
lastModifiedDateUtc: 0001-01-01,
config:
{
url: String,
contentType: String,
secret: String
}
}
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length [ { subscription: { id: String, name: String, event: String, isActive: False, createdDateUtc: 0001-01-01, createdById: String, lastModifiedDateUtc: 0001-01-01, config: { url: String, contentType: String, secret: String } }, history: [ { attemptedDateUtc: 0001-01-01, statusDescription: String, statusCode: Continue, subscriptionId: String, id: String, eventId: String } ], responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } } ]