Update Saqel Platform: 2026-09-08 18:35:03

This commit is contained in:
Hamza-Ayed
2026-09-08 18:35:03 +03:00
parent 4008d4a435
commit dbbd7786f2
2 changed files with 22 additions and 1 deletions
@@ -1,5 +1,6 @@
import 'package:flutter/services.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:shared_preferences/shared_preferences.dart';
/// Ultra-Resilient Storage Service for Teacher Studio
class StorageService {
@@ -22,6 +23,10 @@ class StorageService {
Future<void> _writeSafe(String key, String value) async {
_volatileStore[key] = value;
// Persistent fallback for unsigned macOS development builds. Production
// signed builds still write to Keychain below.
final preferences = await SharedPreferences.getInstance();
await preferences.setString(key, value);
try {
await _secureStorage.write(key: key, value: value);
} on PlatformException {
@@ -36,7 +41,8 @@ class StorageService {
if (val != null && val.isNotEmpty) return val;
} catch (_) {}
return _volatileStore[key];
final preferences = await SharedPreferences.getInstance();
return preferences.getString(key) ?? _volatileStore[key];
}
Future<void> saveToken(String token) async =>
@@ -46,6 +52,9 @@ class StorageService {
Future<void> clearSession() async {
_volatileStore.remove(_keyToken);
_volatileStore.remove(_keyUser);
final preferences = await SharedPreferences.getInstance();
await preferences.remove(_keyToken);
await preferences.remove(_keyUser);
try {
await _secureStorage.delete(key: _keyToken);
await _secureStorage.delete(key: _keyUser);
+12
View File
@@ -102,6 +102,18 @@ $router->get('/api/health', function ($request, $response) {
'time' => date('Y-m-d H:i:s')
]);
});
$router->get('/api/health/upload-limits', function ($request, $response) {
$response->json([
'status' => 'success',
'data' => [
'php_sapi' => PHP_SAPI,
'post_max_size' => ini_get('post_max_size'),
'upload_max_filesize' => ini_get('upload_max_filesize'),
'memory_limit' => ini_get('memory_limit'),
'max_execution_time' => ini_get('max_execution_time'),
],
]);
});
$router->get('/api/test/nabeh', [\App\Controllers\TestController::class, 'testNabeh'], $superAdminMiddleware);
$router->get('/api/test/system', [\App\Controllers\TestController::class, 'testSystem'], $superAdminMiddleware);
$router->get('/api/super-admin/overview', [\App\Controllers\SuperAdminController::class, 'overview'], $superAdminMiddleware);