Files
tutor-service/internal/app/server.go

27 lines
643 B
Go
Raw Normal View History

2026-04-26 16:14:31 +09:00
package app
import (
"net/http"
"tutor/internal/config"
"tutor/internal/httpapi"
2026-04-26 16:24:35 +09:00
"tutor/internal/interview"
2026-04-26 16:34:52 +09:00
"tutor/internal/learnermemory"
2026-04-26 16:39:19 +09:00
"tutor/internal/progression"
2026-04-26 16:14:31 +09:00
"tutor/internal/workflows"
)
func NewServer(cfg config.Config) *http.Server {
runner := workflows.NewStubRunner()
2026-04-26 16:24:35 +09:00
store := interview.NewMemoryStore()
2026-04-26 16:34:52 +09:00
memory := learnermemory.NewService(learnermemory.NewMemoryStore())
2026-04-26 16:39:19 +09:00
progress := progression.NewService(memory)
2026-04-26 16:34:52 +09:00
service := interview.NewService(store, runner, memory)
2026-04-26 16:39:19 +09:00
handler := httpapi.NewHandler(cfg, service, memory, progress)
2026-04-26 16:14:31 +09:00
return &http.Server{
Addr: cfg.HTTPAddr,
Handler: handler.Routes(),
}
}