import { beast, defaultMember, elite, gm, guildRole, guildStaff, manager, member, moderator, verifyTick } from "~/config/roles.js" const roles = [ gm, manager, moderator, beast, elite, member, guildStaff, guildRole ] type RoleType = | "gm" | "manager" | "moderator" | "beast" | "elite" | "member" | "default" | "defaultnoverify" | "all" export default function roleManage(role: RoleType): { rolesToRemove: string[], rolesToAdd: string[] } { if (role === "gm") { const rolesToRemove = roles.filter(role => role !== gm && role !== guildStaff && role !== guildRole) const rolesToAdd = [gm, guildStaff, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "manager") { const rolesToRemove = roles.filter(role => role !== manager && role !== guildStaff && role !== guildRole) const rolesToAdd = [manager, guildStaff, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "moderator") { const rolesToRemove = roles.filter(role => role !== moderator && role !== guildStaff && role !== guildRole) const rolesToAdd = [moderator, guildStaff, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "beast") { const rolesToRemove = roles.filter(role => role !== beast && role !== guildRole) const rolesToAdd = [beast, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "elite") { const rolesToRemove = roles.filter(role => role !== elite && role !== guildRole) const rolesToAdd = [elite, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "member") { const rolesToRemove = roles.filter(role => role !== member && role !== guildRole) const rolesToAdd = [member, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "default") { const rolesToRemove = roles const rolesToAdd = [defaultMember, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "defaultnoverify") { const rolesToRemove = roles const rolesToAdd = [defaultMember] return { rolesToRemove, rolesToAdd } } if (role === "all") { const rolesToRemove = roles rolesToRemove.push(verifyTick) rolesToRemove.push(defaultMember) return { rolesToRemove, rolesToAdd: [] } } return { rolesToRemove: [], rolesToAdd: [] } }