Format docs using linter and prettier.
This commit is contained in:
@@ -289,8 +289,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="204"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:204</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="206"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:206</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -330,8 +330,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="193"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:193</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="196"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:196</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -369,8 +369,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="187"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:187</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="190"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:190</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -488,8 +488,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="99"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:99</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="98"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:98</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -529,8 +529,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="118"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:118</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="116"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:116</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -599,8 +599,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="147"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:147</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="150"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:150</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -638,8 +638,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="181"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:181</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="184"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:184</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -749,8 +749,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="157"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:157</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="156"
|
||||
class="link-to-prism">src/app/_services/auth.service.ts:156</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -957,18 +957,18 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {Injectable} from '@angular/core';
|
||||
import {hobaParseChallengeHeader} from '@src/assets/js/hoba.js';
|
||||
import {signChallenge} from '@src/assets/js/hoba-pgp.js';
|
||||
import {environment} from '@src/environments/environment';
|
||||
import {LoggingService} from '@app/_services/logging.service';
|
||||
import {MutableKeyStore, MutablePgpKeyStore} from '@app/_pgp';
|
||||
import {ErrorDialogService} from '@app/_services/error-dialog.service';
|
||||
import {HttpClient} from '@angular/common/http';
|
||||
import {HttpError} from '@app/_helpers/global-error-handler';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { Injectable } from '@angular/core';
|
||||
import { hobaParseChallengeHeader } from '@src/assets/js/hoba.js';
|
||||
import { signChallenge } from '@src/assets/js/hoba-pgp.js';
|
||||
import { environment } from '@src/environments/environment';
|
||||
import { LoggingService } from '@app/_services/logging.service';
|
||||
import { MutableKeyStore, MutablePgpKeyStore } from '@app/_pgp';
|
||||
import { ErrorDialogService } from '@app/_services/error-dialog.service';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { HttpError } from '@app/_helpers/global-error-handler';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class AuthService {
|
||||
sessionToken: any;
|
||||
@@ -1027,8 +1027,8 @@ export class AuthService {
|
||||
xhr.setRequestHeader('x-cic-automerge', 'none');
|
||||
xhr.addEventListener('load', (e) => {
|
||||
if (xhr.status !== 200) {
|
||||
const error = new HttpError(xhr.statusText, xhr.status);
|
||||
return reject(error);
|
||||
const error = new HttpError(xhr.statusText, xhr.status);
|
||||
return reject(error);
|
||||
}
|
||||
this.sessionToken = xhr.getResponseHeader('Token');
|
||||
sessionStorage.setItem(btoa('CICADA_SESSION_TOKEN'), this.sessionToken);
|
||||
@@ -1054,50 +1054,53 @@ export class AuthService {
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
|
||||
login(): boolean {
|
||||
if (this.sessionToken !== undefined) {
|
||||
try {
|
||||
this.getWithToken();
|
||||
return true;
|
||||
} catch (e) {
|
||||
this.loggingService.sendErrorLevelMessage('Login token failed', this, {error: e});
|
||||
this.loggingService.sendErrorLevelMessage('Login token failed', this, { error: e });
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
this.getChallenge();
|
||||
} catch (e) {
|
||||
this.loggingService.sendErrorLevelMessage('Login challenge failed', this, {error: e});
|
||||
this.loggingService.sendErrorLevelMessage('Login challenge failed', this, { error: e });
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
async loginResponse(o: { challenge: string, realm: any }): Promise<any> {
|
||||
async loginResponse(o: { challenge: string; realm: any }): Promise<any> {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
try {
|
||||
const r = await signChallenge(o.challenge,
|
||||
o.realm,
|
||||
environment.cicMetaUrl,
|
||||
this.mutableKeyStore);
|
||||
const r = await signChallenge(
|
||||
o.challenge,
|
||||
o.realm,
|
||||
environment.cicMetaUrl,
|
||||
this.mutableKeyStore
|
||||
);
|
||||
const sessionTokenResult: boolean = await this.sendResponse(r);
|
||||
} catch (error) {
|
||||
if (error instanceof HttpError) {
|
||||
if (error.status === 403) {
|
||||
this.errorDialogService.openDialog({ message: 'You are not authorized to use this system' });
|
||||
this.errorDialogService.openDialog({
|
||||
message: 'You are not authorized to use this system',
|
||||
});
|
||||
}
|
||||
if (error.status === 401) {
|
||||
this.errorDialogService.openDialog({
|
||||
message: 'Unable to authenticate with the service. ' +
|
||||
message:
|
||||
'Unable to authenticate with the service. ' +
|
||||
'Please speak with the staff at Grassroots ' +
|
||||
'Economics for requesting access ' +
|
||||
'staff@grassrootseconomics.net.'
|
||||
'staff@grassrootseconomics.net.',
|
||||
});
|
||||
}
|
||||
}
|
||||
// TODO define this error
|
||||
this.errorDialogService.openDialog({message: 'Incorrect key passphrase.'});
|
||||
this.errorDialogService.openDialog({ message: 'Incorrect key passphrase.' });
|
||||
resolve(false);
|
||||
}
|
||||
});
|
||||
@@ -1109,10 +1112,6 @@ export class AuthService {
|
||||
this.setState('Click button to log in with PGP key ' + this.mutableKeyStore.getPrivateKeyId());
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws
|
||||
* @param privateKeyArmored
|
||||
*/
|
||||
async setKey(privateKeyArmored): Promise<boolean> {
|
||||
try {
|
||||
const isValidKeyCheck = await this.mutableKeyStore.isValidKey(privateKeyArmored);
|
||||
@@ -1127,7 +1126,11 @@ export class AuthService {
|
||||
const key = await this.mutableKeyStore.importPrivateKey(privateKeyArmored);
|
||||
localStorage.setItem(btoa('CICADA_PRIVATE_KEY'), privateKeyArmored);
|
||||
} catch (err) {
|
||||
this.loggingService.sendErrorLevelMessage(`Failed to set key: ${err.message || err.statusText}`, this, {error: err});
|
||||
this.loggingService.sendErrorLevelMessage(
|
||||
`Failed to set key: ${err.message || err.statusText}`,
|
||||
this,
|
||||
{ error: err }
|
||||
);
|
||||
this.errorDialogService.openDialog({
|
||||
message: `Failed to set key: ${err.message || err.statusText}`,
|
||||
});
|
||||
@@ -1140,28 +1143,27 @@ export class AuthService {
|
||||
logout(): void {
|
||||
sessionStorage.removeItem(btoa('CICADA_SESSION_TOKEN'));
|
||||
this.sessionToken = undefined;
|
||||
window.location.reload(true);
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
getTrustedUsers(): any {
|
||||
const trustedUsers: Array<any> = [];
|
||||
this.mutableKeyStore.getPublicKeys().forEach(key => trustedUsers.push(key.users[0].userId));
|
||||
this.mutableKeyStore.getPublicKeys().forEach((key) => trustedUsers.push(key.users[0].userId));
|
||||
return trustedUsers;
|
||||
}
|
||||
|
||||
async getPublicKeys(): Promise<any> {
|
||||
return await fetch(environment.publicKeysUrl)
|
||||
.then(res => {
|
||||
if (!res.ok) {
|
||||
// TODO does angular recommend an error interface?
|
||||
throw Error(`${res.statusText} - ${res.status}`);
|
||||
}
|
||||
return res.text();
|
||||
});
|
||||
return await fetch(environment.publicKeysUrl).then((res) => {
|
||||
if (!res.ok) {
|
||||
// TODO does angular recommend an error interface?
|
||||
throw Error(`${res.statusText} - ${res.status}`);
|
||||
}
|
||||
return res.text();
|
||||
});
|
||||
}
|
||||
|
||||
getPrivateKey(): any {
|
||||
return this.mutableKeyStore.getPrivateKey();
|
||||
return this.mutableKeyStore.getPrivateKey();
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
Reference in New Issue
Block a user