mirror of
https://gitlab.com/veilid/veilid.git
synced 2024-12-11 16:54:32 -05:00
50 lines
1.8 KiB
Dart
50 lines
1.8 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:path/path.dart' as p;
|
|
import 'package:path_provider/path_provider.dart';
|
|
|
|
import 'veilid.dart';
|
|
|
|
Future<VeilidConfig> getDefaultVeilidConfig({
|
|
required bool isWeb,
|
|
required String programName,
|
|
String bootstrap = '',
|
|
String namespace = '',
|
|
String deviceEncryptionKeyPassword = '',
|
|
String? newDeviceEncryptionKeyPassword,
|
|
String networkKeyPassword = '',
|
|
}) async {
|
|
final defaultConfigStr = Veilid.instance.defaultVeilidConfig();
|
|
final defaultConfig = VeilidConfig.fromJson(jsonDecode(defaultConfigStr));
|
|
return defaultConfig.copyWith(
|
|
programName: programName,
|
|
namespace: namespace,
|
|
tableStore: defaultConfig.tableStore.copyWith(
|
|
directory: isWeb
|
|
? ''
|
|
: p.join((await getApplicationSupportDirectory()).absolute.path,
|
|
'table_store'),
|
|
),
|
|
blockStore: defaultConfig.blockStore.copyWith(
|
|
directory: isWeb
|
|
? ''
|
|
: p.join((await getApplicationSupportDirectory()).absolute.path,
|
|
'block_store'),
|
|
),
|
|
protectedStore: defaultConfig.protectedStore.copyWith(
|
|
directory: isWeb
|
|
? ''
|
|
: p.join((await getApplicationSupportDirectory()).absolute.path,
|
|
'protected_store'),
|
|
deviceEncryptionKeyPassword: deviceEncryptionKeyPassword,
|
|
newDeviceEncryptionKeyPassword: newDeviceEncryptionKeyPassword,
|
|
),
|
|
network: defaultConfig.network.copyWith(
|
|
networkKeyPassword: networkKeyPassword,
|
|
routingTable: defaultConfig.network.routingTable.copyWith(
|
|
bootstrap: bootstrap.isNotEmpty
|
|
? bootstrap.split(',')
|
|
: defaultConfig.network.routingTable.bootstrap),
|
|
dht: defaultConfig.network.dht.copyWith()));
|
|
}
|