3 Commits

Author SHA1 Message Date
Adrian Zürcher
d7890f747b change repo name 2025-10-24 10:51:25 +02:00
Adrian Zürcher
e469b61bb2 move handlers to root folder 2025-10-24 10:43:59 +02:00
Adrian Zürcher
42c4f1d915 move handlers to root folder 2025-10-24 10:42:31 +02:00
10 changed files with 31 additions and 33 deletions

3
.gitignore vendored
View File

@@ -1 +1,2 @@
*.log *.log
*.db

View File

@@ -21,13 +21,12 @@ It provides ready-to-use user authentication (login, refresh, logout, user info)
``` ```
AccessHandler/ AccessHandler/
├── handlers/ ├── access_handler.go # AccessHandler initialization
│ ├── access_handler.go # AccessHandler initialization ├── db_handler.go # Database handler using GORM
│ ├── db_handler.go # Database handler using GORM ├── login.go # Login, Refresh, Me, Logout handlers
│ ├── login.go # Login, Refresh, Me, Logout handlers ├── middleware.go # middleware authentification
│ ├── middleware.go # middleware authentification ├── role.go # database handling for roles
| ├── role.go # database handling for roles ├── user.go # database users for roles
| ├── user.go # database users for roles
| |
├── models/ ├── models/
│ ├── jsonResponse.go # Json responses model │ ├── jsonResponse.go # Json responses model
@@ -79,7 +78,7 @@ go get https://gitea.tecamino.com/paadi/tecamino-logger/logging
## 🔑 Authentication Constants ## 🔑 Authentication Constants
In `handlers/login.go`: In `login.go`:
```go ```go
// ----------------------------- // -----------------------------
@@ -119,7 +118,6 @@ var REFRESH_SECRET = []byte("*")
package main package main
import ( import (
"AccessHandler/handlers"
"gitea.tecamino.com/paadi/tecamino-logger/logging" "gitea.tecamino.com/paadi/tecamino-logger/logging"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"log" "log"
@@ -127,7 +125,7 @@ import (
func main() { func main() {
logger, _ := logging.NewLogger("server.log", nil) logger, _ := logging.NewLogger("server.log", nil)
accessHandler, err := handlers.NewAccessHandler("access.db", logger) accessHandler, err := NewAccessHandler("access.db", logger)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@@ -1,4 +1,4 @@
package handlers package AccessHandler
import "gitea.tecamino.com/paadi/tecamino-logger/logging" import "gitea.tecamino.com/paadi/tecamino-logger/logging"
@@ -43,7 +43,7 @@ type AccessHandler struct {
// - err: Any error that occurs during initialization. // - err: Any error that occurs during initialization.
// //
// Example: // Example:
// handler, err := handlers.NewAccessHandler("data/app.db", appLogger) // handler, err := NewAccessHandler("data/app.db", appLogger)
// if err != nil { // if err != nil {
// log.Fatal(err) // log.Fatal(err)
// } // }

View File

@@ -1,4 +1,4 @@
package handlers package AccessHandler
import ( import (
"errors" "errors"

View File

@@ -1,4 +1,4 @@
package accessmanager_test package AccessHandler
import ( import (
"bytes" "bytes"
@@ -7,8 +7,7 @@ import (
"net/http/httptest" "net/http/httptest"
"testing" "testing"
"gitea.tecamino.com/paadi/AccessHandler/handlers" "gitea.tecamino.com/paadi/access-handler/models"
"gitea.tecamino.com/paadi/AccessHandler/models"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/go-playground/assert/v2" "github.com/go-playground/assert/v2"
@@ -18,7 +17,7 @@ func TestAccesshandlerLogin(t *testing.T) {
t.Log("start access handler test") t.Log("start access handler test")
t.Log("initialize accessHandler") t.Log("initialize accessHandler")
accessHandler, err := handlers.NewAccessHandler("test.db", nil) accessHandler, err := NewAccessHandler("test.db", nil)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -100,20 +99,20 @@ func TestLoginHandler(t *testing.T) {
gin.SetMode(gin.TestMode) gin.SetMode(gin.TestMode)
// Setup your AccessHandler and router // Setup your AccessHandler and router
aH, err := handlers.NewAccessHandler("test.db", nil) aH, err := NewAccessHandler("test.db", nil)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
r := gin.Default() r := gin.Default()
handlers.SetMiddlewareLogger(r, aH.GetLogger()) SetMiddlewareLogger(r, aH.GetLogger())
r.POST("/login", aH.Login) r.POST("/login", aH.Login)
r.POST("/login/refresh", aH.Refresh) r.POST("/login/refresh", aH.Refresh)
r.GET("/login/me", aH.Me) r.GET("/login/me", aH.Me)
r.GET("/logout", aH.Logout) r.GET("/logout", aH.Logout)
middleware := r.Group("", handlers.AuthMiddleware()) middleware := r.Group("", AuthMiddleware())
auth := middleware.Group("/members", aH.AuthorizeRole("")) auth := middleware.Group("/members", aH.AuthorizeRole(""))
auth.GET("", func(ctx *gin.Context) { auth.GET("", func(ctx *gin.Context) {

2
go.mod
View File

@@ -1,4 +1,4 @@
module gitea.tecamino.com/paadi/AccessHandler module gitea.tecamino.com/paadi/access-handler
go 1.24.5 go 1.24.5

View File

@@ -1,4 +1,4 @@
package handlers package AccessHandler
import ( import (
"fmt" "fmt"
@@ -6,8 +6,8 @@ import (
"net/http" "net/http"
"time" "time"
"gitea.tecamino.com/paadi/AccessHandler/models" "gitea.tecamino.com/paadi/access-handler/models"
"gitea.tecamino.com/paadi/AccessHandler/utils" "gitea.tecamino.com/paadi/access-handler/utils"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/golang-jwt/jwt/v5" "github.com/golang-jwt/jwt/v5"

View File

@@ -1,4 +1,4 @@
package handlers package AccessHandler
import ( import (
"fmt" "fmt"
@@ -27,7 +27,7 @@ import (
// //
// Usage: // Usage:
// //
// handlers.SetMiddlewareLogger(router, logger) // SetMiddlewareLogger(router, logger)
func SetMiddlewareLogger(r *gin.Engine, logger *logging.Logger) { func SetMiddlewareLogger(r *gin.Engine, logger *logging.Logger) {
// Add middleware that injects logger into context // Add middleware that injects logger into context
r.Use(func(c *gin.Context) { r.Use(func(c *gin.Context) {
@@ -55,7 +55,7 @@ func SetMiddlewareLogger(r *gin.Engine, logger *logging.Logger) {
// //
// Usage: // Usage:
// //
// r.Use(handlers.AuthMiddleware()) // r.Use(AuthMiddleware())
func AuthMiddleware() gin.HandlerFunc { func AuthMiddleware() gin.HandlerFunc {
return func(c *gin.Context) { return func(c *gin.Context) {
// Retrieve logger from Gin context // Retrieve logger from Gin context

View File

@@ -1,9 +1,9 @@
package handlers package AccessHandler
import ( import (
"fmt" "fmt"
"gitea.tecamino.com/paadi/AccessHandler/models" "gitea.tecamino.com/paadi/access-handler/models"
) )
// AddRoleTable // AddRoleTable

View File

@@ -1,10 +1,10 @@
package handlers package AccessHandler
import ( import (
"fmt" "fmt"
"gitea.tecamino.com/paadi/AccessHandler/models" "gitea.tecamino.com/paadi/access-handler/models"
"gitea.tecamino.com/paadi/AccessHandler/utils" "gitea.tecamino.com/paadi/access-handler/utils"
) )
// AddUserTable // AddUserTable