Skip to content

Events Models

Models for logging system events.

class automation.dbmodels.events.Events(*args, **kwargs)

Database model for System Events.

Events track user actions and system changes.

create(message, user, description=None, classification=None, priority=None, criticity=None, timestamp=None)

Creates a new event record.

Parameters:

  • message (str): Event message.
  • user (User): User associated with the event.
  • description (str, optional): Detailed description.
  • classification (str, optional): Event category.
  • priority (int, optional): Priority level.
  • criticity (int, optional): Criticity level.
  • timestamp (datetime, optional): Time of event.

Returns:

  • tuple: (Query object, status message)
read_lasts(lasts=1)

Retrieves the last N events.

Parameters:

  • lasts (int): Number of events to retrieve.

Returns:

  • list: List of serialized event dictionaries.
filter_by(usernames=None, priorities=None, criticities=None, greater_than_timestamp=None, less_than_timestamp=None, description='', message='', classification='', timezone='UTC', page=1, limit=20)

Filters events based on criteria with pagination.

Parameters:

  • usernames (list[str]): Filter by user.
  • priorities (list[int]): Filter by priority.
  • criticities (list[int]): Filter by criticity.
  • message, description, classification: Text search.
  • greater_than_timestamp, less_than_timestamp: Time range.
  • page, limit: Pagination.

Returns:

  • dict: {data: list, pagination: dict}
get_comments(id)

Retrieves comments (logs) associated with an event.

serialize(self, timezone=None)

Serializes the event record.

Parameters:

  • timezone (str, optional): Timezone to convert timestamp to. If None, uses default TIMEZONE.