from aws_lambda_powertools import Logger from aws_lambda_powertools.event_handler.api_gateway import Router from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair, SortKey, TransactKey from boto3clients import dynamodb_client from config import USER_TABLE from .add import router as add from .address import router as address from .admins import router as admins from .billing import router as billing from .custom_pricing import router as custom_pricing from .enrollments.certs import router as certs from .enrollments.scheduled import router as scheduled from .enrollments.submissions import router as submissions from .seats import router as seats from .subscription import router as subscription from .users.add import router as users from .users.batch_jobs import router as batch_jobs __all__ = [ 'add', 'address', 'admins', 'billing', 'custom_pricing', 'certs', 'scheduled', 'submissions', 'seats', 'subscription', 'users', 'batch_jobs', ] logger = Logger(__name__) router = Router() dyn = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client) @router.get('/') def get_org(org_id: str): return dyn.collection.get_items( TransactKey(org_id) + SortKey('0') + SortKey('METADATA#ADDRESS', rename_key='address') + SortKey('METADATA#BILLING', rename_key='billing') + SortKey('METADATA#SUBSCRIPTION', rename_key='subscription') + SortKey('METADATA#TEST_MODE', rename_key='test_mode') + KeyPair( pk='SUBSCRIPTION#FROZEN', sk=SortKey(f'ORG#{org_id}'), rename_key='subscription_frozen', ) )