-
Notifications
You must be signed in to change notification settings - Fork 0
Deploy / Merge to Main #118
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
Conversation
… for published versions
…for version pages
Feature / builder / cms and site api
|
Caution Review failedThe pull request is closed. Walkthrough이 PR은 CMS 및 사이트 앱 페이지/버전 관리 기능을 도입합니다. 여러 CMS 컨트롤러 문서에 X-App-Subdomain 헤더 파라미터 어노테이션을 추가하고, 새로운 CMSSitePageController와 SitePageController를 구현하여 페이지 버전 조회, 페이지 조회, 버전 생성 기능을 제공합니다. AppPage, AppVersion, AppVersionPage 엔티티와 관련 저장소, 서비스를 추가하며, 3개의 새로운 데이터베이스 테이블을 생성하는 마이그레이션을 포함합니다. 보안 설정에 사이트 공개 체인을 추가하여 /api/v1/app/site/\\ 경로에 대한 필터를 구성합니다. Sequence DiagramsequenceDiagram
participant Client
participant CMSSitePageController
participant CMSSitePageService
participant AppVersionRepository
participant AppVersionPageRepository
participant Database
rect rgb(200, 220, 240)
Note over Client,Database: 페이지 버전 생성 흐름
Client->>CMSSitePageController: POST /versions (AppVersionCreateRequest)
activate CMSSitePageController
CMSSitePageController->>CMSSitePageService: createAppVersion(redotAppId, request)
activate CMSSitePageService
CMSSitePageService->>AppVersionRepository: findByRedotAppIdAndStatus(PUBLISHED)
activate AppVersionRepository
AppVersionRepository->>Database: SELECT * FROM app_versions
Database-->>AppVersionRepository: Existing published version
AppVersionRepository-->>CMSSitePageService: Optional<AppVersion>
deactivate AppVersionRepository
alt Duplicate published version exists
CMSSitePageService-->>CMSSitePageController: CMSSitePageException
else Create new version
CMSSitePageService->>AppVersionRepository: save(AppVersion)
activate AppVersionRepository
AppVersionRepository->>Database: INSERT INTO app_versions
Database-->>AppVersionRepository: persisted AppVersion
AppVersionRepository-->>CMSSitePageService: AppVersion with id
deactivate AppVersionRepository
CMSSitePageService->>AppVersionPageRepository: save(AppVersionPage list)
activate AppVersionPageRepository
AppVersionPageRepository->>Database: INSERT INTO app_version_pages
Database-->>AppVersionPageRepository: persisted pages
AppVersionPageRepository-->>CMSSitePageService: AppVersionPage list
deactivate AppVersionPageRepository
CMSSitePageService-->>CMSSitePageController: AppVersionSummaryResponse
end
deactivate CMSSitePageService
CMSSitePageController-->>Client: 200 OK with AppVersionSummaryResponse
deactivate CMSSitePageController
end
rect rgb(220, 240, 200)
Note over Client,Database: 공개 페이지 조회 흐름
Client->>SitePageController: GET /api/v1/app/site/pages?path=/about
activate SitePageController
SitePageController->>CMSSitePageService: getPage(appId, pageId) 또는<br/>SitePageService: getSitePages(appId, path)
activate CMSSitePageService
CMSSitePageService->>AppVersionRepository: findByRedotAppIdAndStatus(PUBLISHED)
activate AppVersionRepository
AppVersionRepository->>Database: SELECT * FROM app_versions WHERE status='PUBLISHED'
Database-->>AppVersionRepository: published AppVersion
AppVersionRepository-->>CMSSitePageService: Optional<AppVersion>
deactivate AppVersionRepository
CMSSitePageService->>AppVersionPageRepository: findByAppVersionIdAndAppPage_Path()
activate AppVersionPageRepository
AppVersionPageRepository->>Database: SELECT * FROM app_version_pages
Database-->>AppVersionPageRepository: AppVersionPage with AppPage
AppVersionPageRepository-->>CMSSitePageService: Optional<AppVersionPage>
deactivate AppVersionPageRepository
CMSSitePageService-->>SitePageController: AppPageResponse
deactivate CMSSitePageService
SitePageController-->>Client: 200 OK with AppPageResponse
deactivate SitePageController
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes 주의가 필요한 영역:
Possibly related PRs
Suggested labels
Poem
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (33)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Overview
Related Issue
PR Checklist
Additional Information