From dc71a625b2ce78d9a85eedd1859f577fc0ffc91e Mon Sep 17 00:00:00 2001 From: Drew Ansbacher Date: Tue, 13 Jul 2021 14:13:33 -0600 Subject: [PATCH] reg test --- .gitignore | 3 +- ui/README.md | 3 +- ui/{ui-config.json => config-sample.json} | 3 +- ui/src/app/services/api/mock-api.service.ts | 45 +++++++++++++++++---- ui/src/app/services/config.service.ts | 3 +- ui/src/app/services/http.service.ts | 5 +++ 6 files changed, 50 insertions(+), 12 deletions(-) rename ui/{ui-config.json => config-sample.json} (82%) diff --git a/.gitignore b/.gitignore index 7fa0a4445..4ec929c5b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store /*.img /buster.zip -/product_key \ No newline at end of file +/product_key +config.json \ No newline at end of file diff --git a/ui/README.md b/ui/README.md index 9840dfac7..ad872ea23 100644 --- a/ui/README.md +++ b/ui/README.md @@ -42,7 +42,8 @@ Then open `patch-db`, `ws-example`, and `embassy-os`, in separate tabs. `npm i` -In `ui-config.json`, edit the "mocks" section to look like the following: +Copy `config-sample.json` to new file `config.json` +In `config.json`, edit the "mocks" section to look like the following: ``` "mocks": { diff --git a/ui/ui-config.json b/ui/config-sample.json similarity index 82% rename from ui/ui-config.json rename to ui/config-sample.json index 65a58f496..50460a61e 100644 --- a/ui/ui-config.json +++ b/ui/config-sample.json @@ -14,6 +14,7 @@ "rpcPort": "5959", "wsPort": "5960", "maskAs": "tor", - "skipStartupAlerts": true + "skipStartupAlerts": true, + "registryURL": "" } } diff --git a/ui/src/app/services/api/mock-api.service.ts b/ui/src/app/services/api/mock-api.service.ts index 534582a98..70686e408 100644 --- a/ui/src/app/services/api/mock-api.service.ts +++ b/ui/src/app/services/api/mock-api.service.ts @@ -7,8 +7,9 @@ import { DataModel, PackageDataEntry, PackageMainStatus, PackageState, ServerSta import { RR } from './api-types' import { parsePropertiesPermissive } from 'src/app/util/properties.util' import { Mock } from './mock-app-fixures' -import { HttpService } from '../http.service' +import { HttpService, Method } from '../http.service' import markdown from 'raw-loader!src/assets/markdown/md-sample.md' +import { ConfigService } from '../config.service' @Injectable() export class MockApiService extends ApiService { @@ -17,6 +18,7 @@ export class MockApiService extends ApiService { constructor ( private readonly http: HttpService, + private readonly configService: ConfigService, ) { super() } // every time a patch is returned from the mock, we override its sequence to be 1 more than the last sequence in the patch-db as provided by `o`. @@ -472,25 +474,52 @@ export class MockApiService extends ApiService { // marketplace async getMarketplaceData (params: RR.GetMarketplaceDataReq): Promise { - await pauseFor(2000) - return { - categories: ['featured', 'bitcoin', 'lightning', 'data', 'messaging', 'social', 'alt coin'], + const registryURL = this.configService.mocks.registryURL + if(!registryURL) { + await pauseFor(2000) + return { + categories: ['featured', 'bitcoin', 'lightning', 'data', 'messaging', 'social', 'alt coin'], + } } + const url = `${registryURL}/marketplace/data` + let md = await this.http.simpleGet(url) + return (md as any) } async getEos (params: RR.GetMarketplaceEOSReq): Promise { + const registryURL = this.configService.mocks.registryURL + if(!registryURL) { + await pauseFor(2000) + return Mock.MarketplaceEos + } + const url = `${registryURL}/sys/version/eos` + let eos = await this.http.simpleGet(url) + return (eos as any) await pauseFor(2000) return Mock.MarketplaceEos } async getAvailableList (params: RR.GetAvailableListReq): Promise { - await pauseFor(2000) - return Mock.AvailableList + const registryURL = this.configService.mocks.registryURL + if(!registryURL) { + await pauseFor(2000) + return Mock.AvailableList + } + const url = `${registryURL}/marketplace/available/list?category=${params.category || 'featured'}&per-page=${params['per-page'] || '20'}&page=${params.page || '1'}&query=${params.query || ''}` + let av = await this.http.simpleGet(url) + return (av as any) } async getAvailableShow (params: RR.GetAvailableShowReq): Promise { - await pauseFor(2000) - return Mock.AvailableShow[params.id][params.version || 'latest'] + const registryURL = this.configService.mocks.registryURL + if(!registryURL) { + await pauseFor(2000) + return Mock.AvailableShow[params.id][params.version || 'latest'] + } + const url = `${registryURL}/marketplace/available?id=${params.id}&version=${params.version || '1.3.0'}` + let res = await this.http.simpleGet(url) + console.log('res RES RES', res) + return (res as any) } private nextSequence () { diff --git a/ui/src/app/services/config.service.ts b/ui/src/app/services/config.service.ts index 0cd286032..8e66e8641 100644 --- a/ui/src/app/services/config.service.ts +++ b/ui/src/app/services/config.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core' import { InstalledPackageDataEntry, InterfaceDef, Manifest, PackageDataEntry, PackageMainStatus, PackageState } from './patch-db/data-model' -const { patchDb, api, mocks } = require('../../../ui-config.json') as UiConfig +const { patchDb, api, mocks } = require('../../../config.json') as UiConfig type UiConfig = { patchDb: { @@ -20,6 +20,7 @@ type UiConfig = { wsPort: number maskAs: 'tor' | 'lan' skipStartupAlerts: boolean + registryURL: String } } @Injectable({ diff --git a/ui/src/app/services/http.service.ts b/ui/src/app/services/http.service.ts index 428cf220f..660f97479 100644 --- a/ui/src/app/services/http.service.ts +++ b/ui/src/app/services/http.service.ts @@ -44,6 +44,11 @@ export class HttpService { if (isRpcSuccess(res)) return res.result } + async simpleGet (url: string): Promise { + const data = await this.http.get(url).toPromise() + return data + } + async httpRequest (httpOpts: HttpOptions): Promise { let { body, timeout, ...rest} = this.translateOptions(httpOpts) let req: Observable<{ body: T }>