Commit b5a8169b authored by Pablo Armingol's avatar Pablo Armingol
Browse files

feat: enable device components loading and filter inventory-related custom config rules

parent 9513555c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -38,6 +38,9 @@ def compose_config_rules_data(
    dict_config_rules : List[Dict] = list()
    for position,config_rule in enumerate(config_rules):
        str_kind = config_rule.WhichOneof('config_rule')
        if device_uuid is not None and str_kind == 'custom':
            if '/inventory' in config_rule.custom.resource_key:
                continue
        kind = ConfigRuleKindEnum._member_map_.get(str_kind.upper()) # pylint: disable=no-member
        dict_config_rule = {
            'position'  : position,
+1 −1
Original line number Diff line number Diff line
@@ -343,7 +343,7 @@ def device_select(db_engine : Engine, request : DeviceFilter) -> DeviceList:
        query = session.query(DeviceModel)
        if request.include_endpoints   : query = query.options(selectinload(DeviceModel.endpoints))
        if request.include_config_rules: query = query.options(selectinload(DeviceModel.config_rules))
        #if request.include_components  : query = query.options(selectinload(DeviceModel.components))
        if request.include_components  : query = query.options(selectinload(DeviceModel.components))
        obj_list : List[DeviceModel] = query.filter(DeviceModel.device_uuid.in_(device_uuids)).all()
        return [obj.dump(**dump_params) for obj in obj_list]
    devices = run_transaction(sessionmaker(bind=db_engine), callback)