Spaces:
Runtime error
Runtime error
import express from "express"; | |
import { getErrorLogs, getErrorLogById } from "../controllers/errorLog.controller"; | |
import { jwtMiddleware } from '../middlewares/authMiddleware'; | |
import { checkPermission } from "../middlewares/checkPermissions"; | |
import { Permission } from "../shared/interfaces/rolePermission.interface"; | |
const errorLogRouter = express.Router(); | |
errorLogRouter.use(jwtMiddleware); | |
/** | |
* @swagger | |
* components: | |
* schemas: | |
* ErrorLog: | |
* type: object | |
* properties: | |
* id: | |
* type: integer | |
* description: ID of the error log | |
* invoice_id: | |
* type: integer | |
* description: ID of the related invoice | |
* error_type: | |
* type: string | |
* description: Type of the error | |
* message: | |
* type: string | |
* description: Error message | |
* stack: | |
* type: string | |
* description: Error stack trace | |
* created_at: | |
* type: string | |
* format: date-time | |
* description: Creation date of the error log | |
*/ | |
/** | |
* @swagger | |
* /api/error-logs: | |
* get: | |
* summary: Get all error logs | |
* tags: [ErrorLogs] | |
* parameters: | |
* - in: query | |
* name: sort_by | |
* schema: | |
* type: string | |
* enum: [id, invoice_id, created_at] | |
* default: id | |
* description: Field to sort by | |
* - in: query | |
* name: sort_order | |
* schema: | |
* type: string | |
* enum: [asc, desc] | |
* default: asc | |
* description: Sort order | |
* - in: query | |
* name: page | |
* schema: | |
* type: integer | |
* default: 1 | |
* description: Page number | |
* - in: query | |
* name: limit | |
* schema: | |
* type: integer | |
* default: 10 | |
* description: Number of items per page | |
* - in: query | |
* name: filter | |
* required: false | |
* style: deepObject | |
* explode: true | |
* schema: | |
* type: object | |
* properties: | |
* date: | |
* type: string | |
* format: date | |
* invoice_id: | |
* type: integer | |
* error_type: | |
* type: string | |
* created_before: | |
* type: string | |
* format: date-time | |
* created_after: | |
* type: string | |
* format: date-time | |
* responses: | |
* 200: | |
* description: List of error logs | |
* content: | |
* application/json: | |
* schema: | |
* type: object | |
* properties: | |
* page: | |
* type: integer | |
* limit: | |
* type: integer | |
* total: | |
* type: integer | |
* data: | |
* type: array | |
* items: | |
* $ref: '#/components/schemas/ErrorLog' | |
* 500: | |
* description: Error fetching error logs | |
*/ | |
errorLogRouter.get("/", checkPermission(Permission.GET_ERROR_LOGS), getErrorLogs); | |
/** | |
* @swagger | |
* /api/error-logs/{id}: | |
* get: | |
* summary: Get error log by ID | |
* tags: [ErrorLogs] | |
* parameters: | |
* - in: path | |
* name: id | |
* schema: | |
* type: integer | |
* required: true | |
* description: Error log ID | |
* responses: | |
* 200: | |
* description: Error log details | |
* content: | |
* application/json: | |
* schema: | |
* $ref: '#/components/schemas/ErrorLog' | |
* 404: | |
* description: Error log not found | |
* 500: | |
* description: Error fetching error log | |
*/ | |
errorLogRouter.get("/:id", getErrorLogById); | |
export default errorLogRouter; | |