/* Options: Date: 2024-11-26 04:01:13 Version: 8.12 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://taxfiling.staging.pwc.de //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AddProductSubscriptionAsync.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; /** * Specifies a base service request to subscribe a user account to one or more products. */ // @Api(Description="Specifies a base service request to subscribe a user account to one or more products.") abstract class AddProductSubscriptionBase implements IPut { /** * The unique identifier of the user account to subscribe. */ // @ApiMember(Description="The unique identifier of the user account to subscribe.") int? accountId; /** * The user name of the user account to subscribe. */ // @ApiMember(Description="The user name of the user account to subscribe.") String? userName; /** * The unique identifier of the product, to which the user account is subscribed. */ // @ApiMember(Description="The unique identifier of the product, to which the user account is subscribed.") int? productId; /** * The name of the product, to which the user account is subscribed. */ // @ApiMember(Description="The name of the product, to which the user account is subscribed.") String? productName; AddProductSubscriptionBase({this.accountId,this.userName,this.productId,this.productName}); AddProductSubscriptionBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { accountId = json['accountId']; userName = json['userName']; productId = json['productId']; productName = json['productName']; return this; } Map toJson() => { 'accountId': accountId, 'userName': userName, 'productId': productId, 'productName': productName }; getTypeName() => "AddProductSubscriptionBase"; TypeContext? context = _ctx; } /** * Represents a user account. */ // @Api(Description="Represents a user account.") class Account implements IHasUserName, IConvertible { /** * The unique identifier of the user account. */ // @ApiMember(Description="The unique identifier of the user account.", IsRequired=true) int? id; /** * The position of this instance in a collection of 'Account' instances */ // @ApiMember(Description="The position of this instance in a collection of 'Account' instances", IsRequired=true) int? index; /** * The unique identifier of the customer associated with this account. */ // @ApiMember(Description="The unique identifier of the customer associated with this account.", IsRequired=true) int? refId; /** * The string representation of the unique identifier of a reference that associates with this user account. This should have the same value as 'RefId'. */ // @ApiMember(Description="The string representation of the unique identifier of a reference that associates with this user account. This should have the same value as 'RefId'.") String? refIdStr; /** * The unique user name of the user account. */ // @ApiMember(Description="The unique user name of the user account.", IsRequired=true) String? userName; /** * The electronic mail address of the user account. */ // @ApiMember(Description="The electronic mail address of the user account.") String? email; /** * The friendly name of the user account. */ // @ApiMember(Description="The friendly name of the user account.") String? displayName; /** * The first name of the owner (natural person) of the user account. */ // @ApiMember(Description="The first name of the owner (natural person) of the user account.") String? firstName; /** * The last name of the owner (natural person) of the user account. */ // @ApiMember(Description="The last name of the owner (natural person) of the user account.") String? lastName; /** * The unique identifier of the customer associated with this account. */ // @ApiMember(Description="The unique identifier of the customer associated with this account.") String? fullName; /** * The gender of the owner (natural person) of the user account. */ // @ApiMember(Description="The gender of the owner (natural person) of the user account.") String? gender; /** * The language of the owner of teh user account. */ // @ApiMember(Description="The language of the owner of teh user account.") String? language; /** * The company, where the user is an employee. */ // @ApiMember(Description="The company, where the user is an employee.") String? company; /** * The profile URL of the user account. */ // @ApiMember(Description="The profile URL of the user account.", IsRequired=true) String? profileUrl; /** * The roles assigned to the user account. */ // @ApiMember(Description="The roles assigned to the user account.") List? roles; /** * The permissions assigned to the user account. */ // @ApiMember(Description="The permissions assigned to the user account.") List? permissions; /** * The primary e-mail address of the user. */ // @ApiMember(Description="The primary e-mail address of the user.") String? primaryEmail; /** * Random data to enhance the security of the user password. */ // @ApiMember(Description="Random data to enhance the security of the user password.") String? salt; /** * The hash value of the user password that the PBKDF2 algorithm produces. */ // @ApiMember(Description="The hash value of the user password that the PBKDF2 algorithm produces.") String? passwordHash; /** * The hash value of the user password that the DigestHa1 algorithm produces. */ // @ApiMember(Description="The hash value of the user password that the DigestHa1 algorithm produces.") String? digestHa1Hash; /** * The number of times the user account tried to sign in but failed. */ // @ApiMember(Description="The number of times the user account tried to sign in but failed.") int? invalidLoginAttempts; /** * The last time the user account attempted a sign in. */ // @ApiMember(Description="The last time the user account attempted a sign in.") DateTime? lastLoginAttempt; /** * The date and time when the user acount was denied access. */ // @ApiMember(Description="The date and time when the user acount was denied access.") DateTime? lockedDate; /** * The date and time when the user account was created. */ // @ApiMember(Description="The date and time when the user account was created.") DateTime? createdDate; /** * The date and time when the user account was last modified. */ // @ApiMember(Description="The date and time when the user account was last modified.") DateTime? modifiedDate; /** * The telephone number of the owner of the user account. */ // @ApiMember(Description="The telephone number of the owner of the user account.") String? phoneNumber; /** * The birth date of the owner of the user account */ // @ApiMember(Description="The birth date of the owner of the user account") DateTime? birthDate; /** * The string representation of the birth date of the user account. */ // @ApiMember(Description="The string representation of the birth date of the user account.") String? birthDateRaw; /** * The mail address of the user account. */ // @ApiMember(Description="The mail address of the user account.") String? address; /** * Additional information for the specified 'Address' of the user. */ // @ApiMember(Description="Additional information for the specified 'Address' of the user.") String? address2; /** * The city of the owner of the user account. */ // @ApiMember(Description="The city of the owner of the user account.") String? city; /** * The state of the owner of the user account. */ // @ApiMember(Description="The state of the owner of the user account.") String? state; /** * The country of the owner of the user account. It is recommended to use the name of the associated 'Customer'. */ // @ApiMember(Description="The country of the owner of the user account. It is recommended to use the name of the associated 'Customer'.") String? country; /** * The locale of the user account. */ // @ApiMember(Description="The locale of the user account.") String? culture; /** * The mail address of the user account. */ // @ApiMember(Description="The mail address of the user account.") String? mailAddress; /** * The nickname of the user of the user account. */ // @ApiMember(Description="The nickname of the user of the user account.") String? nickname; /** * The postal code of the user account. */ // @ApiMember(Description="The postal code of the user account.") String? postalCode; /** * The time zone of the user of the user account. */ // @ApiMember(Description="The time zone of the user of the user account.") String? timeZone; /** * Additional information to attach to the user account. */ // @ApiMember(Description="Additional information to attach to the user account.") Map? meta; Account({this.id,this.index,this.refId,this.refIdStr,this.userName,this.email,this.displayName,this.firstName,this.lastName,this.fullName,this.gender,this.language,this.company,this.profileUrl,this.roles,this.permissions,this.primaryEmail,this.salt,this.passwordHash,this.digestHa1Hash,this.invalidLoginAttempts,this.lastLoginAttempt,this.lockedDate,this.createdDate,this.modifiedDate,this.phoneNumber,this.birthDate,this.birthDateRaw,this.address,this.address2,this.city,this.state,this.country,this.culture,this.mailAddress,this.nickname,this.postalCode,this.timeZone,this.meta}); Account.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; index = json['index']; refId = json['refId']; refIdStr = json['refIdStr']; userName = json['userName']; email = json['email']; displayName = json['displayName']; firstName = json['firstName']; lastName = json['lastName']; fullName = json['fullName']; gender = json['gender']; language = json['language']; company = json['company']; profileUrl = json['profileUrl']; roles = JsonConverters.fromJson(json['roles'],'List',context!); permissions = JsonConverters.fromJson(json['permissions'],'List',context!); primaryEmail = json['primaryEmail']; salt = json['salt']; passwordHash = json['passwordHash']; digestHa1Hash = json['digestHa1Hash']; invalidLoginAttempts = json['invalidLoginAttempts']; lastLoginAttempt = JsonConverters.fromJson(json['lastLoginAttempt'],'DateTime',context!); lockedDate = JsonConverters.fromJson(json['lockedDate'],'DateTime',context!); createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!); modifiedDate = JsonConverters.fromJson(json['modifiedDate'],'DateTime',context!); phoneNumber = json['phoneNumber']; birthDate = JsonConverters.fromJson(json['birthDate'],'DateTime',context!); birthDateRaw = json['birthDateRaw']; address = json['address']; address2 = json['address2']; city = json['city']; state = json['state']; country = json['country']; culture = json['culture']; mailAddress = json['mailAddress']; nickname = json['nickname']; postalCode = json['postalCode']; timeZone = json['timeZone']; meta = JsonConverters.toStringMap(json['meta']); return this; } Map toJson() => { 'id': id, 'index': index, 'refId': refId, 'refIdStr': refIdStr, 'userName': userName, 'email': email, 'displayName': displayName, 'firstName': firstName, 'lastName': lastName, 'fullName': fullName, 'gender': gender, 'language': language, 'company': company, 'profileUrl': profileUrl, 'roles': JsonConverters.toJson(roles,'List',context!), 'permissions': JsonConverters.toJson(permissions,'List',context!), 'primaryEmail': primaryEmail, 'salt': salt, 'passwordHash': passwordHash, 'digestHa1Hash': digestHa1Hash, 'invalidLoginAttempts': invalidLoginAttempts, 'lastLoginAttempt': JsonConverters.toJson(lastLoginAttempt,'DateTime',context!), 'lockedDate': JsonConverters.toJson(lockedDate,'DateTime',context!), 'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!), 'modifiedDate': JsonConverters.toJson(modifiedDate,'DateTime',context!), 'phoneNumber': phoneNumber, 'birthDate': JsonConverters.toJson(birthDate,'DateTime',context!), 'birthDateRaw': birthDateRaw, 'address': address, 'address2': address2, 'city': city, 'state': state, 'country': country, 'culture': culture, 'mailAddress': mailAddress, 'nickname': nickname, 'postalCode': postalCode, 'timeZone': timeZone, 'meta': meta }; getTypeName() => "Account"; TypeContext? context = _ctx; } /** * Represents a product. */ // @Api(Description="Represents a product.") class Product implements IHasName, IConvertible { /** * The unique identifier of the product. */ // @ApiMember(Description="The unique identifier of the product.", IsRequired=true) int? id; /** * The position of this instance in a collection of 'Product' instances */ // @ApiMember(Description="The position of this instance in a collection of 'Product' instances", IsRequired=true) int? index; /** * The name of the product. */ // @ApiMember(Description="The name of the product.", IsRequired=true) // @Validate(Validator="NotEmpty") String? name; /** * The version of the product. */ // @ApiMember(Description="The version of the product.", IsRequired=true) // @Validate(Validator="NotEmpty") String? version; /** * The version of the product. */ // @ApiMember(Description="The version of the product.") String? description; /** * Tags associated with the product. */ // @ApiMember(Description="Tags associated with the product.") List? tags; Product({this.id,this.index,this.name,this.version,this.description,this.tags}); Product.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; index = json['index']; name = json['name']; version = json['version']; description = json['description']; tags = JsonConverters.fromJson(json['tags'],'List',context!); return this; } Map toJson() => { 'id': id, 'index': index, 'name': name, 'version': version, 'description': description, 'tags': JsonConverters.toJson(tags,'List',context!) }; getTypeName() => "Product"; TypeContext? context = _ctx; } enum HttpStatusCode { Continue, SwitchingProtocols, Processing, EarlyHints, OK, Created, Accepted, NonAuthoritativeInformation, NoContent, ResetContent, PartialContent, MultiStatus, AlreadyReported, IMUsed, MultipleChoices, Ambiguous, MovedPermanently, Moved, Found, Redirect, SeeOther, RedirectMethod, NotModified, UseProxy, Unused, TemporaryRedirect, RedirectKeepVerb, PermanentRedirect, BadRequest, Unauthorized, PaymentRequired, Forbidden, NotFound, MethodNotAllowed, NotAcceptable, ProxyAuthenticationRequired, RequestTimeout, Conflict, Gone, LengthRequired, PreconditionFailed, RequestEntityTooLarge, RequestUriTooLong, UnsupportedMediaType, RequestedRangeNotSatisfiable, ExpectationFailed, MisdirectedRequest, UnprocessableEntity, UnprocessableContent, Locked, FailedDependency, UpgradeRequired, PreconditionRequired, TooManyRequests, RequestHeaderFieldsTooLarge, UnavailableForLegalReasons, InternalServerError, NotImplemented, BadGateway, ServiceUnavailable, GatewayTimeout, HttpVersionNotSupported, VariantAlsoNegotiates, InsufficientStorage, LoopDetected, NotExtended, NetworkAuthenticationRequired, } /** * Represents a commission to consume services. */ // @Api(Description="Represents a commission to consume services.") class Order implements IHasName, IConvertible { /** * The unique identifier of the order. */ // @ApiMember(Description="The unique identifier of the order.", IsRequired=true) int? id; /** * The unique identifier of the product, for which the order is made. */ // @ApiMember(Description="The unique identifier of the product, for which the order is made.", IsRequired=true) int? productId; /** * The unique identifier of the user account, who placed the order. */ // @ApiMember(Description="The unique identifier of the user account, who placed the order.", IsRequired=true) int? accountId; /** * A name to identify the order. */ // @ApiMember(Description="A name to identify the order.", IsRequired=true) // @Validate(Validator="NotEmpty") String? name; /** * The name of the service, for which the order was made. */ // @ApiMember(Description="The name of the service, for which the order was made.") String? serviceName; /** * The time stamp at which the order was initiated. */ // @ApiMember(Description="The time stamp at which the order was initiated.") DateTime? requestTimestamp; /** * The time stamp at which the order was completed. */ // @ApiMember(Description="The time stamp at which the order was completed.") DateTime? responseTimestamp; /** * The URI from which the order was initiated. */ // @ApiMember(Description="The URI from which the order was initiated.") String? requestUri; /** * The HTTP method of the order request. */ // @ApiMember(Description="The HTTP method of the order request.") String? requestHttpMethod; /** * The duration of the order request. */ // @ApiMember(Description="The duration of the order request.") Duration? requestDuration; /** * The HTTP status code of the order request. */ // @ApiMember(Description="The HTTP status code of the order request.") HttpStatusCode? responseStatusCode; /** * The IP address of client, who placed the order. */ // @ApiMember(Description="The IP address of client, who placed the order.") String? clientIPAddress; /** * The unit of measurement for the order. */ // @ApiMember(Description="The unit of measurement for the order.") String? unitOfMeasurement; /** * The type of process, for which the order is charged. */ // @ApiMember(Description="The type of process, for which the order is charged.") String? processType; /** * The type of data, for which the order is charged. */ // @ApiMember(Description="The type of data, for which the order is charged.") String? dataType; /** * The name of the data, for which the order is charged. */ // @ApiMember(Description="The name of the data, for which the order is charged.") String? dataName; /** * The date of creation of the order. */ // @ApiMember(Description="The date of creation of the order.") DateTime? creationDate; /** * The final date to retain the order in the records. After this date, the order is expunged from the records. */ // @ApiMember(Description="The final date to retain the order in the records. After this date, the order is expunged from the records.") DateTime? expiryDate; /** * Indicates whether the order is simulated for test purposes. True if the order is simulated for test purposes; otherwise it is a false order for production purposes. */ // @ApiMember(Description="Indicates whether the order is simulated for test purposes. True if the order is simulated for test purposes; otherwise it is a false order for production purposes.") bool? isTest; Order({this.id,this.productId,this.accountId,this.name,this.serviceName,this.requestTimestamp,this.responseTimestamp,this.requestUri,this.requestHttpMethod,this.requestDuration,this.responseStatusCode,this.clientIPAddress,this.unitOfMeasurement,this.processType,this.dataType,this.dataName,this.creationDate,this.expiryDate,this.isTest}); Order.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; productId = json['productId']; accountId = json['accountId']; name = json['name']; serviceName = json['serviceName']; requestTimestamp = JsonConverters.fromJson(json['requestTimestamp'],'DateTime',context!); responseTimestamp = JsonConverters.fromJson(json['responseTimestamp'],'DateTime',context!); requestUri = json['requestUri']; requestHttpMethod = json['requestHttpMethod']; requestDuration = JsonConverters.fromJson(json['requestDuration'],'Duration',context!); responseStatusCode = JsonConverters.fromJson(json['responseStatusCode'],'HttpStatusCode',context!); clientIPAddress = json['clientIPAddress']; unitOfMeasurement = json['unitOfMeasurement']; processType = json['processType']; dataType = json['dataType']; dataName = json['dataName']; creationDate = JsonConverters.fromJson(json['creationDate'],'DateTime',context!); expiryDate = JsonConverters.fromJson(json['expiryDate'],'DateTime',context!); isTest = json['isTest']; return this; } Map toJson() => { 'id': id, 'productId': productId, 'accountId': accountId, 'name': name, 'serviceName': serviceName, 'requestTimestamp': JsonConverters.toJson(requestTimestamp,'DateTime',context!), 'responseTimestamp': JsonConverters.toJson(responseTimestamp,'DateTime',context!), 'requestUri': requestUri, 'requestHttpMethod': requestHttpMethod, 'requestDuration': JsonConverters.toJson(requestDuration,'Duration',context!), 'responseStatusCode': JsonConverters.toJson(responseStatusCode,'HttpStatusCode',context!), 'clientIPAddress': clientIPAddress, 'unitOfMeasurement': unitOfMeasurement, 'processType': processType, 'dataType': dataType, 'dataName': dataName, 'creationDate': JsonConverters.toJson(creationDate,'DateTime',context!), 'expiryDate': JsonConverters.toJson(expiryDate,'DateTime',context!), 'isTest': isTest }; getTypeName() => "Order"; TypeContext? context = _ctx; } /** * Specifies a base service response class that contains a structured error information. */ // @Api(Description="Specifies a base service response class that contains a structured error information.") abstract class ServiceResponseBase { /** * Data structure that holds error information from a service operation. */ // @ApiMember(Description="Data structure that holds error information from a service operation.") ResponseStatus? responseStatus; ServiceResponseBase({this.responseStatus}); ServiceResponseBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "ServiceResponseBase"; TypeContext? context = _ctx; } /** * Specifies that a data type should have a 'UserName' property. */ abstract class IHasUserName { String? userName; } /** * Specifies that a data type should have a 'Name' property. */ abstract class IHasName { /** * The 'Name' property. */ String? name; } /** * Represents a service response that contains a structured error information and encapsulates a user account. */ // @Api(Description="Represents a service response that contains a structured error information and encapsulates a user account.") class AccountResponse extends ServiceResponseBase implements IConvertible { /** * The user account encapsulated in the response. */ // @ApiMember(Description="The user account encapsulated in the response.") Account? account; /** * The index position of the reponse in a collection, if it were returned together with other responses. */ // @ApiMember(Description="The index position of the reponse in a collection, if it were returned together with other responses.") int? index; /** * The list of products associated with the encapsulated user account. */ // @ApiMember(Description="The list of products associated with the encapsulated user account.") List? products; /** * The list of orders associated with the encapsulated user account. */ // @ApiMember(Description="The list of orders associated with the encapsulated user account.") List? orders; /** * Data structure that holds error information from a service operation. */ // @ApiMember(Description="Data structure that holds error information from a service operation.") ResponseStatus? responseStatus; AccountResponse({this.account,this.index,this.products,this.orders,this.responseStatus}); AccountResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); account = JsonConverters.fromJson(json['account'],'Account',context!); index = json['index']; products = JsonConverters.fromJson(json['products'],'List',context!); orders = JsonConverters.fromJson(json['orders'],'List',context!); responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => super.toJson()..addAll({ 'account': JsonConverters.toJson(account,'Account',context!), 'index': index, 'products': JsonConverters.toJson(products,'List',context!), 'orders': JsonConverters.toJson(orders,'List',context!), 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }); getTypeName() => "AccountResponse"; TypeContext? context = _ctx; } /** * Represents a service request to subscribe a user account to one or more products in an asynchronous operation. */ // @Route("/async/accounts/products/subscribe", "PUT") // @Api(Description="Represents a service request to subscribe a user account to one or more products in an asynchronous operation.") class AddProductSubscriptionAsync extends AddProductSubscriptionBase implements IReturn, IConvertible, IPut { /** * The unique identifier of the user account to subscribe. */ // @ApiMember(Description="The unique identifier of the user account to subscribe.") int? accountId; /** * The user name of the user account to subscribe. */ // @ApiMember(Description="The user name of the user account to subscribe.") String? userName; /** * The unique identifier of the product, to which the user account is subscribed. */ // @ApiMember(Description="The unique identifier of the product, to which the user account is subscribed.") int? productId; /** * The name of the product, to which the user account is subscribed. */ // @ApiMember(Description="The name of the product, to which the user account is subscribed.") String? productName; AddProductSubscriptionAsync({this.accountId,this.userName,this.productId,this.productName}); AddProductSubscriptionAsync.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); accountId = json['accountId']; userName = json['userName']; productId = json['productId']; productName = json['productName']; return this; } Map toJson() => super.toJson()..addAll({ 'accountId': accountId, 'userName': userName, 'productId': productId, 'productName': productName }); createResponse() => AccountResponse(); getResponseTypeName() => "AccountResponse"; getTypeName() => "AddProductSubscriptionAsync"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'taxfiling.staging.pwc.de', types: { 'AddProductSubscriptionBase': TypeInfo(TypeOf.AbstractClass), 'Account': TypeInfo(TypeOf.Class, create:() => Account()), 'Product': TypeInfo(TypeOf.Class, create:() => Product()), 'HttpStatusCode': TypeInfo(TypeOf.Enum, enumValues:HttpStatusCode.values), 'Order': TypeInfo(TypeOf.Class, create:() => Order()), 'ServiceResponseBase': TypeInfo(TypeOf.AbstractClass), 'IHasUserName': TypeInfo(TypeOf.Interface), 'IHasName': TypeInfo(TypeOf.Interface), 'AccountResponse': TypeInfo(TypeOf.Class, create:() => AccountResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'AddProductSubscriptionAsync': TypeInfo(TypeOf.Class, create:() => AddProductSubscriptionAsync()), });