]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/tools/tools/dmarc_reports/app.js
Squash changes containing private information
[perso/Immae/Config/Nix.git] / modules / private / websites / tools / tools / dmarc_reports / app.js
diff --git a/modules/private/websites/tools/tools/dmarc_reports/app.js b/modules/private/websites/tools/tools/dmarc_reports/app.js
deleted file mode 100644 (file)
index 8e8a6c4..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-const app = new Vue({
-  el: '#app',
-  data: {
-    info: null,
-    summaries: null,
-    selectedSummary: null,
-    filterGreen: true,
-    filterDomain: null,
-    filterOrg: null,
-    //filterDate: (new Date()).toISOString().substring(0, 7),
-    filterDate: null,
-    reverse: true,
-    anonymous: true,
-  },
-  created: async function () {
-    let that = this;
-
-    if ('anonymous' in localStorage) {
-      this.anonymous = JSON.parse(localStorage.anonymous);
-    }
-    this.fetchAll();
-  },
-  methods: {
-    fetchAll: async function() {
-      try {
-        this.info = await this.getInfo();
-        this.summaries = this.info.summaries;
-      } catch (error) {
-        this.info = null;
-        this.summaries = null;
-      }
-    },
-    toggleAnonymous: function() {
-      this.anonymous = !this.anonymous;
-      localStorage.anonymous = this.anonymous;
-      this.fetchAll();
-    },
-    filtered: function () {
-      let that = this;
-      let filtered = this.summaries.filter(function (summary) {
-        return (!that.filterGreen || that.getColor(summary) !== "lime")
-          && (!that.filterDomain || summary.domain === that.filterDomain)
-          && (!that.filterOrg || summary.org === that.filterOrg)
-          && (!that.filterDate || that.inDates(summary));
-      });
-      if (this.reverse) {
-        return filtered.reverse();
-      } else {
-        return filtered;
-      }
-    },
-    toggle: async function(summary) {
-      if (this.selectedSummary && this.selectedSummary.serial === summary.serial) {
-        this.selectedSummary = null;
-      } else {
-        if (!summary.details) {
-          summary.details = await this.getDetails(summary.serial);
-        }
-        this.selectedSummary = summary;
-      }
-    },
-    inDates: function(summary) {
-      if (!this.filterDate) { return true; }
-
-      let mindate = (new Date(summary.mindate)).toISOString().substring(0, 7);
-      let maxdate = (new Date(summary.maxdate)).toISOString().substring(0, 7);
-
-      return mindate === this.filterDate || maxdate === this.filterDate;
-    },
-    printDate: function (date) {
-      return (new Date(date)).toISOString().replace("T", " ").replace(/\..*Z$/, " UTC");
-    },
-    getColor: function (element) {
-      if (element.dkimresult === "fail" && element.spfresult === "fail") {
-        return "red";
-      } else if (element.dkimresult === "fail" || element.spfresult === "fail") {
-        return "orange";
-      } else if (element.dkimresult === "pass" && element.spfresult === "pass") {
-        return "lime";
-      } else {
-        return "yellow";
-      }
-    },
-    getInfo: function (event) {
-      let anonymous = this.anonymous ? "anonymous=1" : "";
-      return fetch(`api.php?${anonymous}`).then(function (response) {
-        if (response.status != 200) { return; }
-        return response.text().then(function (body) {
-          return JSON.parse(body);
-        });
-      });
-    },
-    getDetails: function (serial) {
-      let anonymous = this.anonymous ? "&anonymous=1" : "";
-      return fetch(`api.php?serial=${serial}${anonymous}`).then(function (response) {
-        if (response.status != 200) { return; }
-        return response.text().then(function (body) {
-          return JSON.parse(body);
-        });
-      });
-    }
-  }
-});