diff --git a/src/core/state.ts b/src/core/state.ts index fd5d181..6751938 100644 --- a/src/core/state.ts +++ b/src/core/state.ts @@ -14,6 +14,7 @@ export interface MasterAssetData { logs: HardwareLog[]; // 동료 코드 호환용 통합 배열 (프론트엔드 로직용) + hw: HardwareAsset[]; sw: SoftwareAsset[]; } @@ -36,6 +37,7 @@ export const state: AppState = { subSw: [], permSw: [], cloud: [], + hw: [], // 호환용 sw: [], // 호환용 swUsers: [], logs: [] @@ -90,6 +92,15 @@ export async function loadMasterDataFromDB() { ...state.masterData.cloud ]; + // 하드웨어 통합 배열 생성 (대시보드 등에서 사용) + state.masterData.hw = [ + ...state.masterData.pc, + ...state.masterData.server, + ...state.masterData.storage, + ...state.masterData.equip, + ...state.masterData.mobile + ]; + console.log('✅ 모든 DB 데이터 로드 및 통합 완료'); return true; } catch (err) { @@ -137,6 +148,15 @@ export function saveHardwareAsset(updatedAsset: HardwareAsset) { // 3. 새로운 타겟 카테고리에 추가 (state.masterData[targetKey] as HardwareAsset[]).push(updatedAsset); + + // 4. 통합 hw 배열 동기화 + state.masterData.hw = [ + ...state.masterData.pc, + ...state.masterData.server, + ...state.masterData.storage, + ...state.masterData.equip, + ...state.masterData.mobile + ]; } /** @@ -151,4 +171,13 @@ export function deleteHardwareAsset(assetId: string) { if (idx > -1) arr.splice(idx, 1); } }); + + // 통합 hw 배열 동기화 + state.masterData.hw = [ + ...state.masterData.pc, + ...state.masterData.server, + ...state.masterData.storage, + ...state.masterData.equip, + ...state.masterData.mobile + ]; }