def post()

in src/lambdas/modular_api_handler/processors/role_processor.py [0:0]


    def post(self, event: RolePost):
        if self.rbac_service.get_role(event.customer_id, event.name):
            raise ResponseFactory(HTTPStatus.CONFLICT).message(
                f'Role with name \'{event.name}\' already exists.'
            ).exc()
        for policy in event.policies:
            if not self.rbac_service.get_policy(event.customer_id, policy):
                raise ResponseFactory(HTTPStatus.BAD_REQUEST).message(
                    f'Policy {policy} does not exist'
                ).exc()
        role = self.rbac_service.build_role(
            customer=event.customer_id,
            name=event.name,
            policies=list(event.policies)
        )
        _LOG.debug('Saving role')
        self.rbac_service.save(role)

        return build_response(
            code=HTTPStatus.CREATED,
            content=self.rbac_service.get_dto(role)
        )