reifydb-core 0.6.0

Core database interfaces and data structures for ReifyDB
Documentation
// SPDX-License-Identifier: AGPL-3.0-or-later
// Copyright (c) 2026 ReifyDB

use reifydb_runtime::actor::{reply::Reply, system::ActorHandle};

pub type AdminHandle = ActorHandle<AdminMessage>;

pub enum AdminMessage {
	Execute {
		query: String,
		reply: Reply<AdminExecuteResponse>,
	},

	Login {
		token: String,
		reply: Reply<AdminLoginResponse>,
	},

	Logout {
		reply: Reply<AdminLogoutResponse>,
	},

	AuthStatus {
		reply: Reply<AdminAuthStatusResponse>,
	},
}

pub enum AdminExecuteResponse {
	Success {
		message: String,
	},
	NotImplemented,
	Error(String),
}

pub enum AdminLoginResponse {
	Success {
		session_token: String,
	},
	AuthNotRequired,
	InvalidToken,
}

pub enum AdminLogoutResponse {
	Ok,
}

pub struct AdminAuthStatusResponse {
	pub auth_required: bool,
	pub authenticated: bool,
}