fix(extensions): add HTTP route types and getHttpRoutes to Extension interface
Some checks are pending
Docker Compose Actions Workflow / test (push) Waiting to run
Some checks are pending
Docker Compose Actions Workflow / test (push) Waiting to run
HttpRoute, HttpRequest, and HttpResponse types were used by extensions (withdraw, nip05) but not defined in the shared types.ts. Adds them here so extensions import from the shared module instead of defining locally. Also adds getHttpRoutes() as an optional method on the Extension interface for extensions that expose HTTP endpoints. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c308d4be78
commit
5cc7f3998c
1 changed files with 31 additions and 0 deletions
|
|
@ -191,6 +191,31 @@ export interface ExtensionContext {
|
|||
log(level: 'debug' | 'info' | 'warn' | 'error', message: string, ...args: any[]): void
|
||||
}
|
||||
|
||||
/**
|
||||
* HTTP route handler types
|
||||
* Used by extensions that expose HTTP endpoints (e.g. LNURL, .well-known)
|
||||
*/
|
||||
export interface HttpRequest {
|
||||
method: string
|
||||
path: string
|
||||
params: Record<string, string>
|
||||
query: Record<string, string>
|
||||
headers: Record<string, string>
|
||||
body?: any
|
||||
}
|
||||
|
||||
export interface HttpResponse {
|
||||
status: number
|
||||
body: any
|
||||
headers?: Record<string, string>
|
||||
}
|
||||
|
||||
export interface HttpRoute {
|
||||
method: 'GET' | 'POST'
|
||||
path: string
|
||||
handler: (req: HttpRequest) => Promise<HttpResponse>
|
||||
}
|
||||
|
||||
/**
|
||||
* Extension interface - what extensions must implement
|
||||
*/
|
||||
|
|
@ -217,6 +242,12 @@ export interface Extension {
|
|||
* Return true if extension is healthy
|
||||
*/
|
||||
healthCheck?(): Promise<boolean>
|
||||
|
||||
/**
|
||||
* Get HTTP routes exposed by this extension
|
||||
* The main HTTP server will mount these routes
|
||||
*/
|
||||
getHttpRoutes?(): HttpRoute[]
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue