fix ca trust test and snek high score

This commit is contained in:
Matt Hill
2024-06-25 10:54:09 -06:00
parent 8009dd691b
commit 0c188f6d10
7 changed files with 31 additions and 10 deletions

View File

@@ -39,7 +39,7 @@ export class SnekDirective {
try {
await this.embassyApi.setDbValue<number>(
['gaming', 'snake', 'high-score'],
['gaming', 'snake', 'highScore'],
data.highScore,
)
} catch (e: any) {

View File

@@ -42,7 +42,7 @@ export class CAWizardComponent {
private async testHttps() {
const url = `https://${this.document.location.host}${this.relativeUrl}`
await this.api.getState().then(() => {
await this.api.echo({ message: 'ping' }, url).then(() => {
this.caTrusted = true
})
}

View File

@@ -12,7 +12,10 @@ export module RR {
export type WebsocketConfig<T> = Omit<WebSocketSubjectConfig<T>, 'url'>
// server state
// state
export type EchoReq = { message: string } // server.echo
export type EchoRes = string
export type ServerState = 'initializing' | 'error' | 'running'

View File

@@ -17,7 +17,9 @@ export abstract class ApiService {
config: RR.WebsocketConfig<T>,
): Observable<T>
// server state
// state
abstract echo(params: RR.EchoReq, url: string): Promise<RR.EchoRes>
abstract getState(): Promise<RR.ServerState>

View File

@@ -71,6 +71,10 @@ export class LiveApiService extends ApiService {
// state
async echo(params: RR.EchoReq, url: string): Promise<RR.EchoRes> {
return this.rpcRequest({ method: 'echo', params }, url)
}
async getState(): Promise<RR.ServerState> {
return this.rpcRequest({ method: 'state', params: {} })
}

View File

@@ -118,7 +118,17 @@ export class MockApiService extends ApiService {
}
}
// server state
// state
async echo(params: RR.EchoReq, url: string): Promise<RR.EchoRes> {
if (url) {
const num = Math.floor(Math.random() * 10) + 1
if (num > 8) return params.message
throw new Error()
}
await pauseFor(2000)
return params.message
}
private stateIndex = 0
async getState(): Promise<RR.ServerState> {