Skip to content

Commit

Permalink
Merge branch 'refs/heads/main' into DEAR-131
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/main/java/ch/fhnw/deardevbackend/repositories/SprintConfigRepository.java
#	src/main/java/ch/fhnw/deardevbackend/repositories/WorkKindSurveyRepository.java
  • Loading branch information
baurnick committed Aug 6, 2024
2 parents e62897a + 27cfd01 commit f618ca0
Show file tree
Hide file tree
Showing 23 changed files with 902 additions and 861 deletions.
1 change: 1 addition & 0 deletions database/01_init.sql
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ CREATE TABLE users
email VARCHAR(255),
"emailVerified" TIMESTAMPTZ,
image TEXT,
github_user_name VARCHAR(255),

PRIMARY KEY (id)
);
Expand Down
357 changes: 179 additions & 178 deletions database/03_test__survey_data.sql

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ public class InsightsController {
private InsightsService insightsService;


@GetMapping("/{userId}/team/{teamId}/sprint/{sprint}")
@GetMapping("/{userId}/team/{teamId}/sprint/{sprintId}")
public ResponseEntity<InsightDTO> getInsightsByTeamAndSprint(@PathVariable Integer userId,
@PathVariable Integer teamId,
@PathVariable String sprint) {
InsightDTO insights = insightsService.getInsightsByTeamAndSprint(userId, teamId, sprint);
@PathVariable Integer sprintId) {
InsightDTO insights = insightsService.getInsightsByTeamAndSprint(userId, teamId, sprintId);
return ResponseEntity.ok(insights);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@

import ch.fhnw.deardevbackend.controller.exceptions.ErrorResponse;
import ch.fhnw.deardevbackend.controller.exceptions.YappiException;
import ch.fhnw.deardevbackend.dto.CreateTeamDTO;
import ch.fhnw.deardevbackend.dto.JoinTeamDTO;
import ch.fhnw.deardevbackend.dto.TeamAndRoleDTO;
import ch.fhnw.deardevbackend.dto.TeamConfigDTO;
import ch.fhnw.deardevbackend.dto.*;
import ch.fhnw.deardevbackend.entities.Team;
import ch.fhnw.deardevbackend.services.TeamService;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down Expand Up @@ -54,4 +51,10 @@ public ResponseEntity<Team> joinTeam(@RequestBody JoinTeamDTO request) {
public ResponseEntity<ErrorResponse> handleYappiException(YappiException ex) {
return ResponseEntity.badRequest().body(new ErrorResponse(ex.getMessage()));
}

@GetMapping("/user/{userId}/sprints")
public ResponseEntity<List<TeamWithSprintsDTO>> getTeamsAndSprintsForUser(@PathVariable Integer userId) {
List<TeamWithSprintsDTO> teamsWithSprints = teamService.getTeamsAndSprintsForUser(userId);
return ResponseEntity.ok(teamsWithSprints);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,6 @@ public ResponseEntity<UserAndProviderDTO> getUserByProviderById(@PathVariable In

@PutMapping("user/update")
public void updateUser(@RequestBody UserDTO request) {
userService.updateUser(request.getId(), request.getUsername());
userService.updateUser(request.getId(), request.getUsername(), request.getGithubUserName());
}
}
15 changes: 15 additions & 0 deletions src/main/java/ch/fhnw/deardevbackend/dto/SprintDTO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package ch.fhnw.deardevbackend.dto;

import lombok.Data;

import java.time.LocalDate;

@Data
public class SprintDTO {
private Integer id;
private String sprintName;
private String sprintGoal;
private LocalDate startDate;
private LocalDate endDate;
private String status;
}
12 changes: 12 additions & 0 deletions src/main/java/ch/fhnw/deardevbackend/dto/TeamWithSprintsDTO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package ch.fhnw.deardevbackend.dto;

import lombok.Data;

import java.util.List;

@Data
public class TeamWithSprintsDTO {
private Integer id;
private String name;
private List<SprintDTO> sprints;
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ public class UserAndProviderDTO {
private String email;
private String provider;
private String username;
private String githubUserName;
}
1 change: 1 addition & 0 deletions src/main/java/ch/fhnw/deardevbackend/dto/UserDTO.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ public class UserDTO {
private String loginProvider;
private String username;
private Boolean hasTeam;
private String githubUserName;
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
@AllArgsConstructor
public class HappinessInsightDTO {
private String day;
private Double userAverage;
private Double teamAverage;
private Integer userAverage;
private Integer teamAverage;
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
@AllArgsConstructor
public class WorkKindCountPerDayInsightDTO {
private Integer workKindCount;
private Double userAverageHappiness;
private Double teamAverageHappiness;
private Integer userAverageHappiness;
private Integer teamAverageHappiness;
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
public class WorkKindInsightDTO {
private Integer workKindId;
private String workKindName;
private Double userAverage;
private Long userCount;
private Double teamAverage;
private Long teamCount;
private Integer userAverage;
private Integer userCount;
private Integer teamAverage;
private Integer teamCount;
}
1 change: 1 addition & 0 deletions src/main/java/ch/fhnw/deardevbackend/entities/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,5 @@ public class User {
private String username;
private String email;
private String image;
private String githubUserName;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package ch.fhnw.deardevbackend.mapper;

import ch.fhnw.deardevbackend.dto.SprintDTO;
import ch.fhnw.deardevbackend.dto.TeamWithSprintsDTO;
import ch.fhnw.deardevbackend.entities.SprintConfig;
import ch.fhnw.deardevbackend.entities.Team;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface TeamWithSprintsMapper {
TeamWithSprintsMapper INSTANCE = Mappers.getMapper(TeamWithSprintsMapper.class);

TeamWithSprintsDTO toDto(Team team, List<SprintDTO> sprints);

List<SprintDTO> toSprintDtoList(List<SprintConfig> sprints);
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@ public interface UserMapper {
@Mapping(source = "user.username", target = "username")
@Mapping(source = "provider", target = "loginProvider")
@Mapping(source = "hasTeam", target = "hasTeam")
@Mapping(source = "user.githubUserName", target = "githubUserName")
UserDTO toDto(User user, String provider, Boolean hasTeam);
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@ public interface WorkKindInsightMapper {
@Mapping(source = "userCount", target = "userCount")
@Mapping(source = "teamAverage", target = "teamAverage")
@Mapping(source = "teamCount", target = "teamCount")
WorkKindInsightDTO toDTO(Integer workKindId, String workKindName, Double userAverage, Long userCount, Double teamAverage, Long teamCount);
WorkKindInsightDTO toDTO(Integer workKindId, String workKindName, Integer userAverage, Integer userCount, Integer teamAverage, Integer teamCount);

@Mapping(source = "workKindId", target = "workKindId")
@Mapping(source = "workKindName", target = "workKindName")
@Mapping(source = "userAverage", target = "userAverage")
@Mapping(source = "userCount", target = "userCount")
WorkKindInsightDTO toUserDTO(Integer workKindId, String workKindName, Double userAverage, Long userCount);
WorkKindInsightDTO toUserDTO(Integer workKindId, String workKindName, Integer userAverage, Integer userCount);

@Mapping(source = "workKindId", target = "workKindId")
@Mapping(source = "workKindName", target = "workKindName")
@Mapping(source = "teamAverage", target = "teamAverage")
@Mapping(source = "teamCount", target = "teamCount")
WorkKindInsightDTO toTeamDTO(Integer workKindId, String workKindName, Double teamAverage, Long teamCount);
WorkKindInsightDTO toTeamDTO(Integer workKindId, String workKindName, Integer teamAverage, Integer teamCount);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

Expand Down Expand Up @@ -37,4 +38,10 @@ List<Object[]> findDailyAveragesByUserIdAndDateRange(@Param("userId") Integer us
@Param("startDate") LocalDateTime startDate,
@Param("endDate") LocalDateTime endDate);



@Query("SELECT AVG(h.score) FROM HappinessSurvey h WHERE h.userId = :userId AND DATE(h.submitted) = :date")
Double findAverageScoreByUserIdAndDate(Integer userId, LocalDate date);


}
Loading

0 comments on commit f618ca0

Please sign in to comment.