Feature/#12 - SwiftData 기반 Secret CRUD 및 보안 계층 구성#16
Open
dlguszoo wants to merge 61 commits into
Open
Conversation
9 tasks
9ab75e8 to
9faeab4
Compare
…oject/Devault-macOS into feature/#12/Secret_ORM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✨ What’s this PR?
📌 관련 이슈 (Related Issue)
📁새로 생긴 폴더링과 파일
Domain
Data
Presentation
App
🧶 주요 변경 내용 (Summary)
Task 1. Tuist 모듈 의존성 정리
Task 2. Secret Domain Entity 정의
Task 3. Repository Interface 정의
Task 4. Secret Content 모델 정의
Task 5. Secret UseCase 구성
Task 6. SwiftData RepositoryImpl 구현
Task 7. 암호화/Keychain/JSON 처리 구현
Task 8. 사용자 인증 책임 분리
Task 9. 임시 Demo View 추가
📸 스크린샷 (Optional)
2026-05-23.11.38.10.mov
🧪 테스트 / 검증 내역
💬 기타 공유 사항
Entity 네이밍 고민 -> SecretEntity와 같은 접미사를 붙일 수도 있음.
UseCase 단위 고민 -> 지금 구현한 방식은 “사용자 의도 하나의 작업 단위”로 보는 관점으로.
앞으로 localAuth를 쓰는 곳은 많지만 정해져 있을 테니, authenticate의 reason 파라미터를 String이 아닌 AuthenticationPurpose enum으로 정의해서 받아야 할 것
Metadata, payload의 각 content들은 notion DB설계 페이지에서 미리 정의하고 구현한 내용입니다.
Service 관련
🙇🏻♀️ 리뷰 가이드 (선택)
Summary by CodeRabbit