fix(extensions): add HTTP route types and getHttpRoutes to Extension interface
Some checks failed
Docker Compose Actions Workflow / test (push) Has been cancelled
Some checks failed
Docker Compose Actions Workflow / test (push) Has been cancelled
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
81f199a18a
commit
a574a5b817
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