Manual Reference Source Test

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;