revised init db pw to pin, and check name routine

This commit is contained in:
2025-07-28 11:39:33 +02:00
parent 4406a86f44
commit dfa5c9ade1
8 changed files with 55 additions and 49 deletions

View File

@@ -19,13 +19,13 @@
function generatePIN() {
return Math.random()
.toString(36)
.slice(2, 2 + PINLength);
.toString(36)
.slice(2, 2 + PINLength);
}
let vorgangPIN = ''
let vorgangPINOld = ''
let vorgangPIN = '';
let vorgangPINOld = '';
$: vorgangPINOld = generatePIN();
$: vorgangPIN = vorgangPINOld
$: vorgangPIN = vorgangPINOld;
let vorgangExists = undefined;
$: vorgangExists = false;
@@ -36,7 +36,7 @@
$: inProgress = form === null;
let formErrors: Record<string,any> | null;
let formErrors: Record<string, any> | null;
async function validateForm() {
let data = new FormData();
@@ -139,6 +139,7 @@
// big endian!
let file = files[0];
let file_header = file.slice(0, 4);
console.log(file_header);
let header_bytes = await file_header.bytes();
let file_header_hex = '0x' + header_bytes.toHex().toString();
@@ -152,33 +153,36 @@
// `/(angemeldet)/view` return true or false
async function checkVorgangExists(vorgangName: string) {
if (vorgangName == '') {
vorgangPIN = vorgangPINOld;
return;
}
let url = `/api/list/${vorgangName}`
try {
const url = `/api/list/${vorgangName}`;
const response = await fetch(url, { method: 'HEAD' });
const response = await fetch(url, { method: 'HEAD'});
const status = response.status;
if (status == 200) {
vorgangExists = true;
const token = await getVorgangPIN(vorgangName);
vorgangPIN = token;
return true
} else {
if (response.status === 200) {
console.log('Vorgang existiert:', vorgangName);
vorgangExists = true;
const token = await getVorgangPIN(vorgangName);
vorgangPIN = token;
return true;
} else {
console.log('Vorgang existiert nicht!');
vorgangExists = false;
vorgangPIN = vorgangPINOld;
return false;
}
} catch (err) {
console.error('Fehler bei checkVorgangExists:', err);
vorgangExists = false;
vorgangPIN = vorgangPINOld;
return false
return false;
}
}
async function getVorgangPIN(vorgangName: string) {
if (vorgangName == '') return;
let url = `/api/list/${vorgangName}/vorgangPIN`;
@@ -190,7 +194,6 @@
return -1;
}
}
</script>
<div class="mx-auto max-w-2xl">
@@ -211,7 +214,7 @@
><span class="flex"
>{#if formErrors?.vorgang}
<span class="inline-block mr-1"><Exclamation /></span>
{/if} Vorgang</span
{/if} Vorgangsname</span
></label
>
<div class="mt-2">
@@ -241,10 +244,10 @@
<div>
<label for="name" class="block text-sm font-medium leading-6 text-gray-900"
><span class="flex"
>{#if formErrors?.name}
><span class="flex"
>{#if formErrors?.name}
<span class="inline-block mr-1"><Exclamation /></span>
{/if} Name</span
{/if} Modellname</span
></label
>
<div class="mt-2">
@@ -283,16 +286,19 @@
type="text"
name="vorgang-pin"
id="vorgang-pin"
on:input="{ (ev) => { vorgangPINOld = ev.target.value }}"
on:input={(ev) => {
vorgangPINOld = ev.target.value;
}}
class="block flex-1 border-0 bg-transparent py-1.5 pl-1 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm sm:leading-6"
/>
</div>
<button
class="rounded-md bg-blue-500 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
on:click="{() => {
vorgangPIN = vorgangPINOld = generatePIN(); }}"
type="button">
class="rounded-md bg-blue-500 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
on:click={() => {
vorgangPIN = vorgangPINOld = generatePIN();
}}
type="button"
>
Generiere Zugangs-PIN
</button>
</div>