Skip to main content

reifydb_core/actors/
admin.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2025 ReifyDB
3
4use reifydb_runtime::actor::{reply::Reply, system::ActorHandle};
5
6pub type AdminHandle = ActorHandle<AdminMessage>;
7
8pub enum AdminMessage {
9	Execute {
10		query: String,
11		reply: Reply<AdminExecuteResponse>,
12	},
13
14	Login {
15		token: String,
16		reply: Reply<AdminLoginResponse>,
17	},
18
19	Logout {
20		reply: Reply<AdminLogoutResponse>,
21	},
22
23	AuthStatus {
24		reply: Reply<AdminAuthStatusResponse>,
25	},
26}
27
28pub enum AdminExecuteResponse {
29	Success {
30		message: String,
31	},
32	NotImplemented,
33	Error(String),
34}
35
36pub enum AdminLoginResponse {
37	Success {
38		session_token: String,
39	},
40	AuthNotRequired,
41	InvalidToken,
42}
43
44pub enum AdminLogoutResponse {
45	Ok,
46}
47
48pub struct AdminAuthStatusResponse {
49	pub auth_required: bool,
50	pub authenticated: bool,
51}