Skip to main content

tuwunel_admin/query/
mod.rs

1mod account_data;
2mod appservice;
3mod globals;
4mod oauth;
5mod peer_status;
6mod presence;
7mod pusher;
8mod raw;
9mod resolver;
10mod room_alias;
11mod room_state_cache;
12mod room_timeline;
13mod sending;
14mod short;
15mod storage;
16mod sync;
17mod threepid;
18mod users;
19
20use clap::Subcommand;
21use tuwunel_core::Result;
22
23use self::{
24	account_data::AccountDataCommand, appservice::AppserviceCommand, globals::GlobalsCommand,
25	oauth::OauthCommand, peer_status::PeerStatusCommand, presence::PresenceCommand,
26	pusher::PusherCommand, raw::RawCommand, resolver::ResolverCommand,
27	room_alias::RoomAliasCommand, room_state_cache::RoomStateCacheCommand,
28	room_timeline::RoomTimelineCommand, sending::SendingCommand, short::ShortCommand,
29	storage::StorageCommand, sync::SyncCommand, threepid::ThreepidCommand, users::UsersCommand,
30};
31use crate::admin_command_dispatch;
32
33#[admin_command_dispatch]
34#[derive(Debug, Subcommand)]
35/// Query tables from database
36pub(super) enum QueryCommand {
37	/// - account_data.rs iterators and getters
38	#[command(subcommand)]
39	AccountData(AccountDataCommand),
40
41	/// - appservice.rs iterators and getters
42	#[command(subcommand)]
43	Appservice(AppserviceCommand),
44
45	/// - presence.rs iterators and getters
46	#[command(subcommand)]
47	Presence(PresenceCommand),
48
49	/// - rooms/alias.rs iterators and getters
50	#[command(subcommand)]
51	RoomAlias(RoomAliasCommand),
52
53	/// - rooms/state_cache iterators and getters
54	#[command(subcommand)]
55	RoomStateCache(RoomStateCacheCommand),
56
57	/// - rooms/timeline iterators and getters
58	#[command(subcommand)]
59	RoomTimeline(RoomTimelineCommand),
60
61	/// - globals.rs iterators and getters
62	#[command(subcommand)]
63	Globals(GlobalsCommand),
64
65	/// - sending.rs iterators and getters
66	#[command(subcommand)]
67	Sending(SendingCommand),
68
69	/// - users.rs iterators and getters
70	#[command(subcommand)]
71	Users(UsersCommand),
72
73	/// - threepid service
74	#[command(subcommand)]
75	Threepid(ThreepidCommand),
76
77	/// - resolver service
78	#[command(subcommand)]
79	Resolver(ResolverCommand),
80
81	/// - per-server reachability store on the federation service
82	#[command(subcommand)]
83	PeerStatus(PeerStatusCommand),
84
85	/// - pusher service
86	#[command(subcommand)]
87	Pusher(PusherCommand),
88
89	/// - short service
90	#[command(subcommand)]
91	Short(ShortCommand),
92
93	/// - storage service
94	#[command(subcommand)]
95	Storage(StorageCommand),
96
97	/// - sync service
98	#[command(subcommand)]
99	Sync(SyncCommand),
100
101	/// - oauth service
102	#[command(subcommand)]
103	Oauth(OauthCommand),
104
105	/// - raw service
106	#[command(subcommand)]
107	Raw(RawCommand),
108}