Skip to content
Snippets Groups Projects
Commit fdd613ec authored by Alexandre Veremme's avatar Alexandre Veremme
Browse files

feat(lifecycle): handle API lifecylce endpoint to associate and register a new node

parent d834607b
No related branches found
No related tags found
No related merge requests found
...@@ -17,6 +17,16 @@ export const startMission = async (missionId: number): Promise<Mission> => { ...@@ -17,6 +17,16 @@ export const startMission = async (missionId: number): Promise<Mission> => {
return response.data as Mission; return response.data as Mission;
}; };
export const addAndRegisterNewNode = async (missionId: number, configuration: Configuration): Promise<Configuration> => {
try {
const response = await apiClient.post(`/mission/${missionId}/lifecycle/add-register-new-node`, configuration);
return response.data as Configuration;
} catch (error) {
console.error('Error creating configurations:', error);
throw error;
}
};
export const sendCoordinatesToCvo = async (missionId: number): Promise<Mission> => { export const sendCoordinatesToCvo = async (missionId: number): Promise<Mission> => {
const response = await apiClient.post(`/mission/${missionId}/lifecycle/send-coordinates-to-cvo`); const response = await apiClient.post(`/mission/${missionId}/lifecycle/send-coordinates-to-cvo`);
return response.data as Mission; return response.data as Mission;
......
...@@ -68,13 +68,10 @@ import { type PropType, ref, watch } from 'vue'; ...@@ -68,13 +68,10 @@ import { type PropType, ref, watch } from 'vue';
import { type Mission } from '../../api/mission/mission-model.ts'; import { type Mission } from '../../api/mission/mission-model.ts';
import { formRules } from '../../api/tools.ts'; import { formRules } from '../../api/tools.ts';
import { type VForm, VSelect } from 'vuetify/components'; import { type VForm, VSelect } from 'vuetify/components';
import { import { getAllAvailableConfigurationsByMissionId, replaceGatewayConfiguration } from '../../api/configuration/configuration-service.ts';
createManyNodeConfigurations,
getAllAvailableConfigurationsByMissionId,
replaceGatewayConfiguration,
} from '../../api/configuration/configuration-service.ts';
import type { Configuration } from '../../api/configuration/configuration-model.ts'; import type { Configuration } from '../../api/configuration/configuration-model.ts';
import { is404Error } from '../../app-config/axios/api-error.ts'; import { is404Error } from '../../app-config/axios/api-error.ts';
import { addAndRegisterNewNode } from '../../api/mission/mission-lifecycle-service.ts';
const props = defineProps({ const props = defineProps({
isModalOpen: { isModalOpen: {
...@@ -129,7 +126,7 @@ const addOrReplaceConfiguration = async () => { ...@@ -129,7 +126,7 @@ const addOrReplaceConfiguration = async () => {
handleSuccess(); handleSuccess();
}); });
} else { } else {
await createManyNodeConfigurations(props.mission.missionId, [selectedConfiguration.value]).then(() => { await addAndRegisterNewNode(props.mission.missionId, selectedConfiguration.value).then(() => {
handleSuccess(); handleSuccess();
}); });
} }
......
...@@ -97,4 +97,3 @@ body, ...@@ -97,4 +97,3 @@ body,
margin-top: auto; margin-top: auto;
box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment