mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 02:43:44 +00:00
A worker thread asks GitHub's API about update_check_repo: the latest release and, for development and CI builds, how far the build's commit is behind its branch (or main). Unauthenticated, with ETags, every update_check_interval_hours (default 6); offline or rate limited, the last answer stays next to the error and a used-up limit waits for its reset. The main loop logs results, sends them to master (UPDATE_STATUS, again when the link comes back) and pushes update_check to open pages. GET /api/update_check, and POST /api/update_check/check (settings permission, once a minute). Nothing is downloaded or installed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
122 lines
3.5 KiB
CMake
122 lines
3.5 KiB
CMake
set(DASHBOARDROUTES_SOURCES
|
|
"APIRoutes.cpp"
|
|
"StaticRoutes.cpp"
|
|
"DashboardRoutes.cpp"
|
|
"WSRoutes.cpp"
|
|
"AuthRoutes.cpp"
|
|
"ApiKeyRoutes.cpp"
|
|
"GrantRoutes.cpp"
|
|
"GuildRoutes.cpp"
|
|
"RouteUtils.cpp"
|
|
"PlayerActions.cpp"
|
|
"AccountRoutes.cpp"
|
|
"ClientAssets.cpp"
|
|
"GameText.cpp"
|
|
"MaintenanceRoutes.cpp"
|
|
"ReportRoutes.cpp"
|
|
"EconomyPlaces.cpp"
|
|
"SecurityRoutes.cpp"
|
|
"WebhookRoutes.cpp"
|
|
"EconomyJobs.cpp"
|
|
"LiveWorld.cpp"
|
|
"LiveUpdateRoutes.cpp"
|
|
"WorldReloadRoutes.cpp"
|
|
"SettingsRoutes.cpp"
|
|
"Background.cpp"
|
|
"Scheduler.cpp"
|
|
"SettingsCatalog.cpp"
|
|
"BackupRoutes.cpp"
|
|
"BackupFiles.cpp"
|
|
"ReportViews.cpp"
|
|
"CharacterTools.cpp"
|
|
"CharacterRestore.cpp"
|
|
"MissionTools.cpp"
|
|
"CharacterProgress.cpp"
|
|
"ServerRoutes.cpp"
|
|
"LogBundle.cpp"
|
|
"Traffic.cpp"
|
|
"TrafficHistory.cpp"
|
|
"NetworkView.cpp"
|
|
"PerfHistory.cpp"
|
|
"Performance.cpp"
|
|
"LeaderboardRoutes.cpp"
|
|
"VanityRoutes.cpp"
|
|
"ChatRoutes.cpp"
|
|
"ChatHistory.cpp"
|
|
"ChatFlagRoutes.cpp"
|
|
"ClientSysInfoRoutes.cpp"
|
|
"ClientSysInfoView.cpp"
|
|
"Strikes.cpp"
|
|
"Inspector.cpp"
|
|
"CaptureReplay.cpp"
|
|
"CDClientBrowser.cpp"
|
|
"SettingsHistory.cpp"
|
|
"Announcements.cpp"
|
|
"EventsCalendar.cpp"
|
|
"LiveEventRoutes.cpp"
|
|
"ChallengeRoutes.cpp"
|
|
"InstanceLoad.cpp"
|
|
"WorldView.cpp"
|
|
"Scenery.cpp"
|
|
"WorkerPool.cpp"
|
|
"Workers.cpp"
|
|
"AccountModeration.cpp"
|
|
"ModerationTools.cpp"
|
|
"ModeratorHelper.cpp"
|
|
"../ai/ClaudeClient.cpp"
|
|
"../ai/ModeratorPrompt.cpp"
|
|
"PublicRoutes.cpp"
|
|
"Showcase.cpp"
|
|
"FeaturedProperties.cpp"
|
|
"ContrabandRoutes.cpp"
|
|
"UgcRoutes.cpp"
|
|
"UgcLinks.cpp"
|
|
"UgcFetch.cpp"
|
|
"PropertyRentRoutes.cpp"
|
|
"PasswordRecovery.cpp"
|
|
"PrometheusMetrics.cpp"
|
|
"../email/SmtpClient.cpp"
|
|
"../email/EmailService.cpp"
|
|
"../email/OAuth2.cpp"
|
|
"../notify/WebhookFormat.cpp"
|
|
"../notify/Alerts.cpp"
|
|
"../notify/UpdateCheck.cpp"
|
|
"../notify/UpdateChecker.cpp"
|
|
# Shared with the world servers, which add items and models the same way
|
|
"${PROJECT_SOURCE_DIR}/dGame/dUtilities/ObjectIDManager.cpp"
|
|
)
|
|
|
|
add_library(DashboardRoutes STATIC ${DASHBOARDROUTES_SOURCES})
|
|
|
|
target_include_directories(DashboardRoutes PRIVATE
|
|
"${PROJECT_SOURCE_DIR}/dCommon"
|
|
"${PROJECT_SOURCE_DIR}/dCommon/dClient"
|
|
"${PROJECT_SOURCE_DIR}/dCommon/dEnums"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase/CDClientDatabase"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase/CDClientDatabase/CDClientTables"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase/GameDatabase"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase/GameDatabase/ITables"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase/GameDatabase/MySQL"
|
|
"${PROJECT_SOURCE_DIR}/dNet"
|
|
"${PROJECT_SOURCE_DIR}/dWeb"
|
|
"${PROJECT_SOURCE_DIR}/dServer"
|
|
"${PROJECT_SOURCE_DIR}/thirdparty"
|
|
"${PROJECT_SOURCE_DIR}/thirdparty/nlohmann"
|
|
"${PROJECT_SOURCE_DIR}/thirdparty/libbcrypt/include"
|
|
"${PROJECT_SOURCE_DIR}/dDashboardServer/auth"
|
|
"${PROJECT_SOURCE_DIR}/dDashboardServer/routes"
|
|
"${PROJECT_SOURCE_DIR}/dDashboardServer/email"
|
|
"${PROJECT_SOURCE_DIR}/dDashboardServer/notify"
|
|
"${PROJECT_SOURCE_DIR}/dDashboardServer/ai"
|
|
"${PROJECT_SOURCE_DIR}/dChatFilter" # word rules for the chat filter page
|
|
"${PROJECT_SOURCE_DIR}/dGame/dUtilities" # ObjectIDManager.h
|
|
)
|
|
|
|
execute_process(COMMAND git rev-parse --short HEAD WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE DLU_GIT_COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
|
if(NOT DLU_GIT_COMMIT)
|
|
set(DLU_GIT_COMMIT "unknown")
|
|
endif()
|
|
target_compile_definitions(DashboardRoutes PRIVATE PROJECT_VERSION="\"${PROJECT_VERSION}\"" DLU_GIT_COMMIT="${DLU_GIT_COMMIT}")
|
|
target_link_libraries(DashboardRoutes PRIVATE ${COMMON_LIBRARIES} dWeb dServer dUgc sqlite3 OpenSSL::Crypto CURL::libcurl)
|