/* Options: Date: 2024-07-03 12:44:31 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: CreateMessageTemplate.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } class MessageTypeQueryResponse implements IConvertible { /** * The message type id */ // @ApiMember(Description="The message type id") int? Id; /** * The message type name. */ // @ApiMember(Description="The message type name.") String? Name; /** * The message type description. */ // @ApiMember(Description="The message type description.") String? Description; /** * The maximum number of charachters that can be entered into message body using this type. */ // @ApiMember(Description="The maximum number of charachters that can be entered into message body using this type.") int? MaxCharacters; /** * The default text that is always included when sending messages of this type. */ // @ApiMember(Description="The default text that is always included when sending messages of this type.") String? DefaultText; /** * The send method for this type. 1 = Email, 2 = SMS. */ // @ApiMember(Description="The send method for this type. 1 = Email, 2 = SMS.") int? SendMethodId; MessageTypeQueryResponse({this.Id,this.Name,this.Description,this.MaxCharacters,this.DefaultText,this.SendMethodId}); MessageTypeQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; MaxCharacters = json['MaxCharacters']; DefaultText = json['DefaultText']; SendMethodId = json['SendMethodId']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'MaxCharacters': MaxCharacters, 'DefaultText': DefaultText, 'SendMethodId': SendMethodId }; getTypeName() => "MessageTypeQueryResponse"; TypeContext? context = _ctx; } class MessageServices implements IConvertible { int? Id; /** * Name of the service */ // @ApiMember(Description="Name of the service") String? Name; /** * The image url of the service */ // @ApiMember(Description="The image url of the service") Uri? ImageUrl; MessageServices({this.Id,this.Name,this.ImageUrl}); MessageServices.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!) }; getTypeName() => "MessageServices"; TypeContext? context = _ctx; } class MessageTemplatesQueryResponse implements IConvertible { /** * The message template id */ // @ApiMember(Description="The message template id") int? Id; /** * The message template name. */ // @ApiMember(Description="The message template name.") String? Name; /** * The message template title. */ // @ApiMember(Description="The message template title.") String? Title; /** * The message template title. */ // @ApiMember(Description="The message template title.") String? Body; /** * The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set). */ // @ApiMember(Description="The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set).") String? Sender; /** * If the message template is the default message currently in use. */ // @ApiMember(Description="If the message template is the default message currently in use.") bool? Default; /** * If the message type information. */ // @ApiMember(Description="If the message type information.") MessageTypeQueryResponse? MessageType; /** * Template language. */ // @ApiMember(Description="Template language.") String? Language; /** * The connected services which the template is valid for. If empty then it's valid for all services. */ // @ApiMember(Description="The connected services which the template is valid for. If empty then it's valid for all services.") List? Services; MessageTemplatesQueryResponse({this.Id,this.Name,this.Title,this.Body,this.Sender,this.Default,this.MessageType,this.Language,this.Services}); MessageTemplatesQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Title = json['Title']; Body = json['Body']; Sender = json['Sender']; Default = json['Default']; MessageType = JsonConverters.fromJson(json['MessageType'],'MessageTypeQueryResponse',context!); Language = json['Language']; Services = JsonConverters.fromJson(json['Services'],'List',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Title': Title, 'Body': Body, 'Sender': Sender, 'Default': Default, 'MessageType': JsonConverters.toJson(MessageType,'MessageTypeQueryResponse',context!), 'Language': Language, 'Services': JsonConverters.toJson(Services,'List',context!) }; getTypeName() => "MessageTemplatesQueryResponse"; TypeContext? context = _ctx; } // @Route("/messages/templates", "POST") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") class CreateMessageTemplate 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; /** * The message type id. See GET /messages/templates/types */ // @ApiMember(Description="The message type id. See GET /messages/templates/types ", IsRequired=true) int? TypeId; /** * The message template name. */ // @ApiMember(Description="The message template name.", IsRequired=true) String? Name; /** * The message template title. */ // @ApiMember(Description="The message template title.", IsRequired=true) String? Title; /** * The message template title. */ // @ApiMember(Description="The message template title.", IsRequired=true) String? Body; /** * The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set). */ // @ApiMember(Description="The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set).") String? Sender; /** * Template Language sv / en */ // @ApiMember(Description="Template Language sv / en") String? Language; /** * The services that is connected to the template. If null it will be connected to all services. */ // @ApiMember(Description="The services that is connected to the template. If null it will be connected to all services.") List? Services; CreateMessageTemplate({this.CompanyId,this.TypeId,this.Name,this.Title,this.Body,this.Sender,this.Language,this.Services}); CreateMessageTemplate.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; TypeId = json['TypeId']; Name = json['Name']; Title = json['Title']; Body = json['Body']; Sender = json['Sender']; Language = json['Language']; Services = JsonConverters.fromJson(json['Services'],'List',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'TypeId': TypeId, 'Name': Name, 'Title': Title, 'Body': Body, 'Sender': Sender, 'Language': Language, 'Services': JsonConverters.toJson(Services,'List',context!) }; createResponse() => MessageTemplatesQueryResponse(); getResponseTypeName() => "MessageTemplatesQueryResponse"; getTypeName() => "CreateMessageTemplate"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'MessageTypeQueryResponse': TypeInfo(TypeOf.Class, create:() => MessageTypeQueryResponse()), 'MessageServices': TypeInfo(TypeOf.Class, create:() => MessageServices()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'MessageTemplatesQueryResponse': TypeInfo(TypeOf.Class, create:() => MessageTemplatesQueryResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CreateMessageTemplate': TypeInfo(TypeOf.Class, create:() => CreateMessageTemplate()), });