cup/routes.go
Zeni Kim 10ded026df - Refactory cookie and API session handle. Insolated y routes and controllers (api-auth.go, app-auth.go).
- Cookie lifetime with sliding expiration
- Fix bug single global expiresAt in JWT, now each token has unique ExpiresAt
2026-09-12 21:26:01 -05:00

59 lines
2.4 KiB
Go

// Copyright 2023 Harran Ali <harran.m@gmail.com>. All rights reserved.
// Copyright (c) 2024 Zeni Kim <zenik@smarteching.com>
// Use of this source code is governed by MIT-style
// license that can be found in the LICENSE file.
package main
import (
"git.smarteching.com/goffee/core"
"git.smarteching.com/goffee/cup/controllers"
"git.smarteching.com/goffee/cup/hooks"
)
// Register the app controllers
func registerRoutes() {
controller := core.ResolveRouter()
//#############################
//# App Routes #####
//#############################
// Define your routes here...
controller.Get("/", controllers.WelcomeHome)
// Uncomment the lines below to enable authentication API
controller.Post("/api/signin", controllers.APISignin)
controller.Post("/api/signout", controllers.APISignout)
// API actions
controller.Post("/api/signup", controllers.APISignup)
controller.Post("/api/request-password", controllers.APIRequestPasswordRequest)
controller.Post("/api/reset-password/code/:code", controllers.APISetNewPassword)
// API protected route
controller.Get("/api/ping", controllers.APIPing, hooks.APIAuthCheck)
// queue sample route
controller.Get("/queuesample", controllers.Queuesample)
// scheduler sample routes
controller.Get("/schedsample", controllers.SchedulerSample)
controller.Get("/schedsemaphore", controllers.SchedulerSemaphoreToggle)
// Uncomment the lines below to enable user administration
controller.Get("/admin/users", controllers.AdminUsersList)
controller.Post("/admin/users", controllers.AdminUsersList)
controller.Get("/admin/users/add", controllers.AdminUsersAdd)
controller.Post("/admin/users/add", controllers.AdminUsersAdd)
controller.Get("/admin/users/edit/:id", controllers.AdminUsersEdit)
controller.Post("/admin/users/edit/:id", controllers.AdminUsersEdit)
controller.Post("/admin/users/delete", controllers.AdminUsersDelete)
controller.Post("/admin/users/deleteconfirm", controllers.AdminUsersDelConfirm)
controller.Get("/appsignout", controllers.AppSignout, hooks.CheckSessionCookie)
controller.Get("/applogin", controllers.AppLogin)
controller.Post("/applogin", controllers.AppLogin)
controller.Post("/appsignin", controllers.AppSignin)
// Cookie protected route
controller.Get("/dashboard", controllers.WelcomeToDashboard, hooks.CheckSessionCookie)
controller.Post("/dashboard", controllers.WelcomeToDashboard, hooks.CheckSessionCookie)
}