Message

class q2_sdk.hq.db.message.MessageRow(element, row_class=None, rename_fields=None)[source]

Bases: TableRow

MessageID: int
From: str
To: str
Subject: str
Body: str
ReceivedDate: str
UnreadByCustomer: bool
HasAttachment: bool
ToUser: bool
AllowReplies: bool
class q2_sdk.hq.db.message.MessageThreadRow(element, row_class=None, rename_fields=None)[source]

Bases: TableRow

Generation: int
MessageID: int
From: str
To: str
Subject: str
Body: str
CreateDate: str
ReceivedDate: str
ExpirationDate: str
ReadDate: str
ParentID: int
ResolvedState: bool
HasAttachment: str
MessageStatus: str
class q2_sdk.hq.db.message.Message(logger, hq_credentials=None, ret_table_obj=None)[source]

Bases: DbObject

Programmatic access to the Q2 database. Not as flexible as a true ORM, but takes the guesswork out of database schemas and ensures safety in the transactions.

Parameters:
  • logger – Reference to calling request’s logger (self.logger in your extension)

  • hq_credentials (Optional[HqCredentials]) – HQ Connectivity Information (Defaults to settings file)

  • ret_table_obj (Optional[bool]) – Flag to return list of LXML elements if False or TableRow objects from DB calls if True (Defaults to settings file)

NAME = 'Message'
REPRESENTATION_ROW_CLASS

alias of MessageRow

add_arguments(parser)[source]

Hook for subclassed DbObjects to add custom arguments.

async get(user_id, serialize_for_cli=False)[source]
Return type:

List[MessageRow]

async get_message_thread(**kwargs)