mirror of
https://github.com/mclueppers/xo-server.git
synced 2025-04-08 20:55:02 +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 = {
|
||||
'__catchAll': function (session, req) {
|
||||
var RE = /^xapi\.(pool|host|vm|network|sr|vdi|pif|vif)\.getAll$/;
|
||||
var match;
|
||||
if (!(match = req.method.match(RE)))
|
||||
var RE = /^xapi\.(.*)\.getAll$/;
|
||||
var match = req.method.match(RE);
|
||||
var collection;
|
||||
if (!match || !(collection = this.xo.xobjs[match[1]]))
|
||||
{
|
||||
throw Api.err.INVALID_METHOD;
|
||||
}
|
||||
|
||||
var xobjs = this.xo.xobjs;
|
||||
var collection = xobjs[match[1]] || xobjs[match[1].toUpperCase()];
|
||||
|
||||
return collection.get();
|
||||
},
|
||||
|
||||
'getClasses': function () {
|
||||
return this.xo.xclasses;
|
||||
},
|
||||
|
||||
'vm': {
|
||||
'pause': function (session, req) {
|
||||
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();
|
||||
|
||||
return function loop() {
|
||||
return xapi.call('event.next').then(function (event) {
|
||||
event = event[0]; // @todo Handle multiple events.
|
||||
return xapi.call('event.next').then(function (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]];
|
||||
if (collection)
|
||||
{
|
||||
var record = event.snapshot;
|
||||
record.id = event.ref;
|
||||
record.pool = pool_id;
|
||||
console.log(xapi.host, event.class, event.ref);
|
||||
|
||||
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();
|
||||
}).fail(function (error) {
|
||||
if ('SESSION_NOT_REGISTERED' === error[0])
|
||||
|
Loading…
x
Reference in New Issue
Block a user