chore: setup some defaults

This commit is contained in:
2025-06-05 03:52:48 +01:00
parent a67726919d
commit af8323cdb0
7 changed files with 54 additions and 15 deletions
+11 -5
View File
@@ -1,15 +1,20 @@
package api
import (
"fmt"
"github.com/go-playground/validator/v10"
"github.com/hazemKrimi/crimson-vault/internal/models"
"github.com/labstack/echo/v4"
"github.com/labstack/echo/v4/middleware"
"github.com/hazemKrimi/crimson-vault/internal/lib"
"github.com/hazemKrimi/crimson-vault/internal/models"
)
type API struct {
instance *echo.Echo
db *models.DB
ConfigDirectory string
instance *echo.Echo
db *models.DB
}
func (api *API) Initialize() {
@@ -20,7 +25,7 @@ func (api *API) Initialize() {
ech := echo.New()
ech.Validator = &CustomValidator{validator: validator}
db.Connect()
db.Connect(api.ConfigDirectory)
db.MigrateClients()
db.MigrateUsers()
@@ -28,8 +33,9 @@ func (api *API) Initialize() {
api.db = db
api.ClientRoutes()
api.UserRoutes()
api.instance.Use(middleware.CORSWithConfig(middleware.CORSConfig{
AllowOrigins: []string{"*"},
}))
api.instance.Logger.Fatal(api.instance.Start(":5000"))
api.instance.Logger.Fatal(api.instance.Start(fmt.Sprintf(":%d", lib.DEFAULT_PORT)))
}
+4 -1
View File
@@ -4,13 +4,16 @@ import "github.com/labstack/echo/v4/middleware"
func (api *API) ClientRoutes() {
clients := api.instance.Group("/clients")
users := api.instance.Group("/users")
clients.GET("/", api.GetAllClientsHandler)
clients.POST("/", api.CreateClientHandler)
clients.GET("/:id", api.GetClientHandler)
clients.PUT("/:id", api.UpdateClientHandler)
clients.DELETE("/:id", api.DeleteClientHandler)
}
func (api *API) UserRoutes() {
users := api.instance.Group("/users")
users.GET("/", api.GetAllUsersHandler)
users.POST("/", api.CreateUserHandler)
+2 -4
View File
@@ -199,14 +199,12 @@ func (api *API) UpdateUserLogoHandler(context echo.Context) error {
return context.String(http.StatusBadRequest, "Uploaded file is not a valid image!")
}
err = os.MkdirAll(user.Username, os.ModePerm)
if err != nil {
if err := os.MkdirAll(filepath.Join(api.ConfigDirectory, user.Username), os.ModePerm); err != nil {
log.Println(fmt.Sprintf("Error updating logo for User: %v.", err))
return context.String(http.StatusInternalServerError, "Unexpected error while updating logo for User!")
}
path, err := filepath.Abs(filepath.Join(user.Username, fmt.Sprintf("logo%s", ext)))
path, err := filepath.Abs(filepath.Join(api.ConfigDirectory, user.Username, fmt.Sprintf("logo%s", ext)))
if err != nil {
log.Println(fmt.Sprintf("Error updating logo for User: %v.", err))