32 lines
		
	
	
		
			789 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			789 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package auth
 | |
| 
 | |
| import (
 | |
| 	v1 "management/internal/erpserver/service/v1"
 | |
| 	"management/internal/erpserver/service/v1/auth"
 | |
| 	"management/internal/pkg/mid"
 | |
| 	"management/internal/pkg/render"
 | |
| 	"management/internal/pkg/session"
 | |
| 
 | |
| 	"github.com/drhin/logger"
 | |
| 	"github.com/go-chi/chi/v5"
 | |
| )
 | |
| 
 | |
| type Config struct {
 | |
| 	Log            *logger.Logger
 | |
| 	Sm             session.Manager
 | |
| 	Render         render.Renderer
 | |
| 	CaptchaService v1.CaptchaService
 | |
| 	AuthService    *auth.Auth
 | |
| 	UserService    v1.UserService
 | |
| 	MenuService    v1.MenuService
 | |
| }
 | |
| 
 | |
| func Routes(r chi.Router, cfg Config) {
 | |
| 	app := newApp(cfg.Log, cfg.Sm, cfg.Render, cfg.CaptchaService, cfg.UserService, cfg.AuthService)
 | |
| 
 | |
| 	r.Get("/", app.login)
 | |
| 	r.Post("/login", app.login)
 | |
| 	r.With(mid.Authorize(cfg.Sm, cfg.MenuService)).Get("/logout", app.logout)
 | |
| 
 | |
| }
 |