Host Account
- class q2_sdk.hq.db.host_account.HostAccountRow(element, row_class=None, rename_fields=None)[source]
Bases:
TableRow- HostAccountID: int
- AccountNumberInternal: str
- AccountNumberExternal: str
- ProductID: int
- ProductName: str
- ProductNickName: str
- AccountDesc: str
- CIFInternal: str
- CIFExternal: str
- DefaultPwd: str
- DataAsOfDate: str
- BranchID: int
- SkipBalanceCheck: bool
- ABA: str
- IsExternalAccount: bool
- AccountInfo: str
- LastStatusChange: str
- AccountStatusID: int
- LastHistoryDate: str
- class q2_sdk.hq.db.host_account.HostAccountCustomerRow(element, row_class=None, rename_fields=None)[source]
Bases:
TableRow- CustomerID: int
- UserID: int
- HostAccountID: int
- AccountNumberInternal: str
- AccountNumberExternal: str
- ProductID: int
- ProductName: str
- AccountDesc: str
- CIFInternal: str
- CIFExternal: str
- DataAsOfDate: str
- ProductTypeName: str
- ABA: str
- IsExternalAccount: bool
- class q2_sdk.hq.db.host_account.HostAccountCustomerWithProductRow(element, row_class=None, rename_fields=None)[source]
Bases:
TableRow- CustomerID: int
- HostAccountID: int
- ProductName: str
- ProductID: int
- AccountStatus: str
- class q2_sdk.hq.db.host_account.UpdateAccountRightsParameters(hostAccountId, userId, can_view, can_deposit, can_withdraw)[source]
Bases:
objectUpdateAccountRightsParameters(hostAccountId: int, userId: int, can_view: bool, can_deposit: bool, can_withdraw: bool)
- hostAccountId: int
- userId: int
- can_view: bool
- can_deposit: bool
- can_withdraw: bool
- class q2_sdk.hq.db.host_account.ProductChangeParameters(host_account_id, old_product_id, new_product_id)[source]
Bases:
objectProductChangeParameters(host_account_id: int, old_product_id: int, new_product_id: int)
- host_account_id: int
- old_product_id: int
- new_product_id: int
- class q2_sdk.hq.db.host_account.ProductChangeStatus(*values)[source]
Bases:
Enum- Ok = 'OK'
- AllRecordsSkipped = 'AllRecordsSkipped'
- PartialUpdate = 'PartialUpdate'
- class q2_sdk.hq.db.host_account.ProductChangeResults(result, successful_accounts, skipped_accounts)[source]
Bases:
objectProductChangeResults(result: q2_sdk.hq.db.host_account.ProductChangeStatus, successful_accounts: list, skipped_accounts: list)
- result: ProductChangeStatus
- successful_accounts: list
- skipped_accounts: list
- class q2_sdk.hq.db.host_account.HostAccount(logger, hq_credentials=None, ret_table_obj=None)[source]
Bases:
DbObjectProgrammatic 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 ifFalseor TableRow objects from DB calls ifTrue(Defaults to settings file)
- REPRESENTATION_ROW_CLASS
alias of
HostAccountRow
- async create(account_internal, account_external, host_product_code, host_product_type_code, cif, account_description, is_external=False, data_as_of_date=None)[source]
- Return type:
list[HostAccountRow]
- async search_by_external_number(external_account_number)[source]
- Return type:
list[HostAccountRow]
- async search_by_internal_number(internal_account_number)[source]
- Return type:
list[HostAccountRow]
- async update_account_rights(parameters)[source]
Update the account rights for an account linked to a user. This only works for accounts explicitly linked to the user, and will not work for accounts linked by a cif.
- async get_customer_host_accounts(customer_ids)[source]
Retrieves multiple accounts associated to the customers in the list. For DB performance reason, the customer id list should be limited to 20
- Parameters:
customer_ids (
list[int]) – list of Q2_Customer.CustomerID <= 20- Return type:
list[HostAccountCustomerRow]
- async get_accounts_by_product(group_id, product_id=None)[source]
Searches a group of customers for accounts with a specific product id
- Parameters:
group_id (
int) – Group to search [Q2_Group.GroupID]product_id (
Optional[int]) – Product ID of the target product [Q2_Product.ProductID]
- Return type:
- async change_account_product(account_changes)[source]
Changes the product of a list of accounts :type account_changes:
list[ProductChangeParameters] :param account_changes: list of ProductChangeParameters objects.- Return type:
- Returns:
ProductChangeResults object