mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 10:21:52 +00:00
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.
16 lines
379 B
TypeScript
16 lines
379 B
TypeScript
import { Effects } from '../Effects'
|
|
import * as T from '../types'
|
|
import { Watchable } from './Watchable'
|
|
|
|
export class GetSystemSmtp extends Watchable<T.SmtpValue | null> {
|
|
protected readonly label = 'GetSystemSmtp'
|
|
|
|
constructor(effects: Effects) {
|
|
super(effects)
|
|
}
|
|
|
|
protected call(callback?: () => void) {
|
|
return this.effects.getSystemSmtp({ callback })
|
|
}
|
|
}
|