aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/zulip/index.js
blob: 199d0f4864aac7359d20dc3a0d00f4d6ee8f9f25 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module.exports = Franz => class Zulip extends Franz {
  async validateUrl(url) {
    const baseUrl = new window.URL(url);
    const apiVersion = 'api/v1'
    try {
      const resp = await window.fetch(`${baseUrl.origin}/${apiVersion}/server_settings`, {
          method: 'GET',
          headers: {
              'Content-Type': 'application/json',
          },
      });
      const data = await resp.json();

      return Object.hasOwnProperty.call(data, 'realm_uri');
    } catch (err) {
      console.error(err);
    }

    return false;
  }
};