diff --git a/demo/data.mv.db b/demo/data.mv.db index ee9885e..c68dd5a 100644 Binary files a/demo/data.mv.db and b/demo/data.mv.db differ diff --git a/demo/gradle/wrapper/gradle-wrapper.jar b/demo/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index d64cd49..0000000 Binary files a/demo/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/demo/gradle/wrapper/gradle-wrapper.properties b/demo/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 1af9e09..0000000 --- a/demo/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/demo/src/main/java/com/example/demo/DemoApplication.java b/demo/src/main/java/com/example/demo/DemoApplication.java index 9faf07f..7e63d31 100644 --- a/demo/src/main/java/com/example/demo/DemoApplication.java +++ b/demo/src/main/java/com/example/demo/DemoApplication.java @@ -9,6 +9,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import com.example.demo.users.model.UserEntity; +import com.example.demo.users.model.UserRole; import com.example.demo.users.service.UserService; import com.example.demo.groups.model.GroupEntity; import com.example.demo.groups.service.GroupService; @@ -41,6 +42,9 @@ public class DemoApplication implements CommandLineRunner { final var user1 = userService.create(new UserEntity("Oleja123", "1234")); final var user2 = userService.create(new UserEntity("Vk1d2004", "4321")); + final var admin = new UserEntity("admin", "admin"); + admin.setRole(UserRole.ADMIN); + userService.create(admin); log.info("Create default groups values"); diff --git a/demo/src/main/java/com/example/demo/members/api/MemberController.java b/demo/src/main/java/com/example/demo/members/api/MemberController.java index 7256bf8..280f167 100644 --- a/demo/src/main/java/com/example/demo/members/api/MemberController.java +++ b/demo/src/main/java/com/example/demo/members/api/MemberController.java @@ -72,8 +72,12 @@ public class MemberController { } @GetMapping("/getmemberstopgroup") - public String getMembersTopGroup(@RequestParam(name = "group", defaultValue = "0") Long groupId, Model model) { - model.addAttribute(MEMBERS_TOP_ATTRIBUTE, memberService.getMembersTopGroup(5, groupId).stream().map(this::toDto).toList()); + public String getMembersTopGroup(@PathVariable(name = "group") Long groupId, Model model) { + List lst = memberService.getMembersTopGroup(5, groupId).stream().map(this::toDto).toList(); + final Map attributes = PageAttributesMapper.toAttributes( + memberService.getMembersTopGroup(5, groupId), this::toDto); + model.addAllAttributes(attributes); + model.addAttribute(GROUP_ATTRIBUTE, groupId); return MEMBERS_TOP_VIEW; } @GetMapping diff --git a/demo/src/main/java/com/example/demo/members/service/MemberService.java b/demo/src/main/java/com/example/demo/members/service/MemberService.java index 44c0022..3755b93 100644 --- a/demo/src/main/java/com/example/demo/members/service/MemberService.java +++ b/demo/src/main/java/com/example/demo/members/service/MemberService.java @@ -56,9 +56,9 @@ public class MemberService { } @Transactional(readOnly = true) - public List getMembersTopGroup(int top, long groupId) { + public Page getMembersTopGroup(int top, long groupId) { final Pageable pageRequest = PageRequest.of(0, top); - return repository.getMembersTopGroup(groupId, pageRequest).getContent(); + return repository.getMembersTopGroup(groupId, pageRequest); } diff --git a/demo/src/main/resources/public/favicon.svg b/demo/src/main/resources/public/favicon.svg index 7bb5f94..f52fb39 100644 --- a/demo/src/main/resources/public/favicon.svg +++ b/demo/src/main/resources/public/favicon.svg @@ -1,15 +1,10 @@ - - - - - - - - + + + + + + + + + diff --git a/demo/src/main/resources/templates/error.html b/demo/src/main/resources/templates/error.html new file mode 100644 index 0000000..faa6b0a --- /dev/null +++ b/demo/src/main/resources/templates/error.html @@ -0,0 +1,37 @@ + + + + + Ошибка + + + +
+
    + +
  • + Неизвестная ошибка +
  • +
    + +
  • + Ошибка: [[${message}]] +
  • +
    + +
  • + Адрес: [[${url}]] +
  • +
  • + Класс исключения: [[${exception}]] +
  • +
  • + [[${method}]] ([[${file}]]:[[${line}]]) +
  • +
    +
+ На главную +
+ + + \ No newline at end of file diff --git a/demo/src/main/resources/templates/members-top.html b/demo/src/main/resources/templates/members-top.html new file mode 100644 index 0000000..1ab2024 --- /dev/null +++ b/demo/src/main/resources/templates/members-top.html @@ -0,0 +1,42 @@ + + + + + Лучшие ученики группы + + + +
+

Лучшие ученики группы

+ + +

Данные отсутствуют

+ + + + + + + + + + + + + + + + + + + + + +
IDИмя участникаХэндлРейтингЗвание
+
+
+ + + \ No newline at end of file diff --git a/demo/src/main/resources/templates/members.html b/demo/src/main/resources/templates/members.html index 927ba90..4118b9e 100644 --- a/demo/src/main/resources/templates/members.html +++ b/demo/src/main/resources/templates/members.html @@ -8,6 +8,9 @@

Участники группы

+ diff --git a/demo/src/main/resources/templates/user-edit.html b/demo/src/main/resources/templates/user-edit.html new file mode 100644 index 0000000..659be54 --- /dev/null +++ b/demo/src/main/resources/templates/user-edit.html @@ -0,0 +1,29 @@ + + + + + Редакторовать пользователя + + + +
+
+
+ + +
+
+ + +
+
+
+ + Отмена +
+
+
+ + + \ No newline at end of file diff --git a/demo/src/main/resources/templates/users.html b/demo/src/main/resources/templates/users.html new file mode 100644 index 0000000..cce1336 --- /dev/null +++ b/demo/src/main/resources/templates/users.html @@ -0,0 +1,56 @@ + + + + + Пользователи + + + +
+ +

Данные отсутствуют

+ +

Пользователи

+ + + + + + + + + + + + + + + + + + + +
IDИмя пользователя
+
+ + +
+
+
+ + +
+
+
+ + +
+ + + \ No newline at end of file