mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 12:11:56 +00:00
* wip * restructure backend for new ui structure * new patchdb bootstrap, single websocket api, local storage migration, more * update db websocket * init apis * update patch-db * setup progress * feat: implement state service, alert and routing Signed-off-by: waterplea <alexander@inkin.ru> * update setup wizard for new types * feat: add init page Signed-off-by: waterplea <alexander@inkin.ru> * chore: refactor message, patch-db source stream and connection service Signed-off-by: waterplea <alexander@inkin.ru> * fix method not found on state * fix backend bugs * fix compat assets * address comments * remove unneeded styling * cleaner progress * bugfixes * fix init logs * fix progress reporting * fix navigation by getting state after init * remove patch dependency from live api * fix caching * re-add patchDB to live api * fix metrics values * send close frame * add bootId and fix polling --------- Signed-off-by: waterplea <alexander@inkin.ru> Co-authored-by: Aiden McClelland <me@drbonez.dev> Co-authored-by: waterplea <alexander@inkin.ru>
24 lines
668 B
TypeScript
24 lines
668 B
TypeScript
import { Dump } from 'patch-db-client'
|
|
import { DataModel } from 'src/app/services/patch-db/data-model'
|
|
import { Injectable } from '@angular/core'
|
|
import { StorageService } from '../storage.service'
|
|
|
|
@Injectable({
|
|
providedIn: 'root',
|
|
})
|
|
export class LocalStorageBootstrap {
|
|
static CONTENT_KEY = 'patchDB'
|
|
|
|
constructor(private readonly storage: StorageService) {}
|
|
|
|
init(): Dump<DataModel> {
|
|
const cache = this.storage.get<DataModel>(LocalStorageBootstrap.CONTENT_KEY)
|
|
|
|
return cache ? { id: 1, value: cache } : { id: 0, value: {} as DataModel }
|
|
}
|
|
|
|
update(cache: DataModel): void {
|
|
this.storage.set(LocalStorageBootstrap.CONTENT_KEY, cache)
|
|
}
|
|
}
|