"use strict"; /* * バックアップ/リストア処理の成否に関わらず、当月ログファイルを * Pleasanter_DB_Backup/logs 配下へ上書きアップロードする。backup.js / restore.js 共用。 */ const fs = require("fs"); const logger = require("./logger"); const { getUserAccessToken } = require("./lineworksUserAuth"); const drive = require("./lineworksDrive"); async function uploadLogFile({ accessToken, sharedriveId, backupFolderId } = {}) { logger.info("ログファイルアップロード開始"); try { let token = accessToken; let driveId = sharedriveId; let folderId = backupFolderId; if (!token) { token = await getUserAccessToken(); } if (!driveId) { driveId = await drive.resolveSharedDriveId(token, logger); } if (!folderId) { const rootFolderName = process.env.LW_BACKUP_ROOT_FOLDER_NAME || "Pleasanter_DB_Backup"; const backupFolder = await drive.ensureFolder(token, driveId, null, rootFolderName, logger); folderId = backupFolder.fileId; } const logFolderName = process.env.LW_LOG_FOLDER_NAME || "logs"; const logsFolder = await drive.ensureFolder(token, driveId, folderId, logFolderName, logger); const logFilePath = logger.currentLogFilePath(); if (fs.existsSync(logFilePath)) { await drive.uploadFile(token, driveId, logsFolder.fileId, logFilePath, { overwrite: true }, logger); logger.info("ログファイルアップロード成功"); } } catch (err) { logger.error(`ログファイルアップロード失敗: ${err.message}`); } } module.exports = { uploadLogFile };