Campaign???
This commit is contained in:
parent
b1b7fc5827
commit
441b08142c
@ -2,6 +2,7 @@ const mongoose = require("mongoose");
|
|||||||
const Schema = mongoose.Schema;
|
const Schema = mongoose.Schema;
|
||||||
|
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
|
const { getIo } = require('../io/socket');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class for managing the backend api
|
* Class for managing the backend api
|
||||||
@ -243,6 +244,10 @@ class BackendSocket {
|
|||||||
on(msg, callback){
|
on(msg, callback){
|
||||||
this.#_internalSocket[`${this.#_prefix}/${msg}`] = callback;
|
this.#_internalSocket[`${this.#_prefix}/${msg}`] = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
emit(campaign, msg, data = {}){
|
||||||
|
getIo().to(campaign).emit(msg, data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function ParseSchema(schema){
|
function ParseSchema(schema){
|
||||||
|
@ -38,7 +38,22 @@ function Main(api){
|
|||||||
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) => {
|
||||||
|
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.socket.on("test", () => console.log("test"));
|
||||||
// Api.router.createModelRoutes(itemModel, 'item');
|
// Api.router.createModelRoutes(itemModel, 'item');
|
||||||
|
@ -7,11 +7,11 @@ import { GetCampaign } from "@/services/Dragonroll";
|
|||||||
let data = reactive({});
|
let data = reactive({});
|
||||||
|
|
||||||
let Api = Global('dnd-5e').Api;
|
let Api = Global('dnd-5e').Api;
|
||||||
let dndModule = Global('dnd-5e')['dndModule'];
|
let dndModule = Global('dnd-5e').DndModule;
|
||||||
|
|
||||||
function InitData(){
|
function InitData(){
|
||||||
Api = Global('dnd-5e').Api;
|
Api = Global('dnd-5e').Api;
|
||||||
dndModule = Global('dnd-5e')['dndModule'];
|
dndModule = Global('dnd-5e').DndModule;
|
||||||
|
|
||||||
data.value = {
|
data.value = {
|
||||||
concepts: []
|
concepts: []
|
||||||
|
@ -70,7 +70,7 @@ function Main(Api){
|
|||||||
Api.registerModule(dndModule);
|
Api.registerModule(dndModule);
|
||||||
|
|
||||||
|
|
||||||
Global('dnd-5e')['dndModule'] = dndModule;
|
Global('dnd-5e').DndModule = dndModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
|
@ -1,20 +1,23 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import WindowHandle from '@/views/partials/WindowHandle.vue';
|
import WindowHandle from '@/views/partials/WindowHandle.vue';
|
||||||
import Server from '@/services/Server';
|
|
||||||
|
|
||||||
import { GetConcept } from './../data.js';
|
import { GetConcept } from './../data.js';
|
||||||
|
|
||||||
import { onMounted, ref, shallowRef } from 'vue';
|
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 IconSelector from '@/views/partials/IconSelector.vue';
|
||||||
import { AddContextMenu, HideContextMenu, ShowContextMenu } from '@/services/ContextMenu';
|
import { AddContextMenu, HideContextMenu, ShowContextMenu } from '@/services/ContextMenu';
|
||||||
import { GetCampaign } from '@/services/Dragonroll';
|
|
||||||
import Tabs from '@/views/partials/Tabs.vue';
|
import Tabs from '@/views/partials/Tabs.vue';
|
||||||
import MarkdownEditor from '@/views/partials/MarkdownEditor.vue';
|
import MarkdownEditor from '@/views/partials/MarkdownEditor.vue';
|
||||||
import Tags from '@/views/partials/Tags.vue';
|
import Tags from '@/views/partials/Tags.vue';
|
||||||
import NumberInput from '@/views/partials/NumberInput.vue';
|
import NumberInput from '@/views/partials/NumberInput.vue';
|
||||||
|
|
||||||
|
import { Global } from '@/services/PluginGlobals';
|
||||||
const props = defineProps(['data']);
|
const props = defineProps(['data']);
|
||||||
const data = props.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);
|
const handle = ref(null);
|
||||||
@ -66,13 +69,13 @@ let concept = shallowRef({});
|
|||||||
let oldInfo;
|
let oldInfo;
|
||||||
|
|
||||||
function Upload(){
|
function Upload(){
|
||||||
let extraParams = "";
|
let params = {id: concept.value._id};
|
||||||
if(oldInfo != concept.value.info){
|
if(oldInfo != concept.value.info){
|
||||||
extraParams = "&fireUpdate=true";
|
params['fireUpdate'] = true;
|
||||||
oldInfo = structuredClone(concept.value.info);
|
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);
|
console.log(response);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -141,7 +144,7 @@ onMounted(() => {
|
|||||||
item_type.value = data.item_type;
|
item_type.value = data.item_type;
|
||||||
|
|
||||||
if(data.item_create){
|
if(data.item_create){
|
||||||
Server().post('/concept/create?campaign=' + GetCampaign()._id, {
|
dndModule.router.post('/item/create', {}, {
|
||||||
data: {
|
data: {
|
||||||
type: data.item_type,
|
type: data.item_type,
|
||||||
name: "New " + data.item_type
|
name: "New " + data.item_type
|
||||||
|
Loading…
Reference in New Issue
Block a user