Skip to content

Commit 125576c

Browse files
committed
check if virtual dir correct at file arch
1 parent 98ea9c8 commit 125576c

File tree

1 file changed

+16
-0
lines changed
  • backend/src/build-system/handlers/file-manager/file-arch

1 file changed

+16
-0
lines changed

backend/src/build-system/handlers/file-manager/file-arch/index.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,23 @@ import { BuilderContext } from 'src/build-system/context';
33
import { generateFileArchPrompt } from './prompt';
44
import { Logger } from '@nestjs/common';
55
import { extractJsonFromMarkdown } from 'src/build-system/utils/strings';
6+
import { VirtualDirectory } from '../../../virtual-dir';
7+
import {
8+
buildDependencyGraph,
9+
validateAgainstVirtualDirectory,
10+
} from '../../../utils/file_generator_util';
611

712
export class FileArchGenerateHandler implements BuildHandler<string> {
813
readonly id = 'op:FILE:ARCH';
914
private readonly logger: Logger = new Logger('FileArchGenerateHandler');
15+
private virtualDir: VirtualDirectory;
1016

1117
// TODO: adding page by page analysis
1218
async run(context: BuilderContext): Promise<BuildResult<string>> {
1319
this.logger.log('Generating File Architecture Document...');
1420

21+
this.virtualDir = context.virtualDirectory;
22+
1523
const fileStructure = context.getNodeData('op:FILE:STRUCT');
1624
// TODO: here should use datamap struct
1725
const datamapDoc = context.getNodeData('op:UX:DATAMAP:DOC');
@@ -72,6 +80,14 @@ export class FileArchGenerateHandler implements BuildHandler<string> {
7280
this.logger.error('File architecture JSON validation failed');
7381
continue;
7482
}
83+
console.log(jsonData);
84+
// validate with virutual dir
85+
const { graph, nodes, fileInfos } = buildDependencyGraph(jsonData);
86+
if (!validateAgainstVirtualDirectory(nodes, this.virtualDir)) {
87+
retry += 1;
88+
this.logger.error('Validate Against Virtual Directory Fail !!!');
89+
continue;
90+
}
7591

7692
successBuild = true;
7793
} catch (error) {

0 commit comments

Comments
 (0)