def metrics(self, request: Request, slug: str): """Metrics for application logins""" app = self.get_object() return Response( get_events_per_1h( action=EventAction.AUTHORIZE_APPLICATION, context__authorized_application__pk=app.pk.hex, ))
def get_logins_failed_per_1h(self, _): """Get failed logins per hour for the last 24 hours""" user = self.context["user"] return get_events_per_1h(action=EventAction.LOGIN_FAILED, context__username=user.username)
def get_authorizations_per_1h(self, _): """Get failed logins per hour for the last 24 hours""" user = self.context["user"] return get_events_per_1h(action=EventAction.AUTHORIZE_APPLICATION, user__pk=user.pk)
def get_logins_per_1h(self, _): """Get successful logins per hour for the last 24 hours""" user = self.context["user"] return get_events_per_1h(action=EventAction.LOGIN, user__pk=user.pk)