Skip to content

Commit 3fbe561

Browse files
committed
2024-10-21 - feedback - external reviewer - serverl-side
1 parent 75895e8 commit 3fbe561

File tree

7 files changed

+63
-26
lines changed

7 files changed

+63
-26
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.objectcomputing.checkins.services.feedback_external_recipient;
2+
3+
import jakarta.inject.Singleton;
4+
5+
import java.util.List;
6+
import java.util.UUID;
7+
8+
@Singleton
9+
public class FeedbackExternalRecipientServicesImpl implements FeedbackExternalRecipientServices {
10+
@Override
11+
public FeedbackExternalRecipient save(FeedbackExternalRecipient feedbackExternalRecipient) {
12+
return null;
13+
}
14+
15+
@Override
16+
public FeedbackExternalRecipient update(FeedbackExternalRecipientUpdateDTO feedbackExternalRecipientUpdateDTO) {
17+
return null;
18+
}
19+
20+
@Override
21+
public void delete(UUID id) {
22+
23+
}
24+
25+
@Override
26+
public FeedbackExternalRecipient getById(UUID id) {
27+
return null;
28+
}
29+
30+
@Override
31+
public List<FeedbackExternalRecipient> findByValues(String email, String firstName, String lastName, String companyName) {
32+
return List.of();
33+
}
34+
}

server/src/main/java/com/objectcomputing/checkins/services/feedback_request/FeedbackRequest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public class FeedbackRequest {
4848
@Column(name = "recipient_id")
4949
@TypeDef(type = DataType.STRING)
5050
@Schema(description = "id of the person who was requested to give feedback")
51+
@Nullable
5152
private UUID recipientId;
5253

5354
@Column(name = "template_id")
@@ -86,7 +87,7 @@ public class FeedbackRequest {
8687
private UUID reviewPeriodId;
8788

8889
@Column(name = "external_recipient_id")
89-
@NotNull
90+
@Nullable
9091
@TypeDef(type = DataType.STRING)
9192
@Schema(description = "id of the external person who was requested to give feedback")
9293
private UUID externalRecipientId;

server/src/main/java/com/objectcomputing/checkins/services/feedback_request/FeedbackRequestUpdateDTO.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,8 @@ public class FeedbackRequestUpdateDTO {
3535
@Schema(description = "the recipient of the request, used to reassign")
3636
private UUID recipientId;
3737

38+
@Nullable
39+
@Schema(description = "the external recipient of the request, used to reassign")
40+
private UUID externalRecipientId;
41+
3842
}

server/src/main/java/com/objectcomputing/checkins/services/reports/ReportDataCollation.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,7 @@ private List<Feedback> getFeedbackType(FeedbackType type) {
227227
// We will need to cross-reference the templates.
228228
LocalDateRange dateRange = getDateRange();
229229
List<FeedbackRequest> requests =
230-
feedbackRequestServices.findByValues(null, memberId, null,
231-
null, null, null, null);
230+
feedbackRequestServices.findByValues(null, memberId, null, null, null, null, null, null);
232231

233232
// Iterate over each request and find the template. Determine the purpose
234233
// of the template.

server/src/main/java/com/objectcomputing/checkins/services/reviews/ReviewPeriodServicesImpl.java

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public Set<ReviewPeriod> findByValue(String name, ReviewStatus reviewStatus) {
125125
}
126126

127127
public void delete(@NotNull UUID id) {
128-
if (!feedbackRequestServices.findByValues(null, null, null, null, id, null, null).isEmpty()) {
128+
if (!feedbackRequestServices.findByValues(null, null, null, null, id, null, null, null).isEmpty()) {
129129
throw new BadArgException(String.format("Review Period %s has associated feedback requests and cannot be deleted", id));
130130
}
131131
reviewPeriodRepository.deleteById(id);
@@ -179,13 +179,11 @@ public ReviewPeriod update(@NotNull ReviewPeriod reviewPeriod) {
179179
if (period.getReviewStatus() == ReviewStatus.OPEN) {
180180
// If the review period has been updated and is now open, we need
181181
// to create feedback requests for all involved in the review period
182-
Set<ReviewAssignment> assignments =
183-
reviewAssignmentRepository.findByReviewPeriodId(period.getId());
182+
Set<ReviewAssignment> assignments = reviewAssignmentRepository.findByReviewPeriodId(period.getId());
184183
UUID reviewTemplateId = period.getReviewTemplateId();
185184
UUID selfReviewTemplateId = period.getSelfReviewTemplateId();
186185
LocalDate closeDate = period.getCloseDate().toLocalDate();
187-
LocalDate selfReviewCloseDate =
188-
period.getSelfReviewCloseDate().toLocalDate();
186+
LocalDate selfReviewCloseDate = period.getSelfReviewCloseDate().toLocalDate();
189187

190188
// Log template id's that were not provided to the review period.
191189
// This is the reason a feedback request will not be created.
@@ -221,7 +219,7 @@ public ReviewPeriod update(@NotNull ReviewPeriod reviewPeriod) {
221219
createReviewRequest(
222220
period, findCreatorId(assignment.getReviewerId()),
223221
assignment.getRevieweeId(), assignment.getReviewerId(),
224-
reviewTemplateId, closeDate);
222+
reviewTemplateId, closeDate, null); /** TODO Luch recipient Id **/
225223
}
226224
}
227225

@@ -231,7 +229,7 @@ period, findCreatorId(assignment.getReviewerId()),
231229
createReviewRequest(period, findCreatorId(memberId),
232230
memberId, memberId,
233231
selfReviewTemplateId,
234-
selfReviewCloseDate);
232+
selfReviewCloseDate, null); /** TODO Luch recipient Id **/
235233
}
236234
}
237235

@@ -346,17 +344,19 @@ private UUID findCreatorId(UUID memberId) {
346344
return profile.isEmpty() ? memberId : profile.get(0).getId();
347345
}
348346

349-
private void createReviewRequest(ReviewPeriod period,
350-
UUID creatorId,
351-
UUID revieweeId,
352-
UUID reviewerId,
353-
UUID templateId,
354-
LocalDate dueDate) {
347+
private void createReviewRequest(
348+
ReviewPeriod period,
349+
UUID creatorId,
350+
UUID revieweeId,
351+
UUID reviewerId,
352+
UUID templateId,
353+
LocalDate dueDate, UUID externalRecipientId
354+
) {
355355
try {
356356
LocalDate sendDate = LocalDate.now();
357357
FeedbackRequest request = new FeedbackRequest(
358358
creatorId, revieweeId, reviewerId, templateId, sendDate,
359-
dueDate, "sent", null, period.getId());
359+
dueDate, "sent", null, period.getId(), externalRecipientId);
360360
feedbackRequestServices.save(request);
361361
} catch(Exception ex) {
362362
LOG.error(ex.toString());
@@ -437,9 +437,7 @@ void sendSelfReviewEmail(UUID reviewPeriodId, SelfReviewDate date) {
437437
Set<MemberProfile> recipients = new HashSet<>();
438438
String templateId = null;
439439
List<FeedbackRequest> requests =
440-
feedbackRequestRepository.findByValues(null, null, null, null,
441-
reviewPeriodId.toString(),
442-
templateId);
440+
feedbackRequestRepository.findByValues(null, null, null, null, reviewPeriodId.toString(), templateId, null);
443441
for (FeedbackRequest request : requests) {
444442
if (request.getRecipientId().equals(request.getRequesteeId())) {
445443
Optional<MemberProfile> requesteeProfile =

server/src/main/resources/db/common/V116_feedback_external_recipient.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ CREATE TABLE feedback_external_recipient
77
company_name varchar
88
);
99
ALTER TABLE feedback_requests ADD column external_recipient_id varchar;
10+
ALTER TABLE feedback_external_recipient ADD CONSTRAINT feedback_requests_externalrecipientid_fkey FOREIGN KEY (id) REFERENCES feedback_requests(external_recipient_id) ON DELETE CASCADE;

server/src/test/java/com/objectcomputing/checkins/services/fixture/FeedbackRequestFixture.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public interface FeedbackRequestFixture extends RepositoryFixture, FeedbackTempl
2121
*/
2222
default FeedbackRequest createSampleFeedbackRequest(MemberProfile creator, MemberProfile requestee, MemberProfile recipient, UUID templateId) {
2323
LocalDate testDate = LocalDate.of(2010, 10, 8);
24-
return new FeedbackRequest(creator.getId(), requestee.getId(), recipient.getId(), templateId, testDate, null, "pending", null, null);
24+
return new FeedbackRequest(creator.getId(), requestee.getId(), recipient.getId(), templateId, testDate, null, "pending", null, null, null); /** TODO Luc reciplientg **/
2525
}
2626

2727
/**
@@ -35,7 +35,7 @@ default FeedbackRequest createSampleFeedbackRequest(MemberProfile creator, Membe
3535
*/
3636
default FeedbackRequest createSampleFeedbackRequest(MemberProfile creator, MemberProfile requestee, MemberProfile recipient, UUID templateId, ReviewPeriod reviewPeriod) {
3737
LocalDate testDate = LocalDate.of(2010, 10, 8);
38-
return new FeedbackRequest(creator.getId(), requestee.getId(), recipient.getId(), templateId, testDate, null, "pending", null, reviewPeriod.getId());
38+
return new FeedbackRequest(creator.getId(), requestee.getId(), recipient.getId(), templateId, testDate, null, "pending", null, reviewPeriod.getId(), null); /** TODO Luch reciplientg **/
3939
}
4040

4141
/**
@@ -48,7 +48,7 @@ default FeedbackRequest createSampleFeedbackRequest(MemberProfile creator, Membe
4848
*/
4949
default FeedbackRequest saveSampleFeedbackRequest(MemberProfile creator, MemberProfile requestee, MemberProfile recipient, UUID templateId) {
5050
LocalDate testDate = LocalDate.of(2010, 10, 8);
51-
return getFeedbackRequestRepository().save(new FeedbackRequest(creator.getId(), requestee.getId(), recipient.getId(), templateId, testDate, null, "pending", null, null));
51+
return getFeedbackRequestRepository().save(new FeedbackRequest(creator.getId(), requestee.getId(), recipient.getId(), templateId, testDate, null, "pending", null, null, null)); /** TODO Luch recipient **/
5252
}
5353

5454
/**
@@ -61,12 +61,12 @@ default FeedbackRequest saveSampleFeedbackRequest(MemberProfile creator, MemberP
6161
*/
6262
default FeedbackRequest saveSampleFeedbackRequest(MemberProfile creator, MemberProfile requestee, MemberProfile recipient, UUID templateId, ReviewPeriod reviewPeriod) {
6363
LocalDate testDate = LocalDate.of(2010, 10, 8);
64-
return getFeedbackRequestRepository().save(new FeedbackRequest(creator.getId(), requestee.getId(), recipient.getId(), templateId, testDate, null, "pending", null, reviewPeriod.getId()));
64+
return getFeedbackRequestRepository().save(new FeedbackRequest(creator.getId(), requestee.getId(), recipient.getId(), templateId, testDate, null, "pending", null, reviewPeriod.getId(), null)); /** TODO Luch recipient **/
6565
}
6666

6767
default FeedbackRequest saveSampleFeedbackRequestWithStatus(MemberProfile creator, MemberProfile requestee, MemberProfile recipient, UUID templateId, String status) {
6868
LocalDate testDate = LocalDate.of(2010, 10, 8);
69-
return getFeedbackRequestRepository().save(new FeedbackRequest(creator.getId(), requestee.getId(), recipient.getId(), templateId, testDate, null, status, null, null));
69+
return getFeedbackRequestRepository().save(new FeedbackRequest(creator.getId(), requestee.getId(), recipient.getId(), templateId, testDate, null, status, null, null, null)); /** TODO Luch recipient **/
7070
}
7171

7272
default MemberProfile createADefaultRecipient() {
@@ -115,6 +115,6 @@ default FeedbackRequest saveFeedbackRequest(MemberProfile creator, MemberProfile
115115

116116
default List<FeedbackRequest> getFeedbackRequests(MemberProfile recipient) {
117117
return getFeedbackRequestRepository()
118-
.findByValues(null, null, recipient.getId().toString(), null, null, null);
118+
.findByValues(null, null, recipient.getId().toString(), null, null, null, null); /** TODO Luch recipient **/
119119
}
120120
}

0 commit comments

Comments
 (0)