@@ -323,27 +323,66 @@ export const CreateComponent: React.FC<{ flavor: any }> = ({ flavor }) => {
323323 const { id } : any = workspaces . find (
324324 ( item ) => item . name === selectedWorkspace ,
325325 ) ;
326- // debugger;
327- const final : any = { } ;
326+ const tempFinal : any = { } ;
328327 inputFields . forEach ( ( ar : any ) => {
329328 const keys = Object . keys ( ar ) ;
330329 keys . forEach ( ( key ) => {
331- final [ key ] = { } ;
330+ tempFinal [ key ] = { } ;
332331
333332 ar [ key ] . forEach ( ( nestedArr : any ) => {
334333 if ( nestedArr . key || nestedArr . value ) {
335- final [ key ] = {
336- ...final [ key ] ,
334+ tempFinal [ key ] = {
335+ ...tempFinal [ key ] ,
337336 [ nestedArr . key ] : nestedArr . value ,
338337 } ;
339338 } else {
340- if ( Object . keys ( final [ key ] ) . length === 0 ) {
341- delete final [ key ] ;
339+ if (
340+ tempFinal [ key ] !== undefined &&
341+ Object . keys ( tempFinal [ key ] ) . length === 0
342+ ) {
343+ delete tempFinal [ key ] ;
344+ }
345+ }
346+ } ) ;
347+ } ) ;
348+ } ) ;
349+
350+ let final : any = { } ;
351+ inputFields . forEach ( ( ar : any ) => {
352+ const keys = Object . keys ( ar ) ;
353+ keys . forEach ( ( key ) => {
354+ final [ key ] = { } ;
355+
356+ ar [ key ] . forEach ( ( nestedArr : any ) => {
357+ if ( final [ key ] ?. hasOwnProperty ( nestedArr . key ) ) {
358+ dispatch (
359+ showToasterAction ( {
360+ description : 'Key already exists.' ,
361+ type : toasterTypes . failure ,
362+ } ) ,
363+ ) ;
364+ return ( final = { } ) ;
365+ } else {
366+ if ( nestedArr . key || nestedArr . value ) {
367+ final [ key ] = {
368+ ...final [ key ] ,
369+ [ nestedArr . key ] : nestedArr . value ,
370+ } ;
371+ } else {
372+ if (
373+ final [ key ] !== undefined &&
374+ Object . keys ( final [ key ] ) . length === 0
375+ ) {
376+ delete final [ key ] ;
377+ }
342378 }
343379 }
344380 } ) ;
345381 } ) ;
346382 } ) ;
383+ if ( Object . keys ( tempFinal ) . length !== Object . keys ( final ) . length ) {
384+ return false ;
385+ }
347386 for ( const [ key ] of Object . entries ( final ) ) {
348387 // console.log(`${key}: ${value}`);
349388 for ( const [ innerKey , innerValue ] of Object . entries ( final [ key ] ) ) {
0 commit comments