fix(ui): полный справочник стран и городов как в VPS Tracker
quality / commitlint (push) Skipped
CD / update-wiki (push) Successful in 5s
quality / changes (push) Successful in 4s
quality / docker-check (push) Skipped
quality / web (push) Successful in 45s
quality / api (push) Successful in 36s
CD / quality (push) Successful in 1m30s
CD / publish (push) Successful in 1m51s

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Denozordec
2026-09-04 15:15:34 +07:00
co-authored by Cursor
parent 146afc1369
commit 654b08c8e5
18 changed files with 1400 additions and 66 deletions
+7 -1
View File
@@ -2863,6 +2863,12 @@ type AliasRow = {
};
declare function listLocations(db: Db): LocationRow[];
declare function getLocation(db: Db, locationId: string): LocationRow;
/**
* Дополняет таблицу locations городами из geo-каталога (тот же, что VPS Tracker).
* Существующие коды (msk/fra/…) не перезаписываются.
*/
declare function ensureCatalogLocations(db: Db): number;
declare function findLocationByCity(db: Db, cityName: string, countryCode?: string | null): LocationRow | null;
declare function listZones(db: Db): ZoneRow[];
declare function getZone(db: Db, zoneId: string): ZoneRow;
declare function createZone(db: Db, input: {
@@ -2987,4 +2993,4 @@ declare function dashboardCounts(db: Db): {
lastSyncAt: string | null;
};
export { type AliasRow, type AppSettingsDto, type AppSettingsPatch, ConflictError, type Db, type LocationRow, type NodeAddressRow, type NodeRow, NotFoundError, type Sqlite, type ZoneRow, addSyncEvent, aliases, appSettings, createAlias, createDb, createMemoryDb, createNode, createSyncJob, createZone, dashboardCounts, deleteAlias, deleteNode, deleteZone, getAlias, getAppSettings, getLocation, getNode, getSyncJob, getZone, healthCheck, ignoreOrphan, ignoredOrphans, listAliases, listIgnoredOrphans, listLocations, listNodes, listSyncJobs, listZones, locations, nodeAddresses, nodes, resolveDatabasePath, runMigrations, schema, syncEvents, syncJobs, unignoreOrphan, updateAlias, updateAppSettings, updateNode, updateSyncJob, updateZone, zones };
export { type AliasRow, type AppSettingsDto, type AppSettingsPatch, ConflictError, type Db, type LocationRow, type NodeAddressRow, type NodeRow, NotFoundError, type Sqlite, type ZoneRow, addSyncEvent, aliases, appSettings, createAlias, createDb, createMemoryDb, createNode, createSyncJob, createZone, dashboardCounts, deleteAlias, deleteNode, deleteZone, ensureCatalogLocations, findLocationByCity, getAlias, getAppSettings, getLocation, getNode, getSyncJob, getZone, healthCheck, ignoreOrphan, ignoredOrphans, listAliases, listIgnoredOrphans, listLocations, listNodes, listSyncJobs, listZones, locations, nodeAddresses, nodes, resolveDatabasePath, runMigrations, schema, syncEvents, syncJobs, unignoreOrphan, updateAlias, updateAppSettings, updateNode, updateSyncJob, updateZone, zones };