aboutsummaryrefslogtreecommitdiff
path: root/router/routes.go
blob: 9842ece09708f7788786d8dd59fd05ed79eac1b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package router

import (
	"imageboard/controllers"

	"github.com/gofiber/fiber/v2"
)

func Initialize(router *fiber.App) {
	router.Static("/static", "./static")

	main := router.Group("/")
	main.Get("/", controllers.HomePageController)

	posts := router.Group("/posts")
	posts.Get("/", controllers.PostsPageController)
	posts.Get("/new", controllers.PostsUploadPageController)
	posts.Post("/new", controllers.PostsUploadPostController)
	posts.Get("/new/ilinkfetch", controllers.PostsUploadImageLinkProxyController)
	posts.Get("/:id", controllers.PostsSinglePostPageController)
	posts.Post("/:id/favourite", controllers.PostsSinglePostFavouritePostController)
	posts.Get("/:id/edit", controllers.PostsSinglePostEditPageController)
	posts.Post("/:id/edit", controllers.PostsSinglePostEditPostController)

	tags := router.Group("/tags")
	tags.Get("/search.json", controllers.TagsSearchJSONController)
	tags.Get("/search_for_image.json", controllers.TagsSearchForImageJSONController)
	tags.Post("/create.json", controllers.FindOrCreateTagJSONController)
	tags.Post("/add_to_image.json", controllers.TagsAddToImageJSONController)
	tags.Post("/remove_from_image.json", controllers.TagsRemoveFromImageJSONController)

	// login := router.Group("/login")
	// login.Get("/", controllers.LoginPageController)
	// login.Post("/", controllers.LoginPostController)

	// logout := router.Group("/logout")
	// logout.Get("/", controllers.LogoutController)

	// register := router.Group("/register")
	// register.Get("/", controllers.RegisterPageController)
	// register.Post("/", controllers.RegisterPostController)

	account := router.Group("/account")
	account.Get("/login", controllers.LoginPageController)
	account.Get("/forgot", controllers.ForgotPasswordPageController)
	account.Get("/logout", controllers.LogoutController)
	account.Get("/register", controllers.RegisterPageController)
	account.Get("/verify", controllers.VerifyEmailController)
	account.Post("/register", controllers.RegisterPostController)
	account.Post("/login", controllers.LoginPostController)
	account.Post("/forgot", controllers.ForgotPasswordPostController)

	preferences := router.Group("/preferences")
	preferences.Get("/", controllers.PreferencesPageController)

	router.Use(controllers.NotFoundController)
}