Browse Source

refactor(docker): rename repoState `updated` to `version`

master
jamaljsr 5 years ago
parent
commit
0850c20a69
  1. 2
      docker/nodes.json
  2. 6
      src/lib/docker/repoService.ts
  3. 10
      src/store/models/app.ts
  4. 4
      src/types/index.ts
  5. 2
      src/utils/constants.ts

2
docker/nodes.json

@ -1,5 +1,5 @@
{
"updated": 1577595217963,
"version": 2.0,
"images": {
"LND": {
"latest": "0.8.2-beta",

6
src/lib/docker/repoService.ts

@ -46,10 +46,10 @@ class RepoService implements RepoServiceInjection {
debug('Checking for new versions of docker images');
debug(` - local state: \n${JSON.stringify(localState)}`);
const remoteState = await this.fetchRemote();
debug(` - local date: ${new Date(localState.updated)}`);
debug(` - remote date: ${new Date(remoteState.updated)}`);
debug(` - local version: ${localState.version}`);
debug(` - remote version: ${remoteState.version}`);
// don't return any updates if the remote state is older
if (remoteState.updated <= localState.updated) {
if (remoteState.version <= localState.version) {
debug('No image updates found');
return { state: localState };
}

10
src/store/models/app.ts

@ -113,10 +113,12 @@ const appModel: AppModel = {
setRepoState: action((state, repoState) => {
state.dockerRepoState = repoState;
}),
loadRepoState: thunk(async (actions, _, { injections }) => {
const repoState = await injections.repoService.load();
if (repoState) {
actions.setRepoState(repoState);
loadRepoState: thunk(async (actions, _, { injections, getState }) => {
const defaultState = getState().dockerRepoState;
const fileState = await injections.repoService.load();
// only use the file version if it is greater than the default hard-coded version
if (fileState && fileState.version > defaultState.version) {
actions.setRepoState(fileState);
}
}),
saveRepoState: thunk(async (actions, repoState, { injections }) => {

4
src/types/index.ts

@ -57,9 +57,9 @@ export interface DockerRepoImage {
export interface DockerRepoState {
/**
* the last time the docker images were updated using `new Date().getTime()`
* the version of the repo state file. Used to quickly identify updates
*/
updated: number;
version: number;
images: Record<NodeImplementation, DockerRepoImage>;
}

2
src/utils/constants.ts

@ -105,7 +105,7 @@ export const REPO_STATE_URL =
* this defines the default list of docker images available on Docker Hub.
*/
export const defaultRepoState: DockerRepoState = {
updated: new Date(2019, 12, 31, 0, 0, 0, 0).getTime(),
version: 2.0,
images: {
LND: {
latest: '0.8.2-beta',

Loading…
Cancel
Save