Documentation
¶
Index ¶
- Constants
- func AuthenticationMiddleware(allowedRoles ...string) gin.HandlerFunc
- func CORSMiddleware(clientHost string) gin.HandlerFunc
- func DeferDBRollback(tx pgx.Tx, ctx context.Context)
- func FetchAndMergeCourseParticipationWithResolution(coreURL string, authHeader string, ...) (promptTypes.CoursePhaseParticipationWithStudent, error)
- func FetchAndMergeCoursePhaseWithResolution(coreURL string, authHeader string, coursePhaseID uuid.UUID) (promptTypes.MetaData, error)
- func FetchAndMergeParticipationsWithResolutions(coreURL string, authHeader string, coursePhaseID uuid.UUID) ([]promptTypes.CoursePhaseParticipationWithStudent, error)
- func FetchJSON(url, authHeader string) ([]byte, error)
- func GetEnv(key, defaultValue string) string
- func InitAuthenticationMiddleware(KeycloakURL, Realm, CoreURL string) error
- func ResolveAllParticipations(authHeader string, resolution Resolution) (map[uuid.UUID]interface{}, error)
- func ResolveCoursePhaseData(authHeader string, resolution Resolution) (interface{}, error)
- func ResolveParticipation(authHeader string, resolution Resolution, courseParticipationID uuid.UUID) (interface{}, error)
- type CoursePhaseParticipationWithResolutions
- type CoursePhaseParticipationsWithResolutions
- type PrevCoursePhaseData
- type Resolution
Constants ¶
View Source
const ( PromptAdmin = keycloakTokenVerifier.PromptAdmin PromptLecturer = keycloakTokenVerifier.PromptLecturer CourseLecturer = keycloakTokenVerifier.CourseLecturer CourseEditor = keycloakTokenVerifier.CourseEditor CourseStudent = keycloakTokenVerifier.CourseStudent )
Re-exporting role constants from keycloakTokenVerifier
Variables ¶
This section is empty.
Functions ¶
func AuthenticationMiddleware ¶
func AuthenticationMiddleware(allowedRoles ...string) gin.HandlerFunc
func CORSMiddleware ¶ added in v0.2.0
func CORSMiddleware(clientHost string) gin.HandlerFunc
func FetchAndMergeCourseParticipationWithResolution ¶ added in v1.0.5
func FetchAndMergeCourseParticipationWithResolution(coreURL string, authHeader string, coursePhaseID, courseParticipationID uuid.UUID) (promptTypes.CoursePhaseParticipationWithStudent, error)
FetchAndMergeCourseParticipationWithResolution fetches a course participation by its courseParticipationID and enriches it with resolved data.
func FetchAndMergeCoursePhaseWithResolution ¶ added in v1.0.0
func FetchAndMergeParticipationsWithResolutions ¶ added in v1.0.0
func FetchAndMergeParticipationsWithResolutions(coreURL string, authHeader string, coursePhaseID uuid.UUID) ([]promptTypes.CoursePhaseParticipationWithStudent, error)
FetchAndMergeParticipationsWithResolutions fetches participations and enriches each with resolved data.
func ResolveAllParticipations ¶
func ResolveAllParticipations(authHeader string, resolution Resolution) (map[uuid.UUID]interface{}, error)
ResolveAllParticipations resolves data for all participations and returns a map keyed by courseParticipationID.
func ResolveCoursePhaseData ¶
func ResolveCoursePhaseData(authHeader string, resolution Resolution) (interface{}, error)
ResolveCoursePhaseData resolves data for a course phase.
func ResolveParticipation ¶
func ResolveParticipation(authHeader string, resolution Resolution, courseParticipationID uuid.UUID) (interface{}, error)
ResolveParticipation resolves data for a single course participation.
Types ¶
type CoursePhaseParticipationWithResolutions ¶ added in v1.0.6
type CoursePhaseParticipationWithResolutions struct {
Participation promptTypes.CoursePhaseParticipationWithStudent `json:"participation"`
Resolutions []Resolution `json:"resolutions"`
}
type CoursePhaseParticipationsWithResolutions ¶ added in v1.0.0
type CoursePhaseParticipationsWithResolutions struct {
Participations []promptTypes.CoursePhaseParticipationWithStudent `json:"participations"`
Resolutions []Resolution `json:"resolutions" binding:"dive"`
}
type PrevCoursePhaseData ¶ added in v1.0.0
type PrevCoursePhaseData struct {
PrevData promptTypes.MetaData `json:"prevData"`
Resolutions []Resolution `json:"resolutions" binding:"dive"`
}
Click to show internal directories.
Click to hide internal directories.