Skip to content

Commit bb2b052

Browse files
authored
Merge pull request #77 from Prompt-Mate/feat/73/rewrite-result-finalize
feat: return rewriteResultId on rewrite preview
2 parents c67ff77 + e8d7269 commit bb2b052

File tree

4 files changed

+31
-4
lines changed

4 files changed

+31
-4
lines changed

src/main/java/com/tave/PromptMate/controller/RewriteController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,10 @@ public ResponseEntity<RewritePreviewResponse> preview(
5353
AiRewriteResult result = rewriteRunner.run(req.prompt());
5454
System.out.println("RewriteRunner bean = " + rewriteRunner.getClass().getName());
5555

56+
Long rewriteResultId = rewriteResultService.createDraft(userId, req.prompt(), result);
5657

5758
return ResponseEntity.ok(new RewritePreviewResponse(
59+
rewriteResultId,
5860
result.rewrittenContent(),
5961
result.latencyMs(),
6062
result.modelName(),

src/main/java/com/tave/PromptMate/domain/RewriteResult.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@ public class RewriteResult extends BaseTimeEntity{
1212
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
1313
private Long id;
1414

15-
@ManyToOne(fetch = FetchType.LAZY, optional = false)
16-
@JoinColumn(name = "prompt_id")
15+
@Column(name = "user_id", nullable = false)
16+
private Long userId;
17+
18+
@ManyToOne(fetch = FetchType.LAZY, optional = true)
19+
@JoinColumn(name="prompt_id", nullable = true)
1720
private Prompt prompt;
1821

1922
@Column(nullable = false, length = 50)

src/main/java/com/tave/PromptMate/dto/rewrite/RewritePreviewResponse.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.tave.PromptMate.dto.rewrite;
22

33
public record RewritePreviewResponse(
4+
Long rewriteResultId,
45
String rewrittenPrompt,
56
Long latencyMs,
67
String modelName,

src/main/java/com/tave/PromptMate/service/RewriteResultService.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package com.tave.PromptMate.service;
22

33
import com.tave.PromptMate.common.NotFoundException;
4+
import com.tave.PromptMate.common.RewriteRunner;
45
import com.tave.PromptMate.domain.Prompt;
56
import com.tave.PromptMate.domain.RewriteResult;
7+
import com.tave.PromptMate.dto.rewrite.AiRewriteResult;
68
import com.tave.PromptMate.dto.rewrite.CreateRewriteRequest;
79
import com.tave.PromptMate.dto.rewrite.RewriteMapper;
810
import com.tave.PromptMate.dto.rewrite.RewriteResponse;
@@ -11,8 +13,6 @@
1113
import lombok.RequiredArgsConstructor;
1214
import org.springframework.stereotype.Service;
1315
import org.springframework.transaction.annotation.Transactional;
14-
import com.tave.PromptMate.common.RewriteRunner;
15-
1616

1717
import java.util.List;
1818

@@ -25,6 +25,27 @@ public class RewriteResultService {
2525
private final PromptRepository promptRepository;
2626
private final RewriteRunner rewriteRunner;
2727

28+
29+
public Long createDraft(Long userId, String beforePrompt, AiRewriteResult ai) {
30+
31+
RewriteResult entity = RewriteResult.builder()
32+
.userId(userId)
33+
.prompt(null)
34+
.modelName(ai.modelName())
35+
.inputTokens(ai.inputTokens())
36+
.outputTokens(ai.outputTokens())
37+
.latencyMs(ai.latencyMs())
38+
.content(ai.rewrittenContent())
39+
.build();
40+
41+
rewriteResultRepository.save(entity);
42+
return entity.getId();
43+
}
44+
45+
46+
47+
48+
2849
public RewriteResponse createAuto(Long promptId) {
2950

3051
Prompt prompt = promptRepository.findById(promptId)

0 commit comments

Comments
 (0)