Skip to content

Commit 435b892

Browse files
authoredMay 13, 2024··
BE: edit title backend save persitance issue (#51)
* edit title minor fix * added getTitle help method in ConversationService * removed save conversation form get conversation
1 parent 8ddd764 commit 435b892

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed
 

‎backend/src/main/java/com/llm_service/llm_service/controller/conversation/ConversationController.java

+3-8
Original file line numberDiff line numberDiff line change
@@ -101,16 +101,11 @@ public ResponseEntity<List<DiscussionResponse>> continueConversation(
101101
@PutMapping("/api/v1/conversation/{id}")
102102
public ResponseEntity<ConversationResponseCompact> editConversation(
103103
@PathVariable UUID id, @RequestBody ConversationTitleRequest conversationTitleRequest) throws Exception {
104-
Conversation conversationOld =
104+
Conversation conversation =
105105
conversationService.getByID(id).orElseThrow(() -> new ConversationNotFoundException(id));
106-
Conversation conversationNew =
107-
conversationService.editTitle(conversationOld, conversationTitleRequest.getTitle());
108-
109-
// TODO find why save does not return discussions
110-
// TEMP Solution
111-
conversationNew.setDiscussions(conversationOld.getDiscussions());
106+
conversation = conversationService.editTitle(conversation, conversationTitleRequest.getTitle());
112107

113-
return ResponseEntity.status(HttpStatus.OK).body(conversationApiMapper.mapCompact(conversationNew));
108+
return ResponseEntity.status(HttpStatus.OK).body(conversationApiMapper.mapCompact(conversation));
114109
}
115110

116111
@ApiResponses(

‎backend/src/main/java/com/llm_service/llm_service/service/ConversationService.java

+17
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.llm_service.llm_service.persistance.repositories.conversation.ConversationPersistenceManager;
99
import com.llm_service.llm_service.persistance.repositories.discussion.DiscussionPersistenceManager;
1010
import com.llm_service.llm_service.service.user.UserContext;
11+
import java.time.Instant;
1112
import java.util.ArrayList;
1213
import java.util.List;
1314
import java.util.Optional;
@@ -111,7 +112,23 @@ public Conversation editTitle(Conversation conversation, String title) throws Un
111112
if (user.isEmpty()) {
112113
throw new UnAuthorizedException();
113114
}
115+
Conversation savedConversation = saveEditedTitle(conversation, title, user);
114116

117+
return getConversation(conversation, savedConversation.getTitle());
118+
}
119+
120+
private Conversation getConversation(Conversation conversation, String title) {
121+
conversation = Conversation.builder()
122+
.id(conversation.getId())
123+
.discussions(conversation.getDiscussions())
124+
.title(title)
125+
.createdOn(conversation.getCreatedOn())
126+
.lastUpdatedOn(Instant.now())
127+
.build();
128+
return conversation;
129+
}
130+
131+
private Conversation saveEditedTitle(Conversation conversation, String title, Optional<User> user) {
115132
return conversationPersistenceManager.save(
116133
conversation.toBuilder().title(title).build(), user.get());
117134
}

0 commit comments

Comments
 (0)
Please sign in to comment.