53 lines
1.4 KiB
Python
53 lines
1.4 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.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',
|
|
'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#SUBSCRIPTION', rename_key='subscription')
|
|
+ KeyPair(
|
|
pk='SUBSCRIPTION#FREEZE',
|
|
sk=SortKey(f'ORG#{org_id}'),
|
|
rename_key='subscription_freeze',
|
|
)
|
|
)
|