UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

37 lines (33 loc) 885 B
import { DEVICE_TOKEN_FILE_NAME } from '../../paths'; import { logger, stringifyError } from '../../util'; import { Spawner } from '../../util/spawner'; export type DeviceTokens = { deviceId: any; accessToken: any; refreshToken: any; idToken: any; }; export async function writeTokens({ spawner, tokens }: { spawner: Spawner; tokens: DeviceTokens; }) { await spawner.mkdirp(); let contents = tokens; if (await spawner.exists(DEVICE_TOKEN_FILE_NAME)) { try { const origContents = await spawner.readFile(DEVICE_TOKEN_FILE_NAME); const origParsed = JSON.parse(origContents); contents = { ...origParsed, ...contents }; } catch (err) { logger.error(stringifyError(err)); await spawner.rimraf(DEVICE_TOKEN_FILE_NAME); } } await spawner.writeFile( DEVICE_TOKEN_FILE_NAME, JSON.stringify(contents, null, 2) ); }