Source code for q2_sdk.hq.db.hours

from enum import Enum
from typing import List

from q2_sdk.core.dynamic_imports import (
    api_ExecuteStoredProcedure as ExecuteStoredProcedure,
)
from q2_sdk.hq.table_row import TableRow
from q2_sdk.models.db_plan_shapes import TransactionType

from .db_object import DbObject


[docs] class HourType(Enum): LobbyHours = "LobbyHours" CallTransfer = "CallTransfer" AdapterTransaction = "AdapterTransaction" GeneratedTransaction = "GeneratedTransaction" NextProcessingDate = "NextProcessingDate" SameDayAch = "SameDayAch"
[docs] class HoursRow(TableRow): HourID: int BranchID: int HourTypeID: int OpenOrClosed: str DayOfWeekOrDate: str StartDateTime: str EndTime: str Description: str RequestTypeID: int TransactionTypeID: int
[docs] class Hours(DbObject): """ Used to gather specific cutoff times for payments, or to get lobby hours for holidays. """ NAME = "Hours" REPRESENTATION_ROW_CLASS = HoursRow
[docs] async def get( self, hour_type: HourType, transaction_type: TransactionType = None ) -> List[HoursRow]: assert isinstance(hour_type, HourType), "Please supply a valid hour type" parameters = [ ExecuteStoredProcedure.SqlParam( ExecuteStoredProcedure.DataType.VarChar, "hour_type", hour_type.value ) ] if transaction_type: assert isinstance(transaction_type, TransactionType), ( "Please supply a valid transaction type" ) parameters.append( ExecuteStoredProcedure.SqlParam( ExecuteStoredProcedure.DataType.VarChar, "transaction_type", transaction_type.value, ) ) response = await self.call_hq( "sdk_GetHours", ExecuteStoredProcedure.SqlParameters(parameters) ) return response