({ value: conn.conid, label: conn.label }))}
/>
{/if}
{#if selectedConnection}
{#if selectedConnection.passwordMode == 'askUser'}
{/if}
{#if selectedConnection.passwordMode == 'askUser' || selectedConnection.passwordMode == 'askPassword'}
{/if}
{:else}
{#if !isAdminPage}
{/if}
{/if}
{#if isAdminPage && $config && !$config.isAdminLoginForm}
{/if}
{#if isTesting}
Testing connection
{/if}
{#if !isTesting && sqlConnectResult && sqlConnectResult.msgtype == 'error'}
Connect failed:
{sqlConnectResult.error}
{/if}
{#if selectedConnection?.useRedirectDbLogin}
{
const state = `dbg-dblogin:${strmid}:${selectedConnection?.conid}`;
sessionStorage.setItem('dbloginAuthState', state);
// openWebLink(
// `connections/dblogin?conid=${selectedConnection?.conid}&state=${encodeURIComponent(state)}&redirectUri=${
// location.origin + location.pathname
// }`
// );
internalRedirectTo(
`/connections/dblogin?conid=${selectedConnection?.conid}&state=${encodeURIComponent(state)}&redirectUri=${
location.origin + location.pathname
}`
);
}}
/>
{:else if selectedConnection}
{
if (selectedConnection.passwordMode == 'askUser' || selectedConnection.passwordMode == 'askPassword') {
enableApi();
isTesting = true;
testIdRef.update(x => x + 1);
const testid = testIdRef.get();
const resp = await apiCall('connections/dblogin-auth', {
conid: selectedConnection.conid,
user: $values['login'],
password: $values['password'],
});
if (testIdRef.get() != testid) return;
isTesting = false;
if (resp.accessToken) {
localStorage.setItem('accessToken', resp.accessToken);
internalRedirectTo('/');
} else {
sqlConnectResult = resp;
}
} else {
enableApi();
const resp = await apiCall('connections/dblogin-auth', {
conid: selectedConnection.conid,
});
localStorage.setItem('accessToken', resp.accessToken);
internalRedirectTo('/');
}
}}
/>
{:else}
{
enableApi();
const resp = await apiCall('auth/login', {
isAdminPage,
...e.detail,
});
if (resp.error) {
internalRedirectTo(
`/?page=not-logged&error=${encodeURIComponent(resp.error)}&is-admin=${isAdminPage ? 'true' : ''}`
);
return;
}
const { accessToken } = resp;
if (accessToken) {
localStorage.setItem(isAdminPage ? 'adminAccessToken' : 'accessToken', accessToken);
if (isAdminPage) {
internalRedirectTo('/?page=admin');
} else {
internalRedirectTo('/');
}
return;
}
internalRedirectTo(`/?page=not-logged`);
}}
/>
{/if}