middlewares for the report generation 1. authenticate the user 2. authorize the user 3. validate the report data 4. validate the report id