Restrict saatavuus API to return only true/false
Requires exact match of osoite + postinumero + kaupunki. No longer exposes addresses, speeds, or any customer data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
15
script.js
15
script.js
@@ -928,7 +928,7 @@ async function loadSettings() {
|
||||
document.getElementById('settings-api-key').value = config.api_key || '';
|
||||
document.getElementById('settings-cors').value = (config.cors_origins || ['https://cuitunet.fi', 'https://www.cuitunet.fi']).join('\n');
|
||||
const key = config.api_key || 'AVAIN';
|
||||
document.getElementById('api-example-url').textContent = `api.php?action=saatavuus&key=${key}&osoite=Kauppakatu+5`;
|
||||
document.getElementById('api-example-url').textContent = `api.php?action=saatavuus&key=${key}&osoite=Kauppakatu+5&postinumero=20100&kaupunki=Turku`;
|
||||
} catch (e) { console.error(e); }
|
||||
}
|
||||
|
||||
@@ -936,7 +936,7 @@ document.getElementById('btn-generate-key').addEventListener('click', async () =
|
||||
try {
|
||||
const config = await apiCall('generate_api_key', 'POST');
|
||||
document.getElementById('settings-api-key').value = config.api_key || '';
|
||||
document.getElementById('api-example-url').textContent = `api.php?action=saatavuus&key=${config.api_key}&osoite=Kauppakatu+5`;
|
||||
document.getElementById('api-example-url').textContent = `api.php?action=saatavuus&key=${config.api_key}&osoite=Kauppakatu+5&postinumero=20100&kaupunki=Turku`;
|
||||
} catch (e) { alert(e.message); }
|
||||
});
|
||||
|
||||
@@ -951,16 +951,17 @@ document.getElementById('btn-save-settings').addEventListener('click', async ()
|
||||
});
|
||||
|
||||
document.getElementById('btn-test-api').addEventListener('click', async () => {
|
||||
const address = document.getElementById('test-api-address').value.trim();
|
||||
const osoite = document.getElementById('test-api-address').value.trim();
|
||||
const postinumero = document.getElementById('test-api-zip').value.trim();
|
||||
const kaupunki = document.getElementById('test-api-city').value.trim();
|
||||
const apiKey = document.getElementById('settings-api-key').value;
|
||||
if (!address) { alert('Anna osoite tai postinumero'); return; }
|
||||
if (!osoite || !postinumero || !kaupunki) { alert('Täytä osoite, postinumero ja kaupunki'); return; }
|
||||
const result = document.getElementById('test-api-result');
|
||||
result.style.display = 'block';
|
||||
result.textContent = 'Haetaan...';
|
||||
try {
|
||||
const isZip = /^\d{5}$/.test(address);
|
||||
const param = isZip ? `postinumero=${encodeURIComponent(address)}` : `osoite=${encodeURIComponent(address)}`;
|
||||
const res = await fetch(`${API}?action=saatavuus&key=${encodeURIComponent(apiKey)}&${param}`);
|
||||
const params = `osoite=${encodeURIComponent(osoite)}&postinumero=${encodeURIComponent(postinumero)}&kaupunki=${encodeURIComponent(kaupunki)}`;
|
||||
const res = await fetch(`${API}?action=saatavuus&key=${encodeURIComponent(apiKey)}&${params}`);
|
||||
const data = await res.json();
|
||||
result.textContent = JSON.stringify(data, null, 2);
|
||||
} catch (e) { result.textContent = 'Virhe: ' + e.message; }
|
||||
|
||||
Reference in New Issue
Block a user