Debug colors and now sockets really work, its downhill from here
Some checks failed
test / run-tests-client (push) Successful in 21s
test / run-tests-backend (push) Failing after 15s

This commit is contained in:
BinarySandia04 2024-10-16 22:13:56 +02:00
parent 870b05266b
commit 3214c70276
26 changed files with 22 additions and 135 deletions

View File

@ -7,7 +7,6 @@ let sessions = {};
async function GetOfflinePlayers(campaign){ async function GetOfflinePlayers(campaign){
let players = await CampaignUser.find({campaign}).populate('user').exec(); let players = await CampaignUser.find({campaign}).populate('user').exec();
let finalPlayers = []; let finalPlayers = [];
console.log(players)
// TODO: Filter // TODO: Filter
players.forEach(player => finalPlayers.push(FilterUser(player))); players.forEach(player => finalPlayers.push(FilterUser(player)));
@ -48,7 +47,7 @@ module.exports = io => {
} }
console.log(socket.user.username + " ha entrado!"); // console.log(socket.user.username + " ha entrado!");
SetPlayerProperty(campaignId, socket.user._id, "online", true); SetPlayerProperty(campaignId, socket.user._id, "online", true);
// io.to(socket.campaign).emit('update-players', sessions[campaignId].players) // io.to(socket.campaign).emit('update-players', sessions[campaignId].players)
socket.emit('init-info', {players: sessions[campaignId].players}) socket.emit('init-info', {players: sessions[campaignId].players})

View File

@ -1,13 +0,0 @@
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const ConceptSchema = new Schema({
name: {type: String, required: true, default: "New Concept"},
type: { type: String, required: true, default: "Concept" },
info: { type: Object }, // For preview only
data: { type: Object }, // Advanced item
book: {type: mongoose.Types.ObjectId, ref: "Book"},
campaign: {type: mongoose.Types.ObjectId, ref: "Campaign"},
});
module.exports = mongoose.model('Concept', ConceptSchema);

View File

@ -83,7 +83,6 @@ router.post('/join', (req, res) => {
router.get('/list', (req, res) => { router.get('/list', (req, res) => {
CampaignUser.find({user: req.user}).populate("campaign").lean().then((data) => { CampaignUser.find({user: req.user}).populate("campaign").lean().then((data) => {
res.json(data); res.json(data);
console.log(data);
return; return;
}).catch((err) => res.json({status: "error", msg: "internal"})); }).catch((err) => res.json({status: "error", msg: "internal"}));
}); });
@ -91,8 +90,6 @@ router.get('/list', (req, res) => {
router.get('/players', (req, res) => { router.get('/players', (req, res) => {
Campaign.findById(req.query.campaign).lean().then((campaign) => { Campaign.findById(req.query.campaign).lean().then((campaign) => {
CampaignUser.find({campaign}).populate('user').then((data) => { CampaignUser.find({campaign}).populate('user').then((data) => {
console.log("djskajdk")
console.log(data);
res.json(data); res.json(data);
return; return;
}).catch((err) => res.json({status: "error", msg: "internal"})); }).catch((err) => res.json({status: "error", msg: "internal"}));

View File

@ -1,68 +0,0 @@
const express = require('express');
const router = express.Router();
const Concept = require('../models/Concept');
const { hasCampaign } = require('../services/middleware');
const { getIo } = require('../io/socket');
const io = getIo();
router.get('/list', hasCampaign, (req, res) => {
const campaign = req.campaign;
Concept.find({campaign}).select('-data').lean().then(data => {
res.json({status: "ok", data});
});
});
router.post('/create', hasCampaign, (req, res) => {
const campaign = req.campaign;
let data = req.body.data;
if(!(data.type && data.name)) {
res.json({status: "error", msg: "args"});
return;
}
let concept = new Concept({campaign, type: data.type, name: data.name});
concept.save().then(concept => {
io.to(req.room).emit('update-concepts');
res.json({status: "ok", concept});
})
});
router.delete('/delete', hasCampaign, (req, res) => {
const campaign = req.campaign;
let id = req.query.id;
if(!id) {
res.json({status: "error", msg: "args"});
return;
}
Concept.deleteOne({_id: id, campaign}).then(() => {
io.to(req.room).emit('update-concepts');
res.json({status: "ok"});
});
});
router.get('/get', hasCampaign, (req, res) => {
const campaign = req.campaign;
let id = req.query.id;
Concept.findOne({_id: id, campaign}).lean().then(concept => {
res.json({status: "ok", concept});
});
});
router.put('/update', hasCampaign, (req, res) => {
const campaign = req.campaign;
let id = req.query.id;
Concept.findOneAndUpdate({_id: id, campaign}, req.body.concept).then(result => {
console.log(req.room)
if(req.query.fireUpdate) io.to(req.room).emit('update-concepts');
io.to(req.room).emit('update-concept', id);
res.json({status: "ok"});
});
});
module.exports = router;

View File

@ -78,7 +78,6 @@ app.use(checkAuth);
// ROUTES WITH AUTH // ROUTES WITH AUTH
app.use('/campaign', require('./routes/campaign')); app.use('/campaign', require('./routes/campaign'));
app.use('/maps', require('./routes/map')) app.use('/maps', require('./routes/map'))
app.use('/concept', require('./routes/concept'))
app.use('/admin', require('./routes/admin')) app.use('/admin', require('./routes/admin'))
// GET localhost:8081/concept/list // GET localhost:8081/concept/list
@ -96,9 +95,9 @@ function print (path, layer) {
} else if (layer.name === 'router' && layer.handle.stack) { } else if (layer.name === 'router' && layer.handle.stack) {
layer.handle.stack.forEach(print.bind(null, path.concat(split(layer.regexp)))) layer.handle.stack.forEach(print.bind(null, path.concat(split(layer.regexp))))
} else if (layer.method) { } else if (layer.method) {
console.log('%s /%s', console.log('\x1b[33m%s\x1b[0m',
layer.method.toUpperCase(), `${layer.method.toUpperCase()} /${
path.concat(split(layer.regexp)).filter(Boolean).join('/')) path.concat(split(layer.regexp)).filter(Boolean).join('/')}`)
} }
} }

View File

@ -250,7 +250,8 @@ class BackendSocket {
} }
emit(campaign, msg, data = {}){ emit(campaign, msg, data = {}){
getIo().to(campaign).emit(msg, data); console.log('\x1b[35m%s\x1b[0m', "EMIT " + `${this.#_prefix}/${msg}` + " IN " + campaign);
getIo().in(campaign).emit(`${this.#_prefix}/${msg}`, data);
} }
} }
@ -272,6 +273,7 @@ function ParseSchema(schema){
else else
newSchema[key].type = typeTable[newSchema[key].type]; newSchema[key].type = typeTable[newSchema[key].type];
} }
return newSchema; return newSchema;
} }

View File

@ -29,7 +29,6 @@ let locale = 'en-US';
let supportedLocales = ['en-US', 'es-ES', 'ca']; let supportedLocales = ['en-US', 'es-ES', 'ca'];
let navLocale = window.navigator.language; let navLocale = window.navigator.language;
console.log(navLocale);
if(supportedLocales.includes(navLocale)) locale = navLocale; if(supportedLocales.includes(navLocale)) locale = navLocale;
@ -38,7 +37,6 @@ try {
} catch(ex) { } catch(ex) {
LogoutUser(); LogoutUser();
} }
console.log(locale);
const i18n = createI18n({ const i18n = createI18n({
legacy: false, legacy: false,

View File

@ -72,7 +72,6 @@ class ClientApi {
} }
clearWindow(id){ clearWindow(id){
console.log(id)
_Windows.ClearWindow(id); _Windows.ClearWindow(id);
} }
@ -164,7 +163,7 @@ class ClientModule {
this.#_plugin = plugin; this.#_plugin = plugin;
this.#_id = id; this.#_id = id;
this.#_router = new ClientRouter(`/plugins/${plugin.package}/_module/${id}`, {}); this.#_router = new ClientRouter(`/plugins/${plugin.package}/_module/${id}`, {});
this.#_socket = new ClientSocket(`${plugin.package}/${id}`) this.#_socket = new ClientSocket(`plugins/${plugin.package}/${id}`)
} }
setData(data){ setData(data){
@ -174,7 +173,6 @@ class ClientModule {
set onInit(init){ this.#_init = (campaign) => { set onInit(init){ this.#_init = (campaign) => {
this.#_campaign = campaign; this.#_campaign = campaign;
this.#_router._setParam("campaign", campaign._id); this.#_router._setParam("campaign", campaign._id);
console.log(campaign);
init(); init();
}; };
} }
@ -220,6 +218,7 @@ class ClientSocket {
} }
on(msg, callback){ on(msg, callback){
// alert(`${this.#_prefix}/${msg}`)
socket.on(`${this.#_prefix}/${msg}`, callback); socket.on(`${this.#_prefix}/${msg}`, callback);
} }
} }
@ -229,7 +228,7 @@ function ParseQuery(queryData){
if(keys.length == 0) return ""; if(keys.length == 0) return "";
let res = "?"; let res = "?";
for(let i = 0; i < keys.length; i++){ for(let i = 0; i < keys.length; i++){
res += keys[i] + "=" + queryData[keys]; res += keys[i] + "=" + queryData[keys[i]];
if(i != keys.length - 1) res += "&"; if(i != keys.length - 1) res += "&";
} }
return res; return res;
@ -266,28 +265,28 @@ class ClientRouter {
get(route, query){ get(route, query){
if(route.startsWith('/')) route = route.substring(1, route.length); if(route.startsWith('/')) route = route.substring(1, route.length);
let f = `${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`; let f = `${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`;
console.log("GET " + f); console.log("%cGET%c " + f, 'color: #00ff00', 'color: unset');
return Server().get(f); return Server().get(f);
} }
post(route, query, data = {}){ post(route, query, data = {}){
if(route.startsWith('/')) route = route.substring(1, route.length); if(route.startsWith('/')) route = route.substring(1, route.length);
let f = `${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`; let f = `${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`;
console.log("POST " + f); console.log("%cPOST%c " + f, 'color: #0384fc', 'color: unset');
return Server().post(f, data); return Server().post(f, data);
} }
put(route, query, data = {}){ put(route, query, data = {}){
if(route.startsWith('/')) route = route.substring(1, route.length); if(route.startsWith('/')) route = route.substring(1, route.length);
let f = `${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`; let f = `${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`;
console.log("PUT " + f); console.log("%cPUT%c " + f, 'color: #ff8000', 'color: unset');
return Server().put(f, data); return Server().put(f, data);
} }
delete(route, query){ delete(route, query){
if(route.startsWith('/')) route = route.substring(1, route.length); if(route.startsWith('/')) route = route.substring(1, route.length);
let f = `${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`; let f = `${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`;
console.log("DELETE " + f); console.log("%cDELETE%c " + f, 'color: #fa254c', 'color: unset');
return Server().delete(f); return Server().delete(f);
} }

View File

@ -19,8 +19,6 @@ function ConnectToCampaign(campaign){
chat.value = []; chat.value = [];
socket.emit('enter', GetUser(), _currentCampaign._id); socket.emit('enter', GetUser(), _currentCampaign._id);
console.log("Hola")
console.log(_currentCampaign)
} }
function Disconnect(){ function Disconnect(){
@ -48,7 +46,6 @@ socket.on('update-players', data => {
}) })
socket.on('init-info', data => { socket.on('init-info', data => {
console.log("Hola2")
_UpdatePlayers(data.players); _UpdatePlayers(data.players);
DisplayCampaign(); DisplayCampaign();
}) })

View File

@ -26,7 +26,6 @@ function PopulateContext(val){
let children = []; let children = [];
let elementNum = 0; let elementNum = 0;
console.log(val);
val.forEach(element => { val.forEach(element => {
let contextMenuElement = document.createElement('div'); let contextMenuElement = document.createElement('div');
contextMenuElement.classList.add("context-menu-element"); contextMenuElement.classList.add("context-menu-element");

View File

@ -69,8 +69,6 @@ async function InjectWindow(window_type, plugin, window_component){
let systemWidows = {}; let systemWidows = {};
systemWidows[window_type] = (await import(`../../plugins/${plugin}/views/${window_component}.vue`)).default; systemWidows[window_type] = (await import(`../../plugins/${plugin}/views/${window_component}.vue`)).default;
windowMap = {...windowMap, ...systemWidows}; windowMap = {...windowMap, ...systemWidows};
console.log("Window injected");
} }
// Presets // Presets

View File

@ -65,7 +65,6 @@ watch(in_game, () => {
// Check if we are dm // Check if we are dm
is_dm.value = GetClient().is_dm; is_dm.value = GetClient().is_dm;
console.log("Can we get the module here?");
rightModuleButtons.value = GetCampaignModule().buttons.right; rightModuleButtons.value = GetCampaignModule().buttons.right;
} }
}); });

View File

@ -12,8 +12,6 @@ const props = defineProps(['data']);
let data = props.data; let data = props.data;
onMounted(() => { onMounted(() => {
console.log(data.height);
console.log(data.editable)
if(data.editable) editable.value = true; if(data.editable) editable.value = true;
}) })

View File

@ -12,7 +12,6 @@ function Select(){
} }
onMounted(() => { onMounted(() => {
console.log(data);
title.value = data.previewData.title; title.value = data.previewData.title;
image.value.src = `plugins/${data.id}/${data.previewData.icon}`; image.value.src = `plugins/${data.id}/${data.previewData.icon}`;
}) })

View File

@ -14,7 +14,6 @@ function SelectIcon(){
CreateChildWindow(props.window, 'icon_selector', { CreateChildWindow(props.window, 'icon_selector', {
id: 'icon-selector-' + uuid, id: 'icon-selector-' + uuid,
done: (res) => { done: (res) => {
console.log(res);
icon.value = res.selected.path; icon.value = res.selected.path;
done(res); done(res);
ClearWindow('icon-selector-' + uuid); ClearWindow('icon-selector-' + uuid);

View File

@ -14,7 +14,6 @@ const props = defineProps(['data']);
let data = props.data; let data = props.data;
function ShowMap(){ function ShowMap(){
console.log("ShowMap")
SendMap(data._id); SendMap(data._id);
} }

View File

@ -13,7 +13,6 @@ let windowId = props.windowId;
function DisplaySystemSelector(){ function DisplaySystemSelector(){
CreateChildWindow(windowId, 'system_selector', {'done': (data) => { CreateChildWindow(windowId, 'system_selector', {'done': (data) => {
console.log("Hola")
let module = GetModule(data.selected); let module = GetModule(data.selected);
selectedSystem.value = data.selected; selectedSystem.value = data.selected;
selectedImage.value.src = `modules/${module.id}/icon.png`; selectedImage.value.src = `modules/${module.id}/icon.png`;

View File

@ -7,7 +7,6 @@ const colorPicker = ref(null);
onMounted(() => { onMounted(() => {
colorValue.value.addEventListener('click', () => { colorValue.value.addEventListener('click', () => {
console.log("Click");
colorPicker.value.click(); colorPicker.value.click();
}) })

View File

@ -21,7 +21,6 @@ onMounted(() => {
SetSize(id, {width: 200, height: 300}); SetSize(id, {width: 200, height: 300});
ResetPosition(id, {x: data.x, y: data.y}); ResetPosition(id, {x: data.x, y: data.y});
console.log(env_background.value.GetColor());
watch(env_background.value.GetColor(), () => { watch(env_background.value.GetColor(), () => {
ChangeBackgroundColor(env_background.value.GetColor().value); ChangeBackgroundColor(env_background.value.GetColor().value);
}); });

View File

@ -52,7 +52,6 @@ function ThrowDice(expr){
audio.type = "audio/wav" audio.type = "audio/wav"
audio.play(); audio.play();
console.log(result)
diceResult.value = result; diceResult.value = result;
SendMessage({ SendMessage({

View File

@ -35,7 +35,6 @@ function RefreshUsers(){
let users = response.data.users; let users = response.data.users;
elements.value = []; elements.value = [];
users.forEach(user => { users.forEach(user => {
console.log(user);
if(user.setupCode){ if(user.setupCode){
elements.value.push({ elements.value.push({
name: t('register-account.pending-account'), name: t('register-account.pending-account'),

View File

@ -40,13 +40,10 @@ onMounted(() => {
function register(){ function register(){
Server().post('/user/register').then((response) => { Server().post('/user/register').then((response) => {
const data = response.data; const data = response.data;
console.log(data);
if(data.error){ if(data.error){
console.log(data);
errorMessage.value = data.msg; errorMessage.value = data.msg;
} else { } else {
errorMessage.value = ""; errorMessage.value = "";
console.log("Logged successfully");
DisplayToast('green', 'Account created successfully', 3000); DisplayToast('green', 'Account created successfully', 3000);
CallWindow(id, 'done'); CallWindow(id, 'done');
} }

View File

@ -3,8 +3,6 @@ let Api;
function Main(api){ function Main(api){
Api = api; Api = api;
console.log("Hello World from backend!");
// Create our module in the backend. We only need the package name, it must be equal to the one that // Create our module in the backend. We only need the package name, it must be equal to the one that
// we made inside the client // we made inside the client
@ -26,22 +24,20 @@ function Main(api){
type: "The test item" type: "The test item"
}) })
*/ */
console.log("FUNCIONA!!!!");
res.json({ res.json({
status: "ok" status: "ok"
}) })
}) })
dndModule.router.get('/item/list', (req, res) => { dndModule.router.get('/item/list', (req, res) => {
const campaign = req.campaign; const campaign = req.query.campaign;
itemModel.find({campaign}).select('-data').lean().then(data => { itemModel.find({campaign}).select('-data').lean().then(data => {
res.json({status: "ok", data}); res.json({status: "ok", data});
}); });
}); });
dndModule.router.post('/item/create', (req, res) => { dndModule.router.post('/item/create', (req, res) => {
const campaign = req.campaign; const campaign = req.query.campaign;
let data = req.body.data; let data = req.body.data;
if(!(data.type && data.name)) { if(!(data.type && data.name)) {
@ -56,7 +52,7 @@ function Main(api){
}); });
dndModule.router.get('/item/get', (req, res) => { dndModule.router.get('/item/get', (req, res) => {
const campaign = req.campaign; const campaign = req.query.campaign;
let id = req.query.id; let id = req.query.id;
itemModel.findOne({_id: id, campaign}).lean().then(concept => { itemModel.findOne({_id: id, campaign}).lean().then(concept => {
@ -65,12 +61,12 @@ function Main(api){
}) })
dndModule.router.put('/item/update', (req, res) => { dndModule.router.put('/item/update', (req, res) => {
const campaign = req.campaign; const campaign = req.query.campaign;
let id = req.query.id; let id = req.query.id;
itemModel.findOneAndUpdate({_id: id, campaign}, req.body.concept).then(result => { itemModel.findOneAndUpdate({_id: id, campaign}, req.body.concept).then(result => {
if(req.query.fireUpdate) dndModule.socket.emit(campaign, 'update-concepts'); if(req.query.fireUpdate) dndModule.socket.emit(campaign, 'update-concepts');
dndModule.socket.emit(campaign).emit('update-concept', id); dndModule.socket.emit(campaign, 'update-concept', id);
res.json({status: "ok"}); res.json({status: "ok"});
}); });
}) })

View File

@ -21,7 +21,6 @@ function InitData(){
function FetchConcepts(){ function FetchConcepts(){
dndModule.router.get('/item/list', {}).then(response => { dndModule.router.get('/item/list', {}).then(response => {
data.value.concepts = response.data.data; data.value.concepts = response.data.data;
console.log(response.data);
}).catch(err => console.log(err)); }).catch(err => console.log(err));
} }

View File

@ -58,7 +58,7 @@ function Main(Api){
}); });
Api.socket.on('update-concepts', () => { dndModule.socket.on('update-concepts', () => {
FetchConcepts(); FetchConcepts();
}); });
@ -69,7 +69,6 @@ function Main(Api){
Api.registerModule(dndModule); Api.registerModule(dndModule);
Global('dnd-5e').DndModule = dndModule; Global('dnd-5e').DndModule = dndModule;
} }

View File

@ -75,8 +75,8 @@ function Upload(){
oldInfo = structuredClone(concept.value.info); oldInfo = structuredClone(concept.value.info);
} }
dndModule.router.put('/concept/update', params, {concept: concept.value}).then(response => { dndModule.router.put('/item/update', params, {concept: concept.value}).then(response => {
console.log(response); // console.log(response);
}); });
} }