1
0
Fork 0
This repository has been archived on 2025-09-02. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
mareshq-yggdrasil/cmd/yggdrasil/main.go

36 lines
1 KiB
Go

package main
import (
"context"
"os/signal"
"syscall"
"gitlab.mareshq.com/hq/yggdrasil/internal/faker"
"gitlab.mareshq.com/hq/yggdrasil/internal/server"
"gitlab.mareshq.com/hq/yggdrasil/pkg/training"
"go.uber.org/zap"
)
//go:generate go run github.com/deepmap/oapi-codegen/v2/cmd/oapi-codegen --config=../../oapi-codegen.yaml ../../api/v1/openapi.yaml
var port = 3000
func main() {
shutdownCtx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
defer stop()
logger := zap.Must(zap.NewDevelopment())
defer logger.Sync()
trainingRepository := training.NewInMemoryTrainingRepository()
trainingDateRepository := training.NewInMemoryTrainingDateRepository()
f := faker.NewFaker(trainingRepository, trainingDateRepository)
if err := f.GenerateFakeData(); err != nil {
logger.Fatal("Error generating fake data", zap.Error(err))
}
apiHandlers := server.NewAPIHandlers(trainingRepository, trainingDateRepository)
srv := server.NewServer(apiHandlers, port, logger)
srv.Run(shutdownCtx)
}