<commit_before>/* global Backbone, OC, OCA */

/**
 *
 * @copyright Copyright (c) 2017, <NAME> (<EMAIL>)
 *
 * @license GNU AGPL version 3 or any later version
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

(function(OCA, OC, Backbone) {
	'use strict';

	OCA.SpreedMe = OCA.SpreedMe || {};
	OCA.SpreedMe.Models = OCA.SpreedMe.Models || {};

	/**
	 * Model for chat messages.
	 *
	 * ChatMessage can be used as the model of a ChatMessageCollection or as a
	 * standalone model. When used as a standalone model the room token must be
	 * provided in the constructor options (as "token").
	 *
	 * In any case, "create" is the only synchronization method allowed; chat
	 * messages can not be edited nor deleted, and they can not be got
	 * individually either, but as a list through ChatMessageCollection.
	 *
	 * To send a new message create a standalone ChatMessage object and call
	 * "save".
	 */
	var ChatMessage = Backbone.Model.extend({

		defaults: {
			actorType: '',
			actorId: '',
			actorDisplayName: '',
			timestamp: 0,
			message: '',
			messageParameters: []
		},

		url: function() {
			if (this.token === undefined) {
				throw 'Missing parameter token';
			}

			return OC.linkToOCS('apps/spreed/api/v1/chat', 2) + this.token;
		},

		initialize: function(options) {
			// Only needed in standalone mode; when used as the model of a
			// ChatMessageCollection the synchronization is performed by the
			// collection instead.
			this.token = options.token;
		},

		sync: function(method, model, options) {<commit_msg>Add a little hack for replying<commit_after>/* global Backbone, OC, OCA */

/**
 *
 * @copyright Copyright (c) 2017, <NAME> (<EMAIL>)
 *
 * @license GNU AGPL version 3 or any later version
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

(function(OCA, OC, Backbone) {
	'use strict';

	OCA.SpreedMe = OCA.SpreedMe || {};
	OCA.SpreedMe.Models = OCA.SpreedMe.Models || {};

	/**
	 * Model for chat messages.
	 *
	 * ChatMessage can be used as the model of a ChatMessageCollection or as a
	 * standalone model. When used as a standalone model the room token must be
	 * provided in the constructor options (as "token").
	 *
	 * In any case, "create" is the only synchronization method allowed; chat
	 * messages can not be edited nor deleted, and they can not be got
	 * individually either, but as a list through ChatMessageCollection.
	 *
	 * To send a new message create a standalone ChatMessage object and call
	 * "save".
	 */
	var ChatMessage = Backbone.Model.extend({

		defaults: {
			actorType: '',
			actorId: '',
			actorDisplayName: '',
			timestamp: 0,
			message: '',
			messageParameters: [],
			replyTo: 0
		},

		url: function() {
			if (this.token === undefined) {
				throw 'Missing parameter token';
			}

			return OC.linkToOCS('apps/spreed/api/v1/chat', 2) + this.token;
		},

		initialize: function(options) {
			// Only needed in standalone mode; when used as the model of a
			// ChatMessageCollection the synchronization is performed by the
			// collection instead.
			this.token = options.token;
		},

		sync: function(method, model, options) {
{'fraction_non_alphanumeric': 0.09715857011915674, 'fraction_numerical': 0.004353803849679193, 'mean_word_length': 3.378134403209629, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '628324', 'n_tokens_mistral': 1358, 'n_tokens_neox': 1204, 'n_words': 539}