from flask import g from auth.auth_view import AuthorizedView from performance.schemas import UpdateUserMetricsRequestSchema from utils.handlers import get_request_model from performance.services.metrics_list_service import MetricsListService class MetricsListView(AuthorizedView): service = MetricsListService() def get(self): return self.service.get_all_metrics_list() class UserMetricsListView(AuthorizedView): service = MetricsListService() def get(self): return self.service.get_metrics_list_for_user(g.user_id) def put(self): params = get_request_model(UpdateUserMetricsRequestSchema) return self.service.update_metrics_list_for_user(g.user_id, params.metrics)