Files

57 lines
1.6 KiB
Python

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('/<org_id>')
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',
)
)