Skip to content

Commit

Permalink
Merge pull request #350 from bounswe/mobile/feature/createPostArticle…
Browse files Browse the repository at this point in the history
…APICalls#330

Mobile/feature/create post article api calls#330
  • Loading branch information
kardelendemiral authored Nov 29, 2022
2 parents 3c1d7df + 75dd33a commit 40acbbb
Show file tree
Hide file tree
Showing 6 changed files with 526 additions and 369 deletions.
57 changes: 57 additions & 0 deletions app/mobile/bounswe5_mobile/lib/API_service.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import 'dart:io';
import 'package:http/http.dart' as http;
import 'package:bounswe5_mobile/models/user.dart';
import 'dart:async';
import 'dart:convert';
import 'package:http_parser/http_parser.dart';
import 'package:uri_to_file/uri_to_file.dart';
import 'package:path/path.dart' as p;

/// This class handles API calls.
class ApiService {
Expand Down Expand Up @@ -74,4 +78,57 @@ class ApiService {

}

Future<int> createPost(String token, String title, String body_, String longitude, String latitude, String image_uri ) async {

File file = await toFile(image_uri);
var uri = Uri.parse("${baseURL}/forum/post");
Map<String, String> headers = {
'Authorization': "token $token",
'content-type': "multipart/form-data",
};
var request = http.MultipartRequest('POST', uri)
..headers.addAll(headers)
..fields['title'] = title
..fields['body'] = body_
..fields['longitude'] = longitude
..fields['latitude'] = latitude
..files.add(http.MultipartFile.fromBytes('file', file.readAsBytesSync(), filename: 'test'));
var response = await request.send();
return response.statusCode;

/* var uri = Uri.parse("$baseURL/forum/post");
final header = {
'Authorization': "token $token",
'content-type': "application/json",
};
final body = jsonEncode(<String, Object>{
'title': title,
'body': body_,
'longitude': longitude,
'latitude': latitude,
'image_urls': image_urls,
});
final response = await http.post(uri, body: body, headers: header);
return response.statusCode;*/
}

Future<int> createArticle(String token, String title, String body_, String image_uri) async {
File file = await toFile(image_uri);
var uri = Uri.parse("${baseURL}/articles/article");
Map<String, String> headers = {
'Authorization': "token $token",
'content-type': "multipart/form-data",
};
var request = http.MultipartRequest('POST', uri)
..headers.addAll(headers)
..fields['title'] = title
..fields['body'] = body_
..files.add(http.MultipartFile.fromBytes('file', file.readAsBytesSync(), filename: 'test'));
var response = await request.send();
return response.statusCode;
}



}
Loading

0 comments on commit 40acbbb

Please sign in to comment.