src/helpers/AnalyticsMetric.js
import AnalyticsMetricModel from '../models/AnalyticsMetric';
import Helper from './Helper';
import { aggregate } from '../utilities/ClassUtility';
/**
* Helper class representing a user AnalyticsMetric.
*
* @extends {AnalyticsMetricModel}
* @extends {Helper}
*
* // Typically use analyticsMetricService.get()
* analyticsMetricService.get().then(analyticsMetrics => console.log(analyticsMetrics));
*
* const analyticsMetric = new AnalyticsMetric({
* "id": "c943d907-d54f-4eda-9d11-2d98d7e761a8",
"type": "analytics__metrics",
"attributes": {
"value": 0,
"unit": "Users",
"name": "AcceptedUsers"
* });
*/
class AnalyticsMetric extends aggregate(AnalyticsMetricModel, Helper) {
/**
* Constructor for helper class representing a AnalyticsMetric
*
* @param {Object} json - json api response from server
*/
constructor(json = {}) {
super(json);
this.deserializeRelationshipStubs(json);
this.syncRelationships(json);
}
/** @type {String} - The type */
static get type() {
return 'analytics__metrics';
}
// /**
// * Deletes a analyticsMetric
// * @return {Promise} - Returns a promise via ajax call.
// *
// * @example
// * import { AnalyticsMetric } from 'clinical6';
// *
// * // Removes analyticsMetric from server
// * const analyticsMetric = new AnalyticsMetric({...});
// * analyticsMetric.delete();
// */
// delete() {
// const service = serviceFactory.get(this.type);
// return service.delete(this);
// }
// /**
// * Saves a analyticsMetric (insert if id doesn't exist, update if it does)
// * @return {Promise<Site>} - Returns a promise via ajax call.
// *
// * @example
// * import { AnalyticsMetric } from 'clinical6';
// *
// * const analyticsMetric = new AnalyticsMetric({...});
// * analyticsMetric.save();
// *
// * // Updates existing analyticsMetric (has existing id)
// * analyticsMetric.get().then(analyticsMetrics => analyticsMetric[0].save());
// */
// save() {
// const service = serviceFactory.get(this.type);
// return (this.id) ? service.update(this) : service.insert(this);
// }
}
export default AnalyticsMetric;