setKeys method
Ensures lib/src/config/app.json exists and populates it with default config.
If reset is true, overwrites existing config.
Otherwise, only writes if file is missing or empty.
Sets:
name,version,timestamp- Secure
keyvia generateKey - Unique
idvia UUID v4 debug: true
Implementation
void setKeys({bool reset = false}) {
final file = File('lib/src/config/app.json');
// Ensure file exists
if (!file.existsSync()) {
file.createSync(recursive: true);
file.writeAsStringSync('{}');
}
String content = file.readAsStringSync();
// Skip if content exists and not resetting
if ((content.isNotEmpty && content != "{}") && !reset) return;
final config = <String, dynamic>{
"name": "Archery Web Application",
"version": version,
"timestamp": DateTime.now().toUtc().toIso8601String(),
"key": generateKey(),
"id": Uuid().v4(),
"debug": true,
};
file.writeAsStringSync(json.encode(config));
}