Class TranslationController


  • @RestController
    @RequestMapping("/translations")
    public class TranslationController
    extends Object
    Class represents rest controller which is responsible for translations operations
    • Constructor Detail

      • TranslationController

        public TranslationController()
    • Method Detail

      • getSequences

        @GetMapping("/sequences")
        public List<TranslationSequenceVM> getSequences​(User user)
        Gets the translation sequences of logged in user
        Parameters:
        user - logged in user
        Returns:
        translation sequences
      • deleteSequence

        @DeleteMapping("/sequences/{exhibitId}/{languageId}")
        public GenericResponse deleteSequence​(@PathVariable
                                              Long exhibitId,
                                              @PathVariable
                                              Long languageId,
                                              User user)
        Deletes all user's translations for given pair exhibit-language
        Parameters:
        exhibitId - selected exhibit
        languageId - selected language
        user - logged in user
        Returns:
        message containing whether operation was processed
      • getSequence

        @GetMapping("/sequence/{exhibitId}/{languageId}")
        public List<TranslationVM> getSequence​(@PathVariable
                                               Long exhibitId,
                                               @PathVariable
                                               Long languageId,
                                               User user)
        Gets translation sequence for given exhibit and language
        Parameters:
        exhibitId - exhibit id
        languageId - language id
        user - logged in user
        Returns:
        translation sequence for given exhibit and language
      • rollback

        @DeleteMapping("/sequence/{translationId}")
        public GenericResponse rollback​(@PathVariable
                                        Long translationId,
                                        User user)
        Deletes every translation for given user-exhibit-language that was created after this translation
        Parameters:
        translationId - translation id
        user - logged in user
        Returns:
        message containing whether operation was processed
      • getNewTranslation

        @GetMapping("/new/{exhibitId}/{languageId}")
        public NewTranslationVM getNewTranslation​(@PathVariable
                                                  Long exhibitId,
                                                  @PathVariable
                                                  Long languageId,
                                                  User user)
        Gets the information for translation to given language and for given exhibit
        Parameters:
        exhibitId - translated exhibit id
        languageId - translation language id
        user - logged in user
        Returns:
        new translation VM
      • saveNewTranslation

        @PostMapping("/new/{exhibitId}/{languageId}")
        @ResponseStatus(CREATED)
        public GenericResponse saveNewTranslation​(@PathVariable
                                                  Long exhibitId,
                                                  @PathVariable
                                                  Long languageId,
                                                  @Valid @RequestBody
                                                  @Valid Translation newTranslation,
                                                  User user)
        Saves new translation
        Parameters:
        exhibitId - exhibit id
        languageId - language id
        newTranslation - translation to save
        user - logged in user
        Returns:
        message containing whether operation was processed
      • getRateOverview

        @GetMapping("/rate/{exhibitId}/{languageId}")
        public RateTranslationsVM getRateOverview​(@PathVariable
                                                  Long exhibitId,
                                                  @PathVariable
                                                  Long languageId,
                                                  User user)
        Gets the translation overview for rating
        Parameters:
        exhibitId - exhibit id
        languageId - language id
        user - logged in user
        Returns:
        translation overview for rating
      • setTranslationOfficial

        @PutMapping("/official/{translationId}")
        public GenericResponse setTranslationOfficial​(@Valid @RequestBody
                                                      @Valid BooleanValVM booleanValVM,
                                                      @PathVariable
                                                      Long translationId,
                                                      User user)
        Set translation official or unofficial based on given value
        Parameters:
        booleanValVM - value if is official
        translationId - translation id
        user - logged in user
        Returns:
        message containing whether operation was processed
      • getOfficialTranslation

        @GetMapping("/official/{exhibitId}/{languageCode}")
        public TranslationVM getOfficialTranslation​(@PathVariable
                                                    Long exhibitId,
                                                    @PathVariable
                                                    String languageCode)
        Gets official translation for given exhibit and language
        Parameters:
        exhibitId - exhibit id
        languageCode - language code
        Returns:
        official translation for given exhibit and language
      • setLike

        @PutMapping("/like/{translationId}")
        public GenericResponse setLike​(@Valid @RequestBody
                                       @Valid BooleanValVM booleanValVM,
                                       @PathVariable
                                       Long translationId,
                                       User user)
        Set like or dislike from logged in user to given translation
        Parameters:
        booleanValVM - like
        translationId - translation id
        user - logged in user
        Returns:
        message containing whether operation was processed