diff options
author | Robin Appelman <robin@icewind.nl> | 2018-10-11 16:59:04 +0200 |
---|---|---|
committer | Robin Appelman <robin@icewind.nl> | 2018-10-11 20:42:41 +0200 |
commit | ee84d8351953ed8afee9abcd8fc7cb1449e44a4b (patch) | |
tree | 9c6696889c3cb97410be1b390f51547ccd324ddf /apps/files_versions/js/versionmodel.js | |
parent | 6e56a7b31e89b7abea4e9bcf78eec21f54dfd74c (diff) | |
download | nextcloud-server-ee84d8351953ed8afee9abcd8fc7cb1449e44a4b.tar.gz nextcloud-server-ee84d8351953ed8afee9abcd8fc7cb1449e44a4b.zip |
move versions webui over to the dav api
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'apps/files_versions/js/versionmodel.js')
-rw-r--r-- | apps/files_versions/js/versionmodel.js | 63 |
1 files changed, 29 insertions, 34 deletions
diff --git a/apps/files_versions/js/versionmodel.js b/apps/files_versions/js/versionmodel.js index dc610fc2144..15469927475 100644 --- a/apps/files_versions/js/versionmodel.js +++ b/apps/files_versions/js/versionmodel.js @@ -8,50 +8,50 @@ * */ -(function() { +/* global moment */ + +(function () { /** * @memberof OCA.Versions */ var VersionModel = OC.Backbone.Model.extend({ + sync: OC.Backbone.davSync, + + davProperties: { + 'size': '{DAV:}getcontentlength', + 'mimetype': '{DAV:}getcontenttype', + 'timestamp': '{DAV:}getlastmodified', + }, /** * Restores the original file to this revision */ - revert: function(options) { + revert: function (options) { options = options ? _.clone(options) : {}; var model = this; - var file = this.getFullPath(); - var revision = this.get('timestamp'); - $.ajax({ - type: 'GET', - url: OC.generateUrl('/apps/files_versions/ajax/rollbackVersion.php'), - dataType: 'json', - data: { - file: file, - revision: revision - }, - success: function(response) { - if (response.status === 'error') { - if (options.error) { - options.error.call(options.context, model, response, options); - } - model.trigger('error', model, response, options); - } else { - if (options.success) { - options.success.call(options.context, model, response, options); - } - model.trigger('revert', model, response, options); + var client = this.get('client'); + + return client.move('/versions/' + this.get('fileId') + '/' + this.get('id'), '/restore/target', true) + .done(function () { + if (options.success) { + options.success.call(options.context, model, {}, options); + } + model.trigger('revert', model, options); + }) + .fail(function () { + if (options.error) { + options.error.call(options.context, model, {}, options); } - } - }); + model.trigger('error', model, {}, options); + }); }, - getFullPath: function() { + getFullPath: function () { return this.get('fullPath'); }, - getPreviewUrl: function() { + getPreviewUrl: function () { var url = OC.generateUrl('/apps/files_versions/preview'); var params = { file: this.get('fullPath'), @@ -60,13 +60,8 @@ return url + '?' + OC.buildQueryString(params); }, - getDownloadUrl: function() { - var url = OC.generateUrl('/apps/files_versions/download.php'); - var params = { - file: this.get('fullPath'), - revision: this.get('timestamp') - }; - return url + '?' + OC.buildQueryString(params); + getDownloadUrl: function () { + return OC.linkToRemoteBase('dav') + '/versions/' + this.get('user') + '/versions/' + this.get('fileId') + '/' + this.get('id'); } }); |