Query
Some checks failed
test / run-tests-client (push) Successful in 19s
test / run-tests-backend (push) Failing after 15s

This commit is contained in:
BinarySandia04 2024-10-15 23:05:07 +02:00
parent 62471fa858
commit 65741da5cf
3 changed files with 26 additions and 12 deletions

View File

@ -216,6 +216,17 @@ class ClientSocket {
}
}
function ParseQuery(queryData){
let keys = Object.keys(queryData);
if(keys.length == 0) return "";
let res = "?";
for(let i = 0; i < keys.length; i++){
res += keys[i] + "=" + queryData[keys];
if(i != keys.length - 1) res += "&";
}
return res;
}
/**
* @typedef {Object} Response
* @property {Object} data
@ -237,25 +248,27 @@ class ClientSocket {
*/
class ClientRouter {
#_path;
#_defParams;
constructor(path){
constructor(path, defParams){
this.#_path = path;
this.#_defParams = defParams;
}
get(route){
return Server().get(`${path}/${route}`);
get(route, query){
return Server().get(`${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`);
}
post(route, data = {}){
return Server().post(`${path}/${route}`, data);
post(route, query, data = {}){
return Server().post(`${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`, data);
}
put(route, data = {}){
return Server().put(`${path}/${route}`, data);
put(route, query, data = {}){
return Server().put(`${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`, data);
}
delete(route){
return Server().delete(`${route}`);
delete(route, query){
return Server().delete(`${this.#_path}/${route}${ParseQuery({...this.#_defParams, ...query})}`);
}
}

View File

@ -14,6 +14,7 @@ function InitData(){
}
function FetchConcepts(){
console.log(Api.router)
Server().get('/concept/list?campaign=' + GetCampaign()._id).then(response => {
data.value.concepts = response.data.data;
}).catch((err) => console.log(err));

View File

@ -26,9 +26,9 @@ function Main(api){
let databaseWindow = Api.registerWindow('database', Api.createView('Database'));
let actorsWindow = Api.registerWindow('actors', Api.createView('Actors'));
let characterSheetWindow = Api.registerWindow('character_sheet', Api.createView('CharacterSheet'));
let itemSheetWindow = Api.registerWindow('item_sheet', Api.createView('ItemSheet'));
let createItemPromptWindow = Api.registerWindow('create_item_prompt', Api.createView('CreateItemPrompt'));
Api.registerWindow('character_sheet', Api.createView('CharacterSheet'));
Api.registerWindow('item_sheet', Api.createView('ItemSheet'));
Api.registerWindow('create_item_prompt', Api.createView('CreateItemPrompt'));
dndModule.setButtons({
right: [