diff --git a/src/frontend/src/lib/stores/_uncertified.store.ts b/src/frontend/src/lib/stores/_uncertified.store.ts new file mode 100644 index 000000000..a72309c1a --- /dev/null +++ b/src/frontend/src/lib/stores/_uncertified.store.ts @@ -0,0 +1,21 @@ +import { type CertifiedStore, initCertifiedStore } from '$lib/stores/_certified.store'; + +export interface UncertifiedStore extends Omit, 'set'> { + set: (data: T) => void; +} + +// Just a shorthand. That way we can find easily which store uses the pattern but, not yet query+update. +export const initUncertifiedStore = (): UncertifiedStore => { + const { set, ...rest } = initCertifiedStore(); + + return { + ...rest, + + set(data) { + set({ + data, + certified: false + }); + } + }; +}; diff --git a/src/frontend/src/lib/stores/mission-control.store.ts b/src/frontend/src/lib/stores/mission-control.store.ts index 40ba7e0df..ddbcfc78f 100644 --- a/src/frontend/src/lib/stores/mission-control.store.ts +++ b/src/frontend/src/lib/stores/mission-control.store.ts @@ -2,11 +2,13 @@ import type { MissionControlSettings, User } from '$declarations/mission_control/mission_control.did'; -import { initDataStore } from '$lib/stores/_data.store'; +import { initUncertifiedStore } from '$lib/stores/_uncertified.store'; import type { Principal } from '@dfinity/principal'; -export const missionControlIdDataStore = initDataStore(); +export const missionControlIdDataStore = initUncertifiedStore(); -export const missionControlUserDataStore = initDataStore(); +export const missionControlUserDataStore = initUncertifiedStore(); -export const missionControlSettingsDataStore = initDataStore(); +export const missionControlSettingsDataStore = initUncertifiedStore< + MissionControlSettings | undefined +>(); diff --git a/src/frontend/src/lib/stores/orbiter.store.ts b/src/frontend/src/lib/stores/orbiter.store.ts index 5cc057fde..5e86e530b 100644 --- a/src/frontend/src/lib/stores/orbiter.store.ts +++ b/src/frontend/src/lib/stores/orbiter.store.ts @@ -1,4 +1,4 @@ import type { Orbiter } from '$declarations/mission_control/mission_control.did'; -import { initDataStore } from '$lib/stores/_data.store'; +import { initUncertifiedStore } from '$lib/stores/_uncertified.store'; -export const orbitersDataStore = initDataStore(); +export const orbitersDataStore = initUncertifiedStore(); diff --git a/src/frontend/src/lib/stores/satellite.store.ts b/src/frontend/src/lib/stores/satellite.store.ts index aa97603f8..845829d17 100644 --- a/src/frontend/src/lib/stores/satellite.store.ts +++ b/src/frontend/src/lib/stores/satellite.store.ts @@ -1,4 +1,4 @@ import type { Satellite } from '$declarations/mission_control/mission_control.did'; -import { initDataStore } from '$lib/stores/_data.store'; +import { initUncertifiedStore } from '$lib/stores/_uncertified.store'; -export const satellitesDataStore = initDataStore(); +export const satellitesDataStore = initUncertifiedStore();