summaryrefslogtreecommitdiffstats
path: root/apps/files_versions/js/versionmodel.js
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2018-10-11 16:59:04 +0200
committerRobin Appelman <robin@icewind.nl>2018-10-11 20:42:41 +0200
commitee84d8351953ed8afee9abcd8fc7cb1449e44a4b (patch)
tree9c6696889c3cb97410be1b390f51547ccd324ddf /apps/files_versions/js/versionmodel.js
parent6e56a7b31e89b7abea4e9bcf78eec21f54dfd74c (diff)
downloadnextcloud-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.js63
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');
}
});