mirror of
https://github.com/ajnart/homarr.git
synced 2026-02-28 09:21:00 +01:00
* feat: add pi hole summary integration * feat: add pi hole summary widget * fix: type issues with integrations and integrationIds * feat: add middleware for integrations and improve cache redis channel * feat: add error boundary for widgets * fix: broken lock file * fix: format format issues * fix: typecheck issue * fix: deepsource issues * fix: widget sandbox without error boundary * chore: address pull request feedback * chore: remove todo comment and created issue * fix: format issues * fix: deepsource issue
23 lines
584 B
TypeScript
23 lines
584 B
TypeScript
import type { IntegrationSecretKind } from "@homarr/definitions";
|
|
|
|
import type { IntegrationSecret } from "./types";
|
|
|
|
export abstract class Integration {
|
|
constructor(
|
|
protected integration: {
|
|
id: string;
|
|
name: string;
|
|
url: string;
|
|
decryptedSecrets: IntegrationSecret[];
|
|
},
|
|
) {}
|
|
|
|
protected getSecretValue(kind: IntegrationSecretKind) {
|
|
const secret = this.integration.decryptedSecrets.find((secret) => secret.kind === kind);
|
|
if (!secret) {
|
|
throw new Error(`No secret of kind ${kind} was found`);
|
|
}
|
|
return secret.value;
|
|
}
|
|
}
|