Skip to content
Snippets Groups Projects
Commit 7ec83fc9 authored by Vincent Petry's avatar Vincent Petry Committed by Lukas Reschke
Browse files

Fix OC.FileInfo to copy all properties

This makes it possible to also store custom properties passed through
the data object like tags or shareOwner.
parent 358858c9
No related branches found
No related tags found
No related merge requests found
......@@ -19,39 +19,31 @@
* @since 8.2
*/
var FileInfo = function(data) {
if (!_.isUndefined(data.id)) {
var self = this;
_.each(data, function(value, key) {
if (!_.isFunction(value)) {
self[key] = value;
}
});
if (!_.isUndefined(this.id)) {
this.id = parseInt(data.id, 10);
}
// TODO: normalize path
this.path = data.path || '';
this.name = data.name;
this.mtime = data.mtime;
this.etag = data.etag;
this.permissions = data.permissions;
this.size = data.size;
this.mimetype = data.mimetype || 'application/octet-stream';
this.mountType = data.mountType;
this.icon = data.icon;
if (data.type) {
this.type = data.type;
} else if (this.mimetype === 'httpd/unix-directory') {
this.type = 'dir';
} else {
this.type = 'file';
}
if (data.tags) {
this.tags = data.tags;
if (this.type === 'dir') {
this.mimetype = 'httpd/unix-directory';
} else {
this.mimetype = this.mimetype || 'application/octet-stream';
}
if (!this.mimetype) {
if (this.type === 'dir') {
this.mimetype = 'httpd/unix-directory';
if (!this.type) {
if (this.mimetype === 'httpd/unix-directory') {
this.type = 'dir';
} else {
this.mimetype = 'application/octet-stream';
this.type = 'file';
}
}
};
......@@ -104,7 +96,7 @@
* @type String
* @deprecated rely on mimetype instead
*/
type: 'file',
type: null,
/**
* Permissions.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment