/* Options: Date: 2024-11-21 12:06:04 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: EndAllLicenses.* //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 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/delete", "POST") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") class EndAllLicenses 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; /** * If you want to deactivate the account the booking system also (will not be working during your period of notice). */ // @ApiMember(Description="If you want to deactivate the account the booking system also (will not be working during your period of notice).") bool? Deactivate; /** * Questionaire with answers from customer why ending license. */ // @ApiMember(Description="Questionaire with answers from customer why ending license.") List? Questionnaire; EndAllLicenses({this.CompanyId,this.Deactivate,this.Questionnaire}); EndAllLicenses.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; Deactivate = json['Deactivate']; Questionnaire = JsonConverters.fromJson(json['Questionnaire'],'List',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'Deactivate': Deactivate, 'Questionnaire': JsonConverters.toJson(Questionnaire,'List',context!) }; createResponse() => CompanyLicenseQueryResponse(); getResponseTypeName() => "CompanyLicenseQueryResponse"; getTypeName() => "EndAllLicenses"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.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:() => []), 'CompanyLicenseQueryResponse': TypeInfo(TypeOf.Class, create:() => CompanyLicenseQueryResponse()), 'EndAllLicenses': TypeInfo(TypeOf.Class, create:() => EndAllLicenses()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Questionnaire': TypeInfo(TypeOf.Class, create:() => Questionnaire()), });