var extend = require('extend');
|
|
var http_client = require('../http_client.js');
|
|
var v8type = require('v8type');
|
|
|
|
|
|
var event_api = function(){};
|
|
|
|
event_api.prototype.stream = function(start, end, filter, callback){
|
|
/*
|
|
* event_api.stream( start, end, [[filter], callback] )
|
|
*
|
|
* function used to retrieve all events that have occured between
|
|
* `start` and `end` (POSIX timestamps)
|
|
*
|
|
* optionally filter the query with `filter`:
|
|
* {
|
|
* 'priority': ("low" or "normal"),
|
|
* 'sources': ["sources", "as", "a", "list"],
|
|
* 'tags': ["tags", "as", "a", "list"],
|
|
* }
|
|
*
|
|
* optionally provide a `callback` function to get the result
|
|
* of this api call:
|
|
*
|
|
* function(error, results)
|
|
*/
|
|
if(arguments.length < 2){
|
|
throw new Error('parameters `start` and `end` are required');
|
|
}
|
|
query = {
|
|
start: parseInt(start),
|
|
end: parseInt(end),
|
|
};
|
|
|
|
// this is the only case we have to check
|
|
// if we have `event_api(1234, 5678, callback)` then
|
|
// we want to push callback back
|
|
if(arguments.length == 3 && v8type.is(arguments[2], v8type.FUNCTION)){
|
|
callback = arguments[2];
|
|
filter = {};
|
|
}
|
|
|
|
// validate the filters we were given and append to `query`
|
|
// if they exist and meet their requirements
|
|
if(filter['priority'] && ['low', 'normal'].indexOf(filter['priority'].toLowerCase()) >= 0){
|
|
query['priority'] = filter['priority'].toLowerCase();
|
|
}
|
|
if(filter['sources'] && v8type.is(filter['sources'], v8type.ARRAY)){
|
|
query['sources'] = filter['sources'].join();
|
|
}
|
|
if(filter['tags'] && v8type.is(filter['tags'], v8type.ARRAY)){
|
|
query['tags'] = filter['tags'].join();
|
|
}
|
|
|
|
params = {
|
|
query: query,
|
|
};
|
|
this.request('GET', '/events', params, callback);
|
|
};
|
|
|
|
event_api.prototype.get_event = function(event_id, callback){
|
|
|
|
};
|
|
|
|
event_api.prototype.add_event = function(){
|
|
|
|
};
|
|
|
|
event_api.prototype.add_comment = function(){
|
|
|
|
};
|
|
|
|
event_api.prototype.update_comment = function(){
|
|
|
|
};
|
|
|
|
event_api.prototype.delete_comment = function(){
|
|
|
|
};
|
|
|
|
|
|
return module.exports = event_api;
|