Привет народ подскажите, хочу написать структуру, которая будет содержать конфиги

для всех сущностей в апликухе (база данных и прочее)
столкнулся с проблемой:
есть конфиг от внешнего крейта
#[derive(Debug, Clone)]
pub struct IndexerConfig {
pub home_dir: std::path::PathBuf,
pub sync_mode: SyncModeEnum,
pub await_for_node_synced: AwaitForNodeSyncedEnum,
}

я хочу конфигурировать эти поля через десериализацию данных из конфиг файла, используя крейт config

pub fn get_config() -> Result<Settings, config::ConfigError> {
let mut settings = config::Config::default();
settings.merge(config::File::with_name("config"))?;
settings.try_into()
}

я так не могу сделать потому что моя структура Settings выглядит как

#[derive(Deserialize)]
pub struct Settings {
pub database: DatabaseSettings,
pub indexer: IndexerConfig,
pub app_port: u16,
}

так как для IndexerConfig не задерайвен Deserialize я не могу получить желаемого результата, подскажите как лучше поступить чтобы обойти эти ограничения?

update: нашел вот такое решение https://serde.rs/remote-derive.html ,если есть какие то еще фишечку буду признателен за инфу.

1 ответов

3 просмотра

вроде remote-derive лучше особо нету варианта. руками deserialize реализовывать не проще будет

Похожие вопросы

Обсуждают сегодня

а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
Мне вот что интересно, кто на рфе стартовал/играл, что вы фармили, в каком виде контента он прямо хорош? Экспедиция? Вроде прямо на замазанных мапах рф сдувается
Владислав
20
Подскажите где можно прочитать про реализацию возможности писать человеку при подписке на телеграм канал от имени бота? Было бы не плохо если для Telegraf@3.38.0
Pan Lipton
10
Всем привет, может уже кто-то пытался выдернуть из api информацию о дате рождения пользователя Есть ли вообще такая возможность?
Artem Stormageddon
2
‌/r/pathofexile moderation changes top scoring links : pathofexile (RSS) Hi, everyone. On behalf of the subreddit mod team, I’m here to give you a few updates on the subreddi...
Esionru
3
Ребята, я за проф советом😅 По микросервисам. В монолите есть общие файлы для сервисов: фетчи, конфиги, либы, утилсы.. как при распиле правильно их поддерживать? Пока вариант д...
Александр Тарасюк
1
У меня вопрос к знающими, стоит ли вступать в гильдии в игре или лучше полная свобода?
Енот Полоскун
17
У вас бывает ощущение, что хочется потратить весь отпуск на то, чтоб только спать?
Николай
15
Как можно настроить фильтр в пое под себя?
Yarik yarik kyda ti lezesh
15
Кто нибудь поясните это всё таки вброс или да? Про санктум слышал на поедб вбросили, а по дурке откуда инфа и на сколько это вообще правда? Пахнет шизофренией какой-то ✅Divi...
Dmitry Ritter
9
Карта сайта