mirror of
				https://github.com/telekom-security/tpotce.git
				synced 2025-11-04 06:22:54 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			138 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			138 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (c) 2015
 | 
						|
 *
 | 
						|
 * This file is licensed under the Affero General Public License version 3
 | 
						|
 * or later.
 | 
						|
 *
 | 
						|
 * See the COPYING-README file.
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
(function(OC) {
 | 
						|
 | 
						|
	/**
 | 
						|
	 * @class OC.Files.FileInfo
 | 
						|
	 * @classdesc File information
 | 
						|
	 *
 | 
						|
	 * @param {Object} data file data, see attributes for details
 | 
						|
	 *
 | 
						|
	 * @since 8.2
 | 
						|
	 */
 | 
						|
	var FileInfo = function(data) {
 | 
						|
		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 || '';
 | 
						|
 | 
						|
		if (this.type === 'dir') {
 | 
						|
			this.mimetype = 'httpd/unix-directory';
 | 
						|
		} else {
 | 
						|
			this.mimetype = this.mimetype || 'application/octet-stream';
 | 
						|
		}
 | 
						|
 | 
						|
		if (!this.type) {
 | 
						|
			if (this.mimetype === 'httpd/unix-directory') {
 | 
						|
				this.type = 'dir';
 | 
						|
			} else {
 | 
						|
				this.type = 'file';
 | 
						|
			}
 | 
						|
		}
 | 
						|
	};
 | 
						|
 | 
						|
	/**
 | 
						|
	 * @memberof OC.Files
 | 
						|
	 */
 | 
						|
	FileInfo.prototype = {
 | 
						|
		/**
 | 
						|
		 * File id
 | 
						|
		 *
 | 
						|
		 * @type int
 | 
						|
		 */
 | 
						|
		id: null,
 | 
						|
 | 
						|
		/**
 | 
						|
		 * File name
 | 
						|
		 *
 | 
						|
		 * @type String
 | 
						|
		 */
 | 
						|
		name: null,
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Path leading to the file, without the file name,
 | 
						|
		 * and with a leading slash.
 | 
						|
		 *
 | 
						|
		 * @type String
 | 
						|
		 */
 | 
						|
		path: null,
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Mime type
 | 
						|
		 *
 | 
						|
		 * @type String
 | 
						|
		 */
 | 
						|
		mimetype: null,
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Icon URL.
 | 
						|
		 *
 | 
						|
		 * Can be used to override the mime type icon.
 | 
						|
		 *
 | 
						|
		 * @type String
 | 
						|
		 */
 | 
						|
		icon: null,
 | 
						|
 | 
						|
		/**
 | 
						|
		 * File type. 'file'  for files, 'dir' for directories.
 | 
						|
		 *
 | 
						|
		 * @type String
 | 
						|
		 * @deprecated rely on mimetype instead
 | 
						|
		 */
 | 
						|
		type: null,
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Permissions.
 | 
						|
		 *
 | 
						|
		 * @see OC#PERMISSION_ALL for permissions
 | 
						|
		 * @type int
 | 
						|
		 */
 | 
						|
		permissions: null,
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Modification time
 | 
						|
		 *
 | 
						|
		 * @type int
 | 
						|
		 */
 | 
						|
		mtime: null,
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Etag
 | 
						|
		 *
 | 
						|
		 * @type String
 | 
						|
		 */
 | 
						|
		etag: null,
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Mount type.
 | 
						|
		 *
 | 
						|
		 * One of null, "external-root", "shared" or "shared-root"
 | 
						|
		 *
 | 
						|
		 * @type string
 | 
						|
		 */
 | 
						|
		mountType: null
 | 
						|
	};
 | 
						|
 | 
						|
	if (!OC.Files) {
 | 
						|
		OC.Files = {};
 | 
						|
	}
 | 
						|
	OC.Files.FileInfo = FileInfo;
 | 
						|
})(OC);
 | 
						|
 |