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.