1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-11-30 00:36:28 +00:00
comunicmobile/lib/models/api_request.dart

32 lines
852 B
Dart

import 'package:comunic/helpers/api_helper.dart';
import 'package:comunic/models/api_response.dart';
import 'package:meta/meta.dart';
/// API Request model
///
/// Contains all the information associated to an API request
///
/// @author Pierre HUBERT
class APIRequest {
final String uri;
final bool needLogin;
Map<String, String> args;
APIRequest({@required this.uri, this.needLogin = false, this.args})
: assert(uri != null),
assert(needLogin != null) {
if (this.args == null) this.args = Map();
}
void addString(String name, String value) => args[name] = value;
void addInt(String name, int value) => args[name] = value.toString();
void addBool(String name, bool value) =>
args[name] = value ? "true" : "false";
/// Execute the request
Future<APIResponse> exec() async => APIHelper().exec(this);
}