from q2_sdk.core.dynamic_imports import (
api_ExecuteStoredProcedure as ExecuteStoredProcedure,
)
from .db_object import DbObject
[docs]
class UserAccountAttributeData(DbObject):
[docs]
async def get(
self,
attribute_name: str,
user_id: int,
host_account_id=None,
serialize_for_cli=False,
):
response = await self.call_hq(
"sdk_GetUserAccountAttributeData",
ExecuteStoredProcedure.SqlParameters([
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.Int, "userID", user_id
),
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.VarChar,
"attributeName",
attribute_name,
),
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.Int,
"hostAccountID",
host_account_id,
),
]),
)
if serialize_for_cli:
response = self.serialize_for_cli(
response,
["UserAccountAttributeID", "UserID", "HostAccountID", "AttributeValue"],
)
return response
[docs]
async def create(
self,
user_id: int,
attribute_name: str,
host_account_id: int,
attribute_value: str,
):
return await self.call_hq(
"sdk_AddUserAccountAttributeData",
ExecuteStoredProcedure.SqlParameters([
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.Int, "userID", user_id
),
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.VarChar,
"attributeName",
attribute_name,
),
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.Int,
"hostAccountID",
host_account_id,
),
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.VarChar,
"attributeValue",
attribute_value,
),
]),
)
[docs]
async def update(self, user_id, attribute_name, host_account_id, attribute_value):
return await self.call_hq(
"sdk_UpdateUserAccountAttributeData",
ExecuteStoredProcedure.SqlParameters([
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.Int, "userID", user_id
),
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.VarChar,
"attributeName",
attribute_name,
),
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.Int,
"hostAccountID",
host_account_id,
),
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.VarChar,
"attributeValue",
attribute_value,
),
]),
)
[docs]
async def delete(self, user_id: int, attribute_name: str, host_account_id: int):
return await self.call_hq(
"sdk_RemoveUserAccountAttributeData",
ExecuteStoredProcedure.SqlParameters([
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.Int, "userID", user_id
),
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.VarChar,
"attributeName",
attribute_name,
),
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.Int,
"hostAccountID",
host_account_id,
),
]),
)