audit_srv.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. ///<reference path="../../../headers/common.d.ts" />
  2. import './audit_ctrl';
  3. import _ from 'lodash';
  4. import coreModule from 'app/core/core_module';
  5. import {DashboardModel} from '../model';
  6. import {AuditLogOpts} from './models';
  7. export class AuditSrv {
  8. /** @ngInject */
  9. constructor(private backendSrv, private $q) {}
  10. getAuditLog(dashboard: DashboardModel, options: AuditLogOpts) {
  11. const id = dashboard && dashboard.id ? dashboard.id : void 0;
  12. return id ? this.backendSrv.get(`api/dashboards/db/${id}/versions`, options) : this.$q.when([]);
  13. }
  14. compareVersions(dashboard: DashboardModel, compare: { new: number, original: number }, view = 'html') {
  15. const id = dashboard && dashboard.id ? dashboard.id : void 0;
  16. const url = `api/dashboards/db/${id}/compare/${compare.original}...${compare.new}/${view}`;
  17. return id ? this.backendSrv.get(url) : this.$q.when({});
  18. }
  19. restoreDashboard(dashboard: DashboardModel, version: number) {
  20. const id = dashboard && dashboard.id ? dashboard.id : void 0;
  21. const url = `api/dashboards/db/${id}/restore`;
  22. return id && _.isNumber(version) ? this.backendSrv.post(url, { version }) : this.$q.when({});
  23. }
  24. }
  25. coreModule.service('auditSrv', AuditSrv);