feat: add discord wakeup test endpoint
This commit is contained in:
@@ -22,6 +22,7 @@ from app.services.monitoring import (
|
||||
get_server_states_view,
|
||||
test_provider_connection,
|
||||
)
|
||||
from app.services.discord_wakeup import create_private_wakeup_channel
|
||||
router = APIRouter(prefix='/monitor', tags=['Monitor'])
|
||||
SUPPORTED_PROVIDERS = {'anthropic', 'openai', 'minimax', 'kimi', 'qwen'}
|
||||
|
||||
@@ -42,6 +43,12 @@ class MonitoredServerCreate(BaseModel):
|
||||
display_name: str | None = None
|
||||
|
||||
|
||||
class DiscordWakeupTestRequest(BaseModel):
|
||||
discord_user_id: str
|
||||
title: str = "HarborForge Wakeup"
|
||||
message: str = "A HarborForge slot is ready to start."
|
||||
|
||||
|
||||
def require_admin(current_user: models.User = Depends(get_current_user_or_apikey)):
|
||||
if not current_user.is_admin:
|
||||
raise HTTPException(status_code=403, detail='Admin required')
|
||||
@@ -175,6 +182,11 @@ def revoke_api_key(server_id: int, db: Session = Depends(get_db), _: models.User
|
||||
return None
|
||||
|
||||
|
||||
@router.post('/admin/discord-wakeup/test')
|
||||
def discord_wakeup_test(payload: DiscordWakeupTestRequest, _: models.User = Depends(require_admin)):
|
||||
return create_private_wakeup_channel(payload.discord_user_id, payload.title, payload.message)
|
||||
|
||||
|
||||
class TelemetryPayload(BaseModel):
|
||||
identifier: str
|
||||
openclaw_version: str | None = None
|
||||
|
||||
Reference in New Issue
Block a user