def handle(self, *args, **kwargs): params = _get_params(kwargs.get('payload'), ['cluster_id', 'connection', 'transport'], 'data.') with closing(self.server.odb.session()) as session: item_list = Element('item_list') db_items = http_soap_list(session, params['cluster_id'], params['connection'], params['transport']) for db_item in db_items: item = Element('item') item.id = db_item.id item.name = db_item.name item.is_active = db_item.is_active item.is_internal = db_item.is_internal item.url_path = db_item.url_path item.method = db_item.method item.soap_action = db_item.soap_action item.soap_version = db_item.soap_version item.service_id = db_item.service_id item.service_name = db_item.service_name item.security_id = db_item.security_id item.security_name = db_item.security_name item.security_def_type = db_item.security_def_type item_list.append(item) return ZATO_OK, etree.tostring(item_list)
def handle(self, *args, **kwargs): params = _get_params(kwargs.get('payload'), ['id', 'cluster_id'], 'data.') with closing(self.server.odb.session()) as session: db_item = service(session, params['cluster_id'], params['id']) item = Element('item') item.id = db_item.id item.name = db_item.name item.is_active = db_item.is_active item.impl_name = db_item.impl_name item.is_internal = db_item.is_internal item.usage_count = 'TODO getbyid' return ZATO_OK, etree.tostring(item)
def handle(self, *args, **kwargs): params = _get_params(kwargs.get('payload'), ['cluster_id'], 'data.') with closing(self.server.odb.session()) as session: item_list = Element('item_list') db_items = service_list(session, params['cluster_id']) for db_item in db_items: item = Element('item') item.id = db_item.id item.name = db_item.name item.is_active = db_item.is_active item.impl_name = db_item.impl_name item.is_internal = db_item.is_internal item.usage_count = 'TODO getlist' item_list.append(item) return ZATO_OK, etree.tostring(item_list)
def handle(self, *args, **kwargs): with closing(self.server.odb.session()) as session: payload = kwargs.get('payload') request_params = ['id', 'is_active', 'name'] params = _get_params(payload, request_params, 'data.') id = int(params['id']) is_active = is_boolean(params['is_active']) name = params['name'] service_elem = Element('service') try: service = session.query(Service).filter_by(id=id).one() service.is_active = is_active service.name = name session.add(service) session.commit() service_elem.id = service.id service_elem.name = service.name service_elem.impl_name = service.impl_name service_elem.is_internal = service.is_internal service_elem.usage_count = 'TODO edit' params['action'] = SERVICE.EDIT self.broker_client.send_json(params, msg_type=MESSAGE_TYPE.TO_PARALLEL_SUB) return ZATO_OK, etree.tostring(service_elem) except Exception, e: msg = 'Could not update the service, e=[{e}]'.format(e=format_exc(e)) self.logger.error(msg) session.rollback() raise