ui changes
This commit is contained in:
140
backend/index.js
140
backend/index.js
@@ -1,4 +1,4 @@
|
||||
require('dotenv').config();
|
||||
require('dotenv').config({ path: __dirname + '/.env' });
|
||||
const express = require('express');
|
||||
const cors = require('cors');
|
||||
|
||||
@@ -52,56 +52,32 @@ app.get('/auth/discord/callback', async (req, res) => {
|
||||
const adminGuilds = guildsResponse.data.filter(guild => (guild.permissions & 0x8) === 0x8);
|
||||
|
||||
const user = userResponse.data;
|
||||
fs.readFile('db.json', 'utf8', (err, data) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
user.theme = 'light';
|
||||
} else {
|
||||
const db = JSON.parse(data);
|
||||
user.theme = db.users && db.users[user.id] ? db.users[user.id].theme : 'light';
|
||||
}
|
||||
const guilds = adminGuilds;
|
||||
res.redirect(`http://localhost:3000/dashboard?user=${encodeURIComponent(JSON.stringify(user))}&guilds=${encodeURIComponent(JSON.stringify(guilds))}`);
|
||||
});
|
||||
const db = readDb();
|
||||
user.theme = db.users && db.users[user.id] ? db.users[user.id].theme : 'light';
|
||||
const guilds = adminGuilds;
|
||||
res.redirect(`http://localhost:3000/dashboard?user=${encodeURIComponent(JSON.stringify(user))}&guilds=${encodeURIComponent(JSON.stringify(guilds))}`);
|
||||
} catch (error) {
|
||||
console.error('Error during Discord OAuth2 callback:', error);
|
||||
res.status(500).send('Internal Server Error');
|
||||
}
|
||||
});
|
||||
|
||||
const fs = require('fs');
|
||||
const { readDb, writeDb } = require('./db');
|
||||
|
||||
app.get('/api/servers/:guildId/settings', (req, res) => {
|
||||
const { guildId } = req.params;
|
||||
fs.readFile('db.json', 'utf8', (err, data) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return res.status(500).send('Internal Server Error');
|
||||
}
|
||||
const db = JSON.parse(data);
|
||||
const settings = db[guildId] || { pingCommand: false };
|
||||
res.json(settings);
|
||||
});
|
||||
const db = readDb();
|
||||
const settings = db[guildId] || { pingCommand: false };
|
||||
res.json(settings);
|
||||
});
|
||||
|
||||
app.post('/api/servers/:guildId/settings', (req, res) => {
|
||||
const { guildId } = req.params;
|
||||
const { pingCommand } = req.body;
|
||||
fs.readFile('db.json', 'utf8', (err, data) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return res.status(500).send('Internal Server Error');
|
||||
}
|
||||
const db = JSON.parse(data);
|
||||
db[guildId] = { pingCommand };
|
||||
fs.writeFile('db.json', JSON.stringify(db, null, 2), (err) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return res.status(500).send('Internal Server Error');
|
||||
}
|
||||
res.json({ success: true });
|
||||
});
|
||||
});
|
||||
const db = readDb();
|
||||
db[guildId] = { pingCommand };
|
||||
writeDb(db);
|
||||
res.json({ success: true });
|
||||
});
|
||||
|
||||
app.get('/api/servers/:guildId/bot-status', (req, res) => {
|
||||
@@ -120,27 +96,77 @@ app.get('/api/client-id', (req, res) => {
|
||||
|
||||
app.post('/api/user/theme', (req, res) => {
|
||||
const { userId, theme } = req.body;
|
||||
fs.readFile('db.json', 'utf8', (err, data) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return res.status(500).send('Internal Server Error');
|
||||
}
|
||||
const db = JSON.parse(data);
|
||||
if (!db.users) {
|
||||
db.users = {};
|
||||
}
|
||||
if (!db.users[userId]) {
|
||||
db.users[userId] = {};
|
||||
}
|
||||
db.users[userId].theme = theme;
|
||||
fs.writeFile('db.json', JSON.stringify(db, null, 2), (err) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return res.status(500).send('Internal Server Error');
|
||||
}
|
||||
const db = readDb();
|
||||
if (!db.users) {
|
||||
db.users = {};
|
||||
}
|
||||
if (!db.users[userId]) {
|
||||
db.users[userId] = {};
|
||||
}
|
||||
db.users[userId].theme = theme;
|
||||
writeDb(db);
|
||||
res.json({ success: true });
|
||||
});
|
||||
|
||||
app.post('/api/servers/:guildId/leave', async (req, res) => {
|
||||
const { guildId } = req.params;
|
||||
try {
|
||||
const guild = await bot.client.guilds.fetch(guildId);
|
||||
if (guild) {
|
||||
await guild.leave();
|
||||
res.json({ success: true });
|
||||
});
|
||||
});
|
||||
} else {
|
||||
res.status(404).json({ success: false, message: 'Bot is not in the specified server' });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error leaving server:', error);
|
||||
res.status(500).json({ success: false, message: 'Internal Server Error' });
|
||||
}
|
||||
});
|
||||
|
||||
app.get('/api/servers/:guildId/channels', async (req, res) => {
|
||||
const { guildId } = req.params;
|
||||
const guild = bot.client.guilds.cache.get(guildId);
|
||||
if (!guild) {
|
||||
return res.json([]);
|
||||
}
|
||||
try {
|
||||
const channels = await guild.channels.fetch();
|
||||
const textChannels = channels.filter(channel => channel.type === 0).map(channel => ({ id: channel.id, name: channel.name }));
|
||||
res.json(textChannels);
|
||||
} catch (error) {
|
||||
console.error('Error fetching channels:', error);
|
||||
res.status(500).json({ success: false, message: 'Internal Server Error' });
|
||||
}
|
||||
});
|
||||
|
||||
app.get('/api/servers/:guildId/welcome-leave-settings', (req, res) => {
|
||||
const { guildId } = req.params;
|
||||
const db = readDb();
|
||||
const settings = db[`${guildId}_welcome_leave`] || {
|
||||
welcome: {
|
||||
enabled: false,
|
||||
channel: '',
|
||||
message: 'Welcome to the server, {user}!',
|
||||
customMessage: '',
|
||||
},
|
||||
leave: {
|
||||
enabled: false,
|
||||
channel: '',
|
||||
message: '{user} has left the server.',
|
||||
customMessage: '',
|
||||
},
|
||||
};
|
||||
res.json(settings);
|
||||
});
|
||||
|
||||
app.post('/api/servers/:guildId/welcome-leave-settings', (req, res) => {
|
||||
const { guildId } = req.params;
|
||||
const newSettings = req.body;
|
||||
const db = readDb();
|
||||
db[`${guildId}_welcome_leave`] = newSettings;
|
||||
writeDb(db);
|
||||
res.json({ success: true });
|
||||
});
|
||||
|
||||
app.get('/', (req, res) => {
|
||||
|
||||
Reference in New Issue
Block a user