// Code generated by ogen, DO NOT EDIT.
package api
import (
"context"
)
// Handler handles operations described by OpenAPI v3 specification.
type Handler interface {
// CreateList implements createList operation.
//
// Create a task list.
//
// POST /me/todo/lists
CreateList(ctx context.Context, req *CreateTaskListReq) (*TodoTaskList, error)
// CreateTask implements createTask operation.
//
// Create a task.
//
// POST /me/todo/lists/{listId}/tasks
CreateTask(ctx context.Context, req *CreateTaskReq, params CreateTaskParams) (*TodoTask, error)
// DeleteList implements deleteList operation.
//
// Delete a task list.
//
// DELETE /me/todo/lists/{listId}
DeleteList(ctx context.Context, params DeleteListParams) error
// DeleteTask implements deleteTask operation.
//
// Delete a task.
//
// DELETE /me/todo/lists/{listId}/tasks/{taskId}
DeleteTask(ctx context.Context, params DeleteTaskParams) error
// GetList implements getList operation.
//
// Get a task list.
//
// GET /me/todo/lists/{listId}
GetList(ctx context.Context, params GetListParams) (*TodoTaskList, error)
// GetTask implements getTask operation.
//
// Get a task.
//
// GET /me/todo/lists/{listId}/tasks/{taskId}
GetTask(ctx context.Context, params GetTaskParams) (*TodoTask, error)
// ListLists implements listLists operation.
//
// Get all task lists.
//
// GET /me/todo/lists
ListLists(ctx context.Context) (*TodoTaskListCollectionResponse, error)
// ListTasks implements listTasks operation.
//
// Get all tasks in a list.
//
// GET /me/todo/lists/{listId}/tasks
ListTasks(ctx context.Context, params ListTasksParams) (*TodoTaskCollectionResponse, error)
// UpdateList implements updateList operation.
//
// Update a task list.
//
// PATCH /me/todo/lists/{listId}
UpdateList(ctx context.Context, req *UpdateTaskListReq, params UpdateListParams) (*TodoTaskList, error)
// UpdateTask implements updateTask operation.
//
// Update a task.
//
// PATCH /me/todo/lists/{listId}/tasks/{taskId}
UpdateTask(ctx context.Context, req *UpdateTaskReq, params UpdateTaskParams) (*TodoTask, error)
}
// Server implements http server based on OpenAPI v3 specification and
// calls Handler to handle requests.
type Server struct {
h Handler
sec SecurityHandler
baseServer
}
// NewServer creates new Server.
func NewServer(h Handler, sec SecurityHandler, opts ...ServerOption) (*Server, error) {
s, err := newServerConfig(opts...).baseServer()
if err != nil {
return nil, err
}
return &Server{
h: h,
sec: sec,
baseServer: s,
}, nil
}