Procházet zdrojové kódy

more work

tags/v0.4.3^2
Big Bad Waffle před 4 roky
rodič
revize
57511cbe0b
5 změnil soubory, kde provedl 24 přidání a 9 odebrání
  1. +6
    -1
      src/server/components/inventory.js
  2. +1
    -1
      src/server/config/serverConfig.js
  3. +4
    -0
      src/server/security/connections.js
  4. +8
    -7
      src/server/security/rest.js
  5. +5
    -0
      src/server/security/transactions.js

+ 6
- 1
src/server/components/inventory.js Zobrazit soubor

@@ -5,6 +5,7 @@ let classes = require('../config/spirits');
let mtx = require('../mtx/mtx');
let factions = require('../config/factions');
let itemEffects = require('../items/itemEffects');
const transactions = require('../security/transactions');

const { applyItemStats } = require('./equipment/helpers');

@@ -469,6 +470,8 @@ module.exports = {
} else if (!this.findItem(msg.itemId))
return;

const resolveTrans = transactions.register();

let blocked = false;
if (res.components) {
let social = res.components.find(f => f.type === 'social');
@@ -480,9 +483,11 @@ module.exports = {
this.destroyItem(item.id);

if (!blocked)
this.obj.instance.mail.sendMail(msg.recipient, [mappedItem]);
await this.obj.instance.mail.sendMail(msg.recipient, [mappedItem]);

this.resolveCallback(msg);

resolveTrans();
},

hookItemEvents: function (items) {


+ 1
- 1
src/server/config/serverConfig.js Zobrazit soubor

@@ -8,7 +8,7 @@ module.exports = {
// sqlite
// rethink
//eslint-disable-next-line no-process-env
db: process.env.IWD_DB || 'sqlite',
db: process.env.IWD_DB || 'rethink',
//eslint-disable-next-line no-process-env
dbHost: process.env.IWD_DB_HOST || 'localhost',
//eslint-disable-next-line no-process-env


+ 4
- 0
src/server/security/connections.js Zobrazit soubor

@@ -1,4 +1,5 @@
let objects = require('../objects/objects');
const rest = require('../security/rest');

module.exports = {
players: [],
@@ -55,6 +56,9 @@ module.exports = {
route: function (socket, msg) {
let player = null;

if (msg.method === 'performAction')
setTimeout(rest.forceSaveAll.bind(rest), 100);

if (msg.id) {
player = this.players.find(p => p.id === msg.id);
let source = this.players.find(p => p.socket.id === socket.id);


+ 8
- 7
src/server/security/rest.js Zobrazit soubor

@@ -1,5 +1,4 @@
const serverConfig = require('../config/serverConfig');
const connections = require('../security/connections');
const version = serverConfig.version;
const bcrypt = require('bcrypt-nodejs');
const roles = require('../config/roles');
@@ -16,6 +15,8 @@ module.exports = {
},

forceSaveAll: async function (req, res, next) {
this.doSaveAll();
return;
let config = {};

let pars = req.originalUrl.split('?').pop().split('&');
@@ -39,14 +40,14 @@ module.exports = {
},

doSaveAll: async function (res, config, err, compareResult) {
if (!compareResult)
/*if (!compareResult)
return;

let roleLevel = roles.getRoleLevel({
account: config.username
});
if (roleLevel < 9)
return;
return;*/

await transactions.returnWhenDone();

@@ -55,17 +56,17 @@ module.exports = {
data: {
messages: [{
class: 'color-blueA',
message: config.msg,
message: 'asdd',
type: 'chat'
}]
}
});

connections.forceSaveAll();
cons.forceSaveAll();

res.jsonp({
/*res.jsonp({
success: true
});
});*/
},

willHandle: function (url) {


+ 5
- 0
src/server/security/transactions.js Zobrazit soubor

@@ -6,6 +6,7 @@ const complete = id => {
};

const register = () => {
console.log('reg');
const nextId = ++lastId;
list.push(nextId);

@@ -13,17 +14,21 @@ const register = () => {
};

const returnWhenDone = async () => {
console.log('check');
if (!list.length)
return;

return new Promise(res => {
const checker = () => {
if (!list.length) {
console.log('ok');
res();

return;
}

console.log('nope');

setTimeout(checker, 100);
};



Načítá se…
Zrušit
Uložit