Files
swift_companion/swiftyCompanion/swifty_companion/lib/config/intra_config.dart
2026-09-29 14:26:17 +02:00

23 lines
949 B
Dart

import 'package:flutter_dotenv/flutter_dotenv.dart';
/// Endpoints et variables OAuth 42 (fichier `.env` à la racine du package Flutter).
abstract final class IntraConfig {
static const String authorizeUrl = 'https://api.intra.42.fr/oauth/authorize';
static const String tokenUrl = 'https://api.intra.42.fr/oauth/token';
static const String apiBaseUrl = 'https://api.intra.42.fr/v2';
static String get clientId => dotenv.env['CLIENT_ID']?.trim() ?? '';
static String get clientSecret => dotenv.env['CLIENT_SECRET']?.trim() ?? '';
static String get redirectUri => dotenv.env['REDIRECT_URI']?.trim() ?? '';
static bool get isConfigured =>
clientId.isNotEmpty && clientSecret.isNotEmpty && redirectUri.isNotEmpty;
/// Aide debug (écran auth) — ne pas afficher le secret complet.
static String get clientIdSuffix {
final id = clientId;
if (id.length < 6) return '?';
return id.substring(id.length - 6);
}
}