Fix telegram plugin build without mongo#128
Conversation
|
|
||
| #include "mongo_conn.h" | ||
|
|
||
| #if HAVE_LIBMONGOC - 0 > 0 || HAVE_LIBMONGO_CLIENT - 0 == 1 |
There was a problem hiding this comment.
Без mongo достаточно определить функцию mongo_conn_create, остальное не нужно
| return NULL; | ||
| #else | ||
| return NULL; | ||
| #error mongo packages are missing |
There was a problem hiding this comment.
Из-за #ifа в начале файла этот #else никогда не выполнится. Поставил #error, чтобы при возможном рефакторинге в будущем случайно не включить компиляцию ненужных функций.
| telegram_pbs_fetch(struct mongo_conn *conn, const unsigned char *bot_id); | ||
| int | ||
| telegram_pbs_save(struct mongo_conn *conn, const struct telegram_pbs *pbs); | ||
| #define TELEGRAM_BOTS_TABLE_NAME "telegram_bots" |
There was a problem hiding this comment.
Дальше перенесённый код из telegram_*.c
| return -1; | ||
| } | ||
| if (!conn) { | ||
| err("telegram: storage '%s' is not supported", storage); |
There was a problem hiding this comment.
Для <storage>mongo</storage>, если ejudge скомпилирован без mongo
|
Проверил сборку на ubuntu 22.04 с установленным пакетом Запустил с таким конфигом: ...
<plugins>
<plugin type="common" name="mongo" load="yes">
<config>
</config>
</plugin>
...
<plugin type="sn" name="telegram" load="yes">
<config>
<bots>
<bot>...</bot>
</bots>
</config>
</plugin>
</plugins>
...В сборке без mongo ej-jobs выдаёт ошибку при загрузке плагина: В сборке с mongo такой конфиг работает. Получилось подписать пользователя на уведомления о ревью и отправить сообщение с реджектом посылки. |
|
Огромный MR с кучей удаляемого кода. |
|
Исправления отдельно, удаления отдельно. |
Перенёс исправления в #129 |
0462261 to
a5e4726
Compare
a5e4726 to
69ddc50
Compare
|
@blackav что нужно сделать, чтобы это помержить? |
|
Вроде как фикс компиляции без монги переехал в #129 и давно вмержен. А этот патч удаляет очень много кода и трогает много файлов просто чтобы выпилить код монги. |
|
В #129 я перенёс фиксы недостающих зависимостей и логических багов (не помню, почему я изначально хотел добавить всё в одном PR). Наверное, можно было просто добавить дополнительных макросов во все |
|
No description provided.