uploadPhoto method

  1. @override
Future<UploadPhoto> uploadPhoto({
  1. required String distinctId,
  2. required File photo,
  3. String? imageName,
})
override

Implementation

@override
Future<UploadPhoto> uploadPhoto({
  required String distinctId,
  required File photo,
  String? imageName,
}) async {
  final response = await dio.post(
    '/photos',
    data: FormData.fromMap({
      'image_name': ?imageName,
      'campaign': Environment.campaign,
      'api_key': Environment.apiKey,
      'distinct_id': distinctId,
      'upload_photo': await MultipartFile.fromFile(
        photo.path,
        filename: photo.path.split('/').last,
      ),
    }),
  );
  final raw = response.data;
  final Map<String, dynamic> responseData =
      raw is String ? json.decode(raw) : Map<String, dynamic>.from(raw as Map);
  return _jsonToUploadPhoto(responseData);
}