Compare commits
No commits in common. "e0fd6240781cd73591f96508ae768082131fe1f9" and "deb01bc7a59628d73a8b60a19e24f24ec979c158" have entirely different histories.
e0fd624078
...
deb01bc7a5
|
|
@ -132,6 +132,52 @@ export class FileSystemManager {
|
||||||
return sharedPath;
|
return sharedPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 회사별 폴더 구조에서 파일 찾기
|
||||||
|
* @param companyCode 회사 코드
|
||||||
|
* @param serverFilename 서버 파일명
|
||||||
|
* @returns 찾은 파일의 전체 경로 또는 null
|
||||||
|
*/
|
||||||
|
static findFileInCompanyFolders(
|
||||||
|
companyCode: string,
|
||||||
|
serverFilename: string
|
||||||
|
): string | null {
|
||||||
|
try {
|
||||||
|
const companyBasePath = path.join(
|
||||||
|
this.BASE_UPLOAD_PATH,
|
||||||
|
`company_${companyCode}`
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!fs.existsSync(companyBasePath)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 회사 폴더 내의 모든 하위 폴더를 재귀적으로 검색
|
||||||
|
const findFileRecursively = (dirPath: string): string | null => {
|
||||||
|
const items = fs.readdirSync(dirPath);
|
||||||
|
|
||||||
|
for (const item of items) {
|
||||||
|
const itemPath = path.join(dirPath, item);
|
||||||
|
const stats = fs.statSync(itemPath);
|
||||||
|
|
||||||
|
if (stats.isFile() && item === serverFilename) {
|
||||||
|
return itemPath;
|
||||||
|
} else if (stats.isDirectory()) {
|
||||||
|
const found = findFileRecursively(itemPath);
|
||||||
|
if (found) return found;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
return findFileRecursively(companyBasePath);
|
||||||
|
} catch (error) {
|
||||||
|
logger.error(`파일 검색 실패: ${companyCode}/${serverFilename}`, error);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 회사별 디스크 사용량 조회
|
* 회사별 디스크 사용량 조회
|
||||||
* @param companyCode 회사 코드
|
* @param companyCode 회사 코드
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue