from typing import List
from q2_sdk.core.dynamic_imports import (
api_ExecuteStoredProcedure as ExecuteStoredProcedure,
)
from q2_sdk.hq.table_row import TableRow
from .db_object import DbObject
[docs]
class TemplateRow(TableRow):
TemplateID: int
TransactionTypeID: int
TransactionType: str
TransactionTypeDescription: str
BitFlags: int
Name: str
Description: str
CustomerID: int
CreateDate: str
LastEditDate: str
IsSinglePayment: bool
RecipientCount: int
ACHClassCodeID: int
ACHClasCode: int
DefaultAccountID: int
DefaultSubsidiaryID: int
LastPaymentProcessedDate: str
LastPaymentProcessedAmount: str
CompanyEntryDescription: str
[docs]
class TemplateRecipientRow(TableRow):
TemplateID: int
RecipientID: int
[docs]
class Template(DbObject):
GET_BY_NAME_KEY = "Name"
NAME = "Template"
REPRESENTATION_ROW_CLASS = TemplateRow
[docs]
async def get(self, user_id: int) -> List[TemplateRow]:
assert isinstance(user_id, int), "Please supply a valid user id"
response = await self.call_hq(
"Q2_TemplateAccessData",
ExecuteStoredProcedure.SqlParameters([
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.Int, "UserID", user_id
)
]),
specific_table="Table1",
)
return response
[docs]
async def get_template_recipients(
self, template_id: int
) -> List[TemplateRecipientRow]:
assert isinstance(template_id, int), "Please supply a valid user id"
response = await self.call_hq(
"sdk_GetTemplateRecipients",
ExecuteStoredProcedure.SqlParameters([
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.Int, "template_id", template_id
)
]),
representation_class_override=TemplateRecipientRow,
)
return response