Skip to main content

cloudillo_action/
lib.rs

1// SPDX-FileCopyrightText: Szilárd Hajba
2// SPDX-License-Identifier: LGPL-3.0-or-later
3
4//! Action subsystem. Actions are small signed documents representing a user action (e.g. post, comment, connection request).
5
6#![allow(dead_code)]
7
8pub(crate) mod audience;
9pub mod delivery;
10pub mod dsl;
11pub mod fanout;
12pub mod filter;
13pub mod forward;
14pub mod handler;
15pub(crate) mod helpers;
16pub mod hooks;
17pub(crate) mod key_cache;
18pub mod native_hooks;
19pub mod perm;
20pub(crate) mod post_store;
21mod process;
22pub mod settings;
23pub mod task;
24
25mod prelude;
26
27pub use cloudillo_types::action_types::status;
28pub use key_cache::KeyFetchCache;
29
30pub use process::verify_action_token;
31
32use crate::prelude::*;
33
34pub fn register_settings(
35	registry: &mut cloudillo_core::settings::SettingsRegistry,
36) -> ClResult<()> {
37	settings::register_settings(registry)
38}
39
40pub fn init(app: &App) -> ClResult<()> {
41	app.scheduler.register::<task::ActionCreatorTask>()?;
42	app.scheduler.register::<task::ActionVerifierTask>()?;
43	app.scheduler.register::<task::DraftPublishTask>()?;
44	app.scheduler.register::<delivery::ActionDeliveryTask>()?;
45
46	// Register native hooks (must be called after app is fully initialized)
47	// This is done asynchronously during bootstrap
48	Ok(())
49}
50
51// vim: ts=4