Documentation
¶
Index ¶
- type AppointmentHandler
- type AppointmentRepository
- type AppointmentRoutes
- type AppointmentService
- type AuthHandler
- type AuthRepository
- type AuthRoutes
- type AuthService
- type EvaluationHandler
- type EvaluationRepository
- type EvaluationService
- type ExpertHandler
- type ExpertRepository
- type ExpertService
- type GeminiService
- type LessonHandler
- type LessonRepository
- type LessonRoutes
- type LessonService
- type LevelHandler
- type LevelRepository
- type LevelRoutes
- type LevelService
- type QuestionHandler
- type QuestionRepository
- type QuestionRoutes
- type QuestionService
- type SectionHandler
- type SectionRepository
- type SectionRoutes
- type SectionService
- type SocketHandler
- type SocketService
- type TestHandler
- type TestRepository
- type TestRoutes
- type TestService
- type UserCourseHandler
- type UserCourseRepository
- type UserCourseRoutes
- type UserCourseService
- type UserHandler
- type UserRepository
- type UserRoutes
- type UserService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppointmentHandler ¶
type AppointmentRepository ¶
type AppointmentRepository interface { AddTimeSlot(timeSlot *model.TimeSlot) (string, error) GetTimeSlotById(timeSlotId string) (*model.TimeSlot, error) GetTimeSlotsByExpertId(expertId string) ([]*model.TimeSlot, error) CreateAppointment(appointment *model.Appointment) (string, error) UpdateTimeSlotAvailability(timeSlotId string, available bool) error GetAllAppointments(userId string) (map[string]model.Appointment, error) GetAppointmentById(appointmentId string) (*model.Appointment, error) }
type AppointmentRoutes ¶
type AppointmentRoutes interface {
AppointmentRoutes(app *fiber.App)
}
type AppointmentService ¶
type AppointmentService interface { CreateAppointment(timeSlotId string, userId string) (*response.CreateAppointmentResponse, error) GetAllAppointments(userId string) ([]response.GetAllAppointmentsResponse, error) GetAppointmentById(appointmentId string) (*response.GetAppointmentByIdResponse, error) }
type AuthHandler ¶
type AuthRepository ¶
type AuthRoutes ¶
type AuthRoutes interface {
AuthRoutes(app *fiber.App)
}
type AuthService ¶
type AuthService interface { Login(reqBody *request.LoginRequest) (*response.AuthResponse, error) Register(reqBody *request.RegisterRequest) (*response.AuthResponse, error) }
type EvaluationHandler ¶
type EvaluationRepository ¶
type EvaluationRepository interface { AddVoiceEvaluation(voiceEvaluation model.VoiceEvaluation) (string, error) GetVoiceEvaluationById(evaluationId string) (*model.VoiceEvaluation, error) GetVideoEvaluationById(evaluationId string) (*model.Emotion, error) AddVideoEvaluation(videoEvaluation model.Emotion) (string, error) }
type EvaluationService ¶
type EvaluationService interface { EvaluateSubjectiveAnswer(userId string, req *request.EvaluateSubjectiveAnswerReq) (*response.EvaluateSubjectiveAnswerResponse, error) EvaluateObjectiveAnswer(userId string, req *request.EvaluateObjectiveAnswerReq) (*response.EvaluateObjectiveAnswerResponse, error) EvaluateVoiceAnswer(userId string, req *request.EvaluateVoiceAnswerReq, buf []byte) (*response.EvaluateVoiceAnswerResponse, error) }
type ExpertHandler ¶
type ExpertRepository ¶
type ExpertService ¶
type ExpertService interface { AddExpert(req *request.AddExpertRequest) (*response.AddExpertResponse, error) GetExpertById(expertId string) (*response.GetExpertResponse, error) GetAllExperts() ([]*response.GetExpertResponse, error) GetExpertSchedule(expertId string) (*response.GetExpertScheduleResponse, error) }
type GeminiService ¶
type GeminiService interface { GenerateUserCourse(user model.User, levelDetails []map[string]string) (*response.LevelsForUser, error) EvaluateUserAnswer(user *model.User, question *model.Question, userAnswer []string) (*model.UserAnswerEvalutaion, error) FormatVoiceEvaluationResponse(obtainedVoiceEvaluation *response.VoiceEvaluation, desiredVoiceEvaluation *model.VoiceEvaluation) (*model.UserAnswerEvalutaion, error) EvaluateTestAnswer(Answer string, question *model.Question, obtainedVideoEvaluation *response.QuestionResult, desiredVideoEvaluation *model.Emotion) (*model.TestAnswerEval, error) }
type LessonHandler ¶
type LessonHandler interface {
AddLesson(c *fiber.Ctx) error
}
type LessonRepository ¶
type LessonRoutes ¶
type LessonRoutes interface {
LessonRoutes(app *fiber.App)
}
type LessonService ¶
type LessonService interface {
AddLesson(req *request.AddLessonRequest) (*response.AddLessonResponse, error)
}
type LevelHandler ¶
type LevelRepository ¶
type LevelRoutes ¶
type LevelRoutes interface {
LevelRoutes(app *fiber.App)
}
type LevelService ¶
type LevelService interface { AddLevel(req *request.AddLevelRequest) (*response.AddLevelResponse, error) AddCompleteLevel(req *request.AddCompleteLevelRequest) (*response.AddLevelResponse, error) }
type QuestionHandler ¶
type QuestionRepository ¶
type QuestionRoutes ¶
type QuestionRoutes interface {
QuestionRoutes(app *fiber.App)
}
type QuestionService ¶
type QuestionService interface { AddQuestion(req *request.AddQuestionRequest) (*response.AddQuestionResponse, error) GetHint(questionId string) (*response.GetHintResponse, error) }
type SectionHandler ¶
type SectionRepository ¶
type SectionRepository interface { AddSection(section model.Section) (string, error) AddQuestionToSection(sectionId string, questionId string) error AddLessonToSection(sectionId string, lessonId string) error GetQuestionsAndLessons(sectionId string) ([]string, []string, error) GetNoOfItems(sectionId string, itemType string) (int, error) StoreSectionProgress(userId string, sectionId string) (*model.SectionProgress, error) UpdateSectionProgress(userId string, sectionId string, xp int) (int, int, error) GetNextSectionId(sectionId string) (string, error) GetSectionById(sectionId string) (*response.Section, error) DeleteSectionProgress(userId string, sectionId string) error GetTimeStamp(userId string, sectionId string) (int64, error) }
type SectionRoutes ¶
type SectionRoutes interface {
SectionRoutes(app *fiber.App)
}
type SectionService ¶
type SectionService interface { AddSection(req *request.AddSectionRequest) (*response.AddSectionResponse, error) GetSectionData(userId string, sectionId string) (*response.SectionData, error) AddCompleteSection(section *request.SectionData, levelId string) error UpdateSectionProgress(userId string, lessonId string) error GetTestData(sectionId string) (*response.SectionData, error) }
type SocketHandler ¶
type SocketHandler interface {
HandleWebSocket() func(c *fiber.Ctx) error
}
type SocketService ¶
type TestHandler ¶
type TestRepository ¶
type TestRepository interface { StoreTestSession(sessionId string, sectionId string) error StoreQuestionResult(sessionId string, sectionId string, testEval *model.TestAnswerEval) error GetTestSession(sessionId string, sectionId string) (*model.TestSession, error) GetAllQuestionResults(sessionId string, sectionId string) ([]model.TestAnswerEval, error) ClearTestSession(sessionId string, sectionId string) error }
type TestRoutes ¶
type TestRoutes interface {
TestRoutes(app *fiber.App)
}
type TestService ¶
type TestService interface { EvaluateTestAnswer(message *request.TestData) (bool, error) EvaluateImageAnswer(message *request.TestData) error GetTestResult(userId string, sessionId string, sectionId string) (*response.TestResultResponse, error) RetryQuestion(sessionId string, questionId string) error }
type UserCourseHandler ¶
type UserCourseHandler interface {
GetUserCourse(c *fiber.Ctx) error
}
type UserCourseRepository ¶
type UserCourseRepository interface { AddUserCourse(userId string, levelsForUser *response.LevelsForUser) error GetUserCourse(userId string) (*model.UserCourse, error) UpdateUserProgress(userId string, levelInc bool) error GetUserProgress(userId string) (*model.UserProgress, error) }
type UserCourseRoutes ¶
type UserCourseRoutes interface {
UserCourseRoutes(app *fiber.App)
}
type UserCourseService ¶
type UserHandler ¶
type UserHandler interface {
GetXP(c *fiber.Ctx) error
}
type UserRepository ¶
type UserRoutes ¶
type UserRoutes interface {
UserRoutes(app *fiber.App)
}
Click to show internal directories.
Click to hide internal directories.