@@ -323,29 +323,66 @@ export const CreateComponent: React.FC<{ flavor: any }> = ({ flavor }) => {
323323 const { id } : any = workspaces . find (
324324 ( item ) => item . name === selectedWorkspace ,
325325 ) ;
326- const final : any = { } ;
326+ const tempFinal : any = { } ;
327327 inputFields . forEach ( ( ar : any ) => {
328328 const keys = Object . keys ( ar ) ;
329329 keys . forEach ( ( key ) => {
330- final [ key ] = { } ;
330+ tempFinal [ key ] = { } ;
331331
332332 ar [ key ] . forEach ( ( nestedArr : any ) => {
333333 if ( nestedArr . key || nestedArr . value ) {
334- final [ key ] = {
335- ...final [ key ] ,
334+ tempFinal [ key ] = {
335+ ...tempFinal [ key ] ,
336336 [ nestedArr . key ] : nestedArr . value ,
337337 } ;
338338 } else {
339339 if (
340- final [ key ] !== undefined &&
341- Object . keys ( final [ key ] ) . length === 0
340+ tempFinal [ key ] !== undefined &&
341+ Object . keys ( tempFinal [ key ] ) . length === 0
342342 ) {
343- delete final [ key ] ;
343+ delete tempFinal [ key ] ;
344344 }
345345 }
346346 } ) ;
347347 } ) ;
348348 } ) ;
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+ }
378+ }
379+ }
380+ } ) ;
381+ } ) ;
382+ } ) ;
383+ if ( Object . keys ( tempFinal ) . length !== Object . keys ( final ) . length ) {
384+ return false ;
385+ }
349386 for ( const [ key ] of Object . entries ( final ) ) {
350387 // console.log(`${key}: ${value}`);
351388 for ( const [ innerKey , innerValue ] of Object . entries ( final [ key ] ) ) {
0 commit comments