Deploy: 2026-05-25 00:29:42

This commit is contained in:
Hamza-Ayed
2026-05-25 00:29:42 +03:00
parent b20f457eaf
commit 7359206eb3
14 changed files with 1126 additions and 213 deletions

View File

@@ -42,4 +42,13 @@ class ApiConstants {
// English: The endpoint to approve a pending company subscription.
// Arabic: نقطة النهاية للموافقة على اشتراك معلق للشركة.
static const String approveBillingEndpoint = '/admin/companies/approve-billing';
// English: The endpoint to list connected Meta sessions.
static const String metaSessionsEndpoint = '/meta/sessions';
// English: The endpoint to connect a new Meta channel session.
static const String metaConnectEndpoint = '/meta/sessions/connect';
// English: The endpoint to disconnect a Meta channel session.
static const String metaDisconnectEndpoint = '/meta/sessions';
}

View File

@@ -176,4 +176,52 @@ class ApiService {
}),
);
}
// English: Fetch Meta sessions connection status.
Future<http.Response> getMetaSessions(String token) async {
final url = Uri.parse('${ApiConstants.baseUrl}${ApiConstants.metaSessionsEndpoint}');
return await _client.get(
url,
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer $token',
},
);
}
// English: Connect a new Facebook page or Instagram channel.
Future<http.Response> connectMetaSession(String token, String channelType, String pageId, String pageName, String pageAccessToken) async {
final url = Uri.parse('${ApiConstants.baseUrl}${ApiConstants.metaConnectEndpoint}');
return await _client.post(
url,
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer $token',
},
body: jsonEncode({
'channel_type': channelType,
'page_id': pageId,
'page_name': pageName,
'page_access_token': pageAccessToken,
}),
);
}
// English: Disconnect a Meta page or Instagram channel.
Future<http.Response> disconnectMetaSession(String token, int sessionId) async {
final url = Uri.parse('${ApiConstants.baseUrl}${ApiConstants.metaDisconnectEndpoint}');
return await _client.delete(
url,
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer $token',
},
body: jsonEncode({
'session_id': sessionId,
}),
);
}
}