Files
gotemplresume/router/router.go
Berkay Akyazı 4352c5579a initial commit
2024-03-11 23:29:00 +03:00

63 lines
1.2 KiB
Go

package router
import (
"encoding/json"
"github.com/bakyazi/gotemplresume/dto"
"github.com/bakyazi/gotemplresume/pages"
"github.com/labstack/echo/v4"
"os"
)
type Router struct {
}
func Init(e *echo.Echo) {
router := &Router{}
e.Static("/resources", "resources")
e.GET("/", router.Home)
e.GET("/skills", router.Skills)
e.GET("/resume", router.Resume)
}
func (r *Router) Home(c echo.Context) error {
return pages.Home().Render(c.Request().Context(), c.Response().Writer)
}
func (r *Router) Skills(c echo.Context) error {
resumeFile, err := os.Open("resources/resume.json")
if err != nil {
return err
}
defer resumeFile.Close()
resumeDecoder := json.NewDecoder(resumeFile)
var resume dto.Resume
err = resumeDecoder.Decode(&resume)
if err != nil {
return err
}
return pages.Skills(resume).Render(c.Request().Context(), c.Response().Writer)
}
func (r *Router) Resume(c echo.Context) error {
resumeFile, err := os.Open("resources/resume.json")
if err != nil {
return err
}
defer resumeFile.Close()
resumeDecoder := json.NewDecoder(resumeFile)
var resume dto.Resume
err = resumeDecoder.Decode(&resume)
if err != nil {
return err
}
return pages.Resume(resume).Render(c.Request().Context(), c.Response().Writer)
}