alun_plugin/
sid_plugin.rs1use async_trait::async_trait;
6use alun_core::{Plugin, Result};
7use alun_utils::Sid;
8
9pub struct SidPlugin;
13
14impl SidPlugin {
15 pub fn new() -> Self { Self }
17
18 pub fn uuid(&self) -> String { Sid::uuid() }
20 pub fn short(&self) -> String { Sid::short() }
22 pub fn tiny(&self) -> String { Sid::tiny() }
24 pub fn uuid7(&self) -> String { Sid::uuid7() }
26 pub fn tsid(&self) -> String { Sid::tsid() }
28
29 pub fn biz_id(&self, prefix: &str) -> String {
31 format!("{}_{}", prefix, Sid::uuid7())
32 }
33}
34
35impl Default for SidPlugin {
36 fn default() -> Self { Self }
37}
38
39#[async_trait]
40impl Plugin for SidPlugin {
41 fn name(&self) -> &str { "sid" }
42 async fn start(&self) -> Result<()> {
43 tracing::info!("短ID插件就绪");
44 Ok(())
45 }
46 async fn stop(&self) -> Result<()> { Ok(()) }
47}