""" Options: Date: 2024-11-23 08:59:20 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: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum class ICompany: company_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class MessageTypeQueryResponse: # @ApiMember(Description="The message type id") id: int = 0 """ The message type id """ # @ApiMember(Description="The message type name.") name: Optional[str] = None """ The message type name. """ # @ApiMember(Description="The message type description.") description: Optional[str] = None """ The message type description. """ # @ApiMember(Description="The maximum number of charachters that can be entered into message body using this type.") max_characters: int = 0 """ The maximum number of charachters that can be entered into message body using this type. """ # @ApiMember(Description="The default text that is always included when sending messages of this type.") default_text: Optional[str] = None """ The default text that is always included when sending messages of this type. """ # @ApiMember(Description="The send method for this type. 1 = Email, 2 = SMS.") send_method_id: int = 0 """ The send method for this type. 1 = Email, 2 = SMS. """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class MessageServices: id: int = 0 # @ApiMember(Description="Name of the service") name: Optional[str] = None """ Name of the service """ # @ApiMember(Description="The image url of the service") image_url: Optional[str] = None """ The image url of the service """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class MessageTemplatesQueryResponse: # @ApiMember(Description="The message template id") id: int = 0 """ The message template id """ # @ApiMember(Description="The message template name.") name: Optional[str] = None """ The message template name. """ # @ApiMember(Description="The message template title.") title: Optional[str] = None """ The message template title. """ # @ApiMember(Description="The message template title.") body: Optional[str] = None """ The message template title. """ # @ApiMember(Description="The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set).") sender: Optional[str] = None """ The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set). """ # @ApiMember(Description="If the message template is the default message currently in use.") default: bool = False """ If the message template is the default message currently in use. """ # @ApiMember(Description="If the message type information.") message_type: Optional[MessageTypeQueryResponse] = None """ If the message type information. """ # @ApiMember(Description="Template language.") language: Optional[str] = None """ Template language. """ # @ApiMember(Description="The connected services which the template is valid for. If empty then it's valid for all services.") services: Optional[List[MessageServices]] = None """ The connected services which the template is valid for. If empty then it's valid for all services. """ # @Route("/messages/templates", "POST") # @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) # @ValidateRequest(Validator="IsAuthenticated") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CreateMessageTemplate(IReturn[MessageTemplatesQueryResponse], ICompany): # @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") company_id: Optional[str] = None """ The company id, if empty will use the company id for the user you are logged in with. """ # @ApiMember(Description="The message type id. See GET /messages/templates/types ", IsRequired=true) type_id: int = 0 """ The message type id. See GET /messages/templates/types """ # @ApiMember(Description="The message template name.", IsRequired=true) name: Optional[str] = None """ The message template name. """ # @ApiMember(Description="The message template title.", IsRequired=true) title: Optional[str] = None """ The message template title. """ # @ApiMember(Description="The message template title.", IsRequired=true) body: Optional[str] = None """ The message template title. """ # @ApiMember(Description="The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set).") sender: Optional[str] = None """ The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set). """ # @ApiMember(Description="Template Language sv / en") language: Optional[str] = None """ Template Language sv / en """ # @ApiMember(Description="The services that is connected to the template. If null it will be connected to all services.") services: Optional[List[int]] = None """ The services that is connected to the template. If null it will be connected to all services. """