async function getAliasesFromServer()

in src/js/background/background.js [40:72]


async function getAliasesFromServer(method = "GET", opts=null) {
  const { relayApiSource } = await browser.storage.local.get("relayApiSource");  
  const relayApiUrlRelayAddresses = `${relayApiSource}/relayaddresses/`;
  const relayApiUrlDomainAddresses = `${relayApiSource}/domainaddresses/`;

  const headers = await createNewHeadersObject({auth: true});

  const response = await fetch(relayApiUrlRelayAddresses, {
    mode: "same-origin",
    method,
    headers: headers,
  });

  const answer = await response.json();
  const masks = new Array();
  masks.push(...answer);

  // If the user has domain (custom) masks set, also grab them before sorting
  if (opts.fetchCustomMasks) {
    const domainResponse = await fetch(relayApiUrlDomainAddresses, {
      mode: "same-origin",
      method,
      headers: headers,
    });

    const domainMasks = await domainResponse.json();
    masks.push(...domainMasks);
  }
  
  masks.sort((a, b) => (a.created_at < b.created_at ? 1 : -1));
  browser.storage.local.set({ relayAddresses: masks });  
  return masks;
}