- Add discovery API endpoints to TeleBot (probe, initialize, configure, status) - Add LivenessService for LittleShop connectivity monitoring with 5min shutdown - Add BotDiscoveryService to LittleShop for remote bot management - Add Admin UI: DiscoverRemote wizard, RepushConfig page, status badges - Add remote discovery fields to Bot model (RemoteAddress, RemotePort, etc.) - Add CheckRemoteStatus and RepushConfig controller actions - Update Index/Details views to show remote bot indicators - Shared secret authentication for discovery, BotKey for post-init 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
28 lines
1.3 KiB
C#
28 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using LittleShop.DTOs;
|
|
using LittleShop.Enums;
|
|
|
|
namespace LittleShop.Services;
|
|
|
|
public interface IBotService
|
|
{
|
|
Task<BotRegistrationResponseDto> RegisterBotAsync(BotRegistrationDto dto);
|
|
Task<BotDto?> AuthenticateBotAsync(string botKey);
|
|
Task<BotDto?> GetBotByIdAsync(Guid id);
|
|
Task<BotDto?> GetBotByKeyAsync(string botKey);
|
|
Task<BotDto?> GetBotByPlatformUsernameAsync(int platformType, string platformUsername);
|
|
Task<IEnumerable<BotDto>> GetAllBotsAsync();
|
|
Task<IEnumerable<BotDto>> GetActiveBots();
|
|
Task<bool> UpdateBotSettingsAsync(Guid botId, UpdateBotSettingsDto dto);
|
|
Task<bool> UpdateBotStatusAsync(Guid botId, BotStatus status);
|
|
Task<bool> RecordHeartbeatAsync(Guid botId, BotHeartbeatDto dto);
|
|
Task<bool> DeleteBotAsync(Guid botId);
|
|
Task<Dictionary<string, object>> GetBotSettingsAsync(Guid botId);
|
|
Task<bool> ValidateBotKeyAsync(string botKey);
|
|
Task<string> GenerateBotKeyAsync();
|
|
Task<bool> UpdatePlatformInfoAsync(Guid botId, UpdatePlatformInfoDto dto);
|
|
Task<bool> UpdateRemoteInfoAsync(Guid botId, string remoteAddress, int remotePort, string? instanceId, string discoveryStatus);
|
|
Task<string?> GetBotKeyAsync(Guid botId);
|
|
} |