ThirdPartyData

class q2_sdk.hq.db.third_party_data.ThirdPartyData(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)

add_arguments(parser)[source]

Hook for subclassed DbObjects to add custom arguments.

async get(user_id, vendor_name, serialize_for_cli=False)[source]
async create(user_id, vendor_name, data_name, data_value)[source]
async add_or_update(user_id, vendor_name, data_name, data_value)[source]

Upserts third-party data, factoring in Q2_ThirdPartyDataShared and Q2_VendorGroupMembers.

async update(user_id, vendor_name, data_name, data_value)[source]
async delete(user_id, vendor_name, data_name)[source]
async delete_all_for_vendor(vendor_name)[source]