mirror of
https://github.com/mclueppers/xo-server.git
synced 2025-07-27 07:54:54 +02:00
Various updates.
This commit is contained in:
parent
424c6403e1
commit
0472c22b08
14
src/api.js
14
src/api.js
@ -549,19 +549,21 @@ Api.fn.xo = {
|
|||||||
|
|
||||||
Api.fn.xapi = {
|
Api.fn.xapi = {
|
||||||
'__catchAll': function (session, req) {
|
'__catchAll': function (session, req) {
|
||||||
var RE = /^xapi\.(pool|host|vm|network|sr|vdi|pif|vif)\.getAll$/;
|
var RE = /^xapi\.(.*)\.getAll$/;
|
||||||
var match;
|
var match = req.method.match(RE);
|
||||||
if (!(match = req.method.match(RE)))
|
var collection;
|
||||||
|
if (!match || !(collection = this.xo.xobjs[match[1]]))
|
||||||
{
|
{
|
||||||
throw Api.err.INVALID_METHOD;
|
throw Api.err.INVALID_METHOD;
|
||||||
}
|
}
|
||||||
|
|
||||||
var xobjs = this.xo.xobjs;
|
|
||||||
var collection = xobjs[match[1]] || xobjs[match[1].toUpperCase()];
|
|
||||||
|
|
||||||
return collection.get();
|
return collection.get();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'getClasses': function () {
|
||||||
|
return this.xo.xclasses;
|
||||||
|
},
|
||||||
|
|
||||||
'vm': {
|
'vm': {
|
||||||
'pause': function (session, req) {
|
'pause': function (session, req) {
|
||||||
var p_id = req.params.id;
|
var p_id = req.params.id;
|
||||||
|
28
src/xo.js
28
src/xo.js
@ -315,24 +315,24 @@ Xo.prototype.start = function (cfg) {
|
|||||||
xo.computeStats();
|
xo.computeStats();
|
||||||
|
|
||||||
return function loop() {
|
return function loop() {
|
||||||
return xapi.call('event.next').then(function (event) {
|
return xapi.call('event.next').then(function (events) {
|
||||||
event = event[0]; // @todo Handle multiple events.
|
_.each(events, function (event) {
|
||||||
|
var collection = xobjs[xclasses_map[event.class]];
|
||||||
|
if (collection)
|
||||||
|
{
|
||||||
|
var record = event.snapshot;
|
||||||
|
record.id = event.ref;
|
||||||
|
record.pool = pool_id;
|
||||||
|
|
||||||
var collection = xobjs[xclasses_map[event.class]];
|
console.log(xapi.host, event.class, event.ref);
|
||||||
if (collection)
|
|
||||||
{
|
|
||||||
var record = event.snapshot;
|
|
||||||
record.id = event.ref;
|
|
||||||
record.pool = pool_id;
|
|
||||||
|
|
||||||
console.log(xapi.host, event.class, event.ref);
|
// @todo Handle operation types.
|
||||||
|
collection.add(event.snapshot, {'replace': true});
|
||||||
|
|
||||||
// @todo Handle operation types.
|
}
|
||||||
collection.add(event.snapshot, {'replace': true});
|
});
|
||||||
|
|
||||||
xo.computeStats();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
xo.computeStats();
|
||||||
return loop();
|
return loop();
|
||||||
}).fail(function (error) {
|
}).fail(function (error) {
|
||||||
if ('SESSION_NOT_REGISTERED' === error[0])
|
if ('SESSION_NOT_REGISTERED' === error[0])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user