Skip to content

Commit

Permalink
Bugfixes for new fields in adapter schema, enforcements as well as do… (
Browse files Browse the repository at this point in the history
#284)

* Bugfixes for new fields in adapter schema, enforcements as well as doc change.

* Removing docs config change.

* Overriding the dataclasses __init__ to ignore any provided fields that are not declared.
  • Loading branch information
nate-axonius committed Jan 31, 2024
1 parent 7cbc4c2 commit a6464b3
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 1 deletion.
1 change: 1 addition & 0 deletions axonius_api_client/api/json_api/adapters/adapter_node.py
Expand Up @@ -223,6 +223,7 @@ def to_dict_old(self) -> dict:
"cnx_count_broken": self.clients_count.error_count,
"cnx_count_working": self.clients_count.success_count,
"cnx_count_inactive": self.clients_count.inactive_count,
"cnx_count_warning": self.clients_count.warning_count,
}
return ret

Expand Down
8 changes: 8 additions & 0 deletions axonius_api_client/api/json_api/adapters/clients_count.py
Expand Up @@ -14,6 +14,14 @@ class AdapterClientsCount(BaseModel):
inactive_count: t.Optional[int] = None
success_count: t.Optional[int] = None
total_count: t.Optional[int] = None
warning_count: t.Optional[int] = None

def __init__(self, **kwargs):
names = set([f.name for f in dataclasses.fields(self)])
for k, v in kwargs.items():
if k in names:
setattr(self, k, v)
self.__post_init__()

def __post_init__(self):
"""Pass."""
Expand Down
2 changes: 1 addition & 1 deletion axonius_api_client/api/json_api/enforcements.py
Expand Up @@ -301,7 +301,7 @@ def get_model_cls() -> t.Any:
def pre_load_fix(self, data, **kwargs):
"""Pass."""
# PBUG : Updated by is now coming back as an empty string sometimes.
if data.get('updated_by') is "":
if data.get('updated_by') == "":
data['updated_by'] = "{}"
return {k.replace(".", "_"): v for k, v in data.items()}

Expand Down
3 changes: 3 additions & 0 deletions axonius_api_client/cli/grp_adapters/cmd_get.py
Expand Up @@ -19,13 +19,16 @@ def export_json(data, **kwargs):
"cnx_count_total",
"cnx_count_broken",
"cnx_count_working",
"cnx_count_warning",
]

basic = []

for row in data:
new_row = {k: row[k] for k in basic_keys}
new_row["cnx_ids_broken"] = [x["id"] for x in row["cnx"] if not x["working"]]
new_row["cnx_ids_working"] = [x["id"] for x in row["cnx"] if x["working"]]
new_row["cnx_ids_warning"] = [x["id"] for x in row["cnx"] if x["warning"]]
basic.append(new_row)

return json_dump(basic)
Expand Down
1 change: 1 addition & 0 deletions axonius_api_client/constants/tables.py
Expand Up @@ -20,6 +20,7 @@
("cnx_count_broken", "Broken", 0),
("cnx_count_working", "Working", 0),
("cnx_count_inactive", "Inactive", 0),
("cnx_count_warning", "Warning", 0),
]
"""Tablize map of field name to user friendly title for adapters."""

Expand Down

0 comments on commit a6464b3

Please sign in to comment.