mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-18 13:30:48 +00:00
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import type { MSTeamsConfig } from "openclaw/plugin-sdk/msteams";
|
|
import {
|
|
hasConfiguredSecretInput,
|
|
normalizeResolvedSecretInputString,
|
|
normalizeSecretInputString,
|
|
} from "./secret-input.js";
|
|
|
|
export type MSTeamsCredentials = {
|
|
appId: string;
|
|
appPassword: string;
|
|
tenantId: string;
|
|
};
|
|
|
|
export function hasConfiguredMSTeamsCredentials(cfg?: MSTeamsConfig): boolean {
|
|
return Boolean(
|
|
normalizeSecretInputString(cfg?.appId) &&
|
|
hasConfiguredSecretInput(cfg?.appPassword) &&
|
|
normalizeSecretInputString(cfg?.tenantId),
|
|
);
|
|
}
|
|
|
|
export function resolveMSTeamsCredentials(cfg?: MSTeamsConfig): MSTeamsCredentials | undefined {
|
|
const appId =
|
|
normalizeSecretInputString(cfg?.appId) ||
|
|
normalizeSecretInputString(process.env.MSTEAMS_APP_ID);
|
|
const appPassword =
|
|
normalizeResolvedSecretInputString({
|
|
value: cfg?.appPassword,
|
|
path: "channels.msteams.appPassword",
|
|
}) || normalizeSecretInputString(process.env.MSTEAMS_APP_PASSWORD);
|
|
const tenantId =
|
|
normalizeSecretInputString(cfg?.tenantId) ||
|
|
normalizeSecretInputString(process.env.MSTEAMS_TENANT_ID);
|
|
|
|
if (!appId || !appPassword || !tenantId) {
|
|
return undefined;
|
|
}
|
|
|
|
return { appId, appPassword, tenantId };
|
|
}
|