| 1234567891011121314151617181920212223242526272829303132333435363738 | from flask_restful import Resource, reqparsefrom controllers.console.setup import setup_requiredfrom controllers.inner_api import apifrom controllers.inner_api.wraps import inner_api_onlyfrom events.tenant_event import tenant_was_createdfrom models.account import Accountfrom services.account_service import TenantServiceclass EnterpriseWorkspace(Resource):    @setup_required    @inner_api_only    def post(self):        parser = reqparse.RequestParser()        parser.add_argument('name', type=str, required=True, location='json')        parser.add_argument('owner_email', type=str, required=True, location='json')        args = parser.parse_args()        account = Account.query.filter_by(email=args['owner_email']).first()        if account is None:            return {                'message': 'owner account not found.'            }, 404        tenant = TenantService.create_tenant(args['name'])        TenantService.create_tenant_member(tenant, account, role='owner')        tenant_was_created.send(tenant)        return {            'message': 'enterprise workspace created.'        }api.add_resource(EnterpriseWorkspace, '/enterprise/workspace')
 |