feat(gateway): split off cache into separate package, rename package to 'gateway'
This commit is contained in:
		@@ -1,73 +0,0 @@
 | 
			
		||||
use twilight_gateway::Event;
 | 
			
		||||
 | 
			
		||||
pub async fn handle_event<'a>(
 | 
			
		||||
    event: Event,
 | 
			
		||||
    rconn: redis::Client
 | 
			
		||||
) -> anyhow::Result<()> {
 | 
			
		||||
    match event {
 | 
			
		||||
        // todo: SaveDMChannelStub (?)
 | 
			
		||||
        // todo: save user profiles for some reason (from message create, etc)
 | 
			
		||||
        // todo(dotnet): remove relying on cache.OwnUserId
 | 
			
		||||
 | 
			
		||||
        Event::GuildCreate(guild) => {
 | 
			
		||||
            // save guild itself
 | 
			
		||||
            // save all roles in guild
 | 
			
		||||
            // save guild-role map
 | 
			
		||||
            // save all channels in guild
 | 
			
		||||
            // save all threads in guild (as channels lol)
 | 
			
		||||
            // save guild-channel map
 | 
			
		||||
            // save self guild member
 | 
			
		||||
            
 | 
			
		||||
            // c# code also saves users in guildCreate.Members, but I'm pretty sure that doesn't have anything now because intents
 | 
			
		||||
        }
 | 
			
		||||
        Event::GuildUpdate(guild) => {
 | 
			
		||||
            // save guild itself
 | 
			
		||||
        }
 | 
			
		||||
        Event::GuildDelete(guild) => {
 | 
			
		||||
            // delete guild
 | 
			
		||||
            // this probably should also delete all channels/roles/etc of the guild
 | 
			
		||||
        }
 | 
			
		||||
        Event::MemberUpdate(member) => {
 | 
			
		||||
            // save self guild member
 | 
			
		||||
        }
 | 
			
		||||
        Event::ChannelCreate(channel) => {
 | 
			
		||||
            // save channel
 | 
			
		||||
            // update guild-channel map
 | 
			
		||||
        }
 | 
			
		||||
        Event::ChannelUpdate(channel) => {
 | 
			
		||||
            // save channel
 | 
			
		||||
        }
 | 
			
		||||
        Event::ChannelDelete(channel) => {
 | 
			
		||||
            // delete channel
 | 
			
		||||
            // update guild-channel map
 | 
			
		||||
        }
 | 
			
		||||
        Event::RoleCreate(role) => {
 | 
			
		||||
            // save role
 | 
			
		||||
            // update guild-role map
 | 
			
		||||
        }
 | 
			
		||||
        Event::RoleUpdate(role) => {
 | 
			
		||||
            // save role
 | 
			
		||||
        }
 | 
			
		||||
        Event::RoleDelete(role) => {
 | 
			
		||||
            // delete role
 | 
			
		||||
            // update guild-role map
 | 
			
		||||
        }
 | 
			
		||||
        Event::ThreadCreate(thread) => {
 | 
			
		||||
            // save channel
 | 
			
		||||
            // update guild-channel map
 | 
			
		||||
        }
 | 
			
		||||
        Event::ThreadUpdate(thread) => {
 | 
			
		||||
            // save thread
 | 
			
		||||
        }
 | 
			
		||||
        Event::ThreadDelete(thread) => {
 | 
			
		||||
            // delete channel
 | 
			
		||||
            // update guild-channel map
 | 
			
		||||
        }
 | 
			
		||||
        Event::ThreadListSync(tls) => {
 | 
			
		||||
            // save channels
 | 
			
		||||
        }
 | 
			
		||||
        _ => {}
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    Ok(())
 | 
			
		||||
}
 | 
			
		||||
@@ -7,8 +7,6 @@ use tracing::info;
 | 
			
		||||
use twilight_gateway::Event;
 | 
			
		||||
use twilight_http::Client as HttpClient;
 | 
			
		||||
 | 
			
		||||
use crate::cache;
 | 
			
		||||
 | 
			
		||||
lazy_static::lazy_static! {
 | 
			
		||||
    static ref ALLOWED_EVENTS: Vec<&'static str> = [
 | 
			
		||||
        "INTERACTION_CREATE",
 | 
			
		||||
@@ -27,7 +25,7 @@ pub async fn handle_event<'a>(
 | 
			
		||||
    _db: Pool,
 | 
			
		||||
    rconn: redis::Client
 | 
			
		||||
) -> anyhow::Result<()> {
 | 
			
		||||
    cache::handle_event(event.clone(), rconn.clone()).await?;
 | 
			
		||||
    myriad::cache::handle_event(event.clone(), rconn.clone()).await?;
 | 
			
		||||
 | 
			
		||||
    match event {
 | 
			
		||||
        Event::GatewayInvalidateSession(resumable) => {
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,6 @@ use twilight_gateway::{
 | 
			
		||||
};
 | 
			
		||||
use twilight_http::Client as HttpClient;
 | 
			
		||||
 | 
			
		||||
mod cache;
 | 
			
		||||
mod config;
 | 
			
		||||
mod evt;
 | 
			
		||||
mod db;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user