feat: deploy infrastructure + disk/drive, calendar, presentation, workspaces, onboarding, demo user
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
import '../core/api/client.dart';
|
||||
import '../core/api/endpoints.dart';
|
||||
|
||||
class DiskApi {
|
||||
final ApiClient _api;
|
||||
|
||||
DiskApi(this._api);
|
||||
|
||||
Future<List<String>> getProviders() async {
|
||||
final resp = await _api.get(Endpoints.diskProviders);
|
||||
final list = resp.data['providers'] as List<dynamic>? ?? [];
|
||||
return list.map((e) => e as String).toList();
|
||||
}
|
||||
|
||||
Future<Map<String, dynamic>> getStatus() async {
|
||||
final resp = await _api.get(Endpoints.diskStatus);
|
||||
return resp.data as Map<String, dynamic>? ?? {};
|
||||
}
|
||||
|
||||
Future<bool> connect(String provider, String code) async {
|
||||
try {
|
||||
await _api.post(Endpoints.diskConnect, data: {
|
||||
'provider': provider,
|
||||
'code': code,
|
||||
});
|
||||
return true;
|
||||
} catch (_) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> disconnect(String provider) async {
|
||||
try {
|
||||
await _api.post(Endpoints.diskDisconnect, data: {
|
||||
'provider': provider,
|
||||
});
|
||||
return true;
|
||||
} catch (_) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Future<String?> getOAuthUrl(String provider) async {
|
||||
try {
|
||||
final resp = await _api.get(Endpoints.diskOAuthUrl(provider));
|
||||
return resp.data['url'] as String?;
|
||||
} catch (_) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user