Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Cast API 머지 #46

Merged
merged 49 commits into from
Aug 11, 2024
Merged

feat: Cast API 머지 #46

merged 49 commits into from
Aug 11, 2024

Conversation

ja7811
Copy link
Contributor

@ja7811 ja7811 commented Aug 11, 2024

No description provided.

ja7811 and others added 30 commits July 20, 2024 20:42
Voice와 Formality 분리
* fix: voice 칼럼 String으로 변경

* add: OpenAI 라이브러리
https://github.com/TheoKanning/openai-java

* add: validation 라이브러리 추가
@Valid가 작동 안하길래 찾아봤는데 springboot-starter-validation 라이브러리를 따로 추가해야된다고 함

* feat: ScriptService 추가
- 캐스트 생성 요청은 CastCreationRequestDTO로 받음
- 프롬프트 생성 (ChatGPTPromptGenerator)
- 스크립트 생성 (ChatGPTScriptGenerator)
- ScriptService로 묶음

* add: CastController, CastService 추가
- 회의때 얘기한 클래스 구조로 ㄱㄱ

* fix: 수정사항 반영
- CastController에 raiseError 함수 삭제
- OpenAiService 응답 대기 시간 30초로 늘림
add: tts 임시 로직 구현
[FEATURE] gpt 결과물 & SSML 연결 작업
* fix: ci/cd 구축 변경 (#31)

* add: S3 설정 추가 및 mp3 upload 로직 반영

* fix: 불필요한 코드 정리
* feat: streaming 기능 추가

* add: 테스트용 파일 추가
- 나중에 삭제 해주세용

* add: 스트리밍 API 추가
- 일단 ~/stream-test랑 ~/stream/{filename}으로 정함

* fix: filePath 문자열로 타입 변경

* add: castId 스트리밍 추가
* add : sentence entity 저장 로직

* add : voice code enum 처리

---------

Co-authored-by: yuuddin <[email protected]>
- CastPlaylistRepository/Service
- CastSaveDTO / CastUpdateDTO
- PlaylistRepository
- ScriptCastCreationDTO
- KeywordCastCreationDTO
- update(): 정보 수정
- updateHits(): 조회수 증가
Lombok에서 @builder 쓸 때 컬렉션 초기화하려면
- final이거나
- @Builder.Default 붙이거나 해야되는데
일단 후자로 했습니다
- GET /cast/{id}/script로 해당 캐스트 스크립트 가져옴
- 캐스트 재생은 GET /cast/{id}에서 GET /cast/{id}/audio로 변경 (일관성)
- 이에 따른 SentenceService, SentenceRepository 등 변경
yuuddin and others added 16 commits August 10, 2024 11:45
…cast/OwnCast_backend into enhance/cast-api/29

# Conflicts:
#	src/main/java/com/umc/owncast/domain/cast/controller/CastController.java
#	src/main/java/com/umc/owncast/domain/cast/service/CastService.java
#	src/main/java/com/umc/owncast/domain/cast/service/TTSService.java
#	src/main/java/com/umc/owncast/domain/sentence/service/SentenceService.java
#	src/main/java/com/umc/owncast/domain/sentence/service/SentenceServiceImpl.java
* add: 필요한 DTO/서비스/리포지토리 선언
- CastPlaylistRepository/Service
- CastSaveDTO / CastUpdateDTO
- PlaylistRepository
- ScriptCastCreationDTO
- KeywordCastCreationDTO

* add: Cast 필요 메소드
- update(): 정보 수정
- updateHits(): 조회수 증가

* feat: cast api 구현

* fix: Cast에 Sentence 매핑 추가 + 연관관계 편의 메소드

* fix: 컬렉션 초기화 안되는 문제
Lombok에서 @builder 쓸 때 컬렉션 초기화하려면
- final이거나
- @Builder.Default 붙이거나 해야되는데
일단 후자로 했습니다

* update: API가 엔티티 대신 dto 반환하도록 변경

* add: DTO 클래스 추가

* feat: 캐스트 스크립트 검색 API 추가
- GET /cast/{id}/script로 해당 캐스트 스크립트 가져옴
- 캐스트 재생은 GET /cast/{id}에서 GET /cast/{id}/audio로 변경 (일관성)
- 이에 따른 SentenceService, SentenceRepository 등 변경
- sentenceService.save()가 List<Sentence>를 반환하도록 변경
- String 비었는지 확인하는 기능
- blank가 아닐 떄 수정해야하는데 그 반대로 하고 있었네..
- aws에 파일 업로드함에 따른 변경
Merge branch 'feat/cast-api/11' into feat/cast-api-completion
* add : sentence entity 저장 로직

* add : voice code enum 처리

* add: 필요한 DTO/서비스/리포지토리 선언
- CastPlaylistRepository/Service
- CastSaveDTO / CastUpdateDTO
- PlaylistRepository
- ScriptCastCreationDTO
- KeywordCastCreationDTO

* add: Cast 필요 메소드
- update(): 정보 수정
- updateHits(): 조회수 증가

* feat: cast api 구현

* fix: Cast에 Sentence 매핑 추가 + 연관관계 편의 메소드

* fix: 컬렉션 초기화 안되는 문제
Lombok에서 @builder 쓸 때 컬렉션 초기화하려면
- final이거나
- @Builder.Default 붙이거나 해야되는데
일단 후자로 했습니다

* update: API가 엔티티 대신 dto 반환하도록 변경

* add: DTO 클래스 추가

* feat: 캐스트 스크립트 검색 API 추가
- GET /cast/{id}/script로 해당 캐스트 스크립트 가져옴
- 캐스트 재생은 GET /cast/{id}에서 GET /cast/{id}/audio로 변경 (일관성)
- 이에 따른 SentenceService, SentenceRepository 등 변경

* fix : cast 생성 로직 수정

* add : cast audi length 입력

* fix: multipartfile 입력 형태 수정

* fix: 코드 정리

* fix: CastScriptDTO에 스크립트가 비는 문제 해결
- sentenceService.save()가 List<Sentence>를 반환하도록 변경

* add: StringUtil 추가
- String 비었는지 확인하는 기능

* add: deleteCast 추가, setCastImage 추가

* fix: update 조건 수정
- blank가 아닐 떄 수정해야하는데 그 반대로 하고 있었네..

* fix: CastPlaylist 동일한 행 존재하면 기각

* fix: Long playlistId 검사조건 @NotNull로 변경

* update: 수정, 저장, 삭제 API 추가 + @RequestPart 오류 수정 + stream에 @crossorigin 추가

* fix: stream 기능 업데이트
- aws에 파일 업로드함에 따른 변경

---------

Co-authored-by: yuuddin <[email protected]>
@ja7811 ja7811 linked an issue Aug 11, 2024 that may be closed by this pull request
9 tasks
Copy link
Contributor Author

@ja7811 ja7811 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😭

@ja7811 ja7811 merged commit f3d3d26 into develop Aug 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE] cast api 설계
2 participants