1- package org .sejongisc .backend .template .service ;
1+ package org .sejongisc .backend .backtest .service ;
22
33
44import lombok .RequiredArgsConstructor ;
55import lombok .extern .slf4j .Slf4j ;
66import org .sejongisc .backend .backtest .repository .BacktestRunRepository ;
77import org .sejongisc .backend .common .exception .CustomException ;
88import org .sejongisc .backend .common .exception .ErrorCode ;
9- import org .sejongisc .backend .template .dto .TemplateRequest ;
10- import org .sejongisc .backend .template .dto .TemplateResponse ;
11- import org .sejongisc .backend .template .entity .Template ;
12- import org .sejongisc .backend .template .repository .TemplateRepository ;
9+ import org .sejongisc .backend .backtest .dto .TemplateRequest ;
10+ import org .sejongisc .backend .backtest .dto .TemplateResponse ;
11+ import org .sejongisc .backend .backtest .entity .Template ;
12+ import org .sejongisc .backend .backtest .repository .TemplateRepository ;
1313import org .sejongisc .backend .user .repository .UserRepository ;
1414import org .sejongisc .backend .user .entity .User ;
1515import org .springframework .stereotype .Service ;
16+ import org .springframework .transaction .annotation .Transactional ;
1617
1718import java .util .UUID ;
1819
1920@ Service
21+ @ Transactional (readOnly = true )
2022@ RequiredArgsConstructor
2123@ Slf4j
2224public class TemplateService {
@@ -43,12 +45,13 @@ public TemplateResponse findById(UUID templateId, UUID userId) {
4345 }
4446
4547 // 템플릿 생성
46- public TemplateResponse createTemplate (TemplateRequest request ) {
47- User user = userRepository .findById (request .getUserId ())
48+ @ Transactional
49+ public TemplateResponse createTemplate (TemplateRequest request , UUID userId ) {
50+ User user = userRepository .findById (userId )
4851 .orElseThrow (() -> new CustomException (ErrorCode .USER_NOT_FOUND ));
4952
50- Template template = Template .of (user , request .getTitle (),
51- request .getDescription (), request .getIsPublic ());
53+ Template template = Template .of (user , request .title (),
54+ request .description (), request .isPublic ());
5255
5356 templateRepository .save (template );
5457
@@ -58,9 +61,10 @@ public TemplateResponse createTemplate(TemplateRequest request) {
5861 }
5962
6063 // 템플릿 수정
61- public TemplateResponse updateTemplate (TemplateRequest request ) {
62- Template template = authorizeTemplateOwner (request .getTemplateId (), request .getUserId ());
63- template .update (request .getTitle (), request .getDescription (), request .getIsPublic ());
64+ @ Transactional
65+ public TemplateResponse updateTemplate (UUID templateId , UUID userId , TemplateRequest request ) {
66+ Template template = authorizeTemplateOwner (templateId , userId );
67+ template .update (request .title (), request .description (), request .isPublic ());
6468 templateRepository .save (template );
6569
6670 return TemplateResponse .builder ()
@@ -69,9 +73,10 @@ public TemplateResponse updateTemplate(TemplateRequest request) {
6973 }
7074
7175 // 템플릿 삭제
76+ @ Transactional
7277 public void deleteTemplate (UUID templateId , UUID userId ) {
7378 Template template = authorizeTemplateOwner (templateId , userId );
74- // TODO : 좋아요 / 북마크 삭제
79+ // TODO : 좋아요 / 북마크 삭제 - cascade 옵션 또는 별도 처리 필요
7580 templateRepository .delete (template );
7681 }
7782
0 commit comments