From e051ef1d686721e8ccbedab9ee92b5876f206800 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Julius=20H=C3=A4rtl?= <jus@bitgrid.net>
Date: Fri, 16 Oct 2020 14:22:47 +0200
Subject: [PATCH] Fetch quota with files propfind
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Julius Härtl <jus@bitgrid.net>
---
 core/src/files/client.js   | 7 +++++++
 core/src/files/fileinfo.js | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/core/src/files/client.js b/core/src/files/client.js
index b4bbb5814a5..4e606f4f5ac 100644
--- a/core/src/files/client.js
+++ b/core/src/files/client.js
@@ -82,6 +82,7 @@ import escapeHTML from 'escape-html'
 	Client.PROPERTY_GETCONTENTLENGTH	= '{' + Client.NS_DAV + '}getcontentlength'
 	Client.PROPERTY_ISENCRYPTED	= '{' + Client.NS_DAV + '}is-encrypted'
 	Client.PROPERTY_SHARE_PERMISSIONS	= '{' + Client.NS_OCS + '}share-permissions'
+	Client.PROPERTY_QUOTA_AVAILABLE_BYTES	= '{' + Client.NS_DAV + '}quota-available-bytes'
 
 	Client.PROTOCOL_HTTP	= 'http'
 	Client.PROTOCOL_HTTPS	= 'https'
@@ -120,6 +121,7 @@ import escapeHTML from 'escape-html'
 		 * File sizes
 		 */
 		[Client.NS_DAV, 'getcontentlength'],
+		[Client.NS_DAV, 'quota-available-bytes'],
 		/**
 		 * Preview availability
 		 */
@@ -397,6 +399,11 @@ import escapeHTML from 'escape-html'
 				data.mountType = mounTypeProp
 			}
 
+			const quotaAvailableBytes = props['{' + Client.NS_DAV + '}quota-available-bytes']
+			if (!_.isUndefined(quotaAvailableBytes)) {
+				data.quotaAvailableBytes = quotaAvailableBytes
+			}
+
 			// extend the parsed data using the custom parsers
 			_.each(this._fileInfoParsers, function(parserFunction) {
 				_.extend(data, parserFunction(response, data) || {})
diff --git a/core/src/files/fileinfo.js b/core/src/files/fileinfo.js
index cfa8702c0a8..19baad5a2d7 100644
--- a/core/src/files/fileinfo.js
+++ b/core/src/files/fileinfo.js
@@ -139,6 +139,8 @@
 		 * @type int
 		 */
 		sharePermissions: null,
+
+		quotaAvailableBytes: -1,
 	}
 
 	if (!OC.Files) {
-- 
GitLab