in src/lambdas/modular_api_handler/processors/signup_processor.py [0:0]
def post(self, event: SignUpPost):
if self._cs.get(event.customer_name):
raise ResponseFactory(HTTPStatus.CONFLICT).message(
f'Customer {event.customer_name} already exists'
).exc()
customer = self._cs.build(
name=event.customer_name,
display_name=event.customer_display_name,
admins=list(event.customer_admins),
is_active=True
)
policy = self.rbac_service.build_policy(
customer=event.customer_name,
name='admin_policy',
permissions=list(map(operator.attrgetter('value'),
Permission.iter_all()))
)
role = self.rbac_service.build_role(
customer=event.customer_name,
name='admin_role', # default main role
policies=['admin_policy']
)
self.rbac_service.save(role)
self.rbac_service.save(policy)
self._cs.save(customer)
self.user_service.save(
username=event.username,
password=event.password,
role='admin_role',
customer=event.customer_name
)
_LOG.debug(f'Saving user: {event.username}')
return build_response(content=f'The user {event.username} was created')