Boost Azure Demo
This commit is contained in:
41
Backend/internal/handlers/api/handler.go
Normal file
41
Backend/internal/handlers/api/handler.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"boostai-backend/internal/aireview"
|
||||
"boostai-backend/internal/assignmentgen"
|
||||
"boostai-backend/internal/config"
|
||||
"boostai-backend/internal/database"
|
||||
answershandler "boostai-backend/internal/handlers/api/answers"
|
||||
assignmentshandler "boostai-backend/internal/handlers/api/assignments"
|
||||
classroomshandler "boostai-backend/internal/handlers/api/classrooms"
|
||||
messageshandler "boostai-backend/internal/handlers/api/messages"
|
||||
questionshandler "boostai-backend/internal/handlers/api/questions"
|
||||
usershandler "boostai-backend/internal/handlers/api/users"
|
||||
"boostai-backend/internal/questiongen"
|
||||
"boostai-backend/internal/sqlc"
|
||||
)
|
||||
|
||||
type Handler struct {
|
||||
users *usershandler.Handler
|
||||
classrooms *classroomshandler.Handler
|
||||
messages *messageshandler.Handler
|
||||
questions *questionshandler.Handler
|
||||
assignments *assignmentshandler.Handler
|
||||
answers *answershandler.Handler
|
||||
}
|
||||
|
||||
func NewHandler(db *database.DB, cfg *config.Config) *Handler {
|
||||
queries := sqlc.New(db.Pool)
|
||||
aiReviewService := aireview.NewService(cfg.AIReviewEndpoint, cfg.AIReviewAPIKey, cfg.AIReviewModel)
|
||||
questionGenerator := questiongen.NewService()
|
||||
assignmentGenerator := assignmentgen.NewService(db, questionGenerator)
|
||||
|
||||
return &Handler{
|
||||
users: usershandler.NewHandler(queries),
|
||||
classrooms: classroomshandler.NewHandler(queries),
|
||||
messages: messageshandler.NewHandler(db),
|
||||
questions: questionshandler.NewHandler(queries, questionGenerator),
|
||||
assignments: assignmentshandler.NewHandler(queries, aiReviewService, assignmentGenerator),
|
||||
answers: answershandler.NewHandler(queries, aiReviewService),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user