modular_sdk/models/customer.py (17 lines of code) (raw):

from pynamodb.attributes import UnicodeAttribute, ListAttribute from modular_sdk.models.base_meta import BaseMeta, TABLES_PREFIX from modular_sdk.models.pynamodb_extension.base_model import M3BooleanAttribute from modular_sdk.models.pynamodb_extension.base_role_access_model import \ BaseRoleAccessModel NAME_KEY = 'n' DISPLAY_NAME_KEY = 'dn' CUSTOMER_ADMINS = 'ca' ACTIVE = 'act' MODULAR_CUSTOMERS_TABLE_NAME = 'Customers' class Customer(BaseRoleAccessModel): class Meta(BaseMeta): table_name = f'{TABLES_PREFIX}{MODULAR_CUSTOMERS_TABLE_NAME}' name = UnicodeAttribute(hash_key=True, attr_name=NAME_KEY) display_name = UnicodeAttribute(attr_name=DISPLAY_NAME_KEY, null=True) admins = ListAttribute(attr_name=CUSTOMER_ADMINS, default=list) is_active = M3BooleanAttribute(attr_name=ACTIVE, null=True)