mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-04-01 21:13:09 +00:00
refactor: isolate network toast and login redirect to separate services (#1412)
* refactor: isolate network toast and login redirect to separate services * chore: remove accidentally committed sketch of a service * chore: tidying things up * feat: add `GlobalModule` encapsulating all global subscription services * remove angular build cache when building deps * chore: fix more issues found while testing * chore: fix issues reported by testing * chore: fix template error * chore: fix server-info * chore: fix server-info * fix: switch to Observable to fix race conditions * fix embassy name display on load * update patchdb * clean up patch data watch Co-authored-by: Lucy Cifferello <12953208+elvece@users.noreply.github.com>
This commit is contained in:
10
frontend/projects/shared/src/classes/http-error.ts
Normal file
10
frontend/projects/shared/src/classes/http-error.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { HttpErrorResponse } from '@angular/common/http'
|
||||
|
||||
export class HttpError {
|
||||
readonly code = this.error.status
|
||||
readonly message = this.error.statusText
|
||||
readonly details = null
|
||||
readonly revision = null
|
||||
|
||||
constructor(private readonly error: HttpErrorResponse) {}
|
||||
}
|
||||
25
frontend/projects/shared/src/classes/rpc-error.ts
Normal file
25
frontend/projects/shared/src/classes/rpc-error.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { RpcErrorDetails } from '../types/rpc-error-details'
|
||||
|
||||
export class RpcError<T> {
|
||||
readonly code = this.error.code
|
||||
readonly message = this.getMessage()
|
||||
readonly revision = this.getRevision()
|
||||
|
||||
constructor(private readonly error: RpcErrorDetails<T>) {}
|
||||
|
||||
private getMessage(): string {
|
||||
if (typeof this.error.data === 'string') {
|
||||
return `${this.error.message}\n\n${this.error.data}`
|
||||
}
|
||||
|
||||
return this.error.data.details
|
||||
? `${this.error.message}\n\n${this.error.data.details}`
|
||||
: this.error.message
|
||||
}
|
||||
|
||||
private getRevision(): T | null {
|
||||
return typeof this.error.data === 'string'
|
||||
? null
|
||||
: this.error.data.revision || null
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user