Skip to content
Snippets Groups Projects
Commit 52e60278 authored by Martin Gargalovič's avatar Martin Gargalovič
Browse files

created facade and implemented functions for controller

parent 117de3af
No related branches found
No related tags found
3 merge requests!31M2,!28M2 user,!27Draft: M2 user
package org.fuseri.modulelanguageschool.user;
import org.fuseri.model.dto.common.Result;
import org.fuseri.model.dto.user.UserAddLanguageDto;
import org.fuseri.model.dto.user.UserCreateDto;
import org.fuseri.model.dto.user.UserDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class UserFacade {
private final UserMapper mapper;
private final UserService service;
@Autowired
public UserFacade(UserMapper mapper, UserService service) {
this.mapper = mapper;
this.service = service;
}
public UserDto find(Long id) {
return mapper.toDto(service.find(id));
}
public UserDto create(UserCreateDto dto) {
var user = mapper.fromCreateDto(dto);
return mapper.toDto(service.create(user));
}
public void delete(Long id) {
service.delete(id);
}
public UserDto update(Long id, UserCreateDto dto) {
var user = mapper.fromCreateDto(dto);
user.setId(id);
var result = service.update(user);
return mapper.toDto(result);
}
public Result<UserDto> findAll(int page) {
return mapper.toResult(service.findAll(page));
}
public UserDto addLanguage(Long id, UserAddLanguageDto body) {
var user = service.find(id);
var languages = user.getLanguages();
var proficiencies = user.getProficiencyLevels();
var language = body.getLanguage();
var level = body.getProficiency();
languages.add(language);
proficiencies.add(level);
user.setLanguages(languages);
user.setProficiencyLevels(proficiencies);
return mapper.toDto(service.update(user));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment