/* Options: Date: 2024-12-27 10:13:41 Version: 8.12 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://taxfiling.pwc.de //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RetrieveCustomer.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; /** * 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; } enum CustomerType { Internal, Network, External, } /** * Specifies a service request to retrieve a customer. */ // @Api(Description="Specifies a service request to retrieve a customer.") abstract class RetrieveCustomerBase implements IGet { /** * The unique identifier of the customer to retrieve. */ // @ApiMember(Description="The unique identifier of the customer to retrieve.") int? id; /** * Should the related accounts of the customer be included in the retrieved account? */ // @ApiMember(Description="Should the related accounts of the customer be included in the retrieved account?") bool? includeAccounts; /** * Specifies the number of products to skip. Applicable only when 'IncludeAccounts' is true. */ // @ApiMember(Description="Specifies the number of products to skip. Applicable only when 'IncludeAccounts' is true. ") int? skipAccounts; /** * Specifies the number of products to include. Applicable only when 'IncludeAccounts' is true. */ // @ApiMember(Description="Specifies the number of products to include. Applicable only when 'IncludeAccounts' is true. ") int? takeAccounts; RetrieveCustomerBase({this.id,this.includeAccounts,this.skipAccounts,this.takeAccounts}); RetrieveCustomerBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; includeAccounts = json['includeAccounts']; skipAccounts = json['skipAccounts']; takeAccounts = json['takeAccounts']; return this; } Map toJson() => { 'id': id, 'includeAccounts': includeAccounts, 'skipAccounts': skipAccounts, 'takeAccounts': takeAccounts }; getTypeName() => "RetrieveCustomerBase"; TypeContext? context = _ctx; } /** * Represents a customer (business organization or entrepreneur). */ // @Api(Description="Represents a customer (business organization or entrepreneur).") class Customer implements IHasName, IConvertible { /** * The unique identifier of the customer. */ // @ApiMember(Description="The unique identifier of the customer.", IsRequired=true) int? id; /** * The position of this instance in a collection of 'Customer' instances */ // @ApiMember(Description="The position of this instance in a collection of 'Customer' instances", IsRequired=true) int? index; /** * Full name or organization name of customer. */ // @ApiMember(Description="Full name or organization name of customer.", IsRequired=true) // @Validate(Validator="NotEmpty") String? name; /** * The country of residence or business of customer. */ // @ApiMember(Description="The country of residence or business of customer.") String? country; /** * The type of customer. */ // @ApiMember(Description="The type of customer.") CustomerType? type; /** * The list of user accounts associated with this customer. */ // @ApiMember(Description="The list of user accounts associated with this customer.") // @ignore() List? accounts; Customer({this.id,this.index,this.name,this.country,this.type,this.accounts}); Customer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; index = json['index']; name = json['name']; country = json['country']; type = JsonConverters.fromJson(json['type'],'CustomerType',context!); accounts = JsonConverters.fromJson(json['accounts'],'List',context!); return this; } Map toJson() => { 'id': id, 'index': index, 'name': name, 'country': country, 'type': JsonConverters.toJson(type,'CustomerType',context!), 'accounts': JsonConverters.toJson(accounts,'List',context!) }; getTypeName() => "Customer"; 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 response from a service operation that encapsulates customer data. */ // @Api(Description="Represents a response from a service operation that encapsulates customer data.") class CustomerResponse extends ServiceResponseBase implements IConvertible { /** * The customer data of the response. */ // @ApiMember(Description="The customer data of the response.") Customer? customer; /** * 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; /** * Data structure that holds error information from a service operation. */ // @ApiMember(Description="Data structure that holds error information from a service operation.") ResponseStatus? responseStatus; CustomerResponse({this.customer,this.index,this.responseStatus}); CustomerResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); customer = JsonConverters.fromJson(json['customer'],'Customer',context!); index = json['index']; responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => super.toJson()..addAll({ 'customer': JsonConverters.toJson(customer,'Customer',context!), 'index': index, 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }); getTypeName() => "CustomerResponse"; TypeContext? context = _ctx; } /** * Represents a service request to retrieve a customer. */ // @Route("/sync/customers/{Id}", "GET") // @Api(Description="Represents a service request to retrieve a customer.") class RetrieveCustomer extends RetrieveCustomerBase implements IReturn, IConvertible, IGet { /** * The unique identifier of the customer to retrieve. */ // @ApiMember(Description="The unique identifier of the customer to retrieve.") int? id; /** * Should the related accounts of the customer be included in the retrieved account? */ // @ApiMember(Description="Should the related accounts of the customer be included in the retrieved account?") bool? includeAccounts; /** * Specifies the number of products to skip. Applicable only when 'IncludeAccounts' is true. */ // @ApiMember(Description="Specifies the number of products to skip. Applicable only when 'IncludeAccounts' is true. ") int? skipAccounts; /** * Specifies the number of products to include. Applicable only when 'IncludeAccounts' is true. */ // @ApiMember(Description="Specifies the number of products to include. Applicable only when 'IncludeAccounts' is true. ") int? takeAccounts; RetrieveCustomer({this.id,this.includeAccounts,this.skipAccounts,this.takeAccounts}); RetrieveCustomer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); id = json['id']; includeAccounts = json['includeAccounts']; skipAccounts = json['skipAccounts']; takeAccounts = json['takeAccounts']; return this; } Map toJson() => super.toJson()..addAll({ 'id': id, 'includeAccounts': includeAccounts, 'skipAccounts': skipAccounts, 'takeAccounts': takeAccounts }); createResponse() => CustomerResponse(); getResponseTypeName() => "CustomerResponse"; getTypeName() => "RetrieveCustomer"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'taxfiling.pwc.de', types: { 'Account': TypeInfo(TypeOf.Class, create:() => Account()), 'CustomerType': TypeInfo(TypeOf.Enum, enumValues:CustomerType.values), 'RetrieveCustomerBase': TypeInfo(TypeOf.AbstractClass), 'Customer': TypeInfo(TypeOf.Class, create:() => Customer()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ServiceResponseBase': TypeInfo(TypeOf.AbstractClass), 'IHasUserName': TypeInfo(TypeOf.Interface), 'IHasName': TypeInfo(TypeOf.Interface), 'CustomerResponse': TypeInfo(TypeOf.Class, create:() => CustomerResponse()), 'RetrieveCustomer': TypeInfo(TypeOf.Class, create:() => RetrieveCustomer()), });