Skip to main content

reifydb_core/actors/
admin.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2025 ReifyDB
3
4//! Actor messages for the admin server.
5
6use reifydb_runtime::actor::{reply::Reply, system::ActorHandle};
7
8/// Handle to the admin server actor.
9pub type AdminHandle = ActorHandle<AdminMessage>;
10
11/// Messages for the admin server actor.
12pub enum AdminMessage {
13	/// Execute a query.
14	Execute {
15		query: String,
16		reply: Reply<AdminExecuteResponse>,
17	},
18	/// Login with a token.
19	Login {
20		token: String,
21		reply: Reply<AdminLoginResponse>,
22	},
23	/// Logout.
24	Logout {
25		reply: Reply<AdminLogoutResponse>,
26	},
27	/// Check auth status.
28	AuthStatus {
29		reply: Reply<AdminAuthStatusResponse>,
30	},
31}
32
33/// Response to an execute request.
34pub enum AdminExecuteResponse {
35	Success {
36		message: String,
37	},
38	NotImplemented,
39	Error(String),
40}
41
42/// Response to a login request.
43pub enum AdminLoginResponse {
44	Success {
45		session_token: String,
46	},
47	AuthNotRequired,
48	InvalidToken,
49}
50
51/// Response to a logout request.
52pub enum AdminLogoutResponse {
53	Ok,
54}
55
56/// Response to an auth status request.
57pub struct AdminAuthStatusResponse {
58	pub auth_required: bool,
59	pub authenticated: bool,
60}