Merge branch 'staging' into oo2

This commit is contained in:
yflory
2018-12-13 16:24:11 +01:00
139 changed files with 16415 additions and 9509 deletions

View File

@@ -386,14 +386,14 @@ define([
if (data.folderData) { return; }
// Folder creation
var hash = Hash.createRandomHash('drive');
var href = '/drive/#' + hash;
var secret = Hash.getSecrets('drive', hash);
var hash = Hash.createRandomHash('drive', data.password);
var secret = Hash.getSecrets('drive', hash, data.password);
var hashes = Hash.getHashes(secret);
folderData = {
href: href,
roHref: '/drive/#' + Hash.getViewHashFromKeys(secret),
href: '/drive/#' + hashes.editHash,
roHref: '/drive/#' + hashes.viewHash,
channel: secret.channel,
ctime: +new Date()
ctime: +new Date(),
};
if (data.password) { folderData.password = data.password; }
if (data.owned) { folderData.owners = [Env.edPublic]; }
@@ -541,6 +541,11 @@ define([
// Set the value everywhere the given pad is stored (main and shared folders)
var setPadAttribute = function (Env, data, cb) {
cb = cb || function () {};
if (!data.attr || !data.attr.trim()) { return void cb("E_INVAL_ATTR"); }
var sfId = Env.user.userObject.getSFIdFromHref(data.href);
if (sfId) {
Env.user.proxy[UserObject.SHARED_FOLDERS][sfId][data.attr] = data.value;
}
var datas = findHref(Env, data.href);
var nt = nThen;
datas.forEach(function (d) {
@@ -557,6 +562,10 @@ define([
// correct one.
var getPadAttribute = function (Env, data, cb) {
cb = cb || function () {};
var sfId = Env.user.userObject.getSFIdFromHref(data.href);
if (sfId) {
return void cb(null, Env.user.proxy[UserObject.SHARED_FOLDERS][sfId][data.attr]);
}
var datas = findHref(Env, data.href);
var nt = nThen;
var res = {};
@@ -584,12 +593,14 @@ define([
};
var getTagsList = function (Env) {
var list = [];
var list = {};
var userObjects = _getUserObjects(Env);
userObjects.forEach(function (uo) {
Array.prototype.push.apply(list, uo.getTagsList());
var l = uo.getTagsList();
Object.keys(l).forEach(function (t) {
list[t] = list[t] ? (list[t] + l[t]) : l[t];
});
});
list = Util.deduplicateString(list);
return list;
};
@@ -844,7 +855,8 @@ define([
var getFileData = _getFileData;
var getUserObjectPath = _getUserObjectPath;
var find = function (Env, path) {
var find = function (Env, path, fId) {
if (fId) { return Env.folders[fId].userObject.find(path); }
var resolved = _resolvePath(Env, path);
return resolved.userObject.find(resolved.path);
};