mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-23 08:56:17 -04:00
bring in some padDiff stuff that doesnt suck
This commit is contained in:
parent
c6882aa65a
commit
5d416579ee
3 changed files with 191 additions and 0 deletions
|
@ -568,6 +568,87 @@ exports.checkToken = function(callback)
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
createDiff(padID, startRev, endRev) returns an object of diffs from 2 points in a pad
|
||||
|
||||
Example returns:
|
||||
|
||||
TODO {"code":0,"message":"ok","data":null}
|
||||
TODO {"code":4,"message":"no or wrong API Key","data":null}
|
||||
*/
|
||||
exports.createDiff = function(padID, startRev, endRev, callback){
|
||||
//check if rev is a number
|
||||
if(startRev !== undefined && typeof startRev != "number")
|
||||
{
|
||||
//try to parse the number
|
||||
if(!isNaN(parseInt(startRev)))
|
||||
{
|
||||
startRev = parseInt(startRev, 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
callback({stop: "startRev is not a number"});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//check if rev is a number
|
||||
if(endRev !== undefined && typeof endRev != "number")
|
||||
{
|
||||
//try to parse the number
|
||||
if(!isNaN(parseInt(endRev)))
|
||||
{
|
||||
endRev = parseInt(endRev, 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
callback({stop: "endRev is not a number"});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//get the pad
|
||||
getPadSafe(padID, true, function(err, pad)
|
||||
{
|
||||
if(err){
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
try {
|
||||
var padDiff = new PadDiff(pad, startRev, endRev);
|
||||
} catch(e) {
|
||||
return callback({stop:e.message});
|
||||
}
|
||||
|
||||
var html, authors;
|
||||
|
||||
async.series([
|
||||
function(callback){
|
||||
padDiff.getHtml(function(err, _html){
|
||||
if(err){
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
html = _html;
|
||||
callback();
|
||||
});
|
||||
},
|
||||
function(callback){
|
||||
padDiff.getAuthors(function(err, _authors){
|
||||
if(err){
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
authors = _authors;
|
||||
callback();
|
||||
});
|
||||
}
|
||||
], function(err){
|
||||
callback(err, {html: html, authors: authors})
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/******************************/
|
||||
/** INTERNAL HELPER FUNCTIONS */
|
||||
/******************************/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue