Skip to content

Commit

Permalink
refactor: uncertified store (#1096)
Browse files Browse the repository at this point in the history
Signed-off-by: David Dal Busco <[email protected]>
  • Loading branch information
peterpeterparker authored Jan 16, 2025
1 parent 07f870c commit 0131b71
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 8 deletions.
21 changes: 21 additions & 0 deletions src/frontend/src/lib/stores/_uncertified.store.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { type CertifiedStore, initCertifiedStore } from '$lib/stores/_certified.store';

export interface UncertifiedStore<T> extends Omit<CertifiedStore<T>, '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 = <T>(): UncertifiedStore<T> => {
const { set, ...rest } = initCertifiedStore<T>();

return {
...rest,

set(data) {
set({
data,
certified: false
});
}
};
};
10 changes: 6 additions & 4 deletions src/frontend/src/lib/stores/mission-control.store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<Principal>();
export const missionControlIdDataStore = initUncertifiedStore<Principal>();

export const missionControlUserDataStore = initDataStore<User>();
export const missionControlUserDataStore = initUncertifiedStore<User>();

export const missionControlSettingsDataStore = initDataStore<MissionControlSettings | undefined>();
export const missionControlSettingsDataStore = initUncertifiedStore<
MissionControlSettings | undefined
>();
4 changes: 2 additions & 2 deletions src/frontend/src/lib/stores/orbiter.store.ts
Original file line number Diff line number Diff line change
@@ -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<Orbiter[]>();
export const orbitersDataStore = initUncertifiedStore<Orbiter[]>();
4 changes: 2 additions & 2 deletions src/frontend/src/lib/stores/satellite.store.ts
Original file line number Diff line number Diff line change
@@ -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<Satellite[]>();
export const satellitesDataStore = initUncertifiedStore<Satellite[]>();

0 comments on commit 0131b71

Please sign in to comment.