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()
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()
def load_service(self, env_id, name, curs=None): f = ServiceFilter(env_id, {'name': name}, {}, None) return f.filter_one_obj(curs)
def load_auth_service(self, env_id, curs=None): f = ServiceFilter(env_id, {}, {'limit': 1}, ['id']) return f.filter_one_obj(curs)