def post()

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')