Feature: Support Import postman environment - Fixes issue #193

This commit is contained in:
Easwaran Prem K
2023-10-14 12:29:51 +05:30
committed by Prem Kumar Easwaran
parent e898ebdfa9
commit 3cc2e3d4fa
6 changed files with 156 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import usePrevious from 'hooks/usePrevious';
import EnvironmentDetails from './EnvironmentDetails';
import CreateEnvironment from '../CreateEnvironment/index';
import StyledWrapper from './StyledWrapper';
import ImportEnvironment from "components/Environments/EnvironmentSettings/ImportEnvironment";
const EnvironmentList = ({ collection }) => {
const { environments } = collection;
@@ -65,6 +66,7 @@ const EnvironmentList = ({ collection }) => {
<div className="btn-create-environment" onClick={() => setOpenCreateModal(true)}>
+ <span>Create</span>
</div>
<ImportEnvironment title={"Import"} collectionUid={collection.uid}/>
</div>
</div>
<EnvironmentDetails environment={selectedEnvironment} collection={collection} />

View File

@@ -0,0 +1,33 @@
import toast from "react-hot-toast";
import {toastError} from "utils/common/error";
import {useDispatch} from "react-redux";
import {importEnvironment} from "providers/ReduxStore/slices/collections/actions";
import importPostmanEnvironment from "utils/importers/postman-environment";
import React from "react";
const ImportEnvironment = ({title, collectionUid}) => {
const dispatch = useDispatch();
const handleImportPostmanEnvironment = () => {
importPostmanEnvironment()
.then((environment) => {
dispatch(importEnvironment(environment.name, environment.variables, collectionUid))
.then(() => {
toast.success('Environment imported successfully');
})
.catch(() => toast.error('An error occurred while importing the environment'));
})
.catch((err) => toastError(err, 'Postman Import environment failed'));
};
return(
<button
className="btn-create-environment text-link pr-2 py-2 mt-2 select-none"
onClick={handleImportPostmanEnvironment}
>
+ <span>{title}</span>
</button>
);
};
export default ImportEnvironment;

View File

@@ -3,6 +3,7 @@ import React, { useState } from 'react';
import CreateEnvironment from './CreateEnvironment';
import EnvironmentList from './EnvironmentList';
import StyledWrapper from './StyledWrapper';
import ImportEnvironment from "components/Environments/EnvironmentSettings/ImportEnvironment";
const EnvironmentSettings = ({ collection, onClose }) => {
const { environments } = collection;
@@ -28,6 +29,7 @@ const EnvironmentSettings = ({ collection, onClose }) => {
>
+ <span>Create Environment</span>
</button>
<ImportEnvironment title={"Import Postman Environment"} collectionUid={collection.uid}/>
</div>
</Modal>
</StyledWrapper>