summaryrefslogtreecommitdiffstats
path: root/apps/comments/src/commentsummarymodel.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/comments/src/commentsummarymodel.js')
-rw-r--r--apps/comments/src/commentsummarymodel.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/apps/comments/src/commentsummarymodel.js b/apps/comments/src/commentsummarymodel.js
new file mode 100644
index 00000000000..ffabbc30fb4
--- /dev/null
+++ b/apps/comments/src/commentsummarymodel.js
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2016
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+
+(function(OC, OCA) {
+
+ _.extend(OC.Files.Client, {
+ PROPERTY_READMARKER: '{' + OC.Files.Client.NS_OWNCLOUD + '}readMarker'
+ });
+
+ /**
+ * @class OCA.Comments.CommentSummaryModel
+ * @classdesc
+ *
+ * Model containing summary information related to comments
+ * like the read marker.
+ *
+ */
+ var CommentSummaryModel = OC.Backbone.Model.extend(
+ /** @lends OCA.Comments.CommentSummaryModel.prototype */ {
+ sync: OC.Backbone.davSync,
+
+ /**
+ * Object type
+ *
+ * @type string
+ */
+ _objectType: 'files',
+
+ /**
+ * Object id
+ *
+ * @type string
+ */
+ _objectId: null,
+
+ davProperties: {
+ 'readMarker': OC.Files.Client.PROPERTY_READMARKER
+ },
+
+ /**
+ * Initializes the summary model
+ *
+ * @param {string} [options.objectType] object type
+ * @param {string} [options.objectId] object id
+ */
+ initialize: function(attrs, options) {
+ options = options || {};
+ if (options.objectType) {
+ this._objectType = options.objectType;
+ }
+ },
+
+ url: function() {
+ return OC.linkToRemote('dav') + '/comments/' +
+ encodeURIComponent(this._objectType) + '/' +
+ encodeURIComponent(this.id) + '/';
+ }
+ });
+
+ OCA.Comments.CommentSummaryModel = CommentSummaryModel;
+})(OC, OCA);