Example #1
0
    def dehydrate_events(self, obj):
        """Dehydrate the node events.

        The latests 50 not including DEBUG events will be dehydrated. The
        `EventsHandler` needs to be used if more are required.
        """
        events = (
            Event.objects.filter(node=obj)
            .exclude(type__level=logging.DEBUG)
            .select_related("type")
            .order_by("-id")[:50]
        )
        return [
            {
                "id": event.id,
                "type": {
                    "id": event.type.id,
                    "name": event.type.name,
                    "description": event.type.description,
                    "level": dehydrate_event_type_level(event.type.level),
                },
                "description": event.description,
                "created": dehydrate_datetime(event.created),
            }
            for event in events
        ]
Example #2
0
 def dehydrate_event(self, event):
     data = {
         "id": event.id,
         "node_id": event.node.id,
         "action": event.action,
         "description": event.description,
         "type": {
             "level": dehydrate_event_type_level(event.type.level),
             "name": event.type.name,
             "description": event.type.description,
         },
         "updated": dehydrate_datetime(event.updated),
         "created": dehydrate_datetime(event.created),
     }
     return data
Example #3
0
 def dehydrate_event(self, event):
     data = {
         "id": event.id,
         "node_id": event.node.id,
         "node_hostname": event.node_hostname,
         "user": event.user.id,
         "username": event.username,
         "ip_address": event.ip_address,
         "endpoint": event.endpoint,
         "user_agent": event.user_agent,
         "action": event.action,
         "description": event.description,
         "type": {
             "level": dehydrate_event_type_level(event.type.level),
             "name": event.type.name,
             "description": event.type.description,
             },
         "updated": dehydrate_datetime(event.updated),
         "created": dehydrate_datetime(event.created),
         }
     return data