added edit job api

This commit is contained in:
Vaibhav Surve 2025-11-17 11:15:17 +05:30
parent 31a27da85d
commit ee1e5014b4
2 changed files with 77 additions and 28 deletions

View File

@ -4,7 +4,6 @@ class ApiEndpoints {
// static const String baseUrl = "https://devapi.marcoaiot.com/api";
// static const String baseUrl = "https://mapi.marcoaiot.com/api";
static const String getMasterCurrencies = "/Master/currencies/list";
static const String getMasterExpensesCategories =
"/Master/expenses-categories";
@ -134,6 +133,8 @@ class ApiEndpoints {
static const String getServiceProjectsList = "/serviceproject/list";
static const String getServiceProjectDetail = "/serviceproject/details";
static const String getServiceProjectJobList = "/serviceproject/job/list";
static const String getServiceProjectJobDetail = "/serviceproject/job/details";
static const String getServiceProjectJobDetail =
"/serviceproject/job/details";
static const String editServiceProjectJob = "/serviceproject/job/edit";
static const String createServiceProjectJob = "/serviceproject/job/create";
}

View File

@ -307,17 +307,64 @@ class ApiService {
}
// Service Project Module APIs
/// Edit a Service Project Job
static Future<bool> editServiceProjectJobApi({
required String jobId,
required List<Map<String, dynamic>>
operations,
}) async {
final endpoint = "${ApiEndpoints.editServiceProjectJob}/$jobId";
logSafe("Editing Service Project Job: $jobId with operations: $operations");
try {
// PATCH request is usually similar to PUT, but with http.patch
String? token = await _getToken();
if (token == null) return false;
final uri = Uri.parse("${ApiEndpoints.baseUrl}$endpoint");
final headers = _headers(token);
final response = await http
.patch(uri, headers: headers, body: jsonEncode(operations))
.timeout(extendedTimeout);
logSafe(
"Edit Service Project Job response status: ${response.statusCode}");
logSafe("Edit Service Project Job response body: ${response.body}");
final json = jsonDecode(response.body);
if (response.statusCode == 200 && json['success'] == true) {
logSafe("Service Project Job edited successfully: ${json['data']}");
return true;
} else {
logSafe(
"Failed to edit Service Project Job: ${json['message'] ?? 'Unknown error'}",
level: LogLevel.warning,
);
return false;
}
} catch (e, stack) {
logSafe("Exception during editServiceProjectJobApi: $e",
level: LogLevel.error);
logSafe("StackTrace: $stack", level: LogLevel.debug);
return false;
}
}
/// Get details for a single Service Project Job
static Future<JobDetailsResponse?> getServiceProjectJobDetailApi(String jobId) async {
static Future<JobDetailsResponse?> getServiceProjectJobDetailApi(
String jobId) async {
final endpoint = "${ApiEndpoints.getServiceProjectJobDetail}/$jobId";
logSafe("Fetching Job Detail for Job ID: $jobId");
try {
final response = await _getRequest(endpoint);
if (response == null) {
logSafe("Service Project Job Detail request failed: null response", level: LogLevel.error);
logSafe("Service Project Job Detail request failed: null response",
level: LogLevel.error);
return null;
}
@ -330,7 +377,8 @@ static Future<JobDetailsResponse?> getServiceProjectJobDetailApi(String jobId) a
return JobDetailsResponse.fromJson(jsonResponse);
}
} catch (e, stack) {
logSafe("Exception during getServiceProjectJobDetailApi: $e", level: LogLevel.error);
logSafe("Exception during getServiceProjectJobDetailApi: $e",
level: LogLevel.error);
logSafe("StackTrace: $stack", level: LogLevel.debug);
}