import fs from
"node:fs";
import path from
"node:path";
export
const MATRIX_TEST_HOMESERVER =
"https://matrix.example.org";
export
const MATRIX_DEFAULT_USER_ID =
"@bot:example.org";
export
const MATRIX_DEFAULT_ACCESS_TOKEN =
"tok-123";
export
const MATRIX_DEFAULT_DEVICE_ID =
"DEVICE123";
export
const MATRIX_OPS_ACCOUNT_ID =
"ops";
export
const MATRIX_OPS_USER_ID =
"@ops-bot:example.org";
export
const MATRIX_OPS_ACCESS_TOKEN =
"tok-ops";
export
const MATRIX_OPS_DEVICE_ID =
"DEVICEOPS";
export
function writeFile(filePath: string, value: string) {
fs.mkdirSync(path.dirname(filePath), { recursive:
true });
fs.writeFileSync(filePath, value,
"utf8");
}
export
function writeMatrixCredentials(
stateDir: string,
params?: {
accountId?: string;
homeserver?: string;
userId?: string;
accessToken?: string;
deviceId?: string;
},
) {
const accountId = params?.accountId ?? MATRIX_OPS_ACCOUNT_ID;
writeFile(
path.join(stateDir,
"credentials",
"matrix", `credentials-${accountId}.json`),
JSON.stringify(
{
homeserver: params?.homeserver ?? MATRIX_TEST_HOMESERVER,
userId: params?.userId ?? MATRIX_OPS_USER_ID,
accessToken: params?.accessToken ?? MATRIX_OPS_ACCESS_TOKEN,
deviceId: params?.deviceId ?? MATRIX_OPS_DEVICE_ID,
},
null,
2,
),
);
}