Esempio n. 1
0
 def delete_service(self, data, req_info, session, curs=None):
     f = ServiceFilter(session.environment_id, {'id': data.get('id')}, {}, None)
     s = f.filter_one_obj(curs)
     if s.type == Service.TYPE_AUTH:
         raise ServiceDeletionError(Service.TYPE_AUTH)
     mapping.delete(curs, s)
     return response_ok()
Esempio n. 2
0
    def modify_service(self, data, req_info, session, curs=None):
        f = ServiceFilter(session.environment_id, data, {}, None)

        # checking service deactivation is possible
        srv = f.filter_one_obj(curs)
        if not data.get('new_is_active', True) and not srv.is_possible_deactiate:
            raise ServiceDeactivationError(srv.name)

        loader = partial(f.filter_one_obj, curs, for_update=True)
        try:
            d = mapping.objects.serialize_field(data, 'new_properties', 'new_serialized_properties')
            self.update_obj(curs, d, loader)
        except DataIntegrityError:
            raise HelixauthObjectAlreadyExists('Service %s already exists' %
                data.get('new_name'))
        return response_ok()
Esempio n. 3
0
 def load_service(self, env_id, name, curs=None):
     f = ServiceFilter(env_id, {'name': name}, {}, None)
     return f.filter_one_obj(curs)
Esempio n. 4
0
 def load_auth_service(self, env_id, curs=None):
     f = ServiceFilter(env_id, {}, {'limit': 1}, ['id'])
     return f.filter_one_obj(curs)