""" Options: Date: 2024-12-03 17:57:53 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: MessageLogQuery.* #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 BaseModel: pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class MessageLog(BaseModel, IMessageLog): booking_id: Optional[int] = None # @Required() public_message: bool = False # @Required() message_type: int = 0 # @Required() i_cal_attachment: bool = False # @Required() sender_name: Optional[str] = None modified_date: Optional[datetime.datetime] = None correlation_id: Optional[str] = None # @Required() company_id: Optional[str] = None id: int = 0 # @Required() receiver: Optional[str] = None # @Required() sender: Optional[str] = None message_title: Optional[str] = None # @Required() message_body: Optional[str] = None created_by: Optional[str] = None # @Required() created: datetime.datetime = datetime.datetime(1, 1, 1) # @Required() sent: bool = False # @Required() to_send_date: datetime.datetime = datetime.datetime(1, 1, 1) sent_date: Optional[datetime.datetime] = None # @Required() send_method_id: int = 0 message_count: Optional[int] = None sms_status: Optional[int] = None # @Required() message_retries: int = 0 storage_url: Optional[str] = None language: Optional[str] = None class IMessageLog: company_id: Optional[str] = None id: int = 0 receiver: Optional[str] = None sender: Optional[str] = None message_title: Optional[str] = None message_body: Optional[str] = None created_by: Optional[str] = None created: datetime.datetime = datetime.datetime(1, 1, 1) sent: bool = False to_send_date: datetime.datetime = datetime.datetime(1, 1, 1) sent_date: Optional[datetime.datetime] = None send_method_id: int = 0 message_count: Optional[int] = None sms_status: Optional[int] = None message_retries: int = 0 storage_url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class MessageLogQueryResponse: # @ApiMember(Description="The message log id") id: int = 0 """ The message log id """ # @ApiMember(Description="The booking id for the message (if connected to a booking).") booking_id: Optional[int] = None """ The booking id for the message (if connected to a booking). """ # @ApiMember(Description="The message receiver. Either a email or a mobile phone number.") receiver: Optional[str] = None """ The message receiver. Either a email or a mobile phone number. """ # @ApiMember(Description="Message Title.") message_title: Optional[str] = None """ Message Title. """ # @ApiMember(Description="Message Storage Url.") storage_url: Optional[str] = None """ Message Storage Url. """ # @ApiMember(Description="Message Body.") message_body: Optional[str] = None """ Message Body. """ # @ApiMember(Description="When message was created.") created: datetime.datetime = datetime.datetime(1, 1, 1) """ When message was created. """ # @ApiMember(Description="When the message will be sent.") to_send_date: datetime.datetime = datetime.datetime(1, 1, 1) """ When the message will be sent. """ # @ApiMember(Description="When the message was sent.") sent_date: Optional[datetime.datetime] = None """ When the message was sent. """ # @ApiMember(Description="If Message is sent") sent: bool = False """ If Message is sent """ # @ApiMember(Description="Number of retries to send the message") message_retries: int = 0 """ Number of retries to send the message """ # @ApiMember(Description="Send Method. 1 = Email, 2 = SMS") send_method_id: int = 0 """ Send Method. 1 = Email, 2 = SMS """ # @Route("/messages/log", "GET") # @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 MessageLogQuery(QueryDb2[MessageLog, MessageLogQueryResponse], IReturn[QueryResponse[MessageLogQueryResponse]], ICompany): # @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.", ParameterType="path") company_id: Optional[str] = None """ The company id, if empty will use the company id for the user you are logged in with. """ # @ApiMember(DataType="boolean", Description="If you want to search on sent messages", ParameterType="query") sent: Optional[bool] = None """ If you want to search on sent messages """ # @ApiMember(DataType="int", Description="Message Id", ParameterType="query") id: Optional[int] = None """ Message Id """ # @ApiMember(DataType="int", Description="If you want to search on a messages for a specific booking", ParameterType="query") booking_id: Optional[int] = None """ If you want to search on a messages for a specific booking """ # @ApiMember(DataType="string", Description="If you want to search on a messages for a specific receiver", ParameterType="query") receiver: Optional[str] = None """ If you want to search on a messages for a specific receiver """ # @ApiMember(DataType="datetime", Description="If you want to search on a messages created a specific date", ParameterType="query") created: Optional[datetime.datetime] = None """ If you want to search on a messages created a specific date """ # @ApiMember(DataType="datetime", Description="If you want to search on a messages sent a specific date", ParameterType="query") sent_date: Optional[datetime.datetime] = None """ If you want to search on a messages sent a specific date """ response_status: Optional[ResponseStatus] = None