Campaign???
Some checks failed
test / run-tests-client (push) Successful in 19s
test / run-tests-backend (push) Failing after 14s

This commit is contained in:
BinarySandia04 2024-10-16 13:57:33 +02:00
parent b1b7fc5827
commit 441b08142c
5 changed files with 35 additions and 12 deletions

View File

@ -2,6 +2,7 @@ const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const express = require('express');
const { getIo } = require('../io/socket');
/**
* Class for managing the backend api
@ -243,6 +244,10 @@ class BackendSocket {
on(msg, callback){
this.#_internalSocket[`${this.#_prefix}/${msg}`] = callback;
}
emit(campaign, msg, data = {}){
getIo().to(campaign).emit(msg, data);
}
}
function ParseSchema(schema){

View File

@ -38,7 +38,22 @@ function Main(api){
itemModel.find({campaign}).select('-data').lean().then(data => {
res.json({status: "ok", data});
});
})
});
dndModule.router.post('/item/create', (req, res) => {
const campaign = req.campaign;
let data = req.body.data;
if(!(data.type && data.name)) {
res.json({status: "error", msg: "args"});
return;
}
itemModel.create({campaign, type: data.type, name: data.name}).then(item => {
dndModule.socket.emit(campaign, 'update-concepts');
res.json({status: "ok", item});
});
});
Api.socket.on("test", () => console.log("test"));
// Api.router.createModelRoutes(itemModel, 'item');

View File

@ -7,11 +7,11 @@ import { GetCampaign } from "@/services/Dragonroll";
let data = reactive({});
let Api = Global('dnd-5e').Api;
let dndModule = Global('dnd-5e')['dndModule'];
let dndModule = Global('dnd-5e').DndModule;
function InitData(){
Api = Global('dnd-5e').Api;
dndModule = Global('dnd-5e')['dndModule'];
dndModule = Global('dnd-5e').DndModule;
data.value = {
concepts: []

View File

@ -70,7 +70,7 @@ function Main(Api){
Api.registerModule(dndModule);
Global('dnd-5e')['dndModule'] = dndModule;
Global('dnd-5e').DndModule = dndModule;
}
export {

View File

@ -1,20 +1,23 @@
<script setup>
import WindowHandle from '@/views/partials/WindowHandle.vue';
import Server from '@/services/Server';
import { GetConcept } from './../data.js';
import { onMounted, ref, shallowRef } from 'vue';
import { SetupHandle, SetSize, ResetPosition, CreateWindow, SetMinSize, SetResizable } from '@/services/Windows';
import { SetupHandle, SetSize, ResetPosition, SetMinSize, SetResizable } from '@/services/Windows';
import IconSelector from '@/views/partials/IconSelector.vue';
import { AddContextMenu, HideContextMenu, ShowContextMenu } from '@/services/ContextMenu';
import { GetCampaign } from '@/services/Dragonroll';
import Tabs from '@/views/partials/Tabs.vue';
import MarkdownEditor from '@/views/partials/MarkdownEditor.vue';
import Tags from '@/views/partials/Tags.vue';
import NumberInput from '@/views/partials/NumberInput.vue';
import { Global } from '@/services/PluginGlobals';
const props = defineProps(['data']);
const data = props.data;
const api = Global('dnd-5e').Api;
const pluginData = Global('dnd-5e').Data;
const dndModule = Global('dnd-5e').DndModule;
const handle = ref(null);
@ -66,13 +69,13 @@ let concept = shallowRef({});
let oldInfo;
function Upload(){
let extraParams = "";
let params = {id: concept.value._id};
if(oldInfo != concept.value.info){
extraParams = "&fireUpdate=true";
params['fireUpdate'] = true;
oldInfo = structuredClone(concept.value.info);
console.log("MAIASIUDHSAHJ")
}
Server().put('/concept/update?campaign=' + GetCampaign()._id + "&id=" + concept.value._id + extraParams, {concept: concept.value}).then(response => {
dndModule.router.put('/concept/update', params, {concept: concept.value}).then(response => {
console.log(response);
});
}
@ -141,7 +144,7 @@ onMounted(() => {
item_type.value = data.item_type;
if(data.item_create){
Server().post('/concept/create?campaign=' + GetCampaign()._id, {
dndModule.router.post('/item/create', {}, {
data: {
type: data.item_type,
name: "New " + data.item_type