@@ -62,15 +62,15 @@
-
+
- Last Backup: {{ server['last-backup'] ? (server['last-backup'] |
- date: 'medium') : 'never' }}
+ Last Backup: {{ server.lastBackup ? (server.lastBackup | date:
+ 'medium') : 'never' }}
-
+
diff --git a/web/projects/ui/src/app/pages/server-routes/server-show/server-show.page.ts b/web/projects/ui/src/app/pages/server-routes/server-show/server-show.page.ts
index ff9cfc775..b479f1750 100644
--- a/web/projects/ui/src/app/pages/server-routes/server-show/server-show.page.ts
+++ b/web/projects/ui/src/app/pages/server-routes/server-show/server-show.page.ts
@@ -37,7 +37,7 @@ export class ServerShowPage {
manageClicks = 0
powerClicks = 0
- readonly server$ = this.patch.watch$('server-info')
+ readonly server$ = this.patch.watch$('serverInfo')
readonly showUpdate$ = this.eosService.showUpdate$
readonly showDiskRepair$ = this.ClientStorageService.showDiskRepair$
@@ -141,7 +141,7 @@ export class ServerShowPage {
}
// confirm current password is correct
- const { 'password-hash': passwordHash } = await getServerInfo(this.patch)
+ const { passwordHash } = await getServerInfo(this.patch)
try {
argon2.verify(passwordHash, value.currPass)
} catch (e) {
@@ -160,8 +160,8 @@ export class ServerShowPage {
try {
await this.embassyApi.resetPassword({
- 'old-password': value.currPass,
- 'new-password': value.newPass,
+ oldPassword: value.currPass,
+ newPassword: value.newPass,
})
const toast = await this.toastCtrl.create({
header: 'Password changed!',
@@ -221,7 +221,7 @@ export class ServerShowPage {
try {
await this.embassyApi.resetTor({
- 'wipe-state': wipeState,
+ wipeState: wipeState,
reason: 'User triggered',
})
const toast = await this.toastCtrl.create({
diff --git a/web/projects/ui/src/app/pages/server-routes/server-specs/server-specs.page.html b/web/projects/ui/src/app/pages/server-routes/server-specs/server-specs.page.html
index 87dd8ef24..f9df6eb37 100644
--- a/web/projects/ui/src/app/pages/server-routes/server-specs/server-specs.page.html
+++ b/web/projects/ui/src/app/pages/server-routes/server-specs/server-specs.page.html
@@ -30,17 +30,17 @@
Tor
- {{ server['tor-address'] }}
+ {{ server.torAddress }}
-
+
-
+
LAN
- {{ server['lan-address'] }}
+ {{ server.lanAddress }}
-
+
-
+
{{ iface.key }} (IPv4)
@@ -92,13 +92,9 @@
CA fingerprint
- {{ server['ca-fingerprint'] }}
+ {{ server.caFingerprint }}
-
+
diff --git a/web/projects/ui/src/app/pages/server-routes/server-specs/server-specs.page.ts b/web/projects/ui/src/app/pages/server-routes/server-specs/server-specs.page.ts
index c80003bb1..0055ff6c1 100644
--- a/web/projects/ui/src/app/pages/server-routes/server-specs/server-specs.page.ts
+++ b/web/projects/ui/src/app/pages/server-routes/server-specs/server-specs.page.ts
@@ -13,7 +13,7 @@ import { DataModel } from 'src/app/services/patch-db/data-model'
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class ServerSpecsPage {
- readonly server$ = this.patch.watch$('server-info')
+ readonly server$ = this.patch.watch$('serverInfo')
constructor(
private readonly toastCtrl: ToastController,
diff --git a/web/projects/ui/src/app/pages/server-routes/sessions/sessions.page.html b/web/projects/ui/src/app/pages/server-routes/sessions/sessions.page.html
index 4e291b5fc..3e349b49b 100644
--- a/web/projects/ui/src/app/pages/server-routes/sessions/sessions.page.html
+++ b/web/projects/ui/src/app/pages/server-routes/sessions/sessions.page.html
@@ -52,10 +52,8 @@
>
{{ getPlatformName(currentSession.metadata.platforms) }}
-
- Last Active: {{ currentSession['last-active'] | date : 'medium' }}
-
- {{ currentSession['user-agent'] }}
+ Last Active: {{ currentSession.lastActive| date : 'medium' }}
+ {{ currentSession.userAgent }}
@@ -80,8 +78,8 @@
>
{{ getPlatformName(session.metadata.platforms) }}
- Last Active: {{ session['last-active'] | date : 'medium' }}
- {{ session['user-agent'] }}
+ Last Active: {{ session.lastActive | date : 'medium' }}
+ {{ session.userAgent }}
{
return (
- new Date(b['last-active']).valueOf() -
- new Date(a['last-active']).valueOf()
+ new Date(b.lastActive).valueOf() - new Date(a.lastActive).valueOf()
)
})
} catch (e: any) {
diff --git a/web/projects/ui/src/app/pages/server-routes/ssh-keys/ssh-keys.page.html b/web/projects/ui/src/app/pages/server-routes/ssh-keys/ssh-keys.page.html
index 4ac7d5439..61737639b 100644
--- a/web/projects/ui/src/app/pages/server-routes/ssh-keys/ssh-keys.page.html
+++ b/web/projects/ui/src/app/pages/server-routes/ssh-keys/ssh-keys.page.html
@@ -66,7 +66,7 @@
{{ ssh.hostname }}
- {{ ssh['created-at'] | date: 'medium' }}
+ {{ ssh.createdAt| date: 'medium' }}
{{ ssh.alg }} {{ ssh.fingerprint }}
Available Networks
-
+
{{ pkg.manifest.title }}
- {{ local['state-info'].manifest.version | displayEmver
- }}
+ {{ local.stateInfo.manifest.version | displayEmver }}
@@ -57,8 +56,8 @@
= combineLatest({
hosts: this.marketplaceService.getKnownHosts$(true),
marketplace: this.marketplaceService.getMarketplace$(),
- localPkgs: this.patch.watch$('package-data').pipe(
+ localPkgs: this.patch.watch$('packageData').pipe(
map(pkgs =>
Object.values(pkgs).reduce((acc, curr) => {
if (isInstalled(curr) || isUpdating(curr)) return { ...acc, curr }
@@ -171,7 +171,7 @@ export class FilterUpdatesPipe implements PipeTransform {
localPkg &&
this.emver.compare(
manifest.version,
- localPkg['state-info'].manifest.version,
+ localPkg.stateInfo.manifest.version,
) === 1
)
})
diff --git a/web/projects/ui/src/app/pages/widgets/built-in/health/health.component.ts b/web/projects/ui/src/app/pages/widgets/built-in/health/health.component.ts
index 5a0f74767..bc496b219 100644
--- a/web/projects/ui/src/app/pages/widgets/built-in/health/health.component.ts
+++ b/web/projects/ui/src/app/pages/widgets/built-in/health/health.component.ts
@@ -27,7 +27,7 @@ export class HealthComponent {
] as const
readonly data$ = combineLatest([
- inject(PatchDB).watch$('package-data'),
+ inject(PatchDB).watch$('packageData'),
inject(DepErrorService).depErrors$,
]).pipe(
map(([data, depErrors]) => {
diff --git a/web/projects/ui/src/app/pipes/ui/ui.pipe.ts b/web/projects/ui/src/app/pipes/ui/ui.pipe.ts
index 0c9bab5df..a6bbb52be 100644
--- a/web/projects/ui/src/app/pipes/ui/ui.pipe.ts
+++ b/web/projects/ui/src/app/pipes/ui/ui.pipe.ts
@@ -8,7 +8,7 @@ import { Manifest } from '@start9labs/marketplace'
name: 'hasUi',
})
export class UiPipe implements PipeTransform {
- transform(interfaces: PackageDataEntry['service-interfaces']): boolean {
+ transform(interfaces: PackageDataEntry['serviceInterfaces']): boolean {
return interfaces ? hasUi(interfaces) : false
}
}
diff --git a/web/projects/ui/src/app/pkg-config/config-types.ts b/web/projects/ui/src/app/pkg-config/config-types.ts
index 08f0b9d26..f73dbc0a4 100644
--- a/web/projects/ui/src/app/pkg-config/config-types.ts
+++ b/web/projects/ui/src/app/pkg-config/config-types.ts
@@ -24,8 +24,6 @@ export type ValueSpecOf = T extends 'string'
? ValueSpecList
: T extends 'object'
? ValueSpecObject
- : T extends 'pointer'
- ? ValueSpecPointer
: T extends 'union'
? ValueSpecUnion
: never
@@ -60,16 +58,6 @@ export interface ValueSpecUnion {
default: string
}
-export interface ValueSpecPointer extends WithStandalone {
- type: 'pointer'
- subtype: 'package' | 'system'
- 'package-id': string
- target: 'lan-address' | 'tor-address' | 'config' | 'tor-key'
- interface: string // will only exist if target = tor-key || tor-address || lan-address
- selector?: string // will only exist if target = config
- multi?: boolean // will only exist if target = config
-}
-
export interface ValueSpecObject extends WithStandalone {
type: 'object'
spec: ConfigSpec
diff --git a/web/projects/ui/src/app/services/api/api.fixures.ts b/web/projects/ui/src/app/services/api/api.fixures.ts
index 8f6a907bc..7786e3566 100644
--- a/web/projects/ui/src/app/services/api/api.fixures.ts
+++ b/web/projects/ui/src/app/services/api/api.fixures.ts
@@ -16,16 +16,16 @@ import { Log } from '@start9labs/shared'
export module Mock {
export const ServerUpdated: ServerStatusInfo = {
- 'backup-progress': null,
- 'update-progress': null,
+ backupProgress: null,
+ updateProgress: null,
updated: true,
restarting: false,
- 'shutting-down': false,
+ shuttingDown: false,
}
export const MarketplaceEos: RR.GetMarketplaceEosRes = {
version: '0.3.5.1',
headline: 'Our biggest release ever.',
- 'release-notes': {
+ releaseNotes: {
'0.3.5.1': 'Some **Markdown** release _notes_ for 0.3.5.1',
'0.3.4.4': 'Some **Markdown** release _notes_ for 0.3.4.4',
'0.3.4.3': 'Some **Markdown** release _notes_ for 0.3.4.3',
@@ -51,19 +51,19 @@ export module Mock {
id: 'bitcoind',
title: 'Bitcoin Core',
version: '0.21.0',
- 'git-hash': 'abcdefgh',
+ gitHash: 'abcdefgh',
description: {
short: 'A Bitcoin full node by Bitcoin Core.',
long: 'Bitcoin is a decentralized consensus protocol and settlement network.',
},
replaces: ['banks', 'governments'],
- 'release-notes': 'Taproot, Schnorr, and more.',
+ releaseNotes: 'Taproot, Schnorr, and more.',
license: 'MIT',
- 'wrapper-repo': 'https://github.com/start9labs/bitcoind-wrapper',
- 'upstream-repo': 'https://github.com/bitcoin/bitcoin',
- 'support-site': 'https://bitcoin.org',
- 'marketing-site': 'https://bitcoin.org',
- 'donation-url': 'https://start9.com',
+ wrapperRepo: 'https://github.com/start9labs/bitcoind-wrapper',
+ upstreamRepo: 'https://github.com/bitcoin/bitcoin',
+ supportSite: 'https://bitcoin.org',
+ marketingSite: 'https://bitcoin.org',
+ donationUrl: 'https://start9.com',
alerts: {
install: 'Bitcoin can take over a week to sync.',
uninstall:
@@ -72,9 +72,9 @@ export module Mock {
start: 'Starting Bitcoin is good for your health.',
stop: null,
},
- 'os-version': '0.2.12',
+ osVersion: '0.2.12',
dependencies: {},
- 'has-config': true,
+ hasConfig: true,
}
export const MockManifestLnd: Manifest = {
@@ -85,13 +85,13 @@ export module Mock {
short: 'A bolt spec compliant client.',
long: 'More info about LND. More info about LND. More info about LND.',
},
- 'release-notes': 'Dual funded channels!',
+ releaseNotes: 'Dual funded channels!',
license: 'MIT',
- 'wrapper-repo': 'https://github.com/start9labs/lnd-wrapper',
- 'upstream-repo': 'https://github.com/lightningnetwork/lnd',
- 'support-site': 'https://lightning.engineering/',
- 'marketing-site': 'https://lightning.engineering/',
- 'donation-url': null,
+ wrapperRepo: 'https://github.com/start9labs/lnd-wrapper',
+ upstreamRepo: 'https://github.com/lightningnetwork/lnd',
+ supportSite: 'https://lightning.engineering/',
+ marketingSite: 'https://lightning.engineering/',
+ donationUrl: null,
alerts: {
install: null,
uninstall: null,
@@ -100,7 +100,7 @@ export module Mock {
start: 'Starting LND is good for your health.',
stop: null,
},
- 'os-version': '0.2.12',
+ osVersion: '0.2.12',
dependencies: {
bitcoind: {
description: 'LND needs bitcoin to live.',
@@ -112,25 +112,25 @@ export module Mock {
optional: true,
},
},
- 'has-config': true,
+ hasConfig: true,
}
export const MockManifestBitcoinProxy: Manifest = {
id: 'btc-rpc-proxy',
title: 'Bitcoin Proxy',
version: '0.2.2',
- 'git-hash': 'lmnopqrx',
+ gitHash: 'lmnopqrx',
description: {
short: 'A super charger for your Bitcoin node.',
long: 'More info about Bitcoin Proxy. More info about Bitcoin Proxy. More info about Bitcoin Proxy.',
},
- 'release-notes': 'Even better support for Bitcoin and wallets!',
+ releaseNotes: 'Even better support for Bitcoin and wallets!',
license: 'MIT',
- 'wrapper-repo': 'https://github.com/start9labs/btc-rpc-proxy-wrapper',
- 'upstream-repo': 'https://github.com/Kixunil/btc-rpc-proxy',
- 'support-site': '',
- 'marketing-site': '',
- 'donation-url': 'https://start9.com',
+ wrapperRepo: 'https://github.com/start9labs/btc-rpc-proxy-wrapper',
+ upstreamRepo: 'https://github.com/Kixunil/btc-rpc-proxy',
+ supportSite: '',
+ marketingSite: '',
+ donationUrl: 'https://start9.com',
alerts: {
install: 'Testing install alert',
uninstall: null,
@@ -138,14 +138,14 @@ export module Mock {
start: null,
stop: null,
},
- 'os-version': '0.2.12',
+ osVersion: '0.2.12',
dependencies: {
bitcoind: {
description: 'Bitcoin Proxy requires a Bitcoin node.',
optional: false,
},
},
- 'has-config': false,
+ hasConfig: false,
}
export const BitcoinDep: DependencyMetadata = {
@@ -178,8 +178,8 @@ export module Mock {
},
categories: ['bitcoin', 'cryptocurrency'],
versions: ['0.19.0', '0.20.0', '0.21.0'],
- 'dependency-metadata': {},
- 'published-at': new Date().toISOString(),
+ dependencyMetadata: {},
+ publishedAt: new Date().toISOString(),
},
'0.20.0': {
icon: BTC_ICON,
@@ -191,8 +191,8 @@ export module Mock {
},
categories: ['bitcoin', 'cryptocurrency'],
versions: ['0.19.0', '0.20.0', '0.21.0'],
- 'dependency-metadata': {},
- 'published-at': new Date().toISOString(),
+ dependencyMetadata: {},
+ publishedAt: new Date().toISOString(),
},
'0.21.0': {
icon: BTC_ICON,
@@ -201,13 +201,13 @@ export module Mock {
manifest: {
...Mock.MockManifestBitcoind,
version: '0.21.0',
- 'release-notes':
+ releaseNotes:
'For a complete list of changes, please visit https://bitcoincore.org/en/releases/0.21.0/
- Taproot!
- New RPCs
- Experimental Descriptor Wallets
',
},
categories: ['bitcoin', 'cryptocurrency'],
versions: ['0.19.0', '0.20.0', '0.21.0'],
- 'dependency-metadata': {},
- 'published-at': new Date().toISOString(),
+ dependencyMetadata: {},
+ publishedAt: new Date().toISOString(),
},
latest: {
icon: BTC_ICON,
@@ -215,13 +215,13 @@ export module Mock {
instructions: 'instructionsUrl',
manifest: {
...Mock.MockManifestBitcoind,
- 'release-notes':
+ releaseNotes:
'For a complete list of changes, please visit https://bitcoincore.org/en/releases/0.21.0/
Or in [markdown](https://bitcoincore.org/en/releases/0.21.0/)- Taproot!
- New RPCs
- Experimental Descriptor Wallets
',
},
categories: ['bitcoin', 'cryptocurrency'],
versions: ['0.19.0', '0.20.0', '0.21.0'],
- 'dependency-metadata': {},
- 'published-at': new Date().toISOString(),
+ dependencyMetadata: {},
+ publishedAt: new Date().toISOString(),
},
},
lnd: {
@@ -232,15 +232,15 @@ export module Mock {
manifest: {
...Mock.MockManifestLnd,
version: '0.11.0',
- 'release-notes': 'release notes for LND 0.11.0',
+ releaseNotes: 'release notes for LND 0.11.0',
},
categories: ['bitcoin', 'lightning', 'cryptocurrency'],
versions: ['0.11.0', '0.11.1'],
- 'dependency-metadata': {
+ dependencyMetadata: {
bitcoind: BitcoinDep,
'btc-rpc-proxy': ProxyDep,
},
- 'published-at': new Date().toISOString(),
+ publishedAt: new Date().toISOString(),
},
'0.11.1': {
icon: LND_ICON,
@@ -249,15 +249,15 @@ export module Mock {
manifest: {
...Mock.MockManifestLnd,
version: '0.11.1',
- 'release-notes': 'release notes for LND 0.11.1',
+ releaseNotes: 'release notes for LND 0.11.1',
},
categories: ['bitcoin', 'lightning', 'cryptocurrency'],
versions: ['0.11.0', '0.11.1'],
- 'dependency-metadata': {
+ dependencyMetadata: {
bitcoind: BitcoinDep,
'btc-rpc-proxy': ProxyDep,
},
- 'published-at': new Date().toISOString(),
+ publishedAt: new Date().toISOString(),
},
latest: {
icon: LND_ICON,
@@ -266,11 +266,11 @@ export module Mock {
manifest: Mock.MockManifestLnd,
categories: ['bitcoin', 'lightning', 'cryptocurrency'],
versions: ['0.11.0', '0.11.1'],
- 'dependency-metadata': {
+ dependencyMetadata: {
bitcoind: BitcoinDep,
'btc-rpc-proxy': ProxyDep,
},
- 'published-at': new Date(new Date().valueOf() + 10).toISOString(),
+ publishedAt: new Date(new Date().valueOf() + 10).toISOString(),
},
},
'btc-rpc-proxy': {
@@ -281,10 +281,10 @@ export module Mock {
manifest: Mock.MockManifestBitcoinProxy,
categories: ['bitcoin'],
versions: ['0.2.2'],
- 'dependency-metadata': {
+ dependencyMetadata: {
bitcoind: BitcoinDep,
},
- 'published-at': new Date().toISOString(),
+ publishedAt: new Date().toISOString(),
},
},
}
@@ -295,8 +295,8 @@ export module Mock {
export const Notifications: ServerNotifications = [
{
id: 1,
- 'package-id': null,
- 'created-at': '2019-12-26T14:20:30.872Z',
+ packageId: null,
+ createdAt: '2019-12-26T14:20:30.872Z',
code: 1,
level: NotificationLevel.Success,
title: 'Backup Complete',
@@ -315,8 +315,8 @@ export module Mock {
},
{
id: 2,
- 'package-id': null,
- 'created-at': '2019-12-26T14:20:30.872Z',
+ packageId: null,
+ createdAt: '2019-12-26T14:20:30.872Z',
code: 2,
level: NotificationLevel.Warning,
title: 'SSH Key Added',
@@ -325,8 +325,8 @@ export module Mock {
},
{
id: 3,
- 'package-id': null,
- 'created-at': '2019-12-26T14:20:30.872Z',
+ packageId: null,
+ createdAt: '2019-12-26T14:20:30.872Z',
code: 3,
level: NotificationLevel.Info,
title: 'SSH Key Removed',
@@ -335,8 +335,8 @@ export module Mock {
},
{
id: 4,
- 'package-id': 'bitcoind',
- 'created-at': '2019-12-26T14:20:30.872Z',
+ packageId: 'bitcoind',
+ createdAt: '2019-12-26T14:20:30.872Z',
code: 4,
level: NotificationLevel.Error,
title: 'Service Crashed',
@@ -361,7 +361,7 @@ export module Mock {
},
},
memory: {
- 'percentage-used': {
+ percentageUsed: {
value: '30.7',
unit: '%',
},
@@ -377,29 +377,29 @@ export module Mock {
value: '8784.97',
unit: 'MiB',
},
- 'zram-total': {
+ zramTotal: {
value: '7992.00',
unit: 'MiB',
},
- 'zram-available': {
+ zramAvailable: {
value: '7882.50',
unit: 'MiB',
},
- 'zram-used': {
+ zramUsed: {
value: '109.50',
unit: 'MiB',
},
},
cpu: {
- 'percentage-used': {
+ percentageUsed: {
value: '8.4',
unit: '%',
},
- 'user-space': {
+ userSpace: {
value: '7.0',
unit: '%',
},
- 'kernel-space': {
+ kernelSpace: {
value: '1.4',
unit: '%',
},
@@ -425,7 +425,7 @@ export module Mock {
value: '992.59',
unit: 'GB',
},
- 'percentage-used': {
+ percentageUsed: {
value: '46.4',
unit: '%',
},
@@ -487,15 +487,15 @@ export module Mock {
current: 'b7b1a9cef4284f00af9e9dda6e676177',
sessions: {
'9513226517c54ddd8107d6d7b9d8aed7': {
- 'last-active': '2021-07-14T20:49:17.774Z',
- 'user-agent': 'AppleWebKit/{WebKit Rev} (KHTML, like Gecko)',
+ lastActive: '2021-07-14T20:49:17.774Z',
+ userAgent: 'AppleWebKit/{WebKit Rev} (KHTML, like Gecko)',
metadata: {
platforms: ['iphone', 'mobileweb', 'mobile', 'ios'],
},
},
b7b1a9cef4284f00af9e9dda6e676177: {
- 'last-active': '2021-06-14T20:49:17.774Z',
- 'user-agent':
+ lastActive: '2021-06-14T20:49:17.774Z',
+ userAgent:
'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0',
metadata: {
platforms: ['desktop'],
@@ -514,13 +514,13 @@ export module Mock {
export const SshKeys: RR.GetSSHKeysRes = [
{
- 'created-at': new Date().toISOString(),
+ createdAt: new Date().toISOString(),
alg: 'ed25519',
hostname: 'Matt Key',
fingerprint: '28:d2:7e:78:61:b4:bf:g2:de:24:15:96:4e:d4:15:53',
},
{
- 'created-at': new Date().toISOString(),
+ createdAt: new Date().toISOString(),
alg: 'ed25519',
hostname: 'Aiden Key',
fingerprint: '12:f8:7e:78:61:b4:bf:e2:de:24:15:96:4e:d4:72:53',
@@ -528,7 +528,7 @@ export module Mock {
]
export const SshKey: RR.AddSSHKeyRes = {
- 'created-at': new Date().toISOString(),
+ createdAt: new Date().toISOString(),
alg: 'ed25519',
hostname: 'Lucy Key',
fingerprint: '44:44:7e:78:61:b4:bf:g2:de:24:15:96:4e:d4:15:53',
@@ -542,7 +542,7 @@ export module Mock {
},
connected: 'Goosers',
country: 'US',
- 'available-wifi': [
+ availableWifi: [
{
ssid: 'Goosers a billion',
strength: 40,
@@ -568,13 +568,13 @@ export module Mock {
path: '/Desktop/startos-backups',
username: 'TestUser',
mountable: false,
- 'embassy-os': {
+ startOs: {
version: '0.3.0',
full: true,
- 'password-hash':
+ passwordHash:
// password is asdfasdf
'$argon2d$v=19$m=1024,t=1,p=1$YXNkZmFzZGZhc2RmYXNkZg$Ceev1I901G6UwU+hY0sHrFZ56D+o+LNJ',
- 'wrapped-key': '',
+ wrappedKey: '',
},
},
// 'ftcvewdnkemfksdm': {
@@ -585,7 +585,7 @@ export module Mock {
// used: 0,
// model: 'Evo SATA 2.5',
// vendor: 'Samsung',
- // 'embassy-os': null,
+ // startOs: null,
// },
csgashbdjkasnd: {
type: 'cifs',
@@ -593,7 +593,7 @@ export module Mock {
path: '/Desktop/startos-backups-2',
username: 'TestUser',
mountable: true,
- 'embassy-os': null,
+ startOs: null,
},
powjefhjbnwhdva: {
type: 'disk',
@@ -603,13 +603,13 @@ export module Mock {
used: 100000000000,
model: null,
vendor: 'SSK',
- 'embassy-os': {
+ startOs: {
version: '0.3.0',
full: true,
// password is asdfasdf
- 'password-hash':
+ passwordHash:
'$argon2d$v=19$m=1024,t=1,p=1$YXNkZmFzZGZhc2RmYXNkZg$Ceev1I901G6UwU+hY0sHrFZ56D+o+LNJ',
- 'wrapped-key': '',
+ wrappedKey: '',
},
},
}
@@ -617,17 +617,17 @@ export module Mock {
export const BackupInfo: RR.GetBackupInfoRes = {
version: '0.3.0',
timestamp: new Date().toISOString(),
- 'package-backups': {
+ packageBackups: {
bitcoind: {
title: 'Bitcoin Core',
version: '0.21.0',
- 'os-version': '0.3.0',
+ osVersion: '0.3.0',
timestamp: new Date().toISOString(),
},
'btc-rpc-proxy': {
title: 'Bitcoin Proxy',
version: '0.2.2',
- 'os-version': '0.3.0',
+ osVersion: '0.3.0',
timestamp: new Date().toISOString(),
},
},
@@ -1062,17 +1062,7 @@ export module Mock {
warning: 'Careful changing this',
},
variants: {
- internal: {
- 'lan-address': {
- name: 'LAN Address',
- type: 'pointer',
- subtype: 'package',
- target: 'lan-address',
- 'package-id': 'bitcoind',
- description: 'the lan address',
- interface: 'asdf',
- },
- },
+ internal: {},
external: {
'emergency-contact': {
name: 'Emergency Contact',
@@ -1385,12 +1375,12 @@ export module Mock {
export const MockDependencyConfig = MockConfig
export const bitcoind: PackageDataEntry = {
- 'state-info': {
+ stateInfo: {
state: PackageState.Installed,
manifest: MockManifestBitcoind,
},
icon: '/assets/img/service-icons/bitcoind.svg',
- 'last-backup': null,
+ lastBackup: null,
status: {
configured: true,
main: {
@@ -1398,10 +1388,10 @@ export module Mock {
started: new Date().toISOString(),
health: {},
},
- 'dependency-config-errors': {},
+ dependencyConfigErrors: {},
},
actions: {}, // @TODO need mocks
- 'service-interfaces': {
+ serviceInterfaces: {
ui: {
id: 'ui',
hasPrimary: false,
@@ -1617,28 +1607,28 @@ export module Mock {
},
},
},
- 'current-dependencies': {},
- 'dependency-info': {},
- 'marketplace-url': 'https://registry.start9.com/',
- 'developer-key': 'developer-key',
+ currentDependencies: {},
+ dependencyInfo: {},
+ marketplaceUrl: 'https://registry.start9.com/',
+ developerKey: 'developer-key',
}
export const bitcoinProxy: PackageDataEntry = {
- 'state-info': {
+ stateInfo: {
state: PackageState.Installed,
manifest: MockManifestBitcoinProxy,
},
icon: '/assets/img/service-icons/btc-rpc-proxy.png',
- 'last-backup': null,
+ lastBackup: null,
status: {
configured: false,
main: {
status: PackageMainStatus.Stopped,
},
- 'dependency-config-errors': {},
+ dependencyConfigErrors: {},
},
actions: {},
- 'service-interfaces': {
+ serviceInterfaces: {
ui: {
id: 'ui',
hasPrimary: false,
@@ -1746,40 +1736,40 @@ export module Mock {
},
},
},
- 'current-dependencies': {
+ currentDependencies: {
bitcoind: {
versionRange: '>=26.0.0',
- 'health-checks': [],
+ healthChecks: [],
},
},
- 'dependency-info': {
+ dependencyInfo: {
bitcoind: {
title: Mock.MockManifestBitcoind.title,
icon: 'assets/img/service-icons/bitcoind.svg',
},
},
- 'marketplace-url': 'https://registry.start9.com/',
- 'developer-key': 'developer-key',
+ marketplaceUrl: 'https://registry.start9.com/',
+ developerKey: 'developer-key',
}
export const lnd: PackageDataEntry = {
- 'state-info': {
+ stateInfo: {
state: PackageState.Installed,
manifest: MockManifestLnd,
},
icon: '/assets/img/service-icons/lnd.png',
- 'last-backup': null,
+ lastBackup: null,
status: {
configured: true,
main: {
status: PackageMainStatus.Stopped,
},
- 'dependency-config-errors': {
+ dependencyConfigErrors: {
'btc-rpc-proxy': 'Username not found',
},
},
actions: {},
- 'service-interfaces': {
+ serviceInterfaces: {
grpc: {
id: 'grpc',
hasPrimary: false,
@@ -1991,17 +1981,17 @@ export module Mock {
},
},
},
- 'current-dependencies': {
+ currentDependencies: {
bitcoind: {
versionRange: '>=26.0.0',
- 'health-checks': [],
+ healthChecks: [],
},
'btc-rpc-proxy': {
versionRange: '>2.0.0', // @TODO
- 'health-checks': [],
+ healthChecks: [],
},
},
- 'dependency-info': {
+ dependencyInfo: {
bitcoind: {
title: Mock.MockManifestBitcoind.title,
icon: 'assets/img/service-icons/bitcoind.svg',
@@ -2011,8 +2001,8 @@ export module Mock {
icon: 'assets/img/service-icons/btc-rpc-proxy.png',
},
},
- 'marketplace-url': 'https://registry.start9.com/',
- 'developer-key': 'developer-key',
+ marketplaceUrl: 'https://registry.start9.com/',
+ developerKey: 'developer-key',
}
export const LocalPkgs: { [key: string]: PackageDataEntry } =
diff --git a/web/projects/ui/src/app/services/api/api.types.ts b/web/projects/ui/src/app/services/api/api.types.ts
index 7dc83e2e6..0bab23a5a 100644
--- a/web/projects/ui/src/app/services/api/api.types.ts
+++ b/web/projects/ui/src/app/services/api/api.types.ts
@@ -30,8 +30,8 @@ export module RR {
export type LogoutRes = null
export type ResetPasswordReq = {
- 'old-password': string
- 'new-password': string
+ oldPassword: string
+ newPassword: string
} // auth.reset-password
export type ResetPasswordRes = null
@@ -51,14 +51,14 @@ export module RR {
export type FollowServerLogsReq = { limit?: number } // server.logs.follow & server.kernel-logs.follow
export type FollowServerLogsRes = {
- 'start-cursor': string
+ startCursor: string
guid: string
}
export type GetServerMetricsReq = {} // server.metrics
export type GetServerMetricsRes = Metrics
- export type UpdateServerReq = { 'marketplace-url': string } // server.update
+ export type UpdateServerReq = { marketplaceUrl: string } // server.update
export type UpdateServerRes = 'updating' | 'no-updates'
export type RestartServerReq = {} // server.restart
@@ -71,7 +71,7 @@ export module RR {
export type SystemRebuildRes = null
export type ResetTorReq = {
- 'wipe-state': boolean
+ wipeState: boolean
reason: string
} // net.tor.reset
export type ResetTorRes = null
@@ -114,7 +114,7 @@ export module RR {
connected: string | null
country: string | null
ethernet: boolean
- 'available-wifi': AvailableWifi[]
+ availableWifi: AvailableWifi[]
}
export type AddWifiReq = {
@@ -163,14 +163,14 @@ export module RR {
export type RemoveBackupTargetReq = { id: string } // backup.target.cifs.remove
export type RemoveBackupTargetRes = null
- export type GetBackupInfoReq = { 'target-id': string; password: string } // backup.target.info
+ export type GetBackupInfoReq = { targetId: string; password: string } // backup.target.info
export type GetBackupInfoRes = BackupInfo
export type CreateBackupReq = {
// backup.create
- 'target-id': string
- 'package-ids': string[]
- 'old-password': string | null
+ targetId: string
+ packageIds: string[]
+ oldPassword: string | null
password: string
}
export type CreateBackupRes = null
@@ -192,9 +192,9 @@ export module RR {
export type InstallPackageReq = {
id: string
- 'version-spec'?: string
- 'version-priority'?: 'min' | 'max'
- 'marketplace-url': string
+ versionSpec?: string
+ versionPriority?: 'min' | 'max'
+ marketplaceUrl: string
} // package.install
export type InstallPackageRes = null
@@ -210,15 +210,15 @@ export module RR {
export type RestorePackagesReq = {
// package.backup.restore
ids: string[]
- 'target-id': string
- 'old-password': string | null
+ targetId: string
+ oldPassword: string | null
password: string
}
export type RestorePackagesRes = null
export type ExecutePackageActionReq = {
id: string
- 'action-id': string
+ actionId: string
input?: object
} // package.action
export type ExecutePackageActionRes = ActionResponse
@@ -236,12 +236,12 @@ export module RR {
export type UninstallPackageRes = null
export type DryConfigureDependencyReq = {
- 'dependency-id': string
- 'dependent-id': string
+ dependencyId: string
+ dependentId: string
} // package.dependency.configure.dry
export type DryConfigureDependencyRes = {
- 'old-config': object
- 'new-config': object
+ oldConfig: object
+ newConfig: object
spec: ConfigSpec
}
@@ -253,10 +253,10 @@ export module RR {
// marketplace
- export type GetMarketplaceInfoReq = { 'server-id': string }
+ export type GetMarketplaceInfoReq = { serverId: string }
export type GetMarketplaceInfoRes = StoreInfo
- export type GetMarketplaceEosReq = { 'server-id': string }
+ export type GetMarketplaceEosReq = { serverId: string }
export type GetMarketplaceEosRes = MarketplaceEOS
export type GetMarketplacePackagesReq = {
@@ -265,7 +265,7 @@ export module RR {
category?: string
query?: string
page?: number
- 'per-page'?: number
+ perPage?: number
}
export type GetMarketplacePackagesRes = MarketplacePkg[]
@@ -276,7 +276,7 @@ export module RR {
export interface MarketplaceEOS {
version: string
headline: string
- 'release-notes': { [version: string]: string }
+ releaseNotes: { [version: string]: string }
}
export interface Breakages {
@@ -306,23 +306,23 @@ export interface Metrics {
}
memory: {
total: MetricData
- 'percentage-used': MetricData
+ percentageUsed: MetricData
used: MetricData
available: MetricData
- 'zram-total': MetricData
- 'zram-used': MetricData
- 'zram-available': MetricData
+ zramTotal: MetricData
+ zramUsed: MetricData
+ zramAvailable: MetricData
}
cpu: {
- 'percentage-used': MetricData
+ percentageUsed: MetricData
idle: MetricData
- 'user-space': MetricData
- 'kernel-space': MetricData
+ userSpace: MetricData
+ kernelSpace: MetricData
wait: MetricData
}
disk: {
capacity: MetricData
- 'percentage-used': MetricData
+ percentageUsed: MetricData
used: MetricData
available: MetricData
}
@@ -336,8 +336,8 @@ export interface Metric {
}
export interface Session {
- 'last-active': string
- 'user-agent': string
+ lastActive: string
+ userAgent: string
metadata: SessionMetadata
}
@@ -372,7 +372,7 @@ export interface DiskBackupTarget {
label: string | null
capacity: number
used: number | null
- 'embassy-os': StartOSDiskInfo | null
+ startOs: StartOSDiskInfo | null
}
export interface CifsBackupTarget {
@@ -381,7 +381,7 @@ export interface CifsBackupTarget {
path: string
username: string
mountable: boolean
- 'embassy-os': StartOSDiskInfo | null
+ startOs: StartOSDiskInfo | null
}
export type RecoverySource = DiskRecoverySource | CifsRecoverySource
@@ -402,7 +402,7 @@ export interface CifsRecoverySource {
export interface BackupInfo {
version: string
timestamp: string
- 'package-backups': {
+ packageBackups: {
[id: string]: PackageBackupInfo
}
}
@@ -410,7 +410,7 @@ export interface BackupInfo {
export interface PackageBackupInfo {
title: string
version: string
- 'os-version': string
+ osVersion: string
timestamp: string
}
@@ -419,7 +419,7 @@ export interface ServerSpecs {
}
export interface SSHKey {
- 'created-at': string
+ createdAt: string
alg: string
hostname: string
fingerprint: string
@@ -429,8 +429,8 @@ export type ServerNotifications = ServerNotification[]
export interface ServerNotification {
id: number
- 'package-id': string | null
- 'created-at': string
+ packageId: string | null
+ createdAt: string
code: T
level: NotificationLevel
title: string
diff --git a/web/projects/ui/src/app/services/api/embassy-live-api.service.ts b/web/projects/ui/src/app/services/api/embassy-live-api.service.ts
index 73765b44d..12b6f1d1a 100644
--- a/web/projects/ui/src/app/services/api/embassy-live-api.service.ts
+++ b/web/projects/ui/src/app/services/api/embassy-live-api.service.ts
@@ -158,7 +158,7 @@ export class LiveApiService extends ApiService {
async updateServer(url?: string): Promise {
const params = {
- 'marketplace-url': url || this.config.marketplace.start9,
+ marketplaceUrl: url || this.config.marketplace.start9,
}
return this.rpcRequest({ method: 'server.update', params })
}
@@ -205,7 +205,7 @@ export class LiveApiService extends ApiService {
async getEos(): Promise {
const { id } = await getServerInfo(this.patch)
- const qp: RR.GetMarketplaceEosReq = { 'server-id': id }
+ const qp: RR.GetMarketplaceEosReq = { serverId: id }
return this.marketplaceProxy(
'/eos/v0/latest',
diff --git a/web/projects/ui/src/app/services/api/embassy-mock-api.service.ts b/web/projects/ui/src/app/services/api/embassy-mock-api.service.ts
index deabffdd2..6b423b244 100644
--- a/web/projects/ui/src/app/services/api/embassy-mock-api.service.ts
+++ b/web/projects/ui/src/app/services/api/embassy-mock-api.service.ts
@@ -216,8 +216,8 @@ export class MockApiService extends ApiService {
return {
entries,
- 'start-cursor': 'startCursor',
- 'end-cursor': 'endCursor',
+ startCursor: 'start-cursor',
+ endCursor: 'end-cursor',
}
}
@@ -229,8 +229,8 @@ export class MockApiService extends ApiService {
return {
entries,
- 'start-cursor': 'startCursor',
- 'end-cursor': 'endCursor',
+ startCursor: 'start-cursor',
+ endCursor: 'end-cursor',
}
}
@@ -240,8 +240,8 @@ export class MockApiService extends ApiService {
return {
entries,
- 'start-cursor': 'startCursor',
- 'end-cursor': 'endCursor',
+ startCursor: 'startCursor',
+ endCursor: 'end-cursor',
}
}
@@ -250,7 +250,7 @@ export class MockApiService extends ApiService {
): Promise {
await pauseFor(2000)
return {
- 'start-cursor': 'start-cursor',
+ startCursor: 'start-cursor',
guid: '7251d5be-645f-4362-a51b-3a85be92b31e',
}
}
@@ -260,7 +260,7 @@ export class MockApiService extends ApiService {
): Promise {
await pauseFor(2000)
return {
- 'start-cursor': 'start-cursor',
+ startCursor: 'start-cursor',
guid: '7251d5be-645f-4362-a51b-3a85be92b31e',
}
}
@@ -270,7 +270,7 @@ export class MockApiService extends ApiService {
): Promise {
await pauseFor(2000)
return {
- 'start-cursor': 'start-cursor',
+ startCursor: 'start-cursor',
guid: '7251d5be-645f-4362-a51b-3a85be92b31e',
}
}
@@ -312,7 +312,7 @@ export class MockApiService extends ApiService {
const patch = [
{
op: PatchOp.REPLACE,
- path: '/server-info/status-info/update-progress',
+ path: '/serverInfo/statusInfo/updateProgress',
value: initialProgress,
},
]
@@ -329,7 +329,7 @@ export class MockApiService extends ApiService {
const patch = [
{
op: PatchOp.REPLACE,
- path: '/server-info/status-info/restarting',
+ path: '/serverInfo/statusInfo/restarting',
value: true,
},
]
@@ -339,7 +339,7 @@ export class MockApiService extends ApiService {
const patch2 = [
{
op: PatchOp.REPLACE,
- path: '/server-info/status-info/restarting',
+ path: '/serverInfo/statusInfo/restarting',
value: false,
},
]
@@ -357,7 +357,7 @@ export class MockApiService extends ApiService {
const patch = [
{
op: PatchOp.REPLACE,
- path: '/server-info/status-info/shutting-down',
+ path: '/serverInfo/statusInfo/shuttingDown',
value: true,
},
]
@@ -367,7 +367,7 @@ export class MockApiService extends ApiService {
const patch2 = [
{
op: PatchOp.REPLACE,
- path: '/server-info/status-info/shutting-down',
+ path: '/serverInfo/statusInfo/shuttingDown',
value: false,
},
]
@@ -439,7 +439,7 @@ export class MockApiService extends ApiService {
const patch = [
{
op: PatchOp.REPLACE,
- path: '/server-info/unread-notification-count',
+ path: '/serverInfo/unreadNotificationCount',
value: 0,
},
]
@@ -529,7 +529,7 @@ export class MockApiService extends ApiService {
path: path.replace(/\\/g, '/'),
username,
mountable: true,
- 'embassy-os': null,
+ startOs: null,
},
}
}
@@ -565,13 +565,13 @@ export class MockApiService extends ApiService {
async createBackup(params: RR.CreateBackupReq): Promise {
await pauseFor(2000)
- const path = '/server-info/status-info/backup-progress'
- const ids = params['package-ids']
+ const path = '/serverInfo/statusInfo/backupProgress'
+ const ids = params.packageIds
setTimeout(async () => {
for (let i = 0; i < ids.length; i++) {
const id = ids[i]
- const appPath = `/package-data/${id}/status/main/status`
+ const appPath = `/packageData/${id}/status/main/status`
const appPatch = [
{
op: PatchOp.REPLACE,
@@ -655,8 +655,8 @@ export class MockApiService extends ApiService {
}
return {
entries,
- 'start-cursor': 'startCursor',
- 'end-cursor': 'endCursor',
+ startCursor: 'startCursor',
+ endCursor: 'end-cursor',
}
}
@@ -665,7 +665,7 @@ export class MockApiService extends ApiService {
): Promise {
await pauseFor(2000)
return {
- 'start-cursor': 'start-cursor',
+ startCursor: 'start-cursor',
guid: '7251d5be-645f-4362-a51b-3a85be92b31e',
}
}
@@ -679,17 +679,17 @@ export class MockApiService extends ApiService {
this.updateProgress(params.id)
}, 1000)
- const manifest = Mock.LocalPkgs[params.id]['state-info'].manifest
+ const manifest = Mock.LocalPkgs[params.id].stateInfo.manifest
const patch: Operation<
PackageDataEntry
>[] = [
{
op: PatchOp.ADD,
- path: `/package-data/${params.id}`,
+ path: `/packageData/${params.id}`,
value: {
...Mock.LocalPkgs[params.id],
- 'state-info': {
+ stateInfo: {
// if installing
state: PackageState.Installing,
@@ -698,8 +698,8 @@ export class MockApiService extends ApiService {
// manifest,
// both
- 'installing-info': {
- 'new-manifest': manifest,
+ installingInfo: {
+ newManifest: manifest,
progress: PROGRESS,
},
},
@@ -735,7 +735,7 @@ export class MockApiService extends ApiService {
const patch = [
{
op: PatchOp.REPLACE,
- path: `/package-data/${params.id}/status/configured`,
+ path: `/packageData/${params.id}/status/configured`,
value: true,
},
]
@@ -755,13 +755,13 @@ export class MockApiService extends ApiService {
return {
op: PatchOp.ADD,
- path: `/package-data/${id}`,
+ path: `/packageData/${id}`,
value: {
...Mock.LocalPkgs[id],
- 'state-info': {
+ stateInfo: {
state: PackageState.Restoring,
- 'installing-info': {
- 'new-manifest': Mock.LocalPkgs[id]['state-info'].manifest!,
+ installingInfo: {
+ newManifest: Mock.LocalPkgs[id].stateInfo.manifest!,
progress: PROGRESS,
},
},
@@ -782,7 +782,7 @@ export class MockApiService extends ApiService {
}
async startPackage(params: RR.StartPackageReq): Promise {
- const path = `/package-data/${params.id}/status/main`
+ const path = `/packageData/${params.id}/status/main`
await pauseFor(2000)
@@ -865,7 +865,7 @@ export class MockApiService extends ApiService {
): Promise {
// first enact stop
await pauseFor(2000)
- const path = `/package-data/${params.id}/status/main`
+ const path = `/packageData/${params.id}/status/main`
setTimeout(async () => {
const patch2: Operation[] = [
@@ -941,7 +941,7 @@ export class MockApiService extends ApiService {
async stopPackage(params: RR.StopPackageReq): Promise {
await pauseFor(2000)
- const path = `/package-data/${params.id}/status/main`
+ const path = `/packageData/${params.id}/status/main`
setTimeout(() => {
const patch2 = [
@@ -981,7 +981,7 @@ export class MockApiService extends ApiService {
const patch2: RemoveOperation[] = [
{
op: PatchOp.REMOVE,
- path: `/package-data/${params.id}`,
+ path: `/packageData/${params.id}`,
},
]
this.mockRevision(patch2)
@@ -990,7 +990,7 @@ export class MockApiService extends ApiService {
const patch = [
{
op: PatchOp.REPLACE,
- path: `/package-data/${params.id}/state-info/state`,
+ path: `/packageData/${params.id}/stateInfo/state`,
value: PackageState.Removing,
},
]
@@ -1005,8 +1005,8 @@ export class MockApiService extends ApiService {
): Promise {
await pauseFor(2000)
return {
- 'old-config': Mock.MockConfig,
- 'new-config': Mock.MockDependencyConfig,
+ oldConfig: Mock.MockConfig,
+ newConfig: Mock.MockDependencyConfig,
spec: Mock.ConfigSpec,
}
}
@@ -1028,7 +1028,7 @@ export class MockApiService extends ApiService {
const patches: Operation[] = [
{
op: PatchOp.REPLACE,
- path: `/package-data/${id}/state-info/installing-info/progress/phases/${i}/progress`,
+ path: `/packageData/${id}/stateInfo/installingInfo/progress/phases/${i}/progress`,
value: true,
},
]
@@ -1041,7 +1041,7 @@ export class MockApiService extends ApiService {
patches.push({
op: PatchOp.REPLACE,
- path: `/package-data/${id}/state-info/installing-info/progress/overall/done`,
+ path: `/packageData/${id}/stateInfo/installingInfo/progress/overall/done`,
value: progress.overall.done,
})
}
@@ -1058,7 +1058,7 @@ export class MockApiService extends ApiService {
const patches: Operation[] = [
{
op: PatchOp.REPLACE,
- path: `/package-data/${id}/state-info/installing-info/progress/phases/${i}/progress/done`,
+ path: `/packageData/${id}/stateInfo/installingInfo/progress/phases/${i}/progress/done`,
value: phase.progress.done,
},
]
@@ -1071,7 +1071,7 @@ export class MockApiService extends ApiService {
patches.push({
op: PatchOp.REPLACE,
- path: `/package-data/${id}/state-info/installing-info/progress/overall/done`,
+ path: `/packageData/${id}/stateInfo/installingInfo/progress/overall/done`,
value: progress.overall.done,
})
}
@@ -1083,7 +1083,7 @@ export class MockApiService extends ApiService {
this.mockRevision([
{
op: PatchOp.REPLACE,
- path: `/package-data/${id}/state-info/installing-info/progress/phases/${i}/progress`,
+ path: `/packageData/${id}/stateInfo/installingInfo/progress/phases/${i}/progress`,
value: true,
},
])
@@ -1096,7 +1096,7 @@ export class MockApiService extends ApiService {
this.mockRevision([
{
op: PatchOp.REPLACE,
- path: `/package-data/${id}/state-info/installing-info/progress/overall`,
+ path: `/packageData/${id}/stateInfo/installingInfo/progress/overall`,
value: true,
},
])
@@ -1105,10 +1105,10 @@ export class MockApiService extends ApiService {
const patch2: Operation[] = [
{
op: PatchOp.REPLACE,
- path: `/package-data/${id}/state-info`,
+ path: `/packageData/${id}/stateInfo`,
value: {
state: PackageState.Installed,
- manifest: Mock.LocalPkgs[id]['state-info'].manifest,
+ manifest: Mock.LocalPkgs[id].stateInfo.manifest,
},
},
]
@@ -1122,7 +1122,7 @@ export class MockApiService extends ApiService {
const patch0 = [
{
op: PatchOp.REPLACE,
- path: `/server-info/status-info/update-progress/size`,
+ path: `/serverInfo/statusInfo/updateProgress/size`,
value: size,
},
]
@@ -1134,7 +1134,7 @@ export class MockApiService extends ApiService {
const patch = [
{
op: PatchOp.REPLACE,
- path: `/server-info/status-info/update-progress/downloaded`,
+ path: `/serverInfo/statusInfo/updateProgress/downloaded`,
value: downloaded,
},
]
@@ -1144,7 +1144,7 @@ export class MockApiService extends ApiService {
const patch2 = [
{
op: PatchOp.REPLACE,
- path: `/server-info/status-info/update-progress/downloaded`,
+ path: `/serverInfo/statusInfo/updateProgress/downloaded`,
value: size,
},
]
@@ -1154,12 +1154,12 @@ export class MockApiService extends ApiService {
const patch3: Operation[] = [
{
op: PatchOp.REPLACE,
- path: '/server-info/status',
+ path: '/serverInfo/status',
value: ServerStatus.Updated,
},
{
op: PatchOp.REMOVE,
- path: '/server-info/status-info/update-progress',
+ path: '/serverInfo/statusInfo/updateProgress',
},
]
this.mockRevision(patch3)
@@ -1168,7 +1168,7 @@ export class MockApiService extends ApiService {
const patch4 = [
{
op: PatchOp.REPLACE,
- path: '/server-info/status',
+ path: '/serverInfo/status',
value: ServerStatus.Running,
},
]
@@ -1178,7 +1178,7 @@ export class MockApiService extends ApiService {
const patch6 = [
{
op: PatchOp.REPLACE,
- path: '/server-info/status-info',
+ path: '/serverInfo/statusInfo',
value: Mock.ServerUpdated,
},
]
diff --git a/web/projects/ui/src/app/services/api/mock-patch.ts b/web/projects/ui/src/app/services/api/mock-patch.ts
index db9f5c86b..5bd69293c 100644
--- a/web/projects/ui/src/app/services/api/mock-patch.ts
+++ b/web/projects/ui/src/app/services/api/mock-patch.ts
@@ -10,7 +10,7 @@ import { BUILT_IN_WIDGETS } from '../../pages/widgets/built-in/widgets'
export const mockPatchData: DataModel = {
ui: {
name: `Matt's Server`,
- 'ack-welcome': '1.0.0',
+ ackWelcome: '1.0.0',
theme: 'Dark',
widgets: BUILT_IN_WIDGETS.filter(
({ id }) =>
@@ -20,8 +20,8 @@ export const mockPatchData: DataModel = {
id === 'metrics',
),
marketplace: {
- 'selected-url': 'https://registry.start9.com/',
- 'known-hosts': {
+ selectedUrl: 'https://registry.start9.com/',
+ knownHosts: {
'https://registry.start9.com/': {
name: 'Start9 Registry',
},
@@ -31,21 +31,20 @@ export const mockPatchData: DataModel = {
},
},
},
- dev: {},
gaming: {
snake: {
- 'high-score': 0,
+ highScore: 0,
},
},
- 'ack-instructions': {},
+ ackInstructions: {},
},
- 'server-info': {
+ serverInfo: {
id: 'abcdefgh',
version: '0.3.5.1',
- 'last-backup': new Date(new Date().valueOf() - 604800001).toISOString(),
- 'lan-address': 'https://adjective-noun.local',
- 'tor-address': 'https://myveryownspecialtoraddress.onion',
- 'ip-info': {
+ lastBackup: new Date(new Date().valueOf() - 604800001).toISOString(),
+ lanAddress: 'https://adjective-noun.local',
+ torAddress: 'https://myveryownspecialtoraddress.onion',
+ ipInfo: {
eth0: {
ipv4: '10.0.0.1',
ipv6: null,
@@ -55,28 +54,28 @@ export const mockPatchData: DataModel = {
ipv6: 'FE80:CD00:0000:0CDE:1257:0000:211E:729CD',
},
},
- 'last-wifi-region': null,
- 'unread-notification-count': 4,
+ lastWifiRegion: null,
+ unreadNotificationCount: 4,
// password is asdfasdf
- 'password-hash':
+ passwordHash:
'$argon2d$v=19$m=1024,t=1,p=1$YXNkZmFzZGZhc2RmYXNkZg$Ceev1I901G6UwU+hY0sHrFZ56D+o+LNJ',
- 'eos-version-compat': '>=0.3.0 <=0.3.0.1',
- 'status-info': {
- 'backup-progress': null,
+ eosVersionCompat: '>=0.3.0 <=0.3.0.1',
+ statusInfo: {
+ backupProgress: null,
updated: false,
- 'update-progress': null,
+ updateProgress: null,
restarting: false,
- 'shutting-down': false,
+ shuttingDown: false,
},
hostname: 'random-words',
pubkey: 'npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m',
- 'ca-fingerprint': 'SHA-256: 63 2B 11 99 44 40 17 DF 37 FC C3 DF 0F 3D 15',
- 'ntp-synced': false,
+ caFingerprint: 'SHA-256: 63 2B 11 99 44 40 17 DF 37 FC C3 DF 0F 3D 15',
+ ntpSynced: false,
platform: 'x86_64-nonfree',
},
- 'package-data': {
+ packageData: {
bitcoind: {
- 'state-info': {
+ stateInfo: {
state: PackageState.Installed,
manifest: {
...Mock.MockManifestBitcoind,
@@ -84,7 +83,7 @@ export const mockPatchData: DataModel = {
},
},
icon: '/assets/img/service-icons/bitcoind.svg',
- 'last-backup': null,
+ lastBackup: null,
status: {
configured: true,
main: {
@@ -116,10 +115,10 @@ export const mockPatchData: DataModel = {
},
},
},
- 'dependency-config-errors': {},
+ dependencyConfigErrors: {},
},
actions: {}, // @TODO
- 'service-interfaces': {
+ serviceInterfaces: {
ui: {
id: 'ui',
hasPrimary: false,
@@ -335,13 +334,13 @@ export const mockPatchData: DataModel = {
},
},
},
- 'current-dependencies': {},
- 'dependency-info': {},
- 'marketplace-url': 'https://registry.start9.com/',
- 'developer-key': 'developer-key',
+ currentDependencies: {},
+ dependencyInfo: {},
+ marketplaceUrl: 'https://registry.start9.com/',
+ developerKey: 'developer-key',
},
lnd: {
- 'state-info': {
+ stateInfo: {
state: PackageState.Installed,
manifest: {
...Mock.MockManifestLnd,
@@ -349,18 +348,18 @@ export const mockPatchData: DataModel = {
},
},
icon: '/assets/img/service-icons/lnd.png',
- 'last-backup': null,
+ lastBackup: null,
status: {
configured: true,
main: {
status: PackageMainStatus.Stopped,
},
- 'dependency-config-errors': {
+ dependencyConfigErrors: {
'btc-rpc-proxy': 'This is a config unsatisfied error',
},
},
actions: {},
- 'service-interfaces': {
+ serviceInterfaces: {
grpc: {
id: 'grpc',
hasPrimary: false,
@@ -570,17 +569,17 @@ export const mockPatchData: DataModel = {
},
},
},
- 'current-dependencies': {
+ currentDependencies: {
bitcoind: {
versionRange: '>=26.0.0',
- 'health-checks': [],
+ healthChecks: [],
},
'btc-rpc-proxy': {
versionRange: '>2.0.0',
- 'health-checks': [],
+ healthChecks: [],
},
},
- 'dependency-info': {
+ dependencyInfo: {
bitcoind: {
title: 'Bitcoin Core',
icon: 'assets/img/service-icons/bitcoind.svg',
@@ -590,8 +589,8 @@ export const mockPatchData: DataModel = {
icon: 'assets/img/service-icons/btc-rpc-proxy.png',
},
},
- 'marketplace-url': 'https://registry.start9.com/',
- 'developer-key': 'developer-key',
+ marketplaceUrl: 'https://registry.start9.com/',
+ developerKey: 'developer-key',
},
},
}
diff --git a/web/projects/ui/src/app/services/config.service.ts b/web/projects/ui/src/app/services/config.service.ts
index 71719ae4a..2bae31e63 100644
--- a/web/projects/ui/src/app/services/config.service.ts
+++ b/web/projects/ui/src/app/services/config.service.ts
@@ -63,9 +63,7 @@ export class ConfigService {
}
/** ${scheme}://${username}@${host}:${externalPort}${suffix} */
- launchableAddress(
- interfaces: PackageDataEntry['service-interfaces'],
- ): string {
+ launchableAddress(interfaces: PackageDataEntry['serviceInterfaces']): string {
const ui = Object.values(interfaces).find(i => i.type === 'ui')
if (!ui) return ''
@@ -128,7 +126,7 @@ export class ConfigService {
}
export function hasUi(
- interfaces: PackageDataEntry['service-interfaces'],
+ interfaces: PackageDataEntry['serviceInterfaces'],
): boolean {
return Object.values(interfaces).some(iface => iface.type === 'ui')
}
diff --git a/web/projects/ui/src/app/services/dep-error.service.ts b/web/projects/ui/src/app/services/dep-error.service.ts
index c73beabda..50020f5fe 100644
--- a/web/projects/ui/src/app/services/dep-error.service.ts
+++ b/web/projects/ui/src/app/services/dep-error.service.ts
@@ -20,7 +20,7 @@ export type PkgDependencyErrors = Record
providedIn: 'root',
})
export class DepErrorService {
- readonly depErrors$ = this.patch.watch$('package-data').pipe(
+ readonly depErrors$ = this.patch.watch$('packageData').pipe(
map(pkgs =>
Object.keys(pkgs)
.map(id => ({
@@ -53,7 +53,7 @@ export class DepErrorService {
}
private getDepErrors(
- pkgs: DataModel['package-data'],
+ pkgs: DataModel['packageData'],
pkgId: string,
outerErrors: AllDependencyErrors,
): PkgDependencyErrors {
@@ -71,7 +71,7 @@ export class DepErrorService {
}
private getDepError(
- pkgs: DataModel['package-data'],
+ pkgs: DataModel['packageData'],
pkg: PackageDataEntry,
depId: string,
outerErrors: AllDependencyErrors,
@@ -79,14 +79,14 @@ export class DepErrorService {
const dep = pkgs[depId]
// not installed
- if (!dep || dep['state-info'].state !== PackageState.Installed) {
+ if (!dep || dep.stateInfo.state !== PackageState.Installed) {
return {
type: DependencyErrorType.NotInstalled,
}
}
- const versionRange = pkg['current-dependencies'][depId].versionRange
- const depManifest = dep['state-info'].manifest
+ const versionRange = pkg.currentDependencies[depId].versionRange
+ const depManifest = dep.stateInfo.manifest
// incorrect version
if (!this.emver.satisfies(depManifest.version, versionRange)) {
@@ -98,9 +98,7 @@ export class DepErrorService {
}
// invalid config
- if (
- Object.values(pkg.status['dependency-config-errors']).some(err => !!err)
- ) {
+ if (Object.values(pkg.status.dependencyConfigErrors).some(err => !!err)) {
return {
type: DependencyErrorType.ConfigUnsatisfied,
}
@@ -120,7 +118,7 @@ export class DepErrorService {
// health check failure
if (depStatus === PackageMainStatus.Running) {
- for (let id of pkg['current-dependencies'][depId]['health-checks']) {
+ for (let id of pkg.currentDependencies[depId].healthChecks) {
if (dep.status.main.health[id]?.result !== HealthResult.Success) {
return {
type: DependencyErrorType.HealthChecksFailed,
@@ -144,14 +142,14 @@ export class DepErrorService {
}
}
-function currentDeps(pkgs: DataModel['package-data'], id: string): string[] {
- return Object.keys(pkgs[id]?.['current-dependencies'] || {}).filter(
+function currentDeps(pkgs: DataModel['packageData'], id: string): string[] {
+ return Object.keys(pkgs[id]?.currentDependencies || {}).filter(
depId => depId !== id,
)
}
function dependencyDepth(
- pkgs: DataModel['package-data'],
+ pkgs: DataModel['packageData'],
id: string,
depth = 0,
): number {
diff --git a/web/projects/ui/src/app/services/eos.service.ts b/web/projects/ui/src/app/services/eos.service.ts
index 396c84223..dcd1d0de0 100644
--- a/web/projects/ui/src/app/services/eos.service.ts
+++ b/web/projects/ui/src/app/services/eos.service.ts
@@ -15,13 +15,13 @@ export class EOSService {
eos?: MarketplaceEOS
updateAvailable$ = new BehaviorSubject(false)
- readonly updating$ = this.patch.watch$('server-info', 'status-info').pipe(
- map(status => !!status['update-progress'] || status.updated),
+ readonly updating$ = this.patch.watch$('serverInfo', 'statusInfo').pipe(
+ map(status => !!status.updateProgress || status.updated),
distinctUntilChanged(),
)
readonly backingUp$ = this.patch
- .watch$('server-info', 'status-info', 'backup-progress')
+ .watch$('serverInfo', 'statusInfo', 'backupProgress')
.pipe(
map(obj => !!obj),
distinctUntilChanged(),
diff --git a/web/projects/ui/src/app/services/form.service.ts b/web/projects/ui/src/app/services/form.service.ts
index 66d368b50..ee8f0f136 100644
--- a/web/projects/ui/src/app/services/form.service.ts
+++ b/web/projects/ui/src/app/services/form.service.ts
@@ -89,7 +89,6 @@ export class FormService {
UntypedFormGroup | UntypedFormArray | UntypedFormControl
> = {}
Object.entries(config).map(([key, spec]) => {
- if (spec.type === 'pointer') return
group[key] = this.getFormEntry(spec, current ? current[key] : undefined)
})
return this.formBuilder.group(group, { validators })
diff --git a/web/projects/ui/src/app/services/marketplace.service.ts b/web/projects/ui/src/app/services/marketplace.service.ts
index 9592e7da1..ac9d4a8f4 100644
--- a/web/projects/ui/src/app/services/marketplace.service.ts
+++ b/web/projects/ui/src/app/services/marketplace.service.ts
@@ -39,7 +39,7 @@ import { ClientStorageService } from './client-storage.service'
@Injectable()
export class MarketplaceService implements AbstractMarketplaceService {
private readonly knownHosts$: Observable = this.patch
- .watch$('ui', 'marketplace', 'known-hosts')
+ .watch$('ui', 'marketplace', 'knownHosts')
.pipe(
map(hosts => {
const { start9, community } = this.config.marketplace
@@ -73,8 +73,8 @@ export class MarketplaceService implements AbstractMarketplaceService {
private readonly selectedHost$: Observable = this.patch
.watch$('ui', 'marketplace')
.pipe(
- distinctUntilKeyChanged('selected-url'),
- map(({ 'selected-url': url, 'known-hosts': hosts }) =>
+ distinctUntilKeyChanged('selectedUrl'),
+ map(({ selectedUrl: url, knownHosts: hosts }) =>
toStoreIdentity(url, hosts[url]),
),
shareReplay({ bufferSize: 1, refCount: true }),
@@ -171,9 +171,9 @@ export class MarketplaceService implements AbstractMarketplaceService {
): Observable {
return this.patch.watch$('ui', 'marketplace').pipe(
switchMap(uiMarketplace => {
- const url = optionalUrl || uiMarketplace['selected-url']
+ const url = optionalUrl || uiMarketplace.selectedUrl
- if (version !== '*' || !uiMarketplace['known-hosts'][url]) {
+ if (version !== '*' || !uiMarketplace.knownHosts[url]) {
return this.fetchPackage$(id, version, url)
}
@@ -206,18 +206,18 @@ export class MarketplaceService implements AbstractMarketplaceService {
): Promise {
const params: RR.InstallPackageReq = {
id,
- 'version-spec': `=${version}`,
- 'marketplace-url': url,
+ versionSpec: `=${version}`,
+ marketplaceUrl: url,
}
await this.api.installPackage(params)
}
fetchInfo$(url: string): Observable {
- return this.patch.watch$('server-info').pipe(
+ return this.patch.watch$('serverInfo').pipe(
take(1),
switchMap(serverInfo => {
- const qp: RR.GetMarketplaceInfoReq = { 'server-id': serverInfo.id }
+ const qp: RR.GetMarketplaceInfoReq = { serverId: serverInfo.id }
return this.api.marketplaceProxy(
'/package/v0/info',
qp,
@@ -276,7 +276,7 @@ export class MarketplaceService implements AbstractMarketplaceService {
const qp: RR.GetMarketplacePackagesReq = {
...params,
page: 1,
- 'per-page': 100,
+ perPage: 100,
}
if (qp.ids) qp.ids = JSON.stringify(qp.ids)
@@ -306,7 +306,7 @@ export class MarketplaceService implements AbstractMarketplaceService {
): Promise {
if (oldName !== newName) {
this.api.setDbValue(
- ['marketplace', 'known-hosts', url, 'name'],
+ ['marketplace', 'knownHosts', url, 'name'],
newName,
)
}
diff --git a/web/projects/ui/src/app/services/patch-data.service.ts b/web/projects/ui/src/app/services/patch-data.service.ts
index 23ee15925..5372a665c 100644
--- a/web/projects/ui/src/app/services/patch-data.service.ts
+++ b/web/projects/ui/src/app/services/patch-data.service.ts
@@ -25,7 +25,7 @@ export class PatchDataService extends Observable {
// check for updates to eOS and services
this.checkForUpdates()
// show eos welcome message
- this.showEosWelcome(ui['ack-welcome'])
+ this.showEosWelcome(ui.ackWelcome)
}),
share(),
)
@@ -60,7 +60,7 @@ export class PatchDataService extends Observable {
})
modal.onWillDismiss().then(() => {
this.embassyApi
- .setDbValue(['ack-welcome'], this.config.version)
+ .setDbValue(['ackWelcome'], this.config.version)
.catch()
})
diff --git a/web/projects/ui/src/app/services/patch-db/data-model.ts b/web/projects/ui/src/app/services/patch-db/data-model.ts
index 9f90e798f..537e15329 100644
--- a/web/projects/ui/src/app/services/patch-db/data-model.ts
+++ b/web/projects/ui/src/app/services/patch-db/data-model.ts
@@ -1,28 +1,25 @@
import { Url } from '@start9labs/shared'
import { Manifest } from '@start9labs/marketplace'
-import { BasicInfo } from 'src/app/pages/developer-routes/developer-menu/form-info'
import { types } from '@start9labs/start-sdk'
-import { InputSpec } from '@start9labs/start-sdk/cjs/sdk/lib/config/configTypes'
import { ActionMetadata } from '@start9labs/start-sdk/cjs/sdk/lib/types'
type ServiceInterfaceWithHostInfo = types.ServiceInterfaceWithHostInfo
export interface DataModel {
- 'server-info': ServerInfo
- 'package-data': { [id: string]: PackageDataEntry }
+ serverInfo: ServerInfo
+ packageData: { [id: string]: PackageDataEntry }
ui: UIData
}
export interface UIData {
name: string | null
- 'ack-welcome': string // eOS emver
+ ackWelcome: string // eOS emver
marketplace: UIMarketplaceData
- dev: DevData
gaming: {
snake: {
- 'high-score': number
+ highScore: number
}
}
- 'ack-instructions': Record
+ ackInstructions: Record
theme: string
widgets: readonly Widget[]
}
@@ -41,8 +38,8 @@ export interface Widget {
}
export interface UIMarketplaceData {
- 'selected-url': string
- 'known-hosts': {
+ selectedUrl: string
+ knownHosts: {
'https://registry.start9.com/': UIStore
'https://community-registry.start9.com/': UIStore
[url: string]: UIStore
@@ -53,33 +50,22 @@ export interface UIStore {
name?: string
}
-export interface DevData {
- [id: string]: DevProjectData
-}
-
-export interface DevProjectData {
- name: string
- instructions: string
- config: string
- 'basic-info'?: BasicInfo
-}
-
export interface ServerInfo {
id: string
version: string
- 'last-backup': string | null
- 'lan-address': Url
- 'tor-address': Url
- 'ip-info': IpInfo
- 'last-wifi-region': string | null
- 'unread-notification-count': number
- 'status-info': ServerStatusInfo
- 'eos-version-compat': string
- 'password-hash': string
+ lastBackup: string | null
+ lanAddress: Url
+ torAddress: Url
+ ipInfo: IpInfo
+ lastWifiRegion: string | null
+ unreadNotificationCount: number
+ statusInfo: ServerStatusInfo
+ eosVersionCompat: string
+ passwordHash: string
hostname: string
pubkey: string
- 'ca-fingerprint': string
- 'ntp-synced': boolean
+ caFingerprint: string
+ ntpSynced: boolean
platform: string
}
@@ -91,15 +77,15 @@ export interface IpInfo {
}
export interface ServerStatusInfo {
- 'backup-progress': null | {
+ backupProgress: null | {
[packageId: string]: {
complete: boolean
}
}
updated: boolean
- 'update-progress': { size: number | null; downloaded: number } | null
+ updateProgress: { size: number | null; downloaded: number } | null
restarting: boolean
- 'shutting-down': boolean
+ shuttingDown: boolean
}
export enum ServerStatus {
@@ -109,21 +95,21 @@ export enum ServerStatus {
}
export type PackageDataEntry = {
- 'state-info': T
+ stateInfo: T
icon: Url
status: Status
actions: Record
- 'last-backup': string | null
- 'current-dependencies': { [id: string]: CurrentDependencyInfo }
- 'dependency-info': {
+ lastBackup: string | null
+ currentDependencies: { [id: string]: CurrentDependencyInfo }
+ dependencyInfo: {
[id: string]: {
title: string
icon: Url
}
}
- 'service-interfaces': Record
- 'marketplace-url': string | null
- 'developer-key': string
+ serviceInterfaces: Record
+ marketplaceUrl: string | null
+ developerKey: string
}
export type StateInfo = InstalledState | InstallingState | UpdatingState
@@ -135,12 +121,12 @@ export type InstalledState = {
export type InstallingState = {
state: PackageState.Installing | PackageState.Restoring
- 'installing-info': InstallingInfo
+ installingInfo: InstallingInfo
}
export type UpdatingState = {
state: PackageState.Updating
- 'installing-info': InstallingInfo
+ installingInfo: InstallingInfo
manifest: Manifest
}
@@ -154,13 +140,13 @@ export enum PackageState {
export interface CurrentDependencyInfo {
versionRange: string
- 'health-checks': string[] // array of health check IDs
+ healthChecks: string[] // array of health check IDs
}
export interface Status {
configured: boolean
main: MainStatus
- 'dependency-config-errors': { [id: string]: string | null }
+ dependencyConfigErrors: { [id: string]: string | null }
}
export type MainStatus =
@@ -250,7 +236,7 @@ export interface HealthCheckResultFailure {
export type InstallingInfo = {
progress: FullProgress
- 'new-manifest': Manifest
+ newManifest: Manifest
}
export type FullProgress = {
diff --git a/web/projects/ui/src/app/services/pkg-status-rendering.service.ts b/web/projects/ui/src/app/services/pkg-status-rendering.service.ts
index cda895e89..7e1f52b49 100644
--- a/web/projects/ui/src/app/services/pkg-status-rendering.service.ts
+++ b/web/projects/ui/src/app/services/pkg-status-rendering.service.ts
@@ -22,12 +22,12 @@ export function renderPkgStatus(
let dependency: DependencyStatus | null = null
let health: HealthStatus | null = null
- if (pkg['state-info'].state === PackageState.Installed) {
+ if (pkg.stateInfo.state === PackageState.Installed) {
primary = getPrimaryStatus(pkg.status)
dependency = getDependencyStatus(depErrors)
health = getHealthStatus(pkg.status)
} else {
- primary = pkg['state-info'].state as string as PrimaryStatus
+ primary = pkg.stateInfo.state as string as PrimaryStatus
}
return { primary, dependency, health }
diff --git a/web/projects/ui/src/app/services/time-service.ts b/web/projects/ui/src/app/services/time-service.ts
index 641144dae..3b58da744 100644
--- a/web/projects/ui/src/app/services/time-service.ts
+++ b/web/projects/ui/src/app/services/time-service.ts
@@ -32,7 +32,7 @@ export class TimeService {
readonly now$ = combineLatest([
this.time$,
- this.patch.watch$('server-info', 'ntp-synced'),
+ this.patch.watch$('serverInfo', 'ntpSynced'),
]).pipe(
map(([time, synced]) => ({
value: time.now,
diff --git a/web/projects/ui/src/app/services/ui-launcher.service.ts b/web/projects/ui/src/app/services/ui-launcher.service.ts
index 82250048a..badbc7a3e 100644
--- a/web/projects/ui/src/app/services/ui-launcher.service.ts
+++ b/web/projects/ui/src/app/services/ui-launcher.service.ts
@@ -12,7 +12,7 @@ export class UiLauncherService {
private readonly config: ConfigService,
) {}
- launch(interfaces: PackageDataEntry['service-interfaces']): void {
+ launch(interfaces: PackageDataEntry['serviceInterfaces']): void {
this.windowRef.open(
this.config.launchableAddress(interfaces),
'_blank',
diff --git a/web/projects/ui/src/app/util/dry-update.ts b/web/projects/ui/src/app/util/dry-update.ts
index 36d220327..472a48389 100644
--- a/web/projects/ui/src/app/util/dry-update.ts
+++ b/web/projects/ui/src/app/util/dry-update.ts
@@ -4,16 +4,16 @@ import { getManifest } from './get-package-data'
export function dryUpdate(
{ id, version }: { id: string; version: string },
- pkgs: DataModel['package-data'],
+ pkgs: DataModel['packageData'],
emver: Emver,
): string[] {
return Object.values(pkgs)
.filter(
pkg =>
- Object.keys(pkg['current-dependencies'] || {}).some(
+ Object.keys(pkg.currentDependencies || {}).some(
pkgId => pkgId === id,
) &&
- !emver.satisfies(version, pkg['current-dependencies'][id].versionRange),
+ !emver.satisfies(version, pkg.currentDependencies[id].versionRange),
)
.map(pkg => getManifest(pkg).title)
}
diff --git a/web/projects/ui/src/app/util/get-package-data.ts b/web/projects/ui/src/app/util/get-package-data.ts
index 79834bbe7..244324501 100644
--- a/web/projects/ui/src/app/util/get-package-data.ts
+++ b/web/projects/ui/src/app/util/get-package-data.ts
@@ -14,49 +14,47 @@ export async function getPackage(
patch: PatchDB,
id: string,
): Promise {
- return firstValueFrom(patch.watch$('package-data', id))
+ return firstValueFrom(patch.watch$('packageData', id))
}
export async function getAllPackages(
patch: PatchDB,
-): Promise {
- return firstValueFrom(patch.watch$('package-data'))
+): Promise {
+ return firstValueFrom(patch.watch$('packageData'))
}
export function getManifest(pkg: PackageDataEntry): Manifest {
- if (isInstalled(pkg) || isRemoving(pkg)) return pkg['state-info'].manifest
+ if (isInstalled(pkg) || isRemoving(pkg)) return pkg.stateInfo.manifest
- return (pkg['state-info'] as InstallingState)['installing-info'][
- 'new-manifest'
- ]
+ return (pkg.stateInfo as InstallingState).installingInfo.newManifest
}
export function isInstalled(
pkg: PackageDataEntry,
): pkg is PackageDataEntry {
- return pkg['state-info'].state === PackageState.Installed
+ return pkg.stateInfo.state === PackageState.Installed
}
export function isRemoving(
pkg: PackageDataEntry,
): pkg is PackageDataEntry {
- return pkg['state-info'].state === PackageState.Removing
+ return pkg.stateInfo.state === PackageState.Removing
}
export function isInstalling(
pkg: PackageDataEntry,
): pkg is PackageDataEntry {
- return pkg['state-info'].state === PackageState.Installing
+ return pkg.stateInfo.state === PackageState.Installing
}
export function isRestoring(
pkg: PackageDataEntry,
): pkg is PackageDataEntry {
- return pkg['state-info'].state === PackageState.Restoring
+ return pkg.stateInfo.state === PackageState.Restoring
}
export function isUpdating(
pkg: PackageDataEntry,
): pkg is PackageDataEntry {
- return pkg['state-info'].state === PackageState.Updating
+ return pkg.stateInfo.state === PackageState.Updating
}
diff --git a/web/projects/ui/src/app/util/get-server-info.ts b/web/projects/ui/src/app/util/get-server-info.ts
index 4500c4305..08eecd451 100644
--- a/web/projects/ui/src/app/util/get-server-info.ts
+++ b/web/projects/ui/src/app/util/get-server-info.ts
@@ -5,5 +5,5 @@ import { firstValueFrom } from 'rxjs'
export async function getServerInfo(
patch: PatchDB,
): Promise {
- return firstValueFrom(patch.watch$('server-info'))
+ return firstValueFrom(patch.watch$('serverInfo'))
}
diff --git a/web/projects/ui/src/app/util/has-deps.ts b/web/projects/ui/src/app/util/has-deps.ts
index b5c8c1f92..079990d1c 100644
--- a/web/projects/ui/src/app/util/has-deps.ts
+++ b/web/projects/ui/src/app/util/has-deps.ts
@@ -4,5 +4,5 @@ export function hasCurrentDeps(
id: string,
pkgs: Record,
): boolean {
- return !!Object.values(pkgs).some(pkg => !!pkg['current-dependencies'][id])
+ return !!Object.values(pkgs).some(pkg => !!pkg.currentDependencies[id])
}
diff --git a/web/projects/ui/src/app/util/properties.util.ts b/web/projects/ui/src/app/util/properties.util.ts
index 0d1d7e6f4..5afb4bd8b 100644
--- a/web/projects/ui/src/app/util/properties.util.ts
+++ b/web/projects/ui/src/app/util/properties.util.ts
@@ -12,8 +12,6 @@ import matches, {
arrayOf,
} from 'ts-matches'
-type ValidVersion = 1 | 2
-
type PropertiesV1 = typeof matchPropertiesV1._TYPE
type PackagePropertiesV1 = PropertiesV1[]
type PackagePropertiesV2 = {