-
Notifications
You must be signed in to change notification settings - Fork 1
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
[Feature/#78] 동시에 공유컨테이너로 진입하는 기능 구현 #79
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
개인적으로 앱내에서 한번밖에 안쓰이는 OpehSharedContainer를 위해서 별도의 UseCase까지 만들어야 하나는 의문점입니다.
기획상에서 SharedContainer로 넘어가는 경우는 Connection화면에서 밖에 없습니다.
하지만, 이를 Connection의 유즈 케이스가 아닌 별도의 유즈케이스로 분리한 이유가 궁금합니다.
EventRepository는 개인적으로 좋은것 같습니다!
private extension OpenSharedContainerUseCase { | ||
func bind() { | ||
repository.receivedEvent | ||
.sink { [weak self] event in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2: 지혜님이랑 마찬가지로 Core의 'sink(with:onReceive)'사용하시면 편하게 사용하실 수 있습니다!
// Created by Yune gim on 12/2/24. | ||
// | ||
|
||
import Foundation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: 불필요한 파일이 잘못올라 간것 같습니다!
@jungseokyoung-cloud |
이따 한번 논의해보시죠 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다!
개인적으로 생각하기에는 OpenSharedContainer로 나눌거면 invitation 관련 로직도 나누는게 맞지 않나 생각합니다.
하지만 현재 저희는 한 뷰당 하나로 가져가고 있기 때문에, OpenShared 정도는 현재 기준에 따라 합쳐도 문제없지 않을까 생각합니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다!
Data/Data/EventRepository.swift
Outdated
public func notice(event: Event) { | ||
guard let eventData = try? JSONEncoder().encode(event) else { return } | ||
socketProvider.sendAll(data: eventData) | ||
} | ||
} | ||
|
||
private extension NoticedEventRepository { | ||
func bind() { | ||
socketProvider.dataShared.sink { [weak self] (data, _) in | ||
guard let event = try? JSONDecoder().decode(Event.self, from: data) else { return } | ||
self?.receivedEvent.send(event) | ||
} | ||
.store(in: &cancellables) | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2: 만약 이렇게 NoticedEventRepository를 따로 사용하게 된다면 JSONEncoder / JSONDecoder는 따로 빼서 재사용 가능하게 하면 어떨까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋습니다!
그리고 이렇지 않아도 Core에서 JSONEncoder/Decoder를 두고 다른데서 재사용해야 할 필요가 생긴것 같아요.
Data에서 인코딩/디코딩이 많이 일어나기 시작해 보여요
관련 이슈
✅ 완료 및 수정 내역
🛠️ 테스트 방법
📝 리뷰 노트
-이벤트를 발행하고 전달받는 레포지토리 구현했습니다.
📱 스크린샷(선택)