Поэтому я пытаюсь использовать moor для создания зашифрованной базы данных и использовать Injectible / GetIt, чтобы иметь возможность внедрять ее в другие классы.
У меня есть класс-оболочка
@Singleton.lazy(signalsReady: true)
class BillingDatabaseModule {
static BillingDatabase _billingDatabase;
BillingDatabase get billingDatabase => _billingDatabase;
@factoryMethod
static BillingDatabaseModule billingDatabaseInit(@factoryParam String code) {
var instance = BillingDatabaseModule();
_billingDatabase = BillingDatabase(code);
GetIt.instance.signalReady(instance);
return instance;
}
}
Это вызывает следующую ошибку
Injectable Generator ---------------------------------------------------
Error generating [BillingDatabaseModule]! only factories can have parameters
------------------------------------------------------------------------
Так что моя проблема заключается в том, что я не могу открыть базу данных, пока пин не будет введено / создано, так как это пароль к базе данных. Поэтому я пытаюсь отложить открытие, пока не создам / не введу пин-код.
Моя опция резервного копирования - создать сильную случайную строку и сохранить ее в безопасном хранилище. Я имею в виду, я уже делаю это для булавки в любом случае.