diff --git a/src/meshctrl/device.py b/src/meshctrl/device.py index bb017c1..f08b521 100644 --- a/src/meshctrl/device.py +++ b/src/meshctrl/device.py @@ -12,6 +12,7 @@ class Device(object): name (str|None): Device name as it is shown on the meshcentral server description (str|None): Device description as it is shown on the meshcentral server. Also accepted as desc. tags (list[str]|None): tags associated with device. + users (list[str]|None): latest known usernames which have logged in. created_at (datetime.Datetime|int|None): Time at which device mas created. Also accepted as agct. computer_name (str|None): Device name as reported from the agent. This may be different from name. Also accepted as rname. icon (~meshctrl.constants.Icon): Icon displayed on the website @@ -38,6 +39,7 @@ class Device(object): name (str|None): Device name as it is shown on the meshcentral server description (str|None): Device description as it is shown on the meshcentral server. tags (list[str]): tags associated with device. + users (list[str]): latest known usernames which have logged in. computer_name (str|None): Device name as reported from the agent. This may be different from name. Also accepted as rname. icon (~meshctrl.constants.Icon): Icon displayed on the website mesh (~meshctrl.mesh.Mesh|None): Mesh object under which this device exists. Is None for individual device access. @@ -56,8 +58,8 @@ class Device(object): ''' def __init__(self, nodeid, session, agent=None, name=None, desc=None, description=None, - tags=None, - agct=None, created_at=None, + tags=None, users=None, + agct=None, created_at=None, rname=None, computer_name=None, icon=constants.Icon.desktop, mesh=None, mtype=None, meshtype=None, groupname=None, meshname=None, domain=None, host=None, ip=None, conn=None, connected=None, @@ -90,6 +92,7 @@ class Device(object): self.description = description if description is not None else desc self.os_description = os_description if os_description is not None else osdesc self.tags = tags if tags is not None else [] + self.users = users if users is not None else [] self.details = details if details is not None else {} created_at = created_at if created_at is not None else agct @@ -340,10 +343,10 @@ class Device(object): def __str__(self): return f"" def __repr__(self): return f"Device(nodeid={repr(self.nodeid)}, session={repr(self._session)}, name={repr(self.name)}, description={repr(self.description)}, computer_name={repr(self.computer_name)}, icon={repr(self.icon)}, "\ f"mesh={repr(self.mesh)}, meshtype={repr(self.meshtype)}, meshname={repr(self.meshname)}, domain={repr(self.domain)}, host={repr(self.host)}, ip={repr(self.ip)}, "\ - f"tags={repr(self.tags)}, details={repr(self.details)} created_at={repr(self.created_at)} lastaddr={repr(self.lastaddr)} lastconnect={repr(self.lastconnect)} "\ + f"tags={repr(self.tags)}, users={repr(self.users)}, details={repr(self.details)} created_at={repr(self.created_at)} lastaddr={repr(self.lastaddr)} lastconnect={repr(self.lastconnect)} "\ f"connected={repr(self.connected)}, powered_on={repr(self.powered_on)}, os_description={repr(self.os_description)}, links={repr(self.links)}, **{repr(self._extra_props)})"