change templates
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6s
Gitea Actions Demo / build-and-test (push) Failing after 2m49s

This commit is contained in:
Thomas Peetz
2026-10-25 04:05:11 +01:00
parent 05555a7750
commit 2889927416
15 changed files with 255 additions and 139 deletions
+6 -6
View File
@@ -1,13 +1,14 @@
package globals
import (
"github.com/gin-gonic/gin"
"fmt"
"github.com/gin-gonic/gin"
)
var (
Secret = []byte("secret")
Version = "0.4.0"
Version = "unset"
Commit = "unset"
Date = "unset"
)
@@ -16,11 +17,10 @@ const UserKey = "user"
func GetDefaultValues(user interface{}, message string) gin.H {
values := gin.H{
"title": "Kontor MediaFiles",
"version": Version,
"title": "Kontor",
"version": fmt.Sprintf("%s %s", Version, Commit),
"message": message,
"user": user,
"user": user,
}
return values
}
+4 -7
View File
@@ -68,11 +68,8 @@ func (handler *ComicHandler) ListPage(c *gin.Context) {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.HTML(http.StatusOK, "comics", gin.H{
"title": "Kontor Comics",
"version": "0.4.0",
"message": "Comics...",
"comics": comics,
"user": user,
})
data := globals.GetDefaultValues(user, "Comics...")
data["title"] = "Kontor Comics"
data["comics"] = comics
c.HTML(http.StatusOK, "comics", data)
}
+2 -7
View File
@@ -24,11 +24,6 @@ func Index(c *gin.Context) {
user := session.Get(globals.UserKey)
logger := slog.Get(c)
logger.Info("IndexGetHandler", globals.UserKey, user)
c.HTML(http.StatusOK, "home", gin.H{
"title": "Kontor Gin",
"version": "0.4.0",
"message": "This is an index page...",
"user": user,
})
data := globals.GetDefaultValues(user, "This is an index page...")
c.HTML(http.StatusOK, "home", data)
}
+60 -7
View File
@@ -8,6 +8,7 @@ import (
"net/http"
"github.com/gin-contrib/sessions"
"github.com/gin-contrib/slog"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
@@ -76,11 +77,63 @@ func (handler *MediaActorHandler) ListPage(c *gin.Context) {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.HTML(http.StatusOK, "mediaactors", gin.H{
"title": "Kontor MediaActors",
"version": "0.4.0",
"message": "MediaActors...",
"actors": actors,
"user": user,
})
data := globals.GetDefaultValues(user, "MediaActors...")
data["actors"] = actors
c.HTML(http.StatusOK, "mediaactors", data)
}
func (handler *MediaActorHandler) EditPage(c *gin.Context) {
session := sessions.Default(c)
user := session.Get(globals.UserKey)
id := c.Param("id")
//logger := slog.Get(c)
actor, err := handler.Service.Get(c.Request.Context(), id)
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
data := globals.GetDefaultValues(user, "MediaActors...")
data["actor"] = actor
c.HTML(http.StatusOK, "actor_detail", data)
}
func (handler *MediaActorHandler) UpdatePage(c *gin.Context) {
session := sessions.Default(c)
user := session.Get(globals.UserKey)
id := c.Param("id")
logger := slog.Get(c)
actor, err := handler.Service.Get(c.Request.Context(), id)
if err != nil {
logger.Info("MediaActorHandler#UpdatePage", "error", err.Error())
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
var form models.MediaActorForm
if err := c.ShouldBind(&form); err != nil {
logger.Info("MediaActorHandler#UpdatePage", "error", err.Error())
data := globals.GetDefaultValues(user, "MediaActors...")
data["actor"] = actor
data["Form"] = form
data["Errors"] = err.Error()
c.HTML(http.StatusBadRequest, "actor_detail", data)
return
}
logger.Info("MediaActorHandler#UpdatePage", "actor", actor)
//handler.Service.Update(c.Request.Context(), form.ConvertFormToMediaLofiDTO())
c.Redirect(http.StatusFound, "web/actors")
}
func (handler *MediaActorHandler) DeletePage(c *gin.Context) {
//session := sessions.Default(c)
//user := session.Get(globals.UserKey)
id := c.Param("id")
logger := slog.Get(c)
//actor, err := handler.Service.Get(c.Request.Context(), id)
// if err != nil {
// logger.Info("MediaActorHandler#DeletePage", "error", err.Error())
// c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
// return
// }
logger.Info("MediaActorHandler#DeletePage", "actor", id)
c.Redirect(http.StatusFound, "web/actors")
}
+6 -14
View File
@@ -136,13 +136,9 @@ func (handler *MediaLoFiHandler) EditPage(c *gin.Context) {
return
}
logger.Info("MediaLoFiHandler#EditPage", "lofi", lofi)
c.HTML(http.StatusOK, "lofi_detail", gin.H{
"title": "Kontor MediaFLofi",
"version": "0.4.0",
"message": "MediaFiles...",
"lofi": lofi,
"user": user,
})
data := globals.GetDefaultValues(user, "MediaLofis...")
data["lofi"] = lofi
c.HTML(http.StatusOK, "lofi_detail", data)
}
func (handler *MediaLoFiHandler) ChangeReviewPage(c *gin.Context) {
@@ -166,13 +162,9 @@ func (handler *MediaLoFiHandler) ChangeReviewPage(c *gin.Context) {
return
}
logger.Info("MediaLoFiHandler#ListPage", "lofis count", len(lofis))
c.HTML(http.StatusOK, "lofi", gin.H{
"title": "Kontor MediaFiles",
"version": "0.4.0",
"message": "MediaFiles...",
"lofis": lofis,
"user": user,
})
data := globals.GetDefaultValues(user, "MediaLofis...")
data["lofis"] = lofis
//c.HTML(http.StatusOK, "lofi", data)
c.Redirect(http.StatusCreated, "/web/media-lofis")
}
+4 -2
View File
@@ -37,13 +37,15 @@ func (handler *MediaVideoHandler) List(c *gin.Context) {
func (handler *MediaVideoHandler) ListPage(c *gin.Context) {
session := sessions.Default(c)
user := session.Get(globals.UserKey)
logger := slog.Get(c)
videos, err := handler.Service.List(c.Request.Context())
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
data := globals.GetDefaultValues(user, "MediaFiles...")
data["title"] = "Kontor MediaFiles"
logger.Info("MediaLoFiHandler#ListPage", "videos count", len(videos))
data := globals.GetDefaultValues(user, "MediaVideos...")
data["title"] = "Kontor MediaVideos"
data["mediavideos"] = videos
c.HTML(http.StatusOK, "mediavideos", data)
+16
View File
@@ -1,11 +1,13 @@
package handlers
import (
"kontor-api-gin/internal/globals"
"kontor-api-gin/internal/models"
"kontor-api-gin/internal/repository"
"kontor-api-gin/internal/service"
"net/http"
"github.com/gin-contrib/sessions"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
@@ -28,3 +30,17 @@ func (handler *PublisherHandler) List(c *gin.Context) {
dtos := models.ConvertPublishersToDtos(comics)
c.JSON(http.StatusOK, dtos)
}
func (handler *PublisherHandler) ListPage(c *gin.Context) {
session := sessions.Default(c)
user := session.Get(globals.UserKey)
publishers, err := handler.Service.List(c.Request.Context())
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
data := globals.GetDefaultValues(user, "Publishers...")
data["title"] = "Kontor Comics"
data["publishers"] = publishers
c.HTML(http.StatusOK, "publishers", data)
}
-21
View File
@@ -1,21 +0,0 @@
package handlers
import (
"kontor-api-gin/internal/repository"
"kontor-api-gin/internal/service"
"gorm.io/gorm"
)
type WebAppHandler struct {
AuthHandler *AuthHandler
ComicHandler *ComicHandler
}
func NewWebAppHandler(db *gorm.DB, secret []byte) *WebAppHandler {
webapp := &WebAppHandler{
AuthHandler: &AuthHandler{Service: service.NewAuthService(repository.NewProfileRepository(db), secret)},
ComicHandler: &ComicHandler{Service: service.NewComicService(repository.NewComicRepository(db))},
}
return webapp
}
@@ -21,6 +21,11 @@ func (media_actor *MediaActor) TableName() string {
return "media_actor"
}
type MediaActorForm struct {
Name string `form:"name" binding:"required"`
Weblink string `form:"weblink" binding:"required"`
}
type MediaActorDTO struct {
ID string `json:"id" binding:"required"`
CreatedAt helpers.KontorTime `json:"created_date"`
+6 -5
View File
@@ -18,7 +18,7 @@ import (
"github.com/gin-gonic/gin"
)
func New(admin *handlers.AdminHandler, bookshelf *handlers.BookshelfHandler, comics *handlers.ComicsHandler, media *handlers.MediaHandler, tysc *handlers.TyscHandler, webApp *handlers.WebAppHandler) *gin.Engine {
func New(admin *handlers.AdminHandler, bookshelf *handlers.BookshelfHandler, comics *handlers.ComicsHandler, media *handlers.MediaHandler, tysc *handlers.TyscHandler) *gin.Engine {
router := gin.New()
router.Use(gin.Recovery())
router.Use(gin_slog.SetLogger(
@@ -52,22 +52,23 @@ func New(admin *handlers.AdminHandler, bookshelf *handlers.BookshelfHandler, com
router.GET("/logout", admin.AuthHandler.LogoutPage)
comic := router.Group("/comics")
comic.GET("/comics", webApp.ComicHandler.ListPage)
comic.GET("/comics", comics.ComicHandler.ListPage)
comic.GET("/publishers", comics.PublisherHandler.ListPage)
m := router.Group("/web")
m.Use(middleware.AuthRequired())
m.GET("/actors", media.MediaActorHandler.ListPage)
m.GET("/actors/:id", media.MediaActorHandler.EditPage)
m.GET("/actors/:id/edit", media.MediaActorHandler.EditPage)
m.POST("/actors/:id/edit", media.MediaActorHandler.UpdatePage)
m.GET("/articles", media.MediaFileHandler.ListPage)
m.GET("/media-files", media.MediaFileHandler.ListPage)
m.GET("/files", media.MediaFileHandler.ListPage)
m.GET("/videos", media.MediaVideoHandler.ListPage)
m.GET("/media-videos", media.MediaVideoHandler.ListPage)
m.GET("/media-lofis", media.MediaLoFiHandler.ListPage)
m.GET("/media-lofis/:id/edit", media.MediaLoFiHandler.EditPage)
m.POST("/media-lofis/:id/edit", media.MediaLoFiHandler.UpdatePage)
m.GET("/media-lofis/:id/change-review", media.MediaLoFiHandler.ChangeReviewPage)
m.GET("/media-lofis/:id/delete", media.MediaLoFiHandler.DeletePage)
m.GET("/lofis", media.MediaLoFiHandler.ListPage)
api := router.Group("/api")
api.POST("/login", admin.AuthHandler.Login)