source: backend/src/main/java/mk/finki/roomreservation/service/UserService.java@ 09e02d7

Last change on this file since 09e02d7 was 09e02d7, checked in by Nikola Sarafimov <sarafimov.nikola12345@…>, 3 days ago

Final room reservation system implementation

  • Property mode set to 100644
File size: 1.8 KB
Line 
1package mk.finki.roomreservation.service;
2
3import mk.finki.roomreservation.model.UserOption;
4import org.springframework.jdbc.core.JdbcTemplate;
5import org.springframework.stereotype.Service;
6
7import java.util.List;
8
9@Service
10public class UserService {
11
12 private final JdbcTemplate jdbcTemplate;
13
14 public UserService(JdbcTemplate jdbcTemplate) {
15 this.jdbcTemplate = jdbcTemplate;
16 }
17
18 public List<UserOption> findAllUsers() {
19 String sql = """
20 SELECT
21 user_id,
22 username,
23 email,
24 full_name,
25 role
26 FROM project.users
27 ORDER BY user_id
28 """;
29
30 return jdbcTemplate.query(sql, (rs, rowNum) ->
31 new UserOption(
32 rs.getInt("user_id"),
33 rs.getString("username"),
34 rs.getString("email"),
35 rs.getString("full_name"),
36 rs.getString("role")
37 )
38 );
39 }
40
41 public List<UserOption> findApprovers() {
42 String sql = """
43 SELECT
44 user_id,
45 username,
46 email,
47 full_name,
48 role
49 FROM project.users
50 WHERE role IN ('admin', 'approver')
51 ORDER BY user_id
52 """;
53
54 return jdbcTemplate.query(sql, (rs, rowNum) ->
55 new UserOption(
56 rs.getInt("user_id"),
57 rs.getString("username"),
58 rs.getString("email"),
59 rs.getString("full_name"),
60 rs.getString("role")
61 )
62 );
63 }
64}
Note: See TracBrowser for help on using the repository browser.