Update KsGitCodeParser.vue to fix the references to the parseStatus and reverseEngineeringStatus properties in the Tag components.

This commit is contained in:
sumedh
2024-10-28 14:46:10 +05:30
parent d28e970a1b
commit 4a043b2075
2 changed files with 149 additions and 28 deletions

View File

@@ -117,7 +117,7 @@
<Column field="ParseStatus" header="Parse Status" sortable>
<template #body="slotProps">
<Tag :value="slotProps.data.parseStatus" :severity="getStatus(slotProps.data)" />
<Tag :value="slotProps.data.parseStatuses[0].status" :severity="getStatus(slotProps.data)" />
</template>
<template #filter="{ filterModel, filterCallback }">
<Select v-model="filterModel.value" @change="filterCallback()" :options="parsestatus"
@@ -131,7 +131,8 @@
<Column field="reverseEngineeringStatus" header="RE Status" sortable>
<template #body="slotProps">
<Tag :value="slotProps.data.reverseEngineeringStatus" :severity="getStatus(slotProps.data)" />
<Tag :value="slotProps.data.revEngineeringStatuses[0].status"
:severity="getStatus(slotProps.data)" />
</template>
<template #filter="{ filterModel, filterCallback }">
<Select v-model="filterModel.value" @change="filterCallback()" :options="statuses"
@@ -172,6 +173,10 @@
@click="parseGitRepo(slotProps.data)" v-tooltip.top="'Start Parsing of Repo'"
:disabled="isButtonDisabled(slotProps.data)" />
<Button text raised rounded severity="warn" type="button" class="mr-2" icon="pi pi-play"
@click="reverserEnginneringGitRepo(slotProps.data)" v-tooltip.top="'Start RE of Repo'"
:disabled="isButtonDisabled(slotProps.data)" />
<!--Button text raised rounded severity="warn" type="button" class="mr-2" icon="pi pi-forward"
@click="reIngestWithPullChanges(slotProps.data)"
v-tooltip.top="'Ingest Latest changes From Git'" /-->
@@ -222,6 +227,7 @@ import cloneForm from './KsGitCodeParserDialog.vue';
const showDialog = ref(false);
const cloneRepo = (formData) => {
try {
console.log("formaData", formData)
const response = axios.post('/fe-api/ks_git_repos/clone', formData, {
headers: {
'Content-Type': 'application/json'
@@ -282,16 +288,19 @@ const handleCloneRepoWebSocketMessage = (data) => {
//updateParsingProgress
const updateParsingProgress = async (data) => {
const updatedData = await Promise.all((data || []).map(async (d) => {
if (d.parseStatus === "IN PROGRESS") {
const firstStatus = d.parseStatuses[0].status;
console.log("firstStatus", firstStatus);
if (d.parseStatuses[0].status === "IN PROGRESS") {
try {
const parseResponse = await axios.get(`/get-parse-status?id=${d.parseId}`);
const parseResponse = await axios.get(`/get-parse-status?id=${d.parseStatuses[0].parseProcessId}`);
d.parseInfo = parseResponse.data;
} catch (error) {
console.error("Error fetching parse status:", error);
d.parseInfo = { totalFiles: 0, parsedFiles: 0 };
}
} else if (d.parseStatus === "DONE") {
} else if (d.parseStatuses[0].status === "DONE") {
d.parseInfo = { totalFiles: 1, parsedFiles: 1 };
} else {
d.parseInfo = { totalFiles: 0, parsedFiles: 0 };
@@ -385,12 +394,7 @@ const parseGitRepo = (data) => {
console.log(data)
const requestBody = {
id: data.id,
repositoryPath: data.repoPath,
applicationName: data.ksGitIngestionInfo.metadata.KsApplicationName,
applicationVersion: data.commitId,
deleteExistingData: true,
applicationType: data.codeType,
projectName: data.ksGitIngestionInfo.metadata.KsApplicationName,
};
console.log(requestBody);
@@ -408,7 +412,7 @@ const parseGitRepo = (data) => {
severity: 'danger',
},
accept: () => {
axios.post('/parsejava', requestBody)
axios.post('/parse', requestBody)
.then((response) => {
toast.add({ severity: 'success', summary: 'Summary', detail: 'Repository Parsing Started', life: 6000 });
console.log('Parsing info:', response.data)
@@ -424,6 +428,47 @@ const parseGitRepo = (data) => {
})
};
//reverse engineering of git repo functions
const reverserEnginneringGitRepo = (data) => {
console.log(data)
const requestBody = {
id: data.id,
deleteExistingData: true,
};
console.log(requestBody);
confirm.require({
target: event.currentTarget,
message: 'Are you sure you want to proceed?',
icon: 'pi pi-exclamation-circle',
rejectProps: {
label: 'Cancel',
severity: 'secondary',
outlined: true
},
acceptProps: {
label: 'Reverse Eng Record',
severity: 'danger',
},
accept: () => {
axios.post('/revenginnerapplication', requestBody)
.then((response) => {
toast.add({ severity: 'success', summary: 'Summary', detail: 'Repository RE Started', life: 6000 });
console.log('Parsing info:', response.data)
})
.catch((error) => {
console.error('Error deleting records: ', error)
toast.add({ severity: 'error', summary: 'Error', detail: 'Error RE Repository:', life: 6000 });
});
},
reject: () => {
toast.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000 })
}
})
};
// ---------------------------------------------------------------------------------------------------------

View File

@@ -42,18 +42,71 @@
:options="[{ label: 'Enable', value: true }, { label: 'Disable', value: false }]"
optionLabel="label" optionValue="value" fluid></Select>
</div>
<div class="col-span-6">
<!--div class="col-span-6">
<label for="codeType" class="block font-bold mb-3">Git Token Type</label>
<Select id="codeType" v-model="formData.codeType" :options="codeTypes" optionLabel="label"
optionValue="value" placeholder="Select Git Token Type" fluid></Select>
</div-->
<div>
<label for="commitId" class="block font-bold mb-3">CommitID</label>
<InputText id="commitId" type="text" v-model.trim="formData.commitId" required="true" />
</div>
</div>
<div class="grid grid-cols-12 gap-4">
<div class="col-span-6">
<div>
<label for="projectName" class="block font-bold mb-3">projectName</label>
<InputText id="projectName" type="text" v-model.trim="formData.projectName" required="true" />
</div>
</div>
<div>
<label for="applicationVersion" class="block font-bold mb-3">applicationVersion</label>
<InputText id="applicationVersion" type="text" v-model.trim="formData.applicationVersion"
required="true" />
</div>
</div>
<!-- Code Types Section -->
<div>
<h3 class="font-bold mb-3">Code Types</h3>
<div v-for="(codeType, index) in formData.codeTypes" :key="index" class="grid grid-cols-12 gap-4">
<div class="col-span-4">
<label :for="'codeType-' + index" class="block font-bold mb-3">Type</label>
<InputText :id="'codeType-' + index" v-model.trim="codeType.type" placeholder="Enter Type"
required="true" fluid />
</div>
<div class="col-span-4">
<label :for="'reScenario-' + index" class="block font-bold mb-3">Re Scenario</label>
<InputText :id="'reScenario-' + index" v-model.trim="codeType.re_scenario"
placeholder="Enter Re Scenario" required="true" fluid />
</div>
<div class="col-span-4">
<label :for="'baseSource-' + index" class="block font-bold mb-3">Base Source</label>
<InputText :id="'baseSource-' + index" v-model.trim="codeType.base_source"
placeholder="Enter Base Source" required="true" fluid />
</div>
</div>
<!-- New Entry Row -->
<!--div class="grid grid-cols-12 gap-4 mt-4">
<div class="col-span-4">
<InputText v-model.trim="newCodeType.type" placeholder="Enter Type" required="true" fluid />
</div>
<div class="col-span-4">
<InputText v-model.trim="newCodeType.re_scenario" placeholder="Enter Re Scenario"
required="true" fluid />
</div>
<div class="col-span-4">
<InputText v-model.trim="newCodeType.base_source" placeholder="Enter Base Source"
required="true" fluid />
</div>
<div class="col-span-1 flex items-center">
<button type="button" @click="addCodeType"
class="bg-blue-500 text-white px-4 py-2 rounded">+</button>
</div>
</div!-->
</div>
<!--div>
<label for="commitId" class="block font-bold mb-3">CommitID</label>
<InputText id="commitId" type="text" v-model.trim="formData.commitId" required="true" />
</div-->
</div>
<div class="button-container">
<Button type="button" label="Cancel" text rounded raised :fluid="false" severity="danger"
@@ -68,21 +121,44 @@
import { ref } from 'vue';
const formData = ref({
source: 'https://github.com',
repoName: 'shellExecutionThroughAPI',
group: 'automationtester23',
source: 'https://github.com',
tokenType: 'github',
branch: 'master',
commitId: 'latest',
tokenType: 'github',
projectName: "TestProject01",
applicationVersion: "V1.1",
repoPath: 'C:/repos/olympus_ai/gitClone',
codeParsingToBeDone: false,
codeType: 'Java',
//codeType: 'Java',
defaultChunkSize: 0,
minChunkSize: 0,
maxNumberOfChunks: 0,
minChunkSizeToEmbed: 0
minChunkSizeToEmbed: 0,
codeTypes: [
{ type: "Java", re_scenario: "671617d34aca060d07b4e13d", base_source: "/src/main/java" },
{ type: "jsp", re_scenario: "789", base_source: "/Path1" }
]
});
const newCodeType = ref({
type: '',
re_scenario: '',
base_source: ''
});
const addCodeType = () => {
if (newCodeType.value.type && newCodeType.value.re_scenario && newCodeType.value.base_source) {
formData.value.codeTypes.push({ ...newCodeType.value });
newCodeType.value.type = '';
newCodeType.value.re_scenario = '';
newCodeType.value.base_source = '';
} else {
alert('Please fill in all fields');
}
};
const gitSourceURLs = ref([
{ label: 'https://github.com', value: 'https://github.com' },
{ label: 'https://gitlab.gcp.windtre.it', value: 'https://gitlab.gcp.windtre.it' },
@@ -95,12 +171,6 @@ const tokenTypes = ref([
{ label: 'git-github', value: 'github' }
]);
const codeTypes = ref([
{ label: 'Java', value: 'Java' },
{ label: 'Python', value: 'python' },
{ label: 'SQL', value: 'SQL' }
]);
const isSubmitting = ref(false);
const emit = defineEmits(['submitForm', 'cancel'])
@@ -122,11 +192,13 @@ const submitForm = () => {
formDataToSend.append('commitId', formData.value.commitId);
formDataToSend.append('tokenType', formData.value.tokenType);
formDataToSend.append('codeParsingToBeDone', true);
formDataToSend.append('codeType', formData.value.codeType);
formDataToSend.append('codeTypes', JSON.stringify(formData.value.codeTypes));
formDataToSend.append('defaultChunkSize', formData.value.defaultChunkSize);
formDataToSend.append('minChunkSize', formData.value.minChunkSize);
formDataToSend.append('maxNumberOfChunks', formData.value.maxNumberOfChunks);
formDataToSend.append('minChunkSizeToEmbed', formData.value.minChunkSizeToEmbed);
formDataToSend.append('projectName', formData.value.projectName);
formDataToSend.append('applicationVersion', formData.value.applicationVersion);
//console.log(formData);
const json = formDatatoJson(formDataToSend);
@@ -137,7 +209,11 @@ const submitForm = () => {
function formDatatoJson(formData) {
const jsonObject = {};
formData.forEach((value, key) => {
jsonObject[key] = value;
if (key === 'codeTypes' && typeof value === 'string') {
jsonObject[key] = JSON.parse(value);
} else {
jsonObject[key] = value;
}
})
return jsonObject;
}