Move ingestion + Telegram/Bale/Divar config to DB-backed admin settings
CI/CD / CI · dotnet build (push) Successful in 6m22s
CI/CD / Deploy · hamkadr (push) Failing after 3s

- AppSetting gains source config: AutoIngestEnabled, IngestIntervalMinutes, Telegram/Bale/Divar enabled+channels/token/queries
- IListingSource.FetchAsync(AppSetting) — sources read config from DB, not IOptions/appsettings; sample source dev-only
- IngestionWorker reads AutoIngest+interval from DB each cycle (toggle at runtime, no redeploy)
- /Admin/Settings gets a 'منابع جمع‌آوری' section; removed Ingestion env/appsettings + compose env vars
- ENV_FILE shrinks to HOST_PORT + POSTGRES_* + ADMIN_PHONE (AI + sources are all in-admin); migration

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-04 00:44:11 +03:30
parent 6cfdd16c42
commit 3c08c1a265
20 changed files with 1217 additions and 167 deletions
+4 -10
View File
@@ -26,16 +26,10 @@
<div class="layout-2">
<aside class="card card-pad filter-card">
<h3>موتور جمع‌آوری</h3>
<p class="muted" style="font-size:13px;">منابع متصل:</p>
<ul style="margin:0 0 12px; padding-inline-start:18px; font-size:13.5px;">
@foreach (var src in Model.Sources)
{
<li>@src.Name —
@if (src.Enabled) { <span style="color:var(--primary-dark);">فعال</span> }
else { <span class="muted">غیرفعال (نیازمند تنظیمات)</span> }
</li>
}
</ul>
<p class="muted" style="font-size:13px;">منابع: @string.Join("، ", Model.SourceNames)</p>
<p class="muted" style="font-size:12px; margin:0 0 12px;">
فعال/غیرفعال‌سازی و تنظیم کانال‌ها در <a asp-page="/Admin/Settings">تنظیمات</a>.
</p>
<form method="post">
<button type="submit" asp-page-handler="RunIngestion" class="btn btn-accent btn-block">اجرای جمع‌آوری اکنون</button>
</form>