/* Options: Date: 2024-06-16 22:44:19 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateLicense.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } class BaseModel implements IConvertible { BaseModel(); BaseModel.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "BaseModel"; TypeContext? context = _ctx; } enum Currency { SEK, EUR, } class Country extends BaseModel implements IConvertible { // @References(typeof(Currency)) String? CurrencyId; Currency? CurrencyInfo; // @Required() String? Name; String? Culture; String? TimeZone; DateTime? ModifiedDate; // @Required() String? Id; Country({this.CurrencyId,this.CurrencyInfo,this.Name,this.Culture,this.TimeZone,this.ModifiedDate,this.Id}); Country.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); CurrencyId = json['CurrencyId']; CurrencyInfo = JsonConverters.fromJson(json['CurrencyInfo'],'Currency',context!); Name = json['Name']; Culture = json['Culture']; TimeZone = json['TimeZone']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); Id = json['Id']; return this; } Map toJson() => super.toJson()..addAll({ 'CurrencyId': CurrencyId, 'CurrencyInfo': JsonConverters.toJson(CurrencyInfo,'Currency',context!), 'Name': Name, 'Culture': Culture, 'TimeZone': TimeZone, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'Id': Id }); getTypeName() => "Country"; TypeContext? context = _ctx; } class Currency extends BaseModel implements IConvertible { // @Required() String? Name; // @Required() String? CurrencySign; // @Required() bool? Active; DateTime? ModifiedDate; // @Required() String? Id; Currency({this.Name,this.CurrencySign,this.Active,this.ModifiedDate,this.Id}); Currency.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Name = json['Name']; CurrencySign = json['CurrencySign']; Active = json['Active']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); Id = json['Id']; return this; } Map toJson() => super.toJson()..addAll({ 'Name': Name, 'CurrencySign': CurrencySign, 'Active': Active, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'Id': Id }); getTypeName() => "Currency"; TypeContext? context = _ctx; } class LicenseItemsResponse implements IConvertible { int? Id; String? Name; int? AllowedItems; LicenseItemsResponse({this.Id,this.Name,this.AllowedItems}); LicenseItemsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; AllowedItems = json['AllowedItems']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'AllowedItems': AllowedItems }; getTypeName() => "LicenseItemsResponse"; TypeContext? context = _ctx; } class LicensePrice extends BaseModel implements IConvertible { // @Ignore() Country? Country; // @Ignore() bool? MonthlyPayment; // @Required() int? LicenseTypeId; // @Required() String? CountryId; // @Required() int? Price; DateTime? ModifiedDate; LicensePrice({this.Country,this.MonthlyPayment,this.LicenseTypeId,this.CountryId,this.Price,this.ModifiedDate}); LicensePrice.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Country = JsonConverters.fromJson(json['Country'],'Country',context!); MonthlyPayment = json['MonthlyPayment']; LicenseTypeId = json['LicenseTypeId']; CountryId = json['CountryId']; Price = json['Price']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); return this; } Map toJson() => super.toJson()..addAll({ 'Country': JsonConverters.toJson(Country,'Country',context!), 'MonthlyPayment': MonthlyPayment, 'LicenseTypeId': LicenseTypeId, 'CountryId': CountryId, 'Price': Price, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!) }); getTypeName() => "LicensePrice"; TypeContext? context = _ctx; } class LicenseTypeQueryResponse implements IConvertible { /** * The license type id */ // @ApiMember(Description="The license type id") int? Id; /** * The license type name */ // @ApiMember(Description="The license type name") String? Name; /** * The license type description */ // @ApiMember(Description="The license type description") String? Description; /** * If the license type is not a standard license but instead an extra license option. An example would be sending new letter license. */ // @ApiMember(Description="If the license type is not a standard license but instead an extra license option. An example would be sending new letter license.") bool? IsExtraLicenseOption; /** * The period of notice for the license in days. */ // @ApiMember(Description="The period of notice for the license in days.") int? PeriodOfNoticeDays; /** * The license items for the license type */ // @ApiMember(Description="The license items for the license type") List? Items; /** * The license prices in each country for the license type */ // @ApiMember(Description="The license prices in each country for the license type") List? Prices; LicenseTypeQueryResponse({this.Id,this.Name,this.Description,this.IsExtraLicenseOption,this.PeriodOfNoticeDays,this.Items,this.Prices}); LicenseTypeQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; IsExtraLicenseOption = json['IsExtraLicenseOption']; PeriodOfNoticeDays = json['PeriodOfNoticeDays']; Items = JsonConverters.fromJson(json['Items'],'List',context!); Prices = JsonConverters.fromJson(json['Prices'],'List',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'IsExtraLicenseOption': IsExtraLicenseOption, 'PeriodOfNoticeDays': PeriodOfNoticeDays, 'Items': JsonConverters.toJson(Items,'List',context!), 'Prices': JsonConverters.toJson(Prices,'List',context!) }; getTypeName() => "LicenseTypeQueryResponse"; TypeContext? context = _ctx; } class BillingInformationResponse implements IConvertible { /** * The company id. */ // @ApiMember(Description="The company id.") String? CompanyId; /** * The prefered billing method. */ // @ApiMember(Description="The prefered billing method.", IsRequired=true) int? BillingMethodId; /** * The name that should be printed on the billing information, normally this would be your company name. */ // @ApiMember(Description="The name that should be printed on the billing information, normally this would be your company name.") String? Name; /** * If you want to add the attention to the billing address. */ // @ApiMember(Description="If you want to add the attention to the billing address.") String? Attention; /** * The street for the billing adress. This is required when having postal invoice as billing method. */ // @ApiMember(Description="The street for the billing adress. This is required when having postal invoice as billing method.") String? Street1; /** * The street for the billing adress. */ // @ApiMember(Description="The street for the billing adress.") String? Street2; /** * The zip code (postal code) for the billing adress. This is required when having postal invoice as billing method. */ // @ApiMember(Description="The zip code (postal code) for the billing adress. This is required when having postal invoice as billing method.") String? ZipCode; /** * The city for the billing adress. This is required when having postal invoice as billing method. */ // @ApiMember(Description="The city for the billing adress. This is required when having postal invoice as billing method.") String? City; /** * The country for the billing adress. This is required when having postal invoice as billing method. */ // @ApiMember(Description="The country for the billing adress. This is required when having postal invoice as billing method.") String? CountryId; /** * The billing email. This is required when having email invoice as billing method. */ // @ApiMember(Description="The billing email. This is required when having email invoice as billing method.") String? Email; /** * The company global location number. */ // @ApiMember(Description="The company global location number.") String? GLN; /** * You're internal rereference. */ // @ApiMember(Description="You're internal rereference.") String? ReferenceLine1; /** * You're internal rereference. */ // @ApiMember(Description="You're internal rereference.") String? ReferenceLine2; /** * The billing payment terms in days. This is default 15 days. */ // @ApiMember(Description="The billing payment terms in days. This is default 15 days.") int? PaymentTermsDays; /** * The company vat registration number. */ // @ApiMember(Description="The company vat registration number.") String? VatRegistrationNumber; /** * The billing method options to choose from */ // @ApiMember(Description="The billing method options to choose from") List? BillingMethodOptions; BillingInformationResponse({this.CompanyId,this.BillingMethodId,this.Name,this.Attention,this.Street1,this.Street2,this.ZipCode,this.City,this.CountryId,this.Email,this.GLN,this.ReferenceLine1,this.ReferenceLine2,this.PaymentTermsDays,this.VatRegistrationNumber,this.BillingMethodOptions}); BillingInformationResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; BillingMethodId = json['BillingMethodId']; Name = json['Name']; Attention = json['Attention']; Street1 = json['Street1']; Street2 = json['Street2']; ZipCode = json['ZipCode']; City = json['City']; CountryId = json['CountryId']; Email = json['Email']; GLN = json['GLN']; ReferenceLine1 = json['ReferenceLine1']; ReferenceLine2 = json['ReferenceLine2']; PaymentTermsDays = json['PaymentTermsDays']; VatRegistrationNumber = json['VatRegistrationNumber']; BillingMethodOptions = JsonConverters.fromJson(json['BillingMethodOptions'],'List',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'BillingMethodId': BillingMethodId, 'Name': Name, 'Attention': Attention, 'Street1': Street1, 'Street2': Street2, 'ZipCode': ZipCode, 'City': City, 'CountryId': CountryId, 'Email': Email, 'GLN': GLN, 'ReferenceLine1': ReferenceLine1, 'ReferenceLine2': ReferenceLine2, 'PaymentTermsDays': PaymentTermsDays, 'VatRegistrationNumber': VatRegistrationNumber, 'BillingMethodOptions': JsonConverters.toJson(BillingMethodOptions,'List',context!) }; getTypeName() => "BillingInformationResponse"; TypeContext? context = _ctx; } class CompanyLicenseQueryResponse implements IConvertible { int? Id; int? TypeId; LicenseTypeQueryResponse? Type; DateTime? ValidFrom; DateTime? ValidTo; String? MetaData; bool? Active; bool? Canceled; DateTime? Updated; DateTime? Created; CompanyLicenseQueryResponse({this.Id,this.TypeId,this.Type,this.ValidFrom,this.ValidTo,this.MetaData,this.Active,this.Canceled,this.Updated,this.Created}); CompanyLicenseQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; TypeId = json['TypeId']; Type = JsonConverters.fromJson(json['Type'],'LicenseTypeQueryResponse',context!); ValidFrom = JsonConverters.fromJson(json['ValidFrom'],'DateTime',context!); ValidTo = JsonConverters.fromJson(json['ValidTo'],'DateTime',context!); MetaData = json['MetaData']; Active = json['Active']; Canceled = json['Canceled']; Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!); Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); return this; } Map toJson() => { 'Id': Id, 'TypeId': TypeId, 'Type': JsonConverters.toJson(Type,'LicenseTypeQueryResponse',context!), 'ValidFrom': JsonConverters.toJson(ValidFrom,'DateTime',context!), 'ValidTo': JsonConverters.toJson(ValidTo,'DateTime',context!), 'MetaData': MetaData, 'Active': Active, 'Canceled': Canceled, 'Updated': JsonConverters.toJson(Updated,'DateTime',context!), 'Created': JsonConverters.toJson(Created,'DateTime',context!) }; getTypeName() => "CompanyLicenseQueryResponse"; TypeContext? context = _ctx; } // @Route("/licenses/company", "POST") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") class CreateLicense implements IReturn, ICompany, IConvertible, IPost { /** * The company id, if empty will use the company id for the user you are logged in with. */ // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") String? CompanyId; /** * Id of the license type */ // @ApiMember(Description="Id of the license type", IsRequired=true) int? TypeId; /** * Any metadata connected to the license. In example for domain license set the requested domain name here. */ // @ApiMember(Description="Any metadata connected to the license. In example for domain license set the requested domain name here.", IsRequired=true) String? MetaData; /** * If you want to update your company billing information. Note, if no billing information is added before, you need to set this. */ // @ApiMember(Description="If you want to update your company billing information. Note, if no billing information is added before, you need to set this.") BillingInformationResponse? BillingInformation; CreateLicense({this.CompanyId,this.TypeId,this.MetaData,this.BillingInformation}); CreateLicense.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; TypeId = json['TypeId']; MetaData = json['MetaData']; BillingInformation = JsonConverters.fromJson(json['BillingInformation'],'BillingInformationResponse',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'TypeId': TypeId, 'MetaData': MetaData, 'BillingInformation': JsonConverters.toJson(BillingInformation,'BillingInformationResponse',context!) }; createResponse() => CompanyLicenseQueryResponse(); getResponseTypeName() => "CompanyLicenseQueryResponse"; getTypeName() => "CreateLicense"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'BaseModel': TypeInfo(TypeOf.Class, create:() => BaseModel()), 'Currency': TypeInfo(TypeOf.Enum, enumValues:Currency.values), 'Country': TypeInfo(TypeOf.Class, create:() => Country()), 'LicenseItemsResponse': TypeInfo(TypeOf.Class, create:() => LicenseItemsResponse()), 'LicensePrice': TypeInfo(TypeOf.Class, create:() => LicensePrice()), 'LicenseTypeQueryResponse': TypeInfo(TypeOf.Class, create:() => LicenseTypeQueryResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'BillingInformationResponse': TypeInfo(TypeOf.Class, create:() => BillingInformationResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'BillingMethod': TypeInfo(TypeOf.Class, create:() => BillingMethod()), 'CompanyLicenseQueryResponse': TypeInfo(TypeOf.Class, create:() => CompanyLicenseQueryResponse()), 'CreateLicense': TypeInfo(TypeOf.Class, create:() => CreateLicense()), });