connect with backend

This commit is contained in:
Abhishek Mali
2025-12-03 11:57:05 +05:30
parent c6b4c66c10
commit 3bf27cc29d
48 changed files with 2618 additions and 126 deletions

View File

@@ -0,0 +1,48 @@
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'dio_client.dart';
class UserProfileService {
late final Dio _dio;
UserProfileService(BuildContext context) {
_dio = DioClient.getInstance(context);
}
/// Get profile
Future<Map<String, dynamic>> getProfile() async {
try {
final res = await _dio.get('/user/profile');
return Map<String, dynamic>.from(res.data);
} catch (e) {
return {"success": false, "message": e.toString()};
}
}
/// Update profile IMAGE only
Future<Map<String, dynamic>> updateProfileImage(File image) async {
try {
final form = FormData.fromMap({
"profile_image": await MultipartFile.fromFile(image.path),
});
final res = await _dio.post('/user/profile-image', data: form);
return Map<String, dynamic>.from(res.data);
} catch (e) {
return {"success": false, "message": e.toString()};
}
}
/// Send profile update request (admin approval needed)
Future<Map<String, dynamic>> sendUpdateRequest(Map<String, dynamic> data) async {
try {
final res = await _dio.post('/user/profile-update-request', data: data);
return Map<String, dynamic>.from(res.data);
} catch (e) {
return {"success": false, "message": e.toString()};
}
}
}