/* Options: Date: 2024-11-21 12:19:23 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: GDPRInactiveCustomerQuery.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } class InactiveCustomerInfo implements IConvertible { String? Id; String? Firstname; String? Lastname; String? Email; String? Phone; String? FacebookUserName; Uri? ImageUrl; InactiveCustomerInfo({this.Id,this.Firstname,this.Lastname,this.Email,this.Phone,this.FacebookUserName,this.ImageUrl}); InactiveCustomerInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Firstname = json['Firstname']; Lastname = json['Lastname']; Email = json['Email']; Phone = json['Phone']; FacebookUserName = json['FacebookUserName']; ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!); return this; } Map toJson() => { 'Id': Id, 'Firstname': Firstname, 'Lastname': Lastname, 'Email': Email, 'Phone': Phone, 'FacebookUserName': FacebookUserName, 'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!) }; getTypeName() => "InactiveCustomerInfo"; TypeContext? context = _ctx; } class InactiveCustomerResponse implements IConvertible { String? Id; InactiveCustomerInfo? Customer; InactiveCustomerResponse({this.Id,this.Customer}); InactiveCustomerResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Customer = JsonConverters.fromJson(json['Customer'],'InactiveCustomerInfo',context!); return this; } Map toJson() => { 'Id': Id, 'Customer': JsonConverters.toJson(Customer,'InactiveCustomerInfo',context!) }; getTypeName() => "InactiveCustomerResponse"; TypeContext? context = _ctx; } // @Route("/gdpr/customers/inactive", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") class GDPRInactiveCustomerQuery implements IReturn, ICompany, IConvertible, IGet { /** * 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; /** * Inactive customers since the date. Inactive means they haven't done any bookings since that date. */ // @ApiMember(Description="Inactive customers since the date. Inactive means they haven't done any bookings since that date.", IsRequired=true) DateTime? InactiveSince; /** * If you want to include the full customer information in the response */ // @ApiMember(Description="If you want to include the full customer information in the response") bool? IncludeCustomerInformation; GDPRInactiveCustomerQuery({this.CompanyId,this.InactiveSince,this.IncludeCustomerInformation}); GDPRInactiveCustomerQuery.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; InactiveSince = JsonConverters.fromJson(json['InactiveSince'],'DateTime',context!); IncludeCustomerInformation = json['IncludeCustomerInformation']; return this; } Map toJson() => { 'CompanyId': CompanyId, 'InactiveSince': JsonConverters.toJson(InactiveSince,'DateTime',context!), 'IncludeCustomerInformation': IncludeCustomerInformation }; createResponse() => InactiveCustomerResponse(); getResponseTypeName() => "InactiveCustomerResponse"; getTypeName() => "GDPRInactiveCustomerQuery"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'InactiveCustomerInfo': TypeInfo(TypeOf.Class, create:() => InactiveCustomerInfo()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'InactiveCustomerResponse': TypeInfo(TypeOf.Class, create:() => InactiveCustomerResponse()), 'GDPRInactiveCustomerQuery': TypeInfo(TypeOf.Class, create:() => GDPRInactiveCustomerQuery()), });