From 3b3fc08c188d11562e4342287c1efb5e3da0bfce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Gargalovi=C4=8D?= <xgargal@fi.muni.cz>
Date: Wed, 12 Apr 2023 22:00:14 +0200
Subject: [PATCH] implemented get enrolled and finished

---
 .../modulelanguageschool/user/UserFacade.java | 29 ++++++++++++++-----
 1 file changed, 21 insertions(+), 8 deletions(-)

diff --git a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserFacade.java b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserFacade.java
index 50298d38..e00abc64 100644
--- a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserFacade.java
+++ b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserFacade.java
@@ -1,24 +1,31 @@
 package org.fuseri.modulelanguageschool.user;
 
 import org.fuseri.model.dto.common.Result;
+import org.fuseri.model.dto.course.CourseDto;
 import org.fuseri.model.dto.user.UserAddLanguageDto;
 import org.fuseri.model.dto.user.UserCreateDto;
 import org.fuseri.model.dto.user.UserDto;
+import org.fuseri.modulelanguageschool.course.CourseMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 @Service
 @Transactional
 public class UserFacade {
 
     private final UserMapper mapper;
 
+    private final CourseMapper courseMapper;
     private final UserService service;
 
     @Autowired
-    public UserFacade(UserMapper mapper, UserService service) {
+    public UserFacade(UserMapper mapper, CourseMapper courseMapper, UserService service) {
         this.mapper = mapper;
+        this.courseMapper = courseMapper;
         this.service = service;
     }
 
@@ -50,14 +57,20 @@ public class UserFacade {
 
     public UserDto addLanguage(Long id, UserAddLanguageDto body) {
         var user = service.find(id);
-        var languages = user.getLanguages();
-        var proficiencies = user.getProficiencyLevels();
+        var languages = user.getLanguageProficiency();
         var language = body.getLanguage();
-        var level = body.getProficiency();
-        languages.add(language);
-        proficiencies.add(level);
-        user.setLanguages(languages);
-        user.setProficiencyLevels(proficiencies);
+
+        languages.put(language,body.getProficiency());
+        user.setLanguageProficiency(languages);
         return mapper.toDto(service.update(user));
     }
+
+    public List<CourseDto> getEnrolled(Long id) {
+        return service.getEnrolled(id).stream().map(x->courseMapper.mapToDto(x)).collect(Collectors.toList());
+    }
+
+    public List<CourseDto> getFinished(Long id) {
+        return service.getFinished(id).stream().map(x->courseMapper.mapToDto(x)).collect(Collectors.toList());
+    }
+
 }
-- 
GitLab