Fakultas Ilmu Komputer UI

Commit 946be4be authored by Yoga Pratama's avatar Yoga Pratama
Browse files

[CHORES] Change namaLokasi parameter to placeId

parent c68c3754
......@@ -10,24 +10,28 @@ class KomentarPostingKegiatanBloc {
StreamController _komentarPostingKegiatanListController;
List<KomentarPostingKegiatanModel> allKomentarPositngKegiatanFromApi;
StreamSink<NetworkModel<KomentarPostingKegiatanList>> get komentarPostingKegiatanListSink =>
_komentarPostingKegiatanListController.sink;
Stream<NetworkModel<KomentarPostingKegiatanList>> get komentarPostingKegiatanListStream =>
_komentarPostingKegiatanListController.stream;
StreamSink<NetworkModel<KomentarPostingKegiatanList>>
get komentarPostingKegiatanListSink =>
_komentarPostingKegiatanListController.sink;
Stream<NetworkModel<KomentarPostingKegiatanList>>
get komentarPostingKegiatanListStream =>
_komentarPostingKegiatanListController.stream;
KomentarPostingKegiatanBloc(String namaLokasi, int id) {
KomentarPostingKegiatanBloc(String placeId, int id) {
_komentarPostingKegiatanListController =
StreamController<NetworkModel<KomentarPostingKegiatanList>>();
_komentarPostingKegiatanRepository =
GetIt.instance.get<BaseKomentarPostingKegiatanRepository>();
fetchKomentarPostingKegiatanList(namaLokasi, id);
fetchKomentarPostingKegiatanList(placeId, id);
}
Future<void> fetchKomentarPostingKegiatanList(String namaLokasi, int id) async {
komentarPostingKegiatanListSink.add(NetworkModel.loading('Getting Komentar'));
Future<void> fetchKomentarPostingKegiatanList(String placeId, int id) async {
komentarPostingKegiatanListSink
.add(NetworkModel.loading('Getting Komentar'));
try {
final komentarPostingKegiatanListResponse =
await _komentarPostingKegiatanRepository.fetchKomentarPostingKegiatan(namaLokasi, id);
await _komentarPostingKegiatanRepository.fetchKomentarPostingKegiatan(
placeId, id);
allKomentarPositngKegiatanFromApi =
List.from(komentarPostingKegiatanListResponse.allKomentarKegiatan);
......@@ -43,16 +47,17 @@ class KomentarPostingKegiatanBloc {
String namaLokasi,
int id) async {
try {
return await _komentarPostingKegiatanRepository.createKomentarPostingKegiatan(
newKomentarPostingKegiatanData, namaLokasi, id);
return await _komentarPostingKegiatanRepository
.createKomentarPostingKegiatan(
newKomentarPostingKegiatanData, namaLokasi, id);
} catch (e) {
return Response('Failed to add komentar', 400);
}
}
void resetKomentarPostingKegiatanList() {
komentarPostingKegiatanListSink.add(
NetworkModel.completed(KomentarPostingKegiatanList(allKomentarPositngKegiatanFromApi)));
komentarPostingKegiatanListSink.add(NetworkModel.completed(
KomentarPostingKegiatanList(allKomentarPositngKegiatanFromApi)));
}
void dispose() {
......
......@@ -2,25 +2,30 @@ import 'package:bisaGo/model/komentar_posting_kegiatan.dart';
import 'package:bisaGo/network/network_interface.dart';
abstract class BaseKomentarPostingKegiatanRepository {
Future<KomentarPostingKegiatanList> fetchKomentarPostingKegiatan(String namaLokasi, int id);
Future<KomentarPostingKegiatanList> fetchKomentarPostingKegiatan(
String namaLokasi, int id);
Future<dynamic> createKomentarPostingKegiatan(
Map<String, dynamic> newKomentarPostingKegiatanData, String namaLokasi, int id
);
Map<String, dynamic> newKomentarPostingKegiatanData,
String namaLokasi,
int id);
}
class KomentarPostingKegiatanRepository implements BaseKomentarPostingKegiatanRepository {
class KomentarPostingKegiatanRepository
implements BaseKomentarPostingKegiatanRepository {
final NetworkInterface _network = NetworkInterface();
@override
// ganti namaLokasi jd placeId kyaknya
Future<KomentarPostingKegiatanList> fetchKomentarPostingKegiatan(String namaLokasi, int id) async {
final nama = namaLokasi.replaceAll(' ', '%20');
Future<KomentarPostingKegiatanList> fetchKomentarPostingKegiatan(
String placeId, int id) async {
final url =
'/informasi-fasilitas/lokasi/list-kegiatan/$nama/${id.toString()}';
'/informasi-fasilitas/lokasi/list-komentar-kegiatan/$placeId/$id';
final response = await _network.get(url: url, isLogin: false);
final data = response.values.toList();
return KomentarPostingKegiatanList(data.map<KomentarPostingKegiatanModel>(
(komentarPostingKegiatan) => KomentarPostingKegiatanModel.fromJson(komentarPostingKegiatan))
return KomentarPostingKegiatanList(data
.map<KomentarPostingKegiatanModel>((komentarPostingKegiatan) =>
KomentarPostingKegiatanModel.fromJson(komentarPostingKegiatan))
.toList());
}
......@@ -29,11 +34,10 @@ class KomentarPostingKegiatanRepository implements BaseKomentarPostingKegiatanRe
Future<dynamic> createKomentarPostingKegiatan(
Map<String, dynamic> newKomentarPostingKegiatanData,
String namaLokasi,
int id
) async {
int id) async {
final response = await _network.post(
url:
'/informasi-fasilitas/lokasi/detail-kegiatan/$namaLokasi/${id.toString()}/',
'/informasi-fasilitas/lokasi/detail-kegiatan/$namaLokasi/${id.toString()}/',
bodyParams: newKomentarPostingKegiatanData);
return response;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment