mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-09-18 08:14:55 +08:00
@@ -39,6 +39,29 @@ type ControlBackend interface {
|
||||
CatalogRefresh(ctx context.Context, force bool) (*backendrpc.TaskAccepted, error)
|
||||
}
|
||||
|
||||
// DaemonLogsBackend exposes the Rust daemon log tail for an authenticated
|
||||
// dashboard. It remains read-only and never opens log files from Go.
|
||||
type DaemonLogsBackend interface {
|
||||
DaemonLogs(ctx context.Context, tail int) (*backendrpc.LogsReport, error)
|
||||
}
|
||||
|
||||
// TaskBackend exposes Rust-owned async task state to the dashboard. Go only
|
||||
// forwards read/cancel requests and does not create generic tasks.
|
||||
type TaskBackend interface {
|
||||
TaskList(ctx context.Context) (*backendrpc.TaskList, error)
|
||||
TaskStatus(ctx context.Context, taskID string) (*backendrpc.TaskRecord, error)
|
||||
TaskLogs(ctx context.Context, taskID string) (*backendrpc.TaskLogs, error)
|
||||
TaskCancel(ctx context.Context, taskID string) (*backendrpc.TaskCancelResult, error)
|
||||
}
|
||||
|
||||
// ParseBackend exposes existing Rust TextUnit index queries to the dashboard.
|
||||
// It is read-only and does not expand parser coverage.
|
||||
type ParseBackend interface {
|
||||
ParseStatus(ctx context.Context) (json.RawMessage, error)
|
||||
ParseTextUnits(ctx context.Context, query backendrpc.TextUnitQueryParams) (json.RawMessage, error)
|
||||
ParseErrors(ctx context.Context, query backendrpc.TextUnitQueryParams) (json.RawMessage, error)
|
||||
}
|
||||
|
||||
// ScheduleBackend exposes the Rust-owned schedule store to an authenticated
|
||||
// dashboard. The JSON result remains Rust's report shape so the API does not
|
||||
// duplicate schedule state or invent a second schema.
|
||||
@@ -97,6 +120,9 @@ func (r RPCClient) DaemonReload(ctx context.Context) (*backendrpc.Ack, error) {
|
||||
func (r RPCClient) DaemonRefresh(ctx context.Context, force bool) (*backendrpc.Ack, error) {
|
||||
return r.Client.DaemonRefresh(ctx, force)
|
||||
}
|
||||
func (r RPCClient) DaemonLogs(ctx context.Context, tail int) (*backendrpc.LogsReport, error) {
|
||||
return r.Client.DaemonLogs(ctx, tail)
|
||||
}
|
||||
func (r RPCClient) ResourceSync(ctx context.Context, force bool) (*backendrpc.TaskAccepted, error) {
|
||||
return r.Client.ResourceSync(ctx, force)
|
||||
}
|
||||
@@ -109,6 +135,18 @@ func (r RPCClient) ResourceRepair(ctx context.Context) (*backendrpc.TaskAccepted
|
||||
func (r RPCClient) CatalogRefresh(ctx context.Context, force bool) (*backendrpc.TaskAccepted, error) {
|
||||
return r.Client.CatalogRefresh(ctx, force)
|
||||
}
|
||||
func (r RPCClient) TaskList(ctx context.Context) (*backendrpc.TaskList, error) {
|
||||
return r.Client.TaskList(ctx)
|
||||
}
|
||||
func (r RPCClient) TaskStatus(ctx context.Context, taskID string) (*backendrpc.TaskRecord, error) {
|
||||
return r.Client.TaskStatus(ctx, taskID)
|
||||
}
|
||||
func (r RPCClient) TaskLogs(ctx context.Context, taskID string) (*backendrpc.TaskLogs, error) {
|
||||
return r.Client.TaskLogs(ctx, taskID)
|
||||
}
|
||||
func (r RPCClient) TaskCancel(ctx context.Context, taskID string) (*backendrpc.TaskCancelResult, error) {
|
||||
return r.Client.TaskCancel(ctx, taskID)
|
||||
}
|
||||
func (r RPCClient) ScheduleList(ctx context.Context, params backendrpc.ScheduleListParams) (json.RawMessage, error) {
|
||||
return r.Client.ScheduleListFiltered(ctx, params)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user