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

Release/1.1.0 #244

Merged
merged 52 commits into from
Jul 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
5dffa0b
Docs: README.md 작성
somarok May 30, 2024
6c115bc
Merge pull request #233 from Team-Weather/release/1.0.0+1
NalaJang May 30, 2024
1896ca9
Feat: 트랜잭션 서비스 인터페이스, 파이어스토어 서비스 구현체 작성
KimDonghyeok Jun 3, 2024
d865670
Feat: 트랜잭션 인자 추가
KimDonghyeok Jun 3, 2024
8011026
Feat: 트랜잭션 로직 추가
KimDonghyeok Jun 3, 2024
e3270ab
Feat: TransactionService 의존성 주입용 객체 컨테이너에 추가
KimDonghyeok Jun 3, 2024
34491ee
Feat: OotdFeedRepository 의존성 변경 및 TransactionService 의존성 주입
KimDonghyeok Jun 3, 2024
dbdbb13
Feat: 미사용 메소드 삭제
KimDonghyeok Jun 3, 2024
9e4eed9
Feat: saveOotdFeed, removeOotdFeed 트랜잭션 적용
KimDonghyeok Jun 3, 2024
e7ac422
Chore: image 패키지 의존성 추가
hoogom88 Jun 3, 2024
4157a86
Feat: ImageCompressor 인터페이스 및 구현체 작성
hoogom88 Jun 3, 2024
fa28c60
Feat: ImageType enum 클래스 작성
hoogom88 Jun 3, 2024
17ac74c
Feat: Feed 모델 수정(썸네일 이미지 경로 추가), 이미지 업로드시, 리사이징된 썸네일 이미지, 원본 이미지 저장
hoogom88 Jun 3, 2024
a5e5bc3
Refactor: 불필요한 ! 연산자 제거
hoogom88 Jun 3, 2024
cd1e485
Feat: 상세 화면을 제외한 피드 이미지 썸네일로 변경
hoogom88 Jun 3, 2024
a6a2611
Merge pull request #236 from Team-Weather/231-ui-common-thumbnail-image
hoogom88 Jun 4, 2024
6f9d987
solve merge conflict
KimDonghyeok Jun 4, 2024
8091fb9
Feat: 홈 화면 진입 시 피드 검색 페이지 최초 피드 20개 이미지 프리 캐싱처리
hoogom88 Jun 4, 2024
c1c65d1
Refactor: 주석 추가
hoogom88 Jun 4, 2024
9afb89c
Refactor: 불필요한 import 제거
hoogom88 Jun 4, 2024
e68487b
Modify : 불필요한 print 문 제거
KimDonghyeok Jun 6, 2024
67736d6
Test: FirestoreService Mock 클래스 작성
KimDonghyeok Jun 6, 2024
20eff83
Test: MockFeedRepositoryImpl 미사용 메소드 삭제
KimDonghyeok Jun 6, 2024
7c82858
Test: MethodCallCount 변수 분리, transaction 매개변수 추가
KimDonghyeok Jun 6, 2024
cb72be7
Test: MockUserProfileRepositoryImpl 미사용 메소드 삭제
KimDonghyeok Jun 6, 2024
2afd1a6
Test: 의존성 및 description 변경, transaction 적용
KimDonghyeok Jun 6, 2024
536fde4
Test: 테스트 케이스 삭제
KimDonghyeok Jun 6, 2024
bfee6a3
Test: 테스트 케이스 transaction 적용
KimDonghyeok Jun 6, 2024
a9ddd6a
Test: Mock 클래스에서 분리시킨 MethodCallCount 적용
KimDonghyeok Jun 6, 2024
9f756f2
Merge pull request #237 from Team-Weather/226-ui-common-image-renderi…
hoogom88 Jun 6, 2024
66a0c8f
Modify: 주석 삭제
KimDonghyeok Jun 6, 2024
6aa82df
Refactor: 비동기 코드 Future.wait 적용
KimDonghyeok Jun 6, 2024
1c51ce9
Merge pull request #238 from Team-Weather/feat/#227-apply-firestore-t…
KimDonghyeok Jun 6, 2024
fbe35f4
Feat: 추천 피드 로딩 상태 추가, 일부 유스케이스 Future.wait 적용
KimDonghyeok Jun 7, 2024
1a23abf
Feat: RecommendOotdWidget 필드 수정, SkeletonRecommendOotdWidget 위젯 작성
KimDonghyeok Jun 7, 2024
eb88f53
Feat: 추천 OOTD 로딩 상태에 따른 shimmer 효과 적용, RecommendOotdWidget 전달인자 변경
KimDonghyeok Jun 7, 2024
ef0b6d2
Feat: 화면 전체 로딩 제거, 홈화면 각 요소 컴포넌트 위젯으로 분리
KimDonghyeok Jun 7, 2024
954cbcd
Modify: 미사용 import 삭제
KimDonghyeok Jun 7, 2024
30061d8
Merge branch 'dev' into 228-screen-loading-speed-improvement
KimDonghyeok Jun 8, 2024
7a03eb1
Feat: SkeletonRecommendOotdWidget 삭제, RecommendOotdWidget 의 feedImage…
KimDonghyeok Jun 8, 2024
8410d0f
Feat: SkeletonRecommendOotdWidget 대체
KimDonghyeok Jun 8, 2024
3b204fe
Feat: 각 컴포넌트 위젯 파일로 분리
KimDonghyeok Jun 8, 2024
0a9465a
Feat: 뷰모델 상태 null check 부분 메소드로 분리, 위젯 생성자 내부에서 삼항연산자로 전달인자 분리
KimDonghyeok Jun 8, 2024
317812b
Feat: 뷰모델 상태 null check 부분 메소드로 분리, 위젯 생성자 내부에서 삼항연산자로 전달인자 분리
KimDonghyeok Jun 8, 2024
02b637e
Update README.md
hoogom88 Jun 9, 2024
7b14030
Feat: 홈화면 텍스트 위젯 분리 rollback
KimDonghyeok Jun 12, 2024
78e5788
Feat: 홈화면 텍스트 위젯 분리 rollback
KimDonghyeok Jun 12, 2024
be6644f
Merge pull request #241 from Team-Weather/228-screen-loading-speed-im…
KimDonghyeok Jun 12, 2024
8d15470
Feat: ImageConfig 클래스 작성 및 Home 기본 이미지 경로 변경
SeongJongHo Jul 7, 2024
efdf257
Fix: OotdFeed 수정시 thumbnailImagePath 값 할당 로직 추가
SeongJongHo Jul 7, 2024
d191f65
Release/1.1.0
NalaJang Jul 7, 2024
d873ea4
Merge branch 'main' into Release/1.1.0
NalaJang Jul 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 18 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,14 @@

</h1>

## 너의 날씨는 팀 소개

|[송윤지](https://github.com/somarok)|[장날아](https://github.com/NalaJang)|[전종현](https://github.com/hoogom88)|
|:----:|:----:|:----:|
|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/8d3a4028-b02e-42fe-bfd4-080d6b0a774c" height="200" width="200">|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/9b8743f5-ddbf-4ae9-bea2-33a64295e955" height="200" width="200">|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/e7a2e682-c670-4077-aee3-4a12ab995ecb" height="200" width="200">|

|[성종호](https://github.com/SeongJongHo)|[김동혁](https://github.com/KimDonghyeok)|[김민규](https://github.com/gyubit)|
|:----:|:----:|:----:|
|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/18e0cc0f-fc3c-40b8-b163-8540fb16bcdc" height="200" width="200">|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/42c7b8c5-c8bb-41ea-b74d-30d03076de8a" height="200" width="200">|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/238e554a-7b88-4424-a124-d74318e65643" height="200" width="200">|


<br/>

## 앱 기획 의도

매일 날씨 확인, 옷 고민 하는데 시간 쏟기 귀찮았던 사람들이 모여서 ‘WeaCo’를 만들었습니다.

<br/>

## 서비스 소개
유저의 현재 위치에 대한 날씨 정보 제공과 날씨를 기반으로 OOTD를 공유하는 서비스

Expand All @@ -31,6 +23,7 @@
<video autoplay loop src="https://github.com/Team-Weather/ci_test/assets/26239098/9fa97cf6-5e85-4fdc-8166-12ff2a3f5b63" width="400" />
</div>

<br/>

## Configuration

Expand All @@ -39,6 +32,8 @@
- 라이브러리
<img width="65%" src="https://github.com/Team-Weather/ci_test/assets/26239098/f274be3e-eafe-4190-b129-dd5e3857dc44">

<br/>

## 앱 전체 구조 / 아키텍처 이미지

![image](https://github.com/Team-Weather/ci_test/assets/90754590/cfa21382-ffa8-4015-b18e-3120aa640002)
Expand All @@ -48,3 +43,15 @@
## 전체 플로우 차트

![image](https://github.com/Team-Weather/ci_test/assets/73895803/e532d7cd-999f-4451-9f18-83f9e7248f77)

<br/>

## 너의 날씨는 팀 소개

|[송윤지](https://github.com/somarok)|[장날아](https://github.com/NalaJang)|[전종현](https://github.com/hoogom88)|
|:----:|:----:|:----:|
|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/8d3a4028-b02e-42fe-bfd4-080d6b0a774c" height="200" width="200">|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/9b8743f5-ddbf-4ae9-bea2-33a64295e955" height="200" width="200">|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/e7a2e682-c670-4077-aee3-4a12ab995ecb" height="200" width="200">|

|[성종호](https://github.com/SeongJongHo)|[김동혁](https://github.com/KimDonghyeok)|[김민규](https://github.com/gyubit)|
|:----:|:----:|:----:|
|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/18e0cc0f-fc3c-40b8-b163-8540fb16bcdc" height="200" width="200">|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/42c7b8c5-c8bb-41ea-b74d-30d03076de8a" height="200" width="200">|<img src = "https://github.com/Team-Weather/ci_test/assets/32134533/238e554a-7b88-4424-a124-d74318e65643" height="200" width="200">|
3 changes: 3 additions & 0 deletions lib/core/db/transaction_service.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
abstract interface class TransactionService {
Future<bool> run(Function callBack);
}
7 changes: 7 additions & 0 deletions lib/core/di/common/common_di_setup.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:dio/dio.dart';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:weaco/core/db/transaction_service.dart';
import 'package:weaco/core/di/di_setup.dart';
import 'package:weaco/core/dio/base_dio.dart';
import 'package:weaco/core/exception/handler/exception_message_handler.dart';
import 'package:weaco/core/firebase/firebase_auth_service.dart';
import 'package:weaco/core/firebase/firestore_service.dart';
import 'package:weaco/core/gps/gps_helper.dart';
import 'package:weaco/core/hive/hive_wrapper.dart';
import 'package:weaco/core/path_provider/path_provider_service.dart';
Expand All @@ -15,6 +17,11 @@ void commonDiSetup() {
() => FirebaseFirestore.instance);
getIt.registerLazySingleton<FirebaseStorage>(() => FirebaseStorage.instance);
getIt.registerLazySingleton<FirebaseAuthService>(() => FirebaseAuthService());
getIt.registerLazySingleton<TransactionService>(
() => FirestoreService(
fireStore: getIt<FirebaseFirestore>(),
),
);

// PathProvider
getIt.registerLazySingleton<PathProviderService>(() => PathProviderService());
Expand Down
2 changes: 2 additions & 0 deletions lib/core/di/di_setup.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import 'package:weaco/core/di/user/user_di_setup.dart';
import 'package:weaco/core/di/weather/weather_di_setup.dart';
import 'package:weaco/domain/feed/use_case/get_my_page_feeds_use_case.dart';
import 'package:weaco/domain/feed/use_case/get_recommended_feeds_use_case.dart';
import 'package:weaco/domain/feed/use_case/get_search_feeds_use_case.dart';
import 'package:weaco/domain/feed/use_case/remove_my_page_feed_use_case.dart';
import 'package:weaco/domain/user/repository/user_auth_repository.dart';
import 'package:weaco/domain/user/use_case/get_my_profile_use_case.dart';
Expand Down Expand Up @@ -61,6 +62,7 @@ void diSetup() {
getDailyLocationWeatherUseCase: getIt<GetDailyLocationWeatherUseCase>(),
getBackgroundImageListUseCase: getIt<GetBackgroundImageListUseCase>(),
getRecommendedFeedsUseCase: getIt<GetRecommendedFeedsUseCase>(),
getSearchFeedsUseCase: getIt<GetSearchFeedsUseCase>(),
),
);

Expand Down
13 changes: 9 additions & 4 deletions lib/core/di/feed/feed_di_setup.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:weaco/core/db/transaction_service.dart';
import 'package:weaco/core/di/di_setup.dart';
import 'package:weaco/data/feed/data_source/remote_feed_data_source.dart';
import 'package:weaco/data/feed/data_source/remote_feed_data_source_impl.dart';
import 'package:weaco/data/feed/repository/feed_repository_impl.dart';
import 'package:weaco/data/feed/repository/ootd_feed_repository_impl.dart';
import 'package:weaco/data/user/data_source/remote_user_profile_data_source.dart';
import 'package:weaco/domain/feed/repository/feed_repository.dart';
import 'package:weaco/domain/feed/repository/ootd_feed_repository.dart';
import 'package:weaco/domain/feed/use_case/get_detail_feed_detail_use_case.dart';
Expand All @@ -15,7 +17,6 @@ import 'package:weaco/domain/feed/use_case/get_user_page_feeds_use_case.dart';
import 'package:weaco/domain/feed/use_case/remove_my_page_feed_use_case.dart';
import 'package:weaco/domain/feed/use_case/save_edit_feed_use_case.dart';
import 'package:weaco/domain/file/repository/file_repository.dart';
import 'package:weaco/domain/user/repository/user_profile_repository.dart';
import 'package:weaco/domain/user/use_case/get_user_profile_use_case.dart';
import 'package:weaco/domain/weather/use_case/get_daily_location_weather_use_case.dart';
import 'package:weaco/presentation/ootd_feed/view_model/ootd_feed_view_model.dart';
Expand All @@ -30,10 +31,14 @@ void feedDiSetup() {
// Repository
getIt.registerLazySingleton<FeedRepository>(() =>
FeedRepositoryImpl(remoteFeedDataSource: getIt<RemoteFeedDataSource>()));
getIt.registerLazySingleton<OotdFeedRepository>(() => OotdFeedRepositoryImpl(
getIt.registerLazySingleton<OotdFeedRepository>(
() => OotdFeedRepositoryImpl(
fileRepository: getIt<FileRepository>(),
feedRepository: getIt<FeedRepository>(),
userProfileRepository: getIt<UserProfileRepository>()));
remoteFeedDataSource: getIt<RemoteFeedDataSource>(),
remoteUserProfileDataSource: getIt<RemoteUserProfileDataSource>(),
firestoreService: getIt<TransactionService>(),
),
);

// UseCase
getIt.registerLazySingleton<GetDetailFeedDetailUseCase>(() =>
Expand Down
3 changes: 2 additions & 1 deletion lib/core/di/file/file_di_setup.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'package:firebase_storage/firebase_storage.dart';
import 'package:weaco/core/di/di_setup.dart';
import 'package:weaco/core/firebase/firebase_auth_service.dart';
import 'package:weaco/core/path_provider/path_provider_service.dart';
import 'package:weaco/core/util/image_compressor_util.dart';
import 'package:weaco/data/file/data_source/local/local_file_data_source.dart';
import 'package:weaco/data/file/data_source/local/local_file_data_source_impl.dart';
import 'package:weaco/data/file/data_source/remote/remote_file_data_source.dart';
Expand All @@ -27,7 +28,7 @@ void fileDiSetup() {

// UseCase
getIt.registerLazySingleton<SaveImageUseCase>(
() => SaveImageUseCase(fileRepository: getIt<FileRepository>()));
() => SaveImageUseCase(fileRepository: getIt<FileRepository>(), imageCompressor: ImageCompressorImpl()));
getIt.registerLazySingleton<GetImageUseCase>(
() => GetImageUseCase(fileRepository: getIt<FileRepository>()));
}
5 changes: 5 additions & 0 deletions lib/core/enum/image_type.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
enum ImageType {
origin,
cropped,
compressed
}
2 changes: 2 additions & 0 deletions lib/core/firebase/firestore_dto_mapper.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Feed toFeed({required Map<String, dynamic> json, required String id}) {
return Feed(
id: id,
imagePath: json['image_path'],
thumbnailImagePath: json['thumbnail_image_path'] ?? json['image_path'],
userEmail: json['user_email'],
description: json['description'],
weather: Weather.fromJson(json['weather']),
Expand All @@ -23,6 +24,7 @@ Feed toFeed({required Map<String, dynamic> json, required String id}) {
Map<String, dynamic> toFeedDto({required Feed feed}) {
return {
'image_path': feed.imagePath,
'thumbnail_image_path': feed.thumbnailImagePath,
'user_email': feed.userEmail,
'description': feed.description,
'weather': feed.weather.toJson(),
Expand Down
22 changes: 22 additions & 0 deletions lib/core/firebase/firestore_service.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:weaco/core/db/transaction_service.dart';

class FirestoreService implements TransactionService {
final FirebaseFirestore _fireStore;

const FirestoreService({
required FirebaseFirestore fireStore,
}) : _fireStore = fireStore;

@override
Future<bool> run(Function callBack) async {
return _fireStore.runTransaction<bool>((transaction) async {
return await callBack(transaction);
}).then(
(value) => true,
onError: (e) {
throw Exception('피드 업로드에 실패 하였습니다.');
},
);
}
}
2 changes: 1 addition & 1 deletion lib/core/path_provider/path_provider_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ import 'package:path_provider/path_provider.dart';

class PathProviderService {
Future<String> getCacheDirectory() async {
return (await getApplicationCacheDirectory()).path;
return (await getApplicationDocumentsDirectory()).path;
}
}
16 changes: 16 additions & 0 deletions lib/core/util/image_compressor_util.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import 'dart:io';
import 'package:image/image.dart' as image;
import 'package:weaco/domain/common/util/image_compressor.dart';

class ImageCompressorImpl implements ImageCompressor {
int width= 1000;
int height = 1000 ~/ 9 * 16;

@override
Future<List<int>> compressImage({required File file}) async {
image.Image originImage = (await image.decodeImageFile(file.path))!;
image.Image resizedImage = image.copyResize(originImage, width: width, height: height);
List<int> compressedResizedImage = image.encodeJpg(resizedImage, quality: 80);
return compressedResizedImage;
}
}
18 changes: 12 additions & 6 deletions lib/data/feed/data_source/remote_feed_data_source.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:weaco/domain/feed/model/feed.dart';
import 'package:weaco/domain/weather/model/daily_location_weather.dart';

abstract interface class RemoteFeedDataSource {
/// OOTD 피드 작성 성공 시 : 피드 업로드 요청(Feed) -> / 업로드 완료(bool) ← 파베
/// OOTD 편집 완료 후 [상세 페이지]: 위와 동일.
/// OOTD 편집 완료 후 [마이 페이지]: 위와 동일.*피드 업데이트
Future<bool> saveFeed({required Feed feed});
Future<bool> saveFeed({
required Transaction transaction,
required Feed feed,
});

/// OOTD 피드 [상세 페이지] : 피드 데이터 요청 (id) -> 파베 / 피드 데이터 반환(json) ← 파베
Future<Feed> getFeed({required String id});
Expand All @@ -18,17 +22,19 @@ abstract interface class RemoteFeedDataSource {
});

/// [마이페이지] 피드 삭제: 피드 삭제 요청(id) -> 파베/ 삭제 완료 (bool) from FB
Future<bool> deleteFeed({required String id});
Future<bool> deleteFeed({
required Transaction transaction,
required String id,
});

/// [홈 화면] 하단 OOTD 추천 목록:
///
/// 유저의 위치와 기온을 기반으로 피드 목록을 불러옵니다.
/// @param city: 유저 위치의 도시명
/// @param temperature: 날씨 온도
Future<List<Feed>> getRecommendedFeedList({
required DailyLocationWeather dailyLocationWeather,
DateTime? createdAt
});
Future<List<Feed>> getRecommendedFeedList(
{required DailyLocationWeather dailyLocationWeather,
DateTime? createdAt});

/// [검색 페이지] 피드 검색:
///
Expand Down
47 changes: 29 additions & 18 deletions lib/data/feed/data_source/remote_feed_data_source_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,22 @@ class RemoteFeedDataSourceImpl implements RemoteFeedDataSource {

/// OOTD 피드 작성 또는 편집 후 저장
@override
Future<bool> saveFeed({required Feed feed}) async {
Future<bool> saveFeed({
required Transaction transaction,
required Feed feed,
}) async {
final feedDto = toFeedDto(feed: feed);

// 피드를 수정 할 경우
if (feed.id != null) {
return await _fireStore
.collection('feeds')
.doc(feed.id)
.set(feedDto)
.then((value) => true);
// 피드를 수정할 경우
final feedDocRef = _fireStore.collection('feeds').doc(feed.id);
transaction.set(feedDocRef, feedDto);
} else {
// 새 피드를 추가할 경우
final feedDocRef = _fireStore.collection('feeds').doc();
transaction.set(feedDocRef, feedDto);
}

// 새 피드를 저장 할 경우
return await _fireStore
.collection('feeds')
.add(feedDto)
.then((value) => true);
return true;
}

/// [OOTD 피드 상세 페이지]:
Expand Down Expand Up @@ -75,11 +74,23 @@ class RemoteFeedDataSourceImpl implements RemoteFeedDataSource {
/// [마이페이지] 피드 삭제
/// soft delete 처리
@override
Future<bool> deleteFeed({required String id}) async {
await _fireStore
.collection('feeds')
.doc(id)
.update({'deleted_at': Timestamp.fromDate(DateTime.now())});
Future<bool> deleteFeed({
required Transaction transaction,
required String id,
}) async {
final originalFeedDocRef = _fireStore.collection('feeds').doc(id);
final originalFeedDoc = await originalFeedDocRef.get();

if (originalFeedDoc.exists) {
final feed = toFeed(json: originalFeedDoc.data()!, id: id);
final deletedFeed = feed.copyWith(deletedAt: DateTime.now());

transaction.update(
originalFeedDocRef,
toFeedDto(feed: deletedFeed),
);
}

return true;
}

Expand Down
12 changes: 1 addition & 11 deletions lib/data/feed/repository/feed_repository_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,6 @@ class FeedRepositoryImpl implements FeedRepository {
required this.remoteFeedDataSource,
});

@override
Future<bool> saveFeed({required Feed editedFeed}) {
return remoteFeedDataSource.saveFeed(feed: editedFeed);
}

@override
Future<bool> deleteFeed({required String id}) async {
return await remoteFeedDataSource.deleteFeed(id: id);
}

/// 피드의 id 값을 전달 하여 Firebase 내의 해당 피드를 가져 와야 한다.
/// GetDetailFeedDetailUseCase에서 사용
/// @param id: 피드 id
Expand Down Expand Up @@ -59,7 +49,7 @@ class FeedRepositoryImpl implements FeedRepository {
}) async {
return await remoteFeedDataSource.getRecommendedFeedList(
dailyLocationWeather: dailyLocationWeather,
createdAt: createdAt
createdAt: createdAt,
);
}

Expand Down
Loading