Tasks/main.go

89 lines
3.2 KiB
Go
Raw Permalink Normal View History

2015-11-13 17:04:42 +08:00
package main
/**
* This is the main file for the Task application
* License: MIT
**/
import (
"flag"
2015-11-13 17:04:42 +08:00
"log"
"net/http"
"strings"
2016-02-01 21:45:04 +08:00
"github.com/thewhitetulip/Tasks/config"
"github.com/thewhitetulip/Tasks/views"
2015-11-13 17:04:42 +08:00
)
func main() {
values, err := config.ReadConfig("config.json")
var port *string
if err != nil {
port = flag.String("port", "", "IP address")
flag.Parse()
//User is expected to give :8080 like input, if they give 8080
//we'll append the required ':'
if !strings.HasPrefix(*port, ":") {
*port = ":" + *port
log.Println("port is " + *port)
}
values.ServerPort = *port
}
2015-11-21 15:58:23 +08:00
views.PopulateTemplates()
//Login logout
2016-05-09 10:11:05 +08:00
http.HandleFunc("/login/", views.LoginFunc)
2016-05-12 01:19:32 +08:00
http.HandleFunc("/logout/", views.RequiresLogin(views.LogoutFunc))
http.HandleFunc("/signup/", views.SignUpFunc)
2016-05-12 01:19:32 +08:00
http.HandleFunc("/add-category/", views.RequiresLogin(views.AddCategoryFunc))
http.HandleFunc("/add-comment/", views.RequiresLogin(views.AddCommentFunc))
http.HandleFunc("/add/", views.RequiresLogin(views.AddTaskFunc))
//these handlers are used to delete
2016-05-12 01:19:32 +08:00
http.HandleFunc("/del-comment/", views.RequiresLogin(views.DeleteCommentFunc))
http.HandleFunc("/del-category/", views.RequiresLogin(views.DeleteCategoryFunc))
http.HandleFunc("/delete/", views.RequiresLogin(views.DeleteTaskFunc))
//these handlers update
2016-05-12 01:19:32 +08:00
http.HandleFunc("/upd-category/", views.RequiresLogin(views.UpdateCategoryFunc))
http.HandleFunc("/update/", views.RequiresLogin(views.UpdateTaskFunc))
//these handlers are used for restoring tasks
http.HandleFunc("/incomplete/", views.RequiresLogin(views.RestoreFromCompleteFunc))
http.HandleFunc("/restore/", views.RequiresLogin(views.RestoreTaskFunc))
//these handlers fetch set of tasks
http.HandleFunc("/", views.RequiresLogin(views.ShowAllTasksFunc))
2016-05-12 01:19:32 +08:00
http.HandleFunc("/category/", views.RequiresLogin(views.ShowCategoryFunc))
http.HandleFunc("/deleted/", views.RequiresLogin(views.ShowTrashTaskFunc))
http.HandleFunc("/completed/", views.RequiresLogin(views.ShowCompleteTasksFunc))
//these handlers perform action like delete, mark as complete etc
2016-05-12 01:19:32 +08:00
http.HandleFunc("/complete/", views.RequiresLogin(views.CompleteTaskFunc))
http.HandleFunc("/files/", views.RequiresLogin(views.UploadedFileHandler))
http.HandleFunc("/trash/", views.RequiresLogin(views.TrashTaskFunc))
http.HandleFunc("/edit/", views.RequiresLogin(views.EditTaskFunc))
http.HandleFunc("/search/", views.RequiresLogin(views.SearchTaskFunc))
2015-11-21 14:39:06 +08:00
http.Handle("/static/", http.FileServer(http.Dir("public")))
http.HandleFunc("/api/get-task/", views.GetTasksFuncAPI)
http.HandleFunc("/api/get-deleted-task/", views.GetDeletedTaskFuncAPI)
http.HandleFunc("/api/add-task/", views.AddTaskFuncAPI)
http.HandleFunc("/api/update-task/", views.UpdateTaskFuncAPI)
http.HandleFunc("/api/delete-task/", views.DeleteTaskFuncAPI)
http.HandleFunc("/api/get-token/", views.GetTokenHandler)
http.HandleFunc("/api/get-category/", views.GetCategoryFuncAPI)
http.HandleFunc("/api/add-category/", views.AddCategoryFuncAPI)
http.HandleFunc("/api/update-category/", views.UpdateCategoryFuncAPI)
http.HandleFunc("/api/delete-category/", views.DeleteCategoryFuncAPI)
2016-05-22 17:40:55 +08:00
2016-01-23 18:33:10 +08:00
log.Println("running server on ", values.ServerPort)
log.Fatal(http.ListenAndServe(values.ServerPort, nil))
2015-11-13 17:04:42 +08:00
}