Files
memberDB/api/api.go
Adrian Zürcher 4ee558b340 fix wrong api call
2025-11-04 09:38:35 +01:00

63 lines
1.8 KiB
Go

package api
import (
"fmt"
"time"
"gitea.tecamino.com/paadi/tecamino-logger/logging"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
)
type API struct {
host string
port int
router *gin.Engine
}
func NewAPI(host string, port int, logger *logging.Logger) (*API, error) {
r := gin.Default()
r.Use(cors.New(cors.Config{
//AllowOrigins: []string{"http://localhost:9000"}, // frontend origin
AllowOrigins: []string{"*"}, // frontend origin
AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
AllowHeaders: []string{"Origin", "Content-Type", "Authorization"},
ExposeHeaders: []string{"Content-Length"},
AllowCredentials: true,
MaxAge: 12 * time.Hour,
}))
apiHandler, err := NewAPIHandler(logger)
if err != nil {
return nil, err
}
v1 := r.Group("v1")
v1.GET("/events", apiHandler.GetEvent)
v1.GET("/events/new", apiHandler.StartNewEvent)
v1.GET("/events/delete", apiHandler.DeleteEvent)
v1.GET("/members", apiHandler.GetMember)
v1.GET("/responsible", apiHandler.GetResponsible)
v1.POST("/database/open", apiHandler.OpenDatabase)
v1.POST("/members/add", apiHandler.AddNewMember)
v1.POST("/members/edit", apiHandler.UpdateMember)
v1.POST("/members/delete", apiHandler.DeleteMember)
v1.POST("/members/import/csv", apiHandler.ImportCSV)
v1.POST("/events/attendees/add", apiHandler.AddNewAttendees)
v1.POST("/events/attendees/delete", apiHandler.DeleteAttendee)
v1.POST("/responsible/add", apiHandler.AddNewResponsible)
v1.POST("/responsible/delete", apiHandler.DeleteResponsible)
return &API{host: host,
port: port,
router: r,
}, nil
}
func (api *API) Run() error {
return api.router.Run(fmt.Sprintf("%s:%d", api.host, api.port))
}