# Functions
TodoCreate @Summary create a todo @Schemes @Description create a todo @Tags Todo @Accept json @Produce json @Param request body dto.CreateTodoRequest true "Create Todo Request" @Success 200 @Failure 401 @Router /todos [post].
TodoDelete @Summary delete a todo @Schemes @Description delete a todo @Tags Todo @Accept json @Produce json @Param todoId path string true "Todo ID" @Success 200 @Failure 422 @Router /todos/{todoId} [delete].
TodoIndex @Summary all todos @Schemes @Description All todos @Tags Todo @Accept json @Produce json @Param page query string false "Page" @Param limit query string false "Limit" @Param status query string false "Status" @Success 200 @Failure 401 @Router /todos [get].
TodoShow @Summary todo details @Schemes @Description Todo Details @Tags Todo @Accept json @Produce json @Param todoId path string true "Todo ID" @Success 200 @Failure 401 @Router /todos/{todoId} [get].
TodoUpdate @Summary update a todo @Schemes @Description update a todo @Tags Todo @Accept json @Produce json @Param todoId path string true "Todo ID" @Param request body dto.UpdateTodoRequest true "Update Todo Request" @Success 200 @Failure 401 @Router /todos/{todoId} [put].