summaryrefslogtreecommitdiff
path: root/src/node/utils
diff options
context:
space:
mode:
authorJohn McLear <john@mclear.co.uk>2014-12-29 21:13:49 +0100
committerJohn McLear <john@mclear.co.uk>2014-12-29 21:13:49 +0100
commit1081156f134a5c71bc38ab4a3687a900cb35ba14 (patch)
treeb30b1c1799a51b3e30a0324fcef61cb7e23153b3 /src/node/utils
parent3773b6346b919995c311356b7cd582517b6f09ef (diff)
downloadetherpad-lite-1081156f134a5c71bc38ab4a3687a900cb35ba14.zip
whoopsi, required files
Diffstat (limited to 'src/node/utils')
-rw-r--r--src/node/utils/ExportEtherpad.js44
-rw-r--r--src/node/utils/ImportEtherpad.js39
2 files changed, 83 insertions, 0 deletions
diff --git a/src/node/utils/ExportEtherpad.js b/src/node/utils/ExportEtherpad.js
new file mode 100644
index 00000000..99d86140
--- /dev/null
+++ b/src/node/utils/ExportEtherpad.js
@@ -0,0 +1,44 @@
+/**
+ * Copyright 2014 John McLear.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS-IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+var async = require("async");
+var db = require("../db/DB").db;
+var ERR = require("async-stacktrace");
+
+exports.getPadRaw = function(padId, callback){
+ async.waterfall([
+ function(cb){
+ db.findKeys("pad:"+padId+"*", null, function(err,records){
+ if(!err){
+ cb(err, records);
+ }
+ })
+ },
+ function(records, cb){
+ var data = {};
+ async.forEachSeries(Object.keys(records), function(key, r){
+ db.get(records[key], function(err, entry){
+ data[records[key]] = entry;
+ r(null); // callback;
+ });
+ }, function(err){
+ cb(err, data);
+ })
+ }], function(err, data){
+ callback(null, data);
+ });
+}
diff --git a/src/node/utils/ImportEtherpad.js b/src/node/utils/ImportEtherpad.js
new file mode 100644
index 00000000..b18708ff
--- /dev/null
+++ b/src/node/utils/ImportEtherpad.js
@@ -0,0 +1,39 @@
+/**
+ * Copyright Yaco Sistemas S.L. 2011.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS-IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var log4js = require('log4js');
+var async = require("async");
+var db = require("../db/DB").db;
+
+exports.setPadRaw = function(padId, records, callback){
+ records = JSON.parse(records);
+
+ async.eachSeries(Object.keys(records), function(key, cb){
+ var value = records[key]
+
+ // rewrite padId
+ var oldPadId = key.split(":");
+ oldPadId[1] = padId;
+ var newKey = oldPadId.join(":"); // create the new key
+
+ // Write the value to the server
+ db.set(newKey, value);
+
+ cb();
+ }, function(){
+ callback(null, true);
+ });
+}