51 lines
2.4 KiB
Go
51 lines
2.4 KiB
Go
package app
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
gorilla "github.com/gorilla/mux"
|
|
)
|
|
|
|
const (
|
|
api_version string = "/api/v1"
|
|
)
|
|
|
|
type ErrorResponse struct {
|
|
Code int `json:"code"` // Http code
|
|
Message string `json:"message"` // Обычный текст ошибки
|
|
Error string `json:"error"` // Машинный текст ошибки
|
|
}
|
|
|
|
func (rm *TaskManager) RegisterRoutes(router *gorilla.Router) {
|
|
|
|
router.HandleFunc(api_version+"/user/login", rm.handleLogin).Methods(http.MethodPost)
|
|
router.HandleFunc(api_version+"/user/register", rm.handleRegistrateUser).Methods(http.MethodPost)
|
|
router.HandleFunc(api_version+"/user/tasks", rm.handleUserTasks).Methods(http.MethodGet)
|
|
router.HandleFunc(api_version+"/user/projects", rm.handleUserProjects).Methods(http.MethodGet)
|
|
router.HandleFunc(api_version+"/user/projects", rm.handleAssignUserToProject).Methods(http.MethodPost)
|
|
|
|
router.HandleFunc(api_version+"/projects", rm.handleCreateProject).Methods(http.MethodPost)
|
|
router.HandleFunc(api_version+"/projects", rm.handleGetProjects).Methods(http.MethodGet)
|
|
|
|
router.HandleFunc(api_version+"/projects/tasks", rm.handleCreateTask).Methods(http.MethodPost)
|
|
router.HandleFunc(api_version+"/projects/tasks/{task_id}", rm.handleUpdateTask).Methods(http.MethodPatch)
|
|
|
|
router.HandleFunc(api_version+"/projects/sprints", rm.handleCreateSprint).Methods(http.MethodPost)
|
|
router.HandleFunc(api_version+"/projects/users", rm.handleGetProjectUsers).Methods(http.MethodGet)
|
|
|
|
}
|
|
|
|
func (rm *TaskManager) handleLogin(w http.ResponseWriter, r *http.Request) {}
|
|
func (rm *TaskManager) handleRegistrateUser(w http.ResponseWriter, r *http.Request) {}
|
|
func (rm *TaskManager) handleUserTasks(w http.ResponseWriter, r *http.Request) {}
|
|
func (rm *TaskManager) handleUserProjects(w http.ResponseWriter, r *http.Request) {}
|
|
func (rm *TaskManager) handleAssignUserToProject(w http.ResponseWriter, r *http.Request) {}
|
|
|
|
func (rm *TaskManager) handleCreateProject(w http.ResponseWriter, r *http.Request) {}
|
|
func (rm *TaskManager) handleCreateTask(w http.ResponseWriter, r *http.Request) {}
|
|
func (rm *TaskManager) handleCreateSprint(w http.ResponseWriter, r *http.Request) {}
|
|
func (rm *TaskManager) handleGetProjectUsers(w http.ResponseWriter, r *http.Request) {}
|
|
|
|
func (rm *TaskManager) handleUpdateTask(w http.ResponseWriter, r *http.Request) {}
|
|
func (rm *TaskManager) handleGetProjects(w http.ResponseWriter, r *http.Request) {}
|