sparkle-cache-postgres 0.14.1

Discord cache implementation using PostgresSQL for the Twilight ecosystem
Documentation
use twilight_model::{channel::StageInstance, id::Id};

use crate::model::privacy_level_from_i16;

#[derive(Clone, Debug)]
pub struct QueriedStageInstance {
    pub channel_id: i64,
    pub guild_id: i64,
    pub guild_scheduled_event_id: Option<i64>,
    pub id: i64,
    pub privacy_level: i16,
    pub topic: String,
}

impl From<QueriedStageInstance> for StageInstance {
    fn from(stage_instance: QueriedStageInstance) -> Self {
        Self {
            channel_id: Id::new(stage_instance.channel_id as u64),
            guild_id: Id::new(stage_instance.guild_id as u64),
            guild_scheduled_event_id: stage_instance
                .guild_scheduled_event_id
                .map(|id| Id::new(id as u64)),
            id: Id::new(stage_instance.id as u64),
            privacy_level: privacy_level_from_i16(stage_instance.privacy_level),
            topic: stage_instance.topic,
        }
    }
}