summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/gpg_badges.js
blob: b33165f9402d0e0479cdd7f95f4deade7f515bef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { parseQueryStringIntoObject } from '~/lib/utils/common_utils';
import axios from '~/lib/utils/axios_utils';
import flash from '~/flash';
import { __ } from '~/locale';

export default class GpgBadges {
  static fetch() {
    const badges = $('.js-loading-gpg-badge');
    const form = $('.commits-search-form');

    badges.html('<i class="fa fa-spinner fa-spin"></i>');

    const params = parseQueryStringIntoObject(form.serialize());
    return axios.get(form.data('signatures-path'), { params })
    .then(({ data }) => {
      data.signatures.forEach((signature) => {
        badges.filter(`[data-commit-sha="${signature.commit_sha}"]`).replaceWith(signature.html);
      });
    })
    .catch(() => flash(__('An error occurred while loading commits')));
  }
}