from argparse import _SubParsersAction
from functools import partial
from q2_sdk.core.dynamic_imports import (
api_ExecuteStoredProcedure as ExecuteStoredProcedure,
)
from .db_object import DbObject
[docs]
class UuxUserProperty(DbObject):
NAME = "UuxUserProperty"
[docs]
def add_arguments(self, parser: _SubParsersAction):
subparser = parser.add_parser("create_uux_user_property")
subparser.set_defaults(parser="create")
subparser.set_defaults(func=partial(self.create))
subparser.add_argument(
"property_name", help="Q2_UserPropertyDataElement.PropertyName"
)
subparser = parser.add_parser("delete_uux_user_property")
subparser.set_defaults(parser="delete")
subparser.set_defaults(func=partial(self.delete))
subparser.add_argument(
"property_name", help="Q2_UserPropertyDataElement.PropertyName"
)
[docs]
async def create(self, property_name: str):
response = await self.call_hq(
"sdk_CreateUuxUserProperty",
ExecuteStoredProcedure.SqlParameters([
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.VarChar,
"property_name",
property_name,
)
]),
)
return response
[docs]
async def delete(self, property_name: str):
response = await self.call_hq(
"sdk_RemoveUuxUserProperty",
ExecuteStoredProcedure.SqlParameters([
ExecuteStoredProcedure.SqlParam(
ExecuteStoredProcedure.DataType.VarChar,
"property_name",
property_name,
)
]),
)
return response