Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
a96808a
โœจ :: Exchange entity file
aiden30015 Jul 8, 2025
50c11a5
โœจ :: Exchange repository abstract class
aiden30015 Jul 8, 2025
aeefcba
โœจ :: Exchange usecase abstract class
aiden30015 Jul 8, 2025
8a619bd
โœจ :: Exchange usecase class
aiden30015 Jul 8, 2025
5263d73
โœจ :: Exchange data source class
aiden30015 Jul 9, 2025
647f08f
โœจ :: Exchange api class
aiden30015 Jul 9, 2025
e4c2b75
โœจ :: Exchange request dto class
aiden30015 Jul 9, 2025
883061a
โœจ :: Exchange request mapper class
aiden30015 Jul 9, 2025
358f88f
โœจ :: Exchange repository class
aiden30015 Jul 9, 2025
b77fb19
๐Ÿ”ฅ :: Entity json ํŒŒ์‹ฑ ์ฝ”๋“œ ์‚ญ์ œ
aiden30015 Jul 9, 2025
3f17dcf
โœจ :: ๋งค์ˆ˜, ๋งค๋„ ๊ณตํ†ต response class
aiden30015 Jul 9, 2025
dadc347
โœจ :: ๋งค์ˆ˜ ๋ฐ ๋งค๋„ request dto class
aiden30015 Jul 9, 2025
9d674f5
Merge branch 'develop' of https://github.com/Jusicool-Ver-2-0/Jusicooโ€ฆ
aiden30015 Jul 9, 2025
d89f523
โœจ :: Enum ์ถ”๊ฐ€
aiden30015 Jul 9, 2025
d75475b
โœจ :: Enum type ํด๋ž˜์Šค ์ถ”๊ฐ€
aiden30015 Jul 9, 2025
b332d4f
โœจ :: Enum ์ฟผ๋ฆฌ ํƒ€์ž… dto ํด๋ž˜์Šค
aiden30015 Jul 9, 2025
970e79d
โœจ :: MyOrder request dto class
aiden30015 Jul 9, 2025
879589a
โœจ :: Order type enum class
aiden30015 Jul 9, 2025
f2e1519
โœจ :: Reserve type enum
aiden30015 Jul 9, 2025
3968fd8
๐Ÿ”ง :: ํŒŒ์ผ ์œ„์น˜ ๋ณ€๊ฒฝ
aiden30015 Jul 9, 2025
73af5df
โœจ :: My order type status type enum class
aiden30015 Jul 9, 2025
5ccb804
โœจ :: My order response dto class
aiden30015 Jul 9, 2025
56dd8c0
โœจ :: Month order response dto class
aiden30015 Jul 9, 2025
a057cb3
โœจ :: Month rate response dto class
aiden30015 Jul 9, 2025
bacefa0
โ™ป๏ธ :: ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ
aiden30015 Jul 9, 2025
a6aa28c
โœจ :: Reservation order request dto class
aiden30015 Jul 9, 2025
490789f
โ™ป๏ธ :: Class ์ด๋ฆ„ ๋ณ€๊ฒฝ
aiden30015 Jul 9, 2025
8a7ee34
โ™ป๏ธ :: Nullsafety ๋ณ€์ˆ˜ required ์‚ญ์ œ
aiden30015 Jul 9, 2025
27b56ba
โ™ป๏ธ :: ํŒŒ์ผ ์œ„์น˜ ๋ณ€๊ฒฝ
aiden30015 Jul 9, 2025
d5447de
โ™ป๏ธ :: ํด๋” ์ด๋ฆ„ ๋ณ€๊ฒฝ
aiden30015 Jul 9, 2025
65569db
โœจ :: Month order entity class
aiden30015 Jul 9, 2025
59550ca
โœจ :: Month rate entity class
aiden30015 Jul 9, 2025
09c2b7f
โœจ :: My order entity class
aiden30015 Jul 9, 2025
571a761
โœจ :: Reservation order entity class
aiden30015 Jul 9, 2025
c23cc78
โœจ :: Order abstrac repository class
aiden30015 Jul 9, 2025
99e875c
โ™ป๏ธ :: ํด๋” ์ด๋ฆ„ ๋ณ€๊ฒฝ
aiden30015 Jul 9, 2025
dbc0f9e
โœจ :: Order usecase class
aiden30015 Jul 9, 2025
df80826
โœจ :: Order usecase impl class
aiden30015 Jul 9, 2025
c63cdfd
โœจ :: Exchange data source impl class
aiden30015 Jul 9, 2025
7969aec
โ™ป๏ธ :: Local ํด๋” ์ถ”๊ฐ€
aiden30015 Jul 9, 2025
6988eea
โœจ :: Order Entity class
aiden30015 Jul 9, 2025
d4cc4e1
โ™ป๏ธ :: Order Entity๋กœ ๋ณ€๊ฒฝ
aiden30015 Jul 9, 2025
f9a8a41
โ™ป๏ธ :: ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ
aiden30015 Jul 9, 2025
0f39a39
โœจ :: Order api class
aiden30015 Jul 9, 2025
c355982
โœจ :: Order data source
aiden30015 Jul 9, 2025
b2b1dca
โœจ :: Order data source impl class
aiden30015 Jul 9, 2025
83b78f7
โ™ป๏ธ :: Path์— ๋“ค์–ด๊ฐˆ marketCode ์ƒ์„ฑ์ž๋กœ ์ถ”๊ฐ€
aiden30015 Jul 9, 2025
9b50d34
โœจ :: Month order response mapper clas
aiden30015 Jul 10, 2025
fb607c9
โœจ :: Month rate response mapper class
aiden30015 Jul 10, 2025
3762a7e
โœจ :: My order response mapper class
aiden30015 Jul 10, 2025
9ee7a5c
โœ๏ธ :: ํŒŒ์ผ ๋ช… ์˜คํƒ€ ์ˆ˜์ •
aiden30015 Jul 10, 2025
d04d5aa
โ™ป๏ธ :: ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •
aiden30015 Jul 10, 2025
48e1271
โœจ :: Order entity ์†์„ฑ ๊ฐ’ ์ถ”๊ฐ€
aiden30015 Jul 10, 2025
2c6a89a
โœจ :: Order request mapper class
aiden30015 Jul 10, 2025
672cc90
โœจ :: Order response mapper class
aiden30015 Jul 10, 2025
e9d5542
โœจ :: Order response entity class
aiden30015 Jul 10, 2025
76b21bf
โœจ :: Order response entity class
aiden30015 Jul 10, 2025
057dcf0
โ™ป๏ธ :: Entity ์ถ”๊ฐ€ ๋ฐ ํ•จ์ˆ˜ ์ถ”๊ฐ€
aiden30015 Jul 10, 2025
45574ba
โ™ป๏ธ :: MarketCode ์ƒ์„ฑ์ž๋กœ ์ถ”๊ฐ€
aiden30015 Jul 10, 2025
69e55a7
โœจ :: Reserve order mapper class
aiden30015 Jul 10, 2025
5cc58de
โœจ :: Order repository impl class
aiden30015 Jul 10, 2025
d9c1904
โ™ป๏ธ :: Quantity ์ƒ์„ฑ์ž ์ถ”๊ฐ€
aiden30015 Jul 10, 2025
e198d2c
โ™ป๏ธ :: ๋ช…์„ธ์„œ์— ๋งž๊ฒŒ ์ˆ˜์ •
aiden30015 Jul 10, 2025
c9a6820
โ™ป๏ธ :: ๋ช…์„ธ์„œ์— ๋งž๊ฒŒ ์ˆ˜์ •
aiden30015 Jul 10, 2025
5b45d60
โœจ :: Holding entity class
aiden30015 Jul 10, 2025
d6c1955
โœจ :: Holding repository class
aiden30015 Jul 10, 2025
f3a5385
โœจ :: Holding usecase impl class
aiden30015 Jul 10, 2025
c0528c2
โœจ :: Holding usecase class
aiden30015 Jul 10, 2025
7bf2f1f
๐Ÿ”ฅ :: Jsonkey ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ
aiden30015 Jul 10, 2025
2222186
โœจ :: My holding response dto
aiden30015 Jul 10, 2025
e31fe5c
โœจ :: Holding data source impl class
aiden30015 Jul 10, 2025
78cfedd
โœจ :: Holding data source class
aiden30015 Jul 10, 2025
657e352
โœจ :: Holding api
aiden30015 Jul 10, 2025
bd8b141
โ™ป๏ธ :: ํŒŒ์ผ๋ช… ๋ณ€๊ฒฝ
aiden30015 Jul 10, 2025
5bb7c8f
โœจ :: Holding repository impl class
aiden30015 Jul 10, 2025
2af34d1
โœจ :: My holding response mapper class
aiden30015 Jul 10, 2025
0df037f
โ™ป๏ธ :: ํŒŒ์ผ๋ช… ๋ณ€๊ฒฝ
aiden30015 Jul 10, 2025
bf31cf0
โœจ :: Market data source impl class
aiden30015 Jul 10, 2025
74de55e
โœจ :: Market data source class
aiden30015 Jul 10, 2025
a823432
โœจ :: Market request dto class
aiden30015 Jul 10, 2025
5fdb528
โœจ :: Market search request dto class
aiden30015 Jul 10, 2025
e18c6e2
โœจ :: Market response dto class
aiden30015 Jul 10, 2025
2b1a6ed
โœจ :: Market response mapper class
aiden30015 Jul 10, 2025
32dcb66
โœจ :: Market repository impl class
aiden30015 Jul 10, 2025
6a44552
โœจ :: Market api class
aiden30015 Jul 10, 2025
f40f391
โœจ :: Market type enum class
aiden30015 Jul 10, 2025
de8d069
โœจ :: Market entity class
aiden30015 Jul 10, 2025
caf4d45
โœจ :: Market repository class
aiden30015 Jul 10, 2025
ce971dd
โœจ :: Market usecase impl class
aiden30015 Jul 10, 2025
df45920
โœจ :: Market usecase class
aiden30015 Jul 10, 2025
09c8a4b
โœจ :: ๋งˆ์ผ“ ์ƒํ•˜ํ–ฅ ์˜ˆ์ธก api ์ถ”๊ฐ€
aiden30015 Jul 10, 2025
b034f09
โ™ป๏ธ :: ๋ช…์„ธ์„œ์— ๋งž๊ฒŒ List๋กœ ๋ฐ›์•„์˜ค๊ฒŒ ์ˆ˜์ •
aiden30015 Jul 10, 2025
90b6090
Merge branch 'develop' of https://github.com/Jusicool-Ver-2-0/Jusicooโ€ฆ
aiden30015 Jul 10, 2025
7bac632
๐Ÿ”ฅ :: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” import ์‚ญ์ œ
aiden30015 Jul 10, 2025
2e2753e
โœ๏ธ :: ํด๋”๋ช… ์˜คํƒ€ ์ˆ˜์ •
aiden30015 Jul 11, 2025
16cdf20
โœ๏ธ :: ํด๋”๋ช… ์˜คํƒ€ ์ˆ˜์ •
aiden30015 Jul 11, 2025
5978d45
โœจ :: Community api ์ถ”๊ฐ€
aiden30015 Jul 11, 2025
1c88a47
๐Ÿ› :: Ci ์˜ค๋ฅ˜ ์ˆ˜์ •
aiden30015 Jul 11, 2025
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
21 changes: 21 additions & 0 deletions lib/data/community/data_source/community_data_source.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import 'package:jusicool_ios/data/community/dto/remote/request/edit_community_post_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/write_community_comment_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/write_community_post_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/response/community_post_detail_response_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/response/community_post_response_dto.dart';

abstract class CommunityDataSource {
Future<List<CommunityPostResponseDto>> fetchCommunity(String market);

Future<void> writeCommunityPost(String markte, WriteCommunityPostRequestDto body);

Future<CommunityPostDetailResponseDto> fetchCommunityDetail(String market, int boardId);

Future<void> writeComment(String market, int boardId, WriteCommunityCommentRequestDto body);

Future<void> editPost(String market, int boardId, EditCommunityPostRequestDto body);

Future<void> likePost(String markte, int boardId);

Future<void> deletePost(String market, int boardId);
}
50 changes: 50 additions & 0 deletions lib/data/community/data_source/community_data_source_impl.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import 'package:jusicool_ios/data/community/data_source/community_data_source.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/edit_community_post_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/write_community_comment_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/write_community_post_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/response/community_post_detail_response_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/response/community_post_response_dto.dart';
import 'package:jusicool_ios/data/community/service/community_api.dart';

class CommunityDataSourceImpl extends CommunityDataSource {

final CommunityApi _communityApi;

CommunityDataSourceImpl(this._communityApi);


@override
Future<List<CommunityPostResponseDto>> fetchCommunity(String market) async {
return await _communityApi.fetchCommunity(market);
}

@override
Future<void> writeCommunityPost(String markte, WriteCommunityPostRequestDto body) async {
return await _communityApi.writeCommunityPost(markte, body);
}

@override
Future<CommunityPostDetailResponseDto> fetchCommunityDetail(String market, int boardId) async {
return await _communityApi.getCommunityPost(market, boardId);
}

@override
Future<void> writeComment(String market, int boardId, WriteCommunityCommentRequestDto body) async {
return await _communityApi.writeComment(market, boardId, body);
}

@override
Future<void> editPost(String market, int boardId, EditCommunityPostRequestDto body) async {
return await _communityApi.editPost(market, boardId, body);
}

@override
Future<void> likePost(String markte, int boardId) async {
return await _communityApi.likePost(markte, boardId);
}

@override
Future<void> deletePost(String market, int boardId) async {
return await _communityApi.deletePost(market, boardId);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import 'package:freezed_annotation/freezed_annotation.dart';

part 'edit_community_post_request_dto.g.dart';
part 'edit_community_post_request_dto.freezed.dart';

@freezed
abstract class EditCommunityPostRequestDto with _$EditCommunityPostRequestDto {
factory EditCommunityPostRequestDto({
required String title,
required String content,
}) = _EditCommunityPostRequestDto;

factory EditCommunityPostRequestDto.fromJson(Map<String, dynamic> json) =>
_$EditCommunityPostRequestDtoFromJson(json);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import 'package:freezed_annotation/freezed_annotation.dart';

part 'write_community_comment_request_dto.g.dart';
part 'write_community_comment_request_dto.freezed.dart';

@freezed
abstract class WriteCommunityCommentRequestDto with _$WriteCommunityCommentRequestDto {
factory WriteCommunityCommentRequestDto({
required String comment,
}) = _WriteCommunityPostRequestDto;

factory WriteCommunityCommentRequestDto.fromJson(Map<String, dynamic> json) =>
_$WriteCommunityCommentRequestDtoFromJson(json);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import 'package:freezed_annotation/freezed_annotation.dart';

part 'write_community_post_request_dto.g.dart';
part 'write_community_post_request_dto.freezed.dart';

@freezed
abstract class WriteCommunityPostRequestDto with _$WriteCommunityPostRequestDto {
factory WriteCommunityPostRequestDto({
required String title,
required String content,
}) = _WriteCommunityPostRequestDto;

factory WriteCommunityPostRequestDto.fromJson(Map<String, dynamic> json) =>
_$WriteCommunityPostRequestDtoFromJson(json);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import 'package:freezed_annotation/freezed_annotation.dart';

part 'community_post_detail_response_dto.g.dart';
part 'community_post_detail_response_dto.freezed.dart';

@freezed
abstract class CommunityPostDetailResponseDto with _$CommunityPostDetailResponseDto {
factory CommunityPostDetailResponseDto({
required int id,
required String email,
required String market,
required String title,
required String content,
required List<CommentDto> comment,
@JsonKey(name: 'like_count') required int likeCount,
}) = _CommunityPostDetailResponseDto;

factory CommunityPostDetailResponseDto.fromJson(Map<String,dynamic> json) =>
_$CommunityPostDetailResponseDtoFromJson(json);
}

@freezed
abstract class CommentDto with _$CommentDto {
factory CommentDto({
required int id,
required String email,
required String comment,
}) = _CommentDto;

factory CommentDto.fromJson(Map<String, dynamic> json) =>
_$CommentDtoFromJson(json);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import 'package:freezed_annotation/freezed_annotation.dart';

part 'community_post_response_dto.g.dart';
part 'community_post_response_dto.freezed.dart';

@freezed
abstract class CommunityPostResponseDto with _$CommunityPostResponseDto {
factory CommunityPostResponseDto({
required int id,
required String email,
required String market,
required String title,
required String content,
@JsonKey(name: 'comment_count') required int commentCount,
@JsonKey(name: 'like_count') required int likeCount,
@JsonKey(name: 'is_liked') required bool isLiked,
}) = _CommunityPostResponseDto;

factory CommunityPostResponseDto.fromJson(Map<String, dynamic> json) =>
_$CommunityPostResponseDtoFromJson(json);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import 'package:jusicool_ios/data/community/dto/remote/response/community_post_detail_response_dto.dart';
import 'package:jusicool_ios/domain/community/enitites/community_post_detail_entity.dart';

class CommentResponseMapper {
static CommentDto toDto(CommentEntity entity) =>
CommentDto(id: entity.id, email: entity.email, comment: entity.comment);
static CommentEntity toEntity(CommentDto dto) =>
CommentEntity(id: dto.id, email: dto.email, comment: dto.comment);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import 'package:jusicool_ios/data/community/dto/remote/response/community_post_detail_response_dto.dart';
import 'package:jusicool_ios/domain/community/enitites/community_post_detail_entity.dart';
import 'package:jusicool_ios/data/community/mapper/remote/response/comment_response_mapper.dart';

class CommunityPostDetailResponseMapper {
static CommunityPostDetailResponseDto toDto(CommunityPostDetailEntity entity) =>
CommunityPostDetailResponseDto(
id: entity.id,
email: entity.email,
market: entity.market,
title: entity.title,
content: entity.content,
comment: entity.comment.map((e) => CommentResponseMapper.toDto(e)).toList(),
likeCount: entity.likeCount,
);

static CommunityPostDetailEntity toEntity(CommunityPostDetailResponseDto dto) =>
CommunityPostDetailEntity(
id: dto.id,
email: dto.email,
market: dto.market,
title: dto.title,
content: dto.content,
comment: dto.comment.map((e) => CommentResponseMapper.toEntity(e)).toList(),
likeCount: dto.likeCount,
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import 'package:jusicool_ios/data/community/dto/remote/response/community_post_response_dto.dart';
import 'package:jusicool_ios/domain/community/enitites/community_post_entity.dart';

class CommunityPostResponseMapper {
static CommunityPostResponseDto toDto(CommunityPostEntity entity) =>
CommunityPostResponseDto(
id: entity.id,
email: entity.email,
market: entity.market,
title: entity.title,
content: entity.content,
commentCount: entity.commentCount,
likeCount: entity.likeCount,
isLiked: entity.isLiked,
);
static CommunityPostEntity toEntity(CommunityPostResponseDto dto) =>
CommunityPostEntity(
id: dto.id,
email: dto.email,
market: dto.market,
title: dto.title,
content: dto.content,
commentCount: dto.commentCount,
likeCount: dto.likeCount,
isLiked: dto.isLiked,
);
}
57 changes: 57 additions & 0 deletions lib/data/community/repositories/community_repository_impl.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import 'package:jusicool_ios/data/community/data_source/community_data_source_impl.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/edit_community_post_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/write_community_comment_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/write_community_post_request_dto.dart';
import 'package:jusicool_ios/data/community/mapper/remote/response/community_post_detail_response_mapper.dart';
import 'package:jusicool_ios/data/community/mapper/remote/response/community_post_response_mapper.dart';
import 'package:jusicool_ios/domain/community/enitites/community_post_detail_entity.dart';
import 'package:jusicool_ios/domain/community/enitites/community_post_entity.dart';
import 'package:jusicool_ios/domain/community/repositories/community_repository.dart';

class CommunityRepositoryImpl extends CommunityRepository {

final CommunityDataSourceImpl _communityDataSourceImpl;

CommunityRepositoryImpl(this._communityDataSourceImpl);

@override
Future<List<CommunityPostEntity>> fetchCommunity(String market) async {
final response = await _communityDataSourceImpl.fetchCommunity(market);
return response.map((e) => CommunityPostResponseMapper.toEntity(e)).toList();
}

@override
Future<void> writeCommunityPost(String market, String title, String content) async {
final body = WriteCommunityPostRequestDto(title: title, content: content);
await _communityDataSourceImpl.writeCommunityPost(market, body);
}

@override
Future<List<CommunityPostDetailEntity>> fetchCommunityDetail(String market, int boardId) async {
final response = await _communityDataSourceImpl.fetchCommunityDetail(market, boardId);
return [CommunityPostDetailResponseMapper.toEntity(response)];
}

@override
Future<void> writeComment(String market, int boardId, String comment) async {
final body = WriteCommunityCommentRequestDto(comment: comment);
await _communityDataSourceImpl.writeComment(market, boardId, body);
}

@override
Future<void> editPost(String market, int boardId, String title, String content) async {
final body = EditCommunityPostRequestDto(title: title, content: content);
await _communityDataSourceImpl.editPost(market, boardId, body);
}

@override
Future<void> likePost(String market, int boardId) async {
await _communityDataSourceImpl.likePost(market, boardId);
}

@override
Future<void> deletePost(String market, int boardId) async {
await _communityDataSourceImpl.deletePost(market, boardId);
}

}
59 changes: 59 additions & 0 deletions lib/data/community/service/community_api.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import 'package:dio/dio.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/edit_community_post_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/write_community_comment_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/request/write_community_post_request_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/response/community_post_detail_response_dto.dart';
import 'package:jusicool_ios/data/community/dto/remote/response/community_post_response_dto.dart';
import 'package:retrofit/http.dart';

part 'community_api.g.dart';

@RestApi()
abstract class CommunityApi {

factory CommunityApi(Dio dio,{String baseUrl}) = _CommunityApi;

@GET('/community/{market}')
Future<List<CommunityPostResponseDto>> fetchCommunity(
@Path('market') String market
);

@POST('/community/{market}')
Future<void> writeCommunityPost(
@Path('market') String market,
@Body() WriteCommunityPostRequestDto body
);

@GET('/community/{market}/{board_id}')
Future<CommunityPostDetailResponseDto> getCommunityPost(
@Path('market') String market,
@Path('board_id') int boardId,
);

@POST('/community/{market}/{board_id}')
Future<void> writeComment(
@Path('market') String market,
@Path('board_id') int boardId,
@Body() WriteCommunityCommentRequestDto body,
);

@PUT('/community/{market}/{board_id}')
Future<void> editPost(
@Path('market') String market,
@Path('board_id') int boardId,
@Body() EditCommunityPostRequestDto body
);

@PATCH('/community/{market}/{board_id}')
Future<void> likePost(
@Path('market') String market,
@Path('board_id') int boardId,
);

@DELETE('/community/{market}/{board_id}')
Future<void> deletePost(
@Path('market') String market,
@Path('board_id') int boardId,
);

}
7 changes: 7 additions & 0 deletions lib/data/exchange/data_sources/exchange_data_source.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import 'package:jusicool_ios/data/exchange/dto/remote/request/exchange_request_dto.dart';

abstract class ExchangeDataSource {
Future<void> exchangeKRW(ExchangeRequestDto body);

Future<void> exchangeUSD(ExchangeRequestDto body);
}
Loading