Skip to content
Snippets Groups Projects
Commit a99217fc authored by Leonardo's avatar Leonardo Committed by Leonardo Christino
Browse files

chore: fix types of savestate partially filled in

parent 6e9dc83f
No related branches found
No related tags found
1 merge request!417chore: fix types of savestate partially filled in
Pipeline #145292 passed
import { Broker } from './broker';
import { ResponseCallback, SaveState, StateSetPolicyRequest, WsFrontendCall, wsKeys, wsReturnKey, wsSubKeys } from 'ts-common';
import {
PartialSaveState,
ResponseCallback,
SaveState,
StateSetPolicyRequest,
WsFrontendCall,
wsKeys,
wsReturnKey,
wsSubKeys,
} from 'ts-common';
import { DatabaseInfo } from 'ts-common/src/model/webSocket/dbConnection';
export const databaseNameMapping: string[] = ['arangodb', 'neo4j'];
......@@ -52,7 +61,7 @@ export const wsGetStatesSubscription = (callback: ResponseCallback<wsReturnKey.s
};
};
export const wsCreateState: WsFrontendCall<SaveState, wsReturnKey.saveState> = (request, callback) => {
export const wsCreateState: WsFrontendCall<PartialSaveState, wsReturnKey.saveState> = (request, callback) => {
Broker.instance().sendMessage(
{
key: wsKeys.state,
......
import React, { useEffect, useState } from 'react';
import { databaseNameMapping, databaseProtocolMapping, DatabaseType, Input, nilUUID } from '../..';
import { SaveState } from 'ts-common';
import { PartialSaveState, SaveState } from 'ts-common';
export const INITIAL_SAVE_STATE: Partial<SaveState> = {
id: nilUUID,
export const INITIAL_SAVE_STATE: PartialSaveState = {
name: 'Untitled',
dbConnections: [
{
......@@ -25,7 +24,7 @@ export const INITIAL_SAVE_STATE: Partial<SaveState> = {
project: null,
};
export const DatabaseForm = (props: { data: SaveState; onChange: (data: SaveState, error: boolean) => void }) => {
export const DatabaseForm = (props: { data: PartialSaveState; onChange: (data: PartialSaveState, error: boolean) => void }) => {
const [formData, setFormData] = useState(props.data);
const [hasError, setHasError] = useState<Record<string, boolean>>({});
......
......@@ -5,7 +5,7 @@ import { DatabaseForm, INITIAL_SAVE_STATE } from './DatabaseForm';
import { SampleDatabaseSelector } from './MockSaveStates';
import { Icon } from '../..';
import { useHandleDatabase } from './useHandleDatabase';
import { SaveState } from 'ts-common';
import { PartialSaveState, SaveState } from 'ts-common';
export const UpsertDatabase = (props: {
onClose(): void;
......@@ -16,10 +16,10 @@ export const UpsertDatabase = (props: {
const databaseHandler = useHandleDatabase();
const ref = useRef<HTMLDialogElement>(null);
const authCache = useAuthCache();
const [formData, setFormData] = useState<SaveState>(
const [formData, setFormData] = useState<PartialSaveState>(
props.saveState && props.open === 'update'
? props.saveState
: { ...INITIAL_SAVE_STATE, userId: authCache.authentication?.userID || -1 },
: { ...INITIAL_SAVE_STATE, userId: authCache.authentication?.userID || -1, id: nilUUID },
);
const [hasError, setHasError] = useState(false);
const [sampleDataPanel, setSampleDataPanel] = useState<boolean | null>(false);
......@@ -34,7 +34,7 @@ export const UpsertDatabase = (props: {
}
}, [props.saveState]);
async function handleSubmit(saveStateData?: SaveState, forceAdd: boolean = false): Promise<void> {
async function handleSubmit(saveStateData?: PartialSaveState, forceAdd: boolean = false): Promise<void> {
if (!saveStateData) saveStateData = formData;
databaseHandler.submitDatabaseChange(saveStateData, props.open, forceAdd, () => {
closeDialog();
......@@ -60,7 +60,7 @@ export const UpsertDatabase = (props: {
) : (
<DatabaseForm
data={formData}
onChange={(data: SaveState, error: boolean) => {
onChange={(data: PartialSaveState, error: boolean) => {
setFormData({ ...data, id: formData.id });
setHasError(error);
}}
......
......@@ -2,7 +2,7 @@ import { wsTestDatabaseConnection, wsCreateState, wsUpdateState, useAuthCache, u
import { useState } from 'react';
import { addNewQuery, addSaveState, selectSaveState, setActiveQueryID, testedSaveState } from '../../data-access/store/sessionSlice';
import { setSchemaLoading } from '../../data-access/store/schemaSlice';
import { SaveState } from 'ts-common';
import { PartialSaveState, SaveState } from 'ts-common';
import { addError } from '@/lib/data-access/store/configSlice';
import { Button } from '@/lib/components';
import { wsAddQuery, wsDeleteQuery, wsUpdateQuery } from '@/lib/data-access/broker';
......@@ -25,7 +25,7 @@ export const useHandleDatabase = () => {
const project = useProjects();
async function submitDatabaseChange(
saveStateData: SaveState,
saveStateData: PartialSaveState,
type: 'add' | 'update',
forceAdd: boolean = false,
concludedCallback: () => void,
......@@ -117,7 +117,7 @@ export const useHandleDatabase = () => {
if (data.saveStateID) {
dispatch(testedSaveState(data.saveStateID));
}
wsUpdateState(saveStateData, updatedSaveState => {
wsUpdateState(saveStateData as SaveState, updatedSaveState => {
if (!updatedSaveState) {
dispatch(addError('Failed to update save state.'));
return;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment