Class ModuleService


  • @Service
    public class ModuleService
    extends java.lang.Object
    • Constructor Detail

      • ModuleService

        public ModuleService()
    • Method Detail

      • getCourses

        @PreAuthorize("hasAnyRole(\'ROLE_ASSIGN_MODULES\',\'ROLE_MANAGE_MODULES\',\'ROLE_DISPLAY_MODULES\')")
        public java.util.List<CourseDto> getCourses()
      • getReleasedModules

        @PreAuthorize("hasAnyRole(\'ROLE_ASSIGN_MODULES\',\'ROLE_MANAGE_MODULES\',\'ROLE_DISPLAY_MODULES\')")
        public java.util.List<ModuleSimpleDto> getReleasedModules()
        Get modules from released course.
        Returns:
        released modules
      • createModule

        @Transactional
        @PreAuthorize("hasRole(\'ROLE_MANAGE_MODULES\')")
        public ModuleDto createModule​(ModuleDto moduleDto)
        Create new Module.
        Parameters:
        moduleDto - DTO of Module to be created
        Returns:
        Created Module
      • updateModule

        @PreAuthorize("hasRole(\'ROLE_MANAGE_MODULES\')")
        public ModuleDto updateModule​(java.util.UUID id,
                                      ModuleDto moduleDto)
        Update existing Module.
        Parameters:
        id - id of Module to be updated
        moduleDto - Module DTO
        Returns:
        updated Module
      • copyModule

        @PreAuthorize("hasRole(\'ROLE_MANAGE_MODULES\')")
        public ModuleDto copyModule​(java.util.UUID id)
        Copy Module as a new draft.
        Parameters:
        id - id of module to be copied
        Returns:
        copied module draft
      • createCourse

        @Transactional
        @PreAuthorize("hasRole(\'ROLE_MANAGE_MODULES\')")
        public CourseDto createCourse()
        Create new Course.
        Returns:
        Created Course
      • updateCourse

        @PreAuthorize("hasRole(\'ROLE_MANAGE_MODULES\')")
        public CourseDto updateCourse​(java.util.UUID id,
                                      CourseDto courseDto)
        Update existing Course.
        Parameters:
        id - id of Course to be updated
        courseDto - Course DTO
        Returns:
        updated Course
      • releaseCourse

        @PreAuthorize("hasRole(\'ROLE_MANAGE_MODULES\')")
        public CourseDto releaseCourse​(Course course)
        Release Course. First unassign old modules, then update the module progress and update ivr main menu tree IvrConfigService.updateMainMenuTreeId(java.lang.String).
        Parameters:
        course - Course to be released
        Returns:
        released course dto
      • findCourseById

        public Course findCourseById​(java.util.UUID id)
      • findReleasedCourseModuleByModuleId

        public CourseModule findReleasedCourseModuleByModuleId​(java.util.UUID id)
        Find released Course Module for Module with given Id.
        Parameters:
        id - id of related Module
        Returns:
        Course Module with given Module
      • getReleasedCourse

        public Course getReleasedCourse()
        Get released Course.
        Returns:
        Course with released status
        Throws:
        EntityNotFoundException - if course is not found.