/* Options: Date: 2024-11-26 01:32:43 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reportfiling.staging.pwc.de //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: UpdateWebhookSubscription.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ 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 json) { fromMap(json); } fromMap(Map json) { url = json['url']; contentType = json['contentType']; secret = json['secret']; return this; } Map 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 json) { fromMap(json); } fromMap(Map 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 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; } abstract class IConfigurable { String? url; String? contentType; } /** * Specifies a request to update a webhook subscription specified by its unique identifier. */ // @Api(Description="Specifies a request to update a webhook subscription specified by its unique identifier.") abstract class UpdateWebhookSubscriptionBase implements IPost, IConfigurable { /** * The unique identifier of the subscriber. */ // @ApiMember(Description="The unique identifier of the subscriber.", IsRequired=true, Name="Id") String? id; /** * The name of the subscription. */ // @ApiMember(Description="The name of the subscription.", Name="Name") String? name; /** * The name of the subscribed event. */ // @ApiMember(Description="The name of the subscribed event.", Name="Event") String? event; /** * The callback URL to be called when an "event" of a certain type is going to be raised. */ // @ApiMember(Description="The callback URL to be called when an \"event\" of a certain type is going to be raised.", Name="Url") String? url; /** * The MIME type of content pushed to the recipient service e.g. application/json */ // @ApiMember(Description="The MIME type of content pushed to the recipient service e.g. application/json", Name="ContentType") String? contentType; /** * The current secret that is used to sign and authenticate messages from webhook endpoints. */ // @ApiMember(Description="The current secret that is used to sign and authenticate messages from webhook endpoints.", IsRequired=true, Name="CurrentSecret") String? currentSecret; /** * A random Base64-encoded secret key (8 or more characters) to sign and authenticate messages from webhook endpoints. .When receiving a webhook event in your subscribers service, calculate the HMAC signature of the request body using this secret. Compare the calculated signature with the signature included in the "X-Hub-Signature" header of the web hook event. If the signatures do not match, then disregard it, and don't process the request any further. */ // @ApiMember(Description="A random Base64-encoded secret key (8 or more characters) to sign and authenticate messages from webhook endpoints. .When receiving a webhook event in your subscribers service, calculate the HMAC signature of the request body using this secret. Compare the calculated signature with the signature included in the \"X-Hub-Signature\" header of the web hook event. If the signatures do not match, then disregard it, and don't process the request any further.", Name="NewSecret") String? newSecret; /** * Indicates whether the subscription is enabled or disabled. */ // @ApiMember(Description="Indicates whether the subscription is enabled or disabled.", Name="IsActive") bool? isActive; /** * The XML-encoded RSA public key to encrypt the new secret of the webhook subscription. Note: Only the owner of the key pair (public and private encryption keys) can decrypt the encrypted secret with the private key! Encryption algorithm: RSA with OAEP-SHA256 padding. */ // @ApiMember(Description="The XML-encoded RSA public key to encrypt the new secret of the webhook subscription. Note: Only the owner of the key pair (public and private encryption keys) can decrypt the encrypted secret with the private key! Encryption algorithm: RSA with OAEP-SHA256 padding.", IsRequired=true, Name="PublicKeyXml") String? publicKeyXml; UpdateWebhookSubscriptionBase({this.id,this.name,this.event,this.url,this.contentType,this.currentSecret,this.newSecret,this.isActive,this.publicKeyXml}); UpdateWebhookSubscriptionBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; name = json['name']; event = json['event']; url = json['url']; contentType = json['contentType']; currentSecret = json['currentSecret']; newSecret = json['newSecret']; isActive = json['isActive']; publicKeyXml = json['publicKeyXml']; return this; } Map toJson() => { 'id': id, 'name': name, 'event': event, 'url': url, 'contentType': contentType, 'currentSecret': currentSecret, 'newSecret': newSecret, 'isActive': isActive, 'publicKeyXml': publicKeyXml }; getTypeName() => "UpdateWebhookSubscriptionBase"; TypeContext? context = _ctx; } class SubscriptionDeliveryResult implements IConvertible { DateTime? attemptedDateUtc; String? statusDescription; HttpStatusCode? statusCode; String? subscriptionId; String? id; String? eventId; SubscriptionDeliveryResult({this.attemptedDateUtc,this.statusDescription,this.statusCode,this.subscriptionId,this.id,this.eventId}); SubscriptionDeliveryResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { attemptedDateUtc = JsonConverters.fromJson(json['attemptedDateUtc'],'DateTime',context!); statusDescription = json['statusDescription']; statusCode = JsonConverters.fromJson(json['statusCode'],'HttpStatusCode',context!); subscriptionId = json['subscriptionId']; id = json['id']; eventId = json['eventId']; return this; } Map toJson() => { 'attemptedDateUtc': JsonConverters.toJson(attemptedDateUtc,'DateTime',context!), 'statusDescription': statusDescription, 'statusCode': JsonConverters.toJson(statusCode,'HttpStatusCode',context!), 'subscriptionId': subscriptionId, 'id': id, 'eventId': eventId }; getTypeName() => "SubscriptionDeliveryResult"; TypeContext? context = _ctx; } /** * Represents a service response that encapsulates a webhook subscription. */ // @Api(Description="Represents a service response that encapsulates a webhook subscription.") class SubscriptionResponse implements IConvertible { /** * The encapsulated webhook subscription of the response. The secret of the webhook subscription is encrypted and can only be decrypted by the owner of the private key. */ // @ApiMember(Description="The encapsulated webhook subscription of the response. The secret of the webhook subscription is encrypted and can only be decrypted by the owner of the private key.", Name="Subscription") WebhookSubscription? subscription; /** * The history of the subscription event. */ // @ApiMember(Description="The history of the subscription event.", Name="History") List? history; /** * The status of the response. */ // @ApiMember(Description="The status of the response.", Name="ResponseStatus") ResponseStatus? responseStatus; SubscriptionResponse({this.subscription,this.history,this.responseStatus}); SubscriptionResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { subscription = JsonConverters.fromJson(json['subscription'],'WebhookSubscription',context!); history = JsonConverters.fromJson(json['history'],'List',context!); responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'subscription': JsonConverters.toJson(subscription,'WebhookSubscription',context!), 'history': JsonConverters.toJson(history,'List',context!), 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "SubscriptionResponse"; TypeContext? context = _ctx; } /** * Represents a request to update a webhook subscription specified by its unique identifier. */ // @Route("/sync/webhooks/subscriptions/{Id}/update", "POST") // @Api(Description="Represents a request to update a webhook subscription specified by its unique identifier.") class UpdateWebhookSubscription extends UpdateWebhookSubscriptionBase implements IReturn, IConvertible, IPost { UpdateWebhookSubscription(); UpdateWebhookSubscription.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => SubscriptionResponse(); getResponseTypeName() => "SubscriptionResponse"; getTypeName() => "UpdateWebhookSubscription"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'reportfiling.staging.pwc.de', types: { 'SubscriptionConfig': TypeInfo(TypeOf.Class, create:() => SubscriptionConfig()), 'WebhookSubscription': TypeInfo(TypeOf.Class, create:() => WebhookSubscription()), 'IConfigurable': TypeInfo(TypeOf.Interface), 'UpdateWebhookSubscriptionBase': TypeInfo(TypeOf.AbstractClass), 'SubscriptionDeliveryResult': TypeInfo(TypeOf.Class, create:() => SubscriptionDeliveryResult()), 'HttpStatusCode': TypeInfo(TypeOf.Class, create:() => HttpStatusCode()), 'SubscriptionResponse': TypeInfo(TypeOf.Class, create:() => SubscriptionResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'UpdateWebhookSubscription': TypeInfo(TypeOf.Class, create:() => UpdateWebhookSubscription()), });