Files
start-os/sdk/base/lib/util/GetSslCertificate.ts
Aiden McClelland 76de6be7de refactor: extract Watchable<T> base class for SDK effect wrappers
Eliminates boilerplate across 7 wrapper classes (GetContainerIp,
GetHostInfo, GetOutboundGateway, GetServiceManifest, GetSslCertificate,
GetStatus, GetSystemSmtp) by moving shared const/once/watch/onChange/
waitFor logic into an abstract Watchable<T> base class.
2026-03-09 15:54:02 -06:00

21 lines
482 B
TypeScript

import { Effects } from '../Effects'
import { Watchable } from './Watchable'
export class GetSslCertificate extends Watchable<[string, string, string]> {
protected readonly label = 'GetSslCertificate'
constructor(
effects: Effects,
readonly opts: {
hostnames: string[]
algorithm?: 'ecdsa' | 'ed25519'
},
) {
super(effects)
}
protected call(callback?: () => void) {
return this.effects.getSslCertificate({ ...this.opts, callback })
}
}