Index
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
A
- account(UUID) - Method in class com.ericbouchut.learndev.admin.AccountAdminService
-
One account, or 404.
- AccountAdminService - Class in com.ericbouchut.learndev.admin
-
Account administration: create instructor accounts and archive or reactivate any account.
- AccountAdminService(UserRepository, RegistrationService, AuditService) - Constructor for class com.ericbouchut.learndev.admin.AccountAdminService
- AdminController - Class in com.ericbouchut.learndev.admin
-
Web endpoints of the administration area under
/admin/**(gated toROLE_ADMINby the security rules): the account list, instructor account creation, and account archiving. - AdminController(AccountAdminService, UserRepository, CourseRepository, InstructorCourseService) - Constructor for class com.ericbouchut.learndev.admin.AdminController
- allUsers() - Method in class com.ericbouchut.learndev.admin.AccountAdminService
-
Every account, for the admin user list.
- archive(Course, User, String) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Archive a DRAFT or PUBLISHED course (v1 has no destructive delete).
- archive(User, User, String) - Method in class com.ericbouchut.learndev.admin.AccountAdminService
-
Archive an account: the user can no longer log in.
- archiveAccount(UUID, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.admin.AdminController
-
Archive an account (PRG with an
archivedflag). - archiveCourse(Long, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Archive the course (PRG with an
archivedflag). - ARCHIVED - Enum constant in enum class com.ericbouchut.learndev.course.entity.PublicationStatus
- archiveLesson(Lesson, User, String) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Archive a DRAFT or PUBLISHED lesson.
- AuditLog - Class in com.ericbouchut.learndev.audit.entity
-
One security-relevant event (maps the
audit_logstable). - AuditLog() - Constructor for class com.ericbouchut.learndev.audit.entity.AuditLog
- AuditLogRepository - Interface in com.ericbouchut.learndev.audit.repository
- AuditService - Class in com.ericbouchut.learndev.audit
-
Minimal security audit trail: internal use only, no controller.
- AuditService(AuditLogRepository) - Constructor for class com.ericbouchut.learndev.audit.AuditService
- AuthController - Class in com.ericbouchut.learndev.auth
-
Web endpoints for authentication pages: home and login views, and the registration form (display and submission).
- AuthController(RegistrationService, EmailVerificationService) - Constructor for class com.ericbouchut.learndev.auth.AuthController
C
- CacheConfig - Class in com.ericbouchut.learndev.common.config
-
In-memory caching (Spring Cache over Caffeine), currently holding rendered lesson HTML (see ADR-0013 in docs/adr/).
- CacheConfig() - Constructor for class com.ericbouchut.learndev.common.config.CacheConfig
- cacheKey(String) - Static method in class com.ericbouchut.learndev.course.MarkdownRenderer
-
Cache key: SHA-256 of the source.
- cacheManager() - Method in class com.ericbouchut.learndev.common.config.CacheConfig
- catalogue() - Method in class com.ericbouchut.learndev.course.CourseService
-
The public catalogue: published courses only.
- catalogue(Principal, Model) - Method in class com.ericbouchut.learndev.course.CourseController
-
Display the catalogue of published courses, with the logged-in student's active enrollments marked.
- com.ericbouchut.learndev - package com.ericbouchut.learndev
- com.ericbouchut.learndev.admin - package com.ericbouchut.learndev.admin
- com.ericbouchut.learndev.audit - package com.ericbouchut.learndev.audit
- com.ericbouchut.learndev.audit.entity - package com.ericbouchut.learndev.audit.entity
- com.ericbouchut.learndev.audit.repository - package com.ericbouchut.learndev.audit.repository
- com.ericbouchut.learndev.auth - package com.ericbouchut.learndev.auth
- com.ericbouchut.learndev.auth.dto - package com.ericbouchut.learndev.auth.dto
- com.ericbouchut.learndev.auth.entity - package com.ericbouchut.learndev.auth.entity
- com.ericbouchut.learndev.auth.exception - package com.ericbouchut.learndev.auth.exception
- com.ericbouchut.learndev.auth.repository - package com.ericbouchut.learndev.auth.repository
- com.ericbouchut.learndev.common.config - package com.ericbouchut.learndev.common.config
- com.ericbouchut.learndev.course - package com.ericbouchut.learndev.course
- com.ericbouchut.learndev.course.dto - package com.ericbouchut.learndev.course.dto
- com.ericbouchut.learndev.course.entity - package com.ericbouchut.learndev.course.entity
- com.ericbouchut.learndev.course.repository - package com.ericbouchut.learndev.course.repository
- com.ericbouchut.learndev.legal - package com.ericbouchut.learndev.legal
- com.ericbouchut.learndev.role.entity - package com.ericbouchut.learndev.role.entity
- com.ericbouchut.learndev.role.repository - package com.ericbouchut.learndev.role.repository
- com.ericbouchut.learndev.user.entity - package com.ericbouchut.learndev.user.entity
- com.ericbouchut.learndev.user.repository - package com.ericbouchut.learndev.user.repository
- COMPLETED - Enum constant in enum class com.ericbouchut.learndev.course.entity.EnrollmentStatus
- contentMarkdown() - Method in record class com.ericbouchut.learndev.course.dto.LessonForm
-
Returns the value of the
contentMarkdownrecord component. - countByIpAddressAndExpiresAtAfter(String, OffsetDateTime) - Method in interface com.ericbouchut.learndev.auth.repository.PasswordResetTokenRepository
-
Same recency approximation, keyed by the requester's IP.
- countByUserAndExpiresAtAfter(User, OffsetDateTime) - Method in interface com.ericbouchut.learndev.auth.repository.PasswordResetTokenRepository
-
Requests made recently by this user.
- Course - Class in com.ericbouchut.learndev.course.entity
- Course() - Constructor for class com.ericbouchut.learndev.course.entity.Course
- CourseController - Class in com.ericbouchut.learndev.course
-
Web endpoints of the student course experience: the published course catalogue, the course detail page, and the enroll/drop actions.
- CourseController(CourseService, EnrollmentService, MarkdownRenderer, UserRepository) - Constructor for class com.ericbouchut.learndev.course.CourseController
- CourseForm - Record Class in com.ericbouchut.learndev.course.dto
-
Form-backing record for creating or editing a course (the description is optional; the column is TEXT, no length cap).
- CourseForm(String, String) - Constructor for record class com.ericbouchut.learndev.course.dto.CourseForm
-
Creates an instance of a
CourseFormrecord class. - courseList(Model) - Method in class com.ericbouchut.learndev.admin.AdminController
-
Display every course, any status, any instructor, with its lessons (content moderation view).
- CourseRepository - Interface in com.ericbouchut.learndev.course.repository
- CourseService - Class in com.ericbouchut.learndev.course
-
Read side of the course catalogue, applying the student visibility rule: a student sees
PUBLISHEDcourses; a student who is enrolled keeps read access to the course and its published lessons if the course is laterARCHIVED(content continuity);DRAFTcontent is never visible to students. - CourseService(CourseRepository, LessonRepository, EnrollmentRepository) - Constructor for class com.ericbouchut.learndev.course.CourseService
- create(User, CourseForm) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Create a new DRAFT course owned by the instructor.
- createCourse(CourseForm, BindingResult, Principal, Model) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Create a DRAFT course from the submitted form.
- createInstructor(RegisterForm, BindingResult, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.admin.AdminController
-
Create an instructor account.
- createInstructor(RegisterForm, User, String) - Method in class com.ericbouchut.learndev.admin.AccountAdminService
-
Create an
INSTRUCTORaccount (same uniqueness and hashing rules as self-registration, different seeded role). - createLesson(Course, LessonForm) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Create a DRAFT lesson at the end of the course (position max + 1).
- createLesson(Long, LessonForm, BindingResult, Principal, Model) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Create a DRAFT lesson at the end of the course.
- CustomUserDetailsService - Class in com.ericbouchut.learndev.auth
- CustomUserDetailsService(UserRepository) - Constructor for class com.ericbouchut.learndev.auth.CustomUserDetailsService
D
- dashboard(Principal, Model) - Method in class com.ericbouchut.learndev.course.DashboardController
-
Display the dashboard with the student's active enrollments (dropped ones are not listed; re-enrolling brings them back).
- DashboardController - Class in com.ericbouchut.learndev.course
-
Web endpoint of the student dashboard: the logged-in user's active courses with their enrollment status.
- DashboardController(EnrollmentService, UserRepository) - Constructor for class com.ericbouchut.learndev.course.DashboardController
- description() - Method in record class com.ericbouchut.learndev.course.dto.CourseForm
-
Returns the value of the
descriptionrecord component. - detail(Long, Principal, Model) - Method in class com.ericbouchut.learndev.course.CourseController
-
Display one course with its published lessons and the enroll or quit action matching the student's enrollment state.
- DRAFT - Enum constant in enum class com.ericbouchut.learndev.course.entity.PublicationStatus
- drop(User, Course) - Method in class com.ericbouchut.learndev.course.EnrollmentService
-
Drop the student from a course:
ENROLLEDorIN_PROGRESSbecomesDROPPEDwith a drop timestamp. - drop(Long, Principal) - Method in class com.ericbouchut.learndev.course.CourseController
-
Drop the student from the course, then redirect back to the course page with a
droppedconfirmation flag (PRG). - DROPPED - Enum constant in enum class com.ericbouchut.learndev.course.entity.EnrollmentStatus
- dropStudent(Course, User, User, String) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Remove a student from the course on the instructor's behalf.
- dropStudent(Long, UUID, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Remove a student from the course (PRG with a
droppedflag). - DuplicateEmailException - Exception Class in com.ericbouchut.learndev.auth.exception
-
Thrown when registration is attempted with an email that is already registered.
- DuplicateEmailException(String) - Constructor for exception class com.ericbouchut.learndev.auth.exception.DuplicateEmailException
- DuplicateUsernameException - Exception Class in com.ericbouchut.learndev.auth.exception
-
Thrown when registration is attempted with a username that already exists.
- DuplicateUsernameException(String) - Constructor for exception class com.ericbouchut.learndev.auth.exception.DuplicateUsernameException
E
- editCourseForm(Long, Principal, Model) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Display the edit form of one of the instructor's courses.
- editLessonForm(Long, Long, Principal, Model) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Display the edit form of one lesson.
- email() - Method in record class com.ericbouchut.learndev.auth.dto.ForgotPasswordForm
-
Returns the value of the
emailrecord component. - email() - Method in record class com.ericbouchut.learndev.auth.dto.RegisterForm
-
Returns the value of the
emailrecord component. - EmailToken - Class in com.ericbouchut.learndev.auth.entity
-
A single-use, expiring email-verification token (maps the
email_tokenstable). - EmailToken() - Constructor for class com.ericbouchut.learndev.auth.entity.EmailToken
- EmailTokenRepository - Interface in com.ericbouchut.learndev.auth.repository
- EmailVerificationController - Class in com.ericbouchut.learndev.auth
-
Web endpoints of the email verification flow: the emailed link lands on
GET /auth/verify(public, like the whole/authprefix), and a logged-in user can ask for a fresh link from the dashboard banner. - EmailVerificationController(EmailVerificationService, UserRepository) - Constructor for class com.ericbouchut.learndev.auth.EmailVerificationController
- EmailVerificationMailer - Class in com.ericbouchut.learndev.auth
-
Sends the email-verification message.
- EmailVerificationMailer(JavaMailSender, String, Duration) - Constructor for class com.ericbouchut.learndev.auth.EmailVerificationMailer
- EmailVerificationService - Class in com.ericbouchut.learndev.auth
-
Email verification: proves the registered address belongs to the user.
- EmailVerificationService(EmailTokenRepository, UserRepository, EmailVerificationMailer, AuditService, Duration) - Constructor for class com.ericbouchut.learndev.auth.EmailVerificationService
- enroll(User, Course) - Method in class com.ericbouchut.learndev.course.EnrollmentService
-
Enroll the student in a published course.
- enroll(Long, Principal) - Method in class com.ericbouchut.learndev.course.CourseController
-
Register the student in the course, then redirect back to the course page with an
enrolledconfirmation flag (PRG). - ENROLLED - Enum constant in enum class com.ericbouchut.learndev.course.entity.EnrollmentStatus
- Enrollment - Class in com.ericbouchut.learndev.course.entity
-
Join entity linking a student to a course they joined, with state of its own (status and transition timestamps), which is why the association is an entity rather than a bare
@ManyToManylike user_roles. - Enrollment(User, Course) - Constructor for class com.ericbouchut.learndev.course.entity.Enrollment
- enrollmentFor(User, Course) - Method in class com.ericbouchut.learndev.course.EnrollmentService
-
The enrollment of a student in a course, if any (dropped included).
- EnrollmentId - Class in com.ericbouchut.learndev.course.entity
-
Composite primary key of
Enrollment: the (user, course) pair IS the identity, so a student cannot enroll twice in the same course by construction. - EnrollmentId() - Constructor for class com.ericbouchut.learndev.course.entity.EnrollmentId
- EnrollmentRepository - Interface in com.ericbouchut.learndev.course.repository
- EnrollmentService - Class in com.ericbouchut.learndev.course
-
Student-side enrollment lifecycle (see the diagram in CONTRIBUTING.md).
- EnrollmentService(EnrollmentRepository) - Constructor for class com.ericbouchut.learndev.course.EnrollmentService
- EnrollmentStatus - Enum Class in com.ericbouchut.learndev.course.entity
-
Persisted states of the student course progress lifecycle (see the diagram in CONTRIBUTING.md).
- equals(Object) - Method in record class com.ericbouchut.learndev.auth.dto.ForgotPasswordForm
-
Indicates whether some other object is "equal to" this one.
- equals(Object) - Method in record class com.ericbouchut.learndev.auth.dto.RegisterForm
-
Indicates whether some other object is "equal to" this one.
- equals(Object) - Method in record class com.ericbouchut.learndev.auth.dto.ResetPasswordForm
-
Indicates whether some other object is "equal to" this one.
- equals(Object) - Method in record class com.ericbouchut.learndev.course.dto.CourseForm
-
Indicates whether some other object is "equal to" this one.
- equals(Object) - Method in record class com.ericbouchut.learndev.course.dto.LessonForm
-
Indicates whether some other object is "equal to" this one.
- existsByEmail(String) - Method in interface com.ericbouchut.learndev.user.repository.UserRepository
- existsByUsername(String) - Method in interface com.ericbouchut.learndev.user.repository.UserRepository
F
- filterChain(HttpSecurity) - Method in class com.ericbouchut.learndev.common.config.SecurityConfig
- findByCourse(Course) - Method in interface com.ericbouchut.learndev.course.repository.EnrollmentRepository
-
The roster of a course.
- findByCourseAndStatusOrderByPositionAsc(Course, PublicationStatus) - Method in interface com.ericbouchut.learndev.course.repository.LessonRepository
-
The lessons of a course in one status, in reading order.
- findByCourseOrderByPositionAsc(Course) - Method in interface com.ericbouchut.learndev.course.repository.LessonRepository
-
The lessons of a course in reading order (position ascending).
- findByEmail(String) - Method in interface com.ericbouchut.learndev.user.repository.UserRepository
- findByInstructor(User) - Method in interface com.ericbouchut.learndev.course.repository.CourseRepository
- findByRoleName(String) - Method in interface com.ericbouchut.learndev.role.repository.RoleRepository
- findByStatus(PublicationStatus) - Method in interface com.ericbouchut.learndev.course.repository.CourseRepository
-
The public catalogue lists
PUBLISHEDcourses only. - findByToken(String) - Method in interface com.ericbouchut.learndev.auth.repository.EmailTokenRepository
-
Lookup by SHA-256 hash (the raw token is never stored).
- findByToken(String) - Method in interface com.ericbouchut.learndev.auth.repository.PasswordResetTokenRepository
-
Lookup by the SHA-256 hash of the raw token.
- findByUser(User) - Method in interface com.ericbouchut.learndev.course.repository.EnrollmentRepository
-
A student's enrollments (their personal course list).
- findByUserAndCourse(User, Course) - Method in interface com.ericbouchut.learndev.course.repository.EnrollmentRepository
-
The single enrollment of a student in a course, if any.
- findByUserAndUsedAtIsNull(User) - Method in interface com.ericbouchut.learndev.auth.repository.EmailTokenRepository
-
The user's tokens that were never consumed (to invalidate on resend).
- findByUserAndUsedAtIsNull(User) - Method in interface com.ericbouchut.learndev.auth.repository.PasswordResetTokenRepository
-
Outstanding (not yet consumed) tokens of a user, for invalidation.
- findByUsername(String) - Method in interface com.ericbouchut.learndev.user.repository.UserRepository
-
Loads a user with their roles fetched in the same query.
- findUsableToken(String) - Method in class com.ericbouchut.learndev.auth.PasswordResetService
-
Returns the token entity when the raw token is valid (exists, not expired, not used).
- forgotPasswordForm(Model) - Method in class com.ericbouchut.learndev.auth.PasswordResetController
-
Display the "forgot password" request form.
- ForgotPasswordForm - Record Class in com.ericbouchut.learndev.auth.dto
-
Form backing the "forgot password" request page.
- ForgotPasswordForm(String) - Constructor for record class com.ericbouchut.learndev.auth.dto.ForgotPasswordForm
-
Creates an instance of a
ForgotPasswordFormrecord class.
H
- hashCode() - Method in record class com.ericbouchut.learndev.auth.dto.ForgotPasswordForm
-
Returns a hash code value for this object.
- hashCode() - Method in record class com.ericbouchut.learndev.auth.dto.RegisterForm
-
Returns a hash code value for this object.
- hashCode() - Method in record class com.ericbouchut.learndev.auth.dto.ResetPasswordForm
-
Returns a hash code value for this object.
- hashCode() - Method in record class com.ericbouchut.learndev.course.dto.CourseForm
-
Returns a hash code value for this object.
- hashCode() - Method in record class com.ericbouchut.learndev.course.dto.LessonForm
-
Returns a hash code value for this object.
- home() - Method in class com.ericbouchut.learndev.auth.AuthController
-
GET / Display the home page.
I
- IN_PROGRESS - Enum constant in enum class com.ericbouchut.learndev.course.entity.EnrollmentStatus
- InstructorCourseController - Class in com.ericbouchut.learndev.course
-
Web endpoints of the instructor authoring area under
/instructor/**(gated toROLE_INSTRUCTORby the security rules): the instructor's course list, the course create/edit forms, and the publication lifecycle actions. - InstructorCourseController(InstructorCourseService, UserRepository) - Constructor for class com.ericbouchut.learndev.course.InstructorCourseController
- InstructorCourseService - Class in com.ericbouchut.learndev.course
-
Write side of the course domain for instructors: authoring and the publication lifecycle of
CONTRIBUTING.md(publish from DRAFT, archive from DRAFT or PUBLISHED, restore an ARCHIVED item to DRAFT). - InstructorCourseService(CourseRepository, LessonRepository, EnrollmentRepository, EnrollmentService, AuditService) - Constructor for class com.ericbouchut.learndev.course.InstructorCourseService
- isUsable(OffsetDateTime) - Method in class com.ericbouchut.learndev.auth.entity.EmailToken
-
True when the token can still be consumed (not used, not expired).
- isUsable(OffsetDateTime) - Method in class com.ericbouchut.learndev.auth.entity.PasswordResetToken
-
True when the token can still be consumed (not used, not expired).
L
- LearnDevApplication - Class in com.ericbouchut.learndev
- LearnDevApplication() - Constructor for class com.ericbouchut.learndev.LearnDevApplication
- LegalController - Class in com.ericbouchut.learndev.legal
-
Web endpoints for the legal pages.
- LegalController() - Constructor for class com.ericbouchut.learndev.legal.LegalController
- lesson(Long, Long, Principal, Model) - Method in class com.ericbouchut.learndev.course.CourseController
-
Display one published lesson to an enrolled student, with the lesson Markdown rendered to sanitized HTML and previous/next links in reading order.
- Lesson - Class in com.ericbouchut.learndev.course.entity
-
An individual piece of content within a course, authored as Markdown (
content_markdown) and rendered to HTML at display time. - Lesson() - Constructor for class com.ericbouchut.learndev.course.entity.Lesson
- LessonForm - Record Class in com.ericbouchut.learndev.course.dto
-
Form-backing record for creating or editing a lesson.
- LessonForm(String, String) - Constructor for record class com.ericbouchut.learndev.course.dto.LessonForm
-
Creates an instance of a
LessonFormrecord class. - LessonRepository - Interface in com.ericbouchut.learndev.course.repository
- lessonsOf(Course) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
The lessons of the course in reading order, all statuses included.
- loadUserByUsername(String) - Method in class com.ericbouchut.learndev.auth.CustomUserDetailsService
- login() - Method in class com.ericbouchut.learndev.auth.AuthController
-
Display the login form.
- LoginAttemptListener - Class in com.ericbouchut.learndev.auth
-
Account lockout: counts consecutive failed logins per account and locks the account at the configured threshold (
learndev.lockout.max-attempts). - LoginAttemptListener(UserRepository, AuditService, int) - Constructor for class com.ericbouchut.learndev.auth.LoginAttemptListener
M
- main(String[]) - Static method in class com.ericbouchut.learndev.LearnDevApplication
- MarkdownRenderer - Class in com.ericbouchut.learndev.course
-
Converts lesson Markdown to HTML that is safe to serve.
- MarkdownRenderer() - Constructor for class com.ericbouchut.learndev.course.MarkdownRenderer
- moveLesson(Long, Long, String, Principal) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Move a lesson one step up or down in reading order (PRG).
- moveLessonDown(Course, Lesson) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Swap the lesson with the one after it in reading order (no-op at the bottom).
- moveLessonUp(Course, Lesson) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Swap the lesson with the one before it in reading order (no-op at the top).
- myCourses(User) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
The instructor's own courses, whatever their status.
- myCourses(Principal, Model) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Display the instructor's courses, all statuses included.
- myEnrollments(User) - Method in class com.ericbouchut.learndev.course.EnrollmentService
-
All enrollments of a student, dropped included (the dashboard filters).
N
- newCourseForm(Model) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Display the course creation form.
- newInstructorForm(Model) - Method in class com.ericbouchut.learndev.admin.AdminController
-
Display the instructor account creation form.
- newLessonForm(Long, Principal, Model) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Display the lesson creation form for one of the instructor's courses.
O
- onFailure(AuthenticationFailureBadCredentialsEvent) - Method in class com.ericbouchut.learndev.auth.LoginAttemptListener
-
Wrong password: count it, and lock the account at the threshold.
- onSuccess(AuthenticationSuccessEvent) - Method in class com.ericbouchut.learndev.auth.LoginAttemptListener
-
Successful login: reset the counter and stamp the login time.
- ownedCourse(Long, User) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
The course as manageable by the given instructor: 404 when it does not exist, 403 when it belongs to another instructor.
- ownedLesson(Course, Long) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
One lesson of the given course, whatever its status: 404 when the lesson does not exist or belongs to another course.
P
- password() - Method in record class com.ericbouchut.learndev.auth.dto.RegisterForm
-
Returns the value of the
passwordrecord component. - password() - Method in record class com.ericbouchut.learndev.auth.dto.ResetPasswordForm
-
Returns the value of the
passwordrecord component. - passwordEncoder() - Method in class com.ericbouchut.learndev.common.config.SecurityConfig
- PasswordResetController - Class in com.ericbouchut.learndev.auth
-
Web endpoints for the password-reset flow: the "forgot password" request page and the "reset password" page that consumes the emailed token.
- PasswordResetController(PasswordResetService) - Constructor for class com.ericbouchut.learndev.auth.PasswordResetController
- PasswordResetMailer - Class in com.ericbouchut.learndev.auth
-
Sends the password-reset email.
- PasswordResetMailer(JavaMailSender, String, Duration) - Constructor for class com.ericbouchut.learndev.auth.PasswordResetMailer
- PasswordResetService - Class in com.ericbouchut.learndev.auth
-
The password-reset ("forgot password") flow.
- PasswordResetService(UserRepository, PasswordResetTokenRepository, PasswordEncoder, PasswordResetMailer, AuditService, Duration, long, Duration) - Constructor for class com.ericbouchut.learndev.auth.PasswordResetService
- PasswordResetToken - Class in com.ericbouchut.learndev.auth.entity
-
A single-use, expiring password-reset token (maps the
reset_tokenstable). - PasswordResetToken() - Constructor for class com.ericbouchut.learndev.auth.entity.PasswordResetToken
- PasswordResetTokenRepository - Interface in com.ericbouchut.learndev.auth.repository
- privacy() - Method in class com.ericbouchut.learndev.legal.LegalController
-
Display the privacy policy page (in French, the language of the supervisory framework this policy addresses).
- PublicationStatus - Enum Class in com.ericbouchut.learndev.course.entity
-
Editorial lifecycle shared by courses and lessons (see the Course and Lesson lifecycle diagrams in CONTRIBUTING.md).
- publish(Course, User, String) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Publish a DRAFT course; the first publish stamps
published_at. - publishCourse(Long, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Publish the course (PRG with a
publishedflag). - PUBLISHED - Enum constant in enum class com.ericbouchut.learndev.course.entity.PublicationStatus
- publishedLesson(Course, Long) - Method in class com.ericbouchut.learndev.course.CourseService
-
One published lesson of the given course, or 404 when the lesson does not exist, is not published, or belongs to another course.
- publishedLessons(Course) - Method in class com.ericbouchut.learndev.course.CourseService
-
The lessons of a course a student may read, in reading order.
- publishLesson(Lesson, User, String) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Publish a DRAFT lesson.
R
- reactivate(User, User, String) - Method in class com.ericbouchut.learndev.admin.AccountAdminService
-
Reactivate an archived account: the user can log in again.
- reactivateAccount(UUID, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.admin.AdminController
-
Reactivate an account (PRG with a
reactivatedflag). - record(String, User, String, boolean, String) - Method in class com.ericbouchut.learndev.audit.AuditService
-
Records one audit event.
- register(RegisterForm, BindingResult, HttpServletRequest) - Method in class com.ericbouchut.learndev.auth.AuthController
-
Processes a submitted registration form.
- register(RegisterForm) - Method in class com.ericbouchut.learndev.auth.RegistrationService
-
Registers a new account with the default
STUDENTrole. - register(RegisterForm, String) - Method in class com.ericbouchut.learndev.auth.RegistrationService
-
Registers a new account with the given seeded role (self-registration uses
STUDENT; the admin area createsINSTRUCTORaccounts). - registerForm(Model) - Method in class com.ericbouchut.learndev.auth.AuthController
-
Display the User registration form.
- RegisterForm - Record Class in com.ericbouchut.learndev.auth.dto
-
RegisterFormholds the data submitted by a browser HTML form for user registration. - RegisterForm(String, String, String) - Constructor for record class com.ericbouchut.learndev.auth.dto.RegisterForm
-
Creates an instance of a
RegisterFormrecord class. - RegistrationService - Class in com.ericbouchut.learndev.auth
-
Creates new user accounts: enforces unique username and email, hashes the password, and assigns the default
STUDENTrole. - RegistrationService(UserRepository, RoleRepository, PasswordEncoder) - Constructor for class com.ericbouchut.learndev.auth.RegistrationService
- render(String) - Method in class com.ericbouchut.learndev.course.MarkdownRenderer
- RENDERED_MARKDOWN_CACHE - Static variable in class com.ericbouchut.learndev.common.config.CacheConfig
- requestReset(ForgotPasswordForm, BindingResult, HttpServletRequest) - Method in class com.ericbouchut.learndev.auth.PasswordResetController
-
Processes a "forgot password" request.
- requestReset(String, String, String) - Method in class com.ericbouchut.learndev.auth.PasswordResetService
-
Handles a "forgot password" request.
- resend(Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.auth.EmailVerificationController
-
Send a fresh verification link to the logged-in user (dashboard banner action).
- resetPassword(ResetPasswordForm, BindingResult, HttpServletRequest, Model) - Method in class com.ericbouchut.learndev.auth.PasswordResetController
-
Consumes the token and sets the new password.
- resetPassword(String, String, String) - Method in class com.ericbouchut.learndev.auth.PasswordResetService
-
Consumes the token and sets the new password.
- resetPasswordForm(String, Model) - Method in class com.ericbouchut.learndev.auth.PasswordResetController
-
Display the "reset password" form when the emailed token is valid; otherwise render the invalid-link state (expired, used, or unknown).
- ResetPasswordForm - Record Class in com.ericbouchut.learndev.auth.dto
-
Form backing the "reset password" page.
- ResetPasswordForm(String, String) - Constructor for record class com.ericbouchut.learndev.auth.dto.ResetPasswordForm
-
Creates an instance of a
ResetPasswordFormrecord class. - restore(Course, User, String) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Restore an ARCHIVED course to DRAFT ("re-open" in the lifecycle).
- restoreCourse(Long, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Restore an archived course to draft (PRG with a
restoredflag). - restoreLesson(Lesson, User, String) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Restore an ARCHIVED lesson to DRAFT.
- Role - Class in com.ericbouchut.learndev.role.entity
- Role() - Constructor for class com.ericbouchut.learndev.role.entity.Role
- RoleRepository - Interface in com.ericbouchut.learndev.role.repository
- roster(Course) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
The roster of a course: every enrollment, dropped ones included.
- roster(Long, Principal, Model) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Display the roster of the course: every enrollment with its status and lifecycle dates.
S
- SecurityConfig - Class in com.ericbouchut.learndev.common.config
- SecurityConfig() - Constructor for class com.ericbouchut.learndev.common.config.SecurityConfig
- sendResetEmail(String, String) - Method in class com.ericbouchut.learndev.auth.PasswordResetMailer
- sendVerification(User, String, String) - Method in class com.ericbouchut.learndev.auth.EmailVerificationService
-
Issue a fresh token for the user (invalidating any open one) and email the verification link.
- sendVerificationEmail(String, String) - Method in class com.ericbouchut.learndev.auth.EmailVerificationMailer
T
- title() - Method in record class com.ericbouchut.learndev.course.dto.CourseForm
-
Returns the value of the
titlerecord component. - title() - Method in record class com.ericbouchut.learndev.course.dto.LessonForm
-
Returns the value of the
titlerecord component. - token() - Method in record class com.ericbouchut.learndev.auth.dto.ResetPasswordForm
-
Returns the value of the
tokenrecord component. - toString() - Method in record class com.ericbouchut.learndev.auth.dto.ForgotPasswordForm
-
Returns a string representation of this record class.
- toString() - Method in record class com.ericbouchut.learndev.auth.dto.RegisterForm
-
Returns a string representation of this record class.
- toString() - Method in record class com.ericbouchut.learndev.auth.dto.ResetPasswordForm
-
Returns a string representation of this record class.
- toString() - Method in record class com.ericbouchut.learndev.course.dto.CourseForm
-
Returns a string representation of this record class.
- toString() - Method in record class com.ericbouchut.learndev.course.dto.LessonForm
-
Returns a string representation of this record class.
- transitionCourse(Long, String, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.admin.AdminController
-
Archive or restore any course, bypassing the instructor ownership rule (the lifecycle guards still apply).
- transitionLesson(Long, Long, String, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.admin.AdminController
-
Archive or restore any lesson of a course, bypassing the instructor ownership rule.
- transitionLesson(Long, Long, String, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Publish, archive, or restore a lesson (PRG back to the course editor).
U
- unlock(User) - Static method in class com.ericbouchut.learndev.auth.LoginAttemptListener
-
Clear the lock and the counter (admin unlock, password reset).
- unlock(User, User, String) - Method in class com.ericbouchut.learndev.admin.AccountAdminService
-
Unlock an account locked by failed logins and reset its counter.
- unlockAccount(UUID, Principal, HttpServletRequest) - Method in class com.ericbouchut.learndev.admin.AdminController
-
Unlock an account locked by failed logins (PRG with an
unlockedflag). - update(Course, CourseForm) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Update the title and description of the instructor's course.
- updateCourse(Long, CourseForm, BindingResult, Principal, Model) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Update the course from the submitted form.
- updateLesson(Lesson, LessonForm) - Method in class com.ericbouchut.learndev.course.InstructorCourseService
-
Update the title and Markdown content of a lesson.
- updateLesson(Long, Long, LessonForm, BindingResult, Principal, Model) - Method in class com.ericbouchut.learndev.course.InstructorCourseController
-
Update the lesson from the submitted form.
- User - Class in com.ericbouchut.learndev.user.entity
- User() - Constructor for class com.ericbouchut.learndev.user.entity.User
- userList(Model) - Method in class com.ericbouchut.learndev.admin.AdminController
-
Display every account with its roles and active flag.
- username() - Method in record class com.ericbouchut.learndev.auth.dto.RegisterForm
-
Returns the value of the
usernamerecord component. - UserRepository - Interface in com.ericbouchut.learndev.user.repository
V
- valueOf(String) - Static method in enum class com.ericbouchut.learndev.course.entity.EnrollmentStatus
-
Returns the enum constant of this class with the specified name.
- valueOf(String) - Static method in enum class com.ericbouchut.learndev.course.entity.PublicationStatus
-
Returns the enum constant of this class with the specified name.
- values() - Static method in enum class com.ericbouchut.learndev.course.entity.EnrollmentStatus
-
Returns an array containing the constants of this enum class, in the order they are declared.
- values() - Static method in enum class com.ericbouchut.learndev.course.entity.PublicationStatus
-
Returns an array containing the constants of this enum class, in the order they are declared.
- verify(String, HttpServletRequest) - Method in class com.ericbouchut.learndev.auth.EmailVerificationController
-
Consume the emailed verification link.
- verify(String, String) - Method in class com.ericbouchut.learndev.auth.EmailVerificationService
-
Consume a verification token: marks the user verified and burns the token.
- visibleCourse(Long, User) - Method in class com.ericbouchut.learndev.course.CourseService
-
The course as visible to the given student, or 404 when the course does not exist or the visibility rule (see class Javadoc) hides it.
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form