-
Notifications
You must be signed in to change notification settings - Fork 149
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #540 from SlashNephy/feat/append-version-string
バージョン情報を WUI 上に表示するように
- Loading branch information
Showing
8 changed files
with
130 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
import * as apid from '../../../../../api'; | ||
|
||
export default interface IStorageApiModel { | ||
getInfo(): Promise<apid.VersionInfo>; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
import { inject, injectable } from 'inversify'; | ||
import * as apid from '../../../../../api'; | ||
import IRepositoryModel from '../IRepositoryModel'; | ||
import IVersionApiModel from './IVersionApiModel'; | ||
|
||
@injectable() | ||
export default class VersionApiModel implements IVersionApiModel { | ||
private repository: IRepositoryModel; | ||
|
||
constructor(@inject('IRepositoryModel') repository: IRepositoryModel) { | ||
this.repository = repository; | ||
} | ||
|
||
/** | ||
* バージョン情報の取得 | ||
* @return Promise<apid.VersionInfo> | ||
*/ | ||
public async getInfo(): Promise<apid.VersionInfo> { | ||
const result = await this.repository.get('/version'); | ||
|
||
return result.data; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
export interface VersionInfo { | ||
version: string; | ||
} | ||
|
||
export default interface IStorageState { | ||
clearData(): void; | ||
fetchData(): Promise<void>; | ||
getInfo(): VersionInfo | null; | ||
getVersionString(): string; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
import { inject, injectable } from 'inversify'; | ||
import IVersionApiModel from '../../api/version/IVersionApiModel'; | ||
import IVersionState, { VersionInfo } from './IVersionState'; | ||
|
||
@injectable() | ||
export default class VersionState implements IVersionState { | ||
private versionApiModel: IVersionApiModel; | ||
|
||
private info: VersionInfo | null = null; | ||
|
||
constructor(@inject('IVersionApiModel') versionApiModel: IVersionApiModel) { | ||
this.versionApiModel = versionApiModel; | ||
} | ||
|
||
/** | ||
* 取得したバージョン情報をクリア | ||
*/ | ||
public clearData(): void { | ||
this.info = null; | ||
} | ||
|
||
/** | ||
* バージョン情報の取得 | ||
*/ | ||
public async fetchData(): Promise<void> { | ||
const version = await this.versionApiModel.getInfo(); | ||
|
||
this.info = version; | ||
} | ||
|
||
/** | ||
* 取得したバージョン情報を返す | ||
* @return VersionInfo | ||
*/ | ||
public getInfo(): VersionInfo | null { | ||
return this.info; | ||
} | ||
|
||
/** | ||
* バージョン文字列を返す | ||
* @return string | ||
*/ | ||
public getVersionString(): string { | ||
return this.info == null ? 'EPGStation' : `EPGStation v${this.info.version}`; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters