mirror of
https://github.com/usebruno/bruno.git
synced 2025-06-29 00:11:30 +02:00
fix: generate code updates
This commit is contained in:
parent
4211575f01
commit
0fa0b3ef85
@ -10,6 +10,7 @@ import toast from 'react-hot-toast';
|
|||||||
import { IconCopy } from '@tabler/icons';
|
import { IconCopy } from '@tabler/icons';
|
||||||
import { findCollectionByItemUid, getGlobalEnvironmentVariables } from '../../../../../../../utils/collections/index';
|
import { findCollectionByItemUid, getGlobalEnvironmentVariables } from '../../../../../../../utils/collections/index';
|
||||||
import { getAuthHeaders } from '../../../../../../../utils/codegenerator/auth';
|
import { getAuthHeaders } from '../../../../../../../utils/codegenerator/auth';
|
||||||
|
import { cloneDeep } from 'lodash';
|
||||||
|
|
||||||
const CodeView = ({ language, item }) => {
|
const CodeView = ({ language, item }) => {
|
||||||
const { displayedTheme } = useTheme();
|
const { displayedTheme } = useTheme();
|
||||||
@ -17,11 +18,13 @@ const CodeView = ({ language, item }) => {
|
|||||||
const { globalEnvironments, activeGlobalEnvironmentUid } = useSelector((state) => state.globalEnvironments);
|
const { globalEnvironments, activeGlobalEnvironmentUid } = useSelector((state) => state.globalEnvironments);
|
||||||
const { target, client, language: lang } = language;
|
const { target, client, language: lang } = language;
|
||||||
const requestHeaders = item.draft ? get(item, 'draft.request.headers') : get(item, 'request.headers');
|
const requestHeaders = item.draft ? get(item, 'draft.request.headers') : get(item, 'request.headers');
|
||||||
let collection = findCollectionByItemUid(
|
let _collection = findCollectionByItemUid(
|
||||||
useSelector((state) => state.collections.collections),
|
useSelector((state) => state.collections.collections),
|
||||||
item.uid
|
item.uid
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let collection = cloneDeep(_collection);
|
||||||
|
|
||||||
// add selected global env variables to the collection object
|
// add selected global env variables to the collection object
|
||||||
const globalEnvironmentVariables = getGlobalEnvironmentVariables({ globalEnvironments, activeGlobalEnvironmentUid });
|
const globalEnvironmentVariables = getGlobalEnvironmentVariables({ globalEnvironments, activeGlobalEnvironmentUid });
|
||||||
collection.globalEnvironmentVariables = globalEnvironmentVariables;
|
collection.globalEnvironmentVariables = globalEnvironmentVariables;
|
||||||
|
@ -3,15 +3,20 @@ import { useState } from 'react';
|
|||||||
import CodeView from './CodeView';
|
import CodeView from './CodeView';
|
||||||
import StyledWrapper from './StyledWrapper';
|
import StyledWrapper from './StyledWrapper';
|
||||||
import { isValidUrl } from 'utils/url';
|
import { isValidUrl } from 'utils/url';
|
||||||
import { find, get } from 'lodash';
|
import { get } from 'lodash';
|
||||||
import { findEnvironmentInCollection } from 'utils/collections';
|
import { findEnvironmentInCollection } from 'utils/collections';
|
||||||
import { interpolateUrl, interpolateUrlPathParams } from 'utils/url/index';
|
import { interpolateUrl, interpolateUrlPathParams } from 'utils/url/index';
|
||||||
import { getLanguages } from 'utils/codegenerator/targets';
|
import { getLanguages } from 'utils/codegenerator/targets';
|
||||||
|
import { useSelector } from 'react-redux';
|
||||||
|
import { getGlobalEnvironmentVariables } from 'utils/collections/index';
|
||||||
|
|
||||||
const GenerateCodeItem = ({ collection, item, onClose }) => {
|
const GenerateCodeItem = ({ collection, item, onClose }) => {
|
||||||
const languages = getLanguages();
|
const languages = getLanguages();
|
||||||
|
|
||||||
const environment = findEnvironmentInCollection(collection, collection.activeEnvironmentUid);
|
const { globalEnvironments, activeGlobalEnvironmentUid } = useSelector((state) => state.globalEnvironments);
|
||||||
|
const globalEnvironmentVariables = getGlobalEnvironmentVariables({ globalEnvironments, activeGlobalEnvironmentUid });
|
||||||
|
|
||||||
|
const environment = findEnvironmentInCollection(collection, collection?.activeEnvironmentUid);
|
||||||
let envVars = {};
|
let envVars = {};
|
||||||
if (environment) {
|
if (environment) {
|
||||||
const vars = get(environment, 'variables', []);
|
const vars = get(environment, 'variables', []);
|
||||||
@ -27,6 +32,7 @@ const GenerateCodeItem = ({ collection, item, onClose }) => {
|
|||||||
// interpolate the url
|
// interpolate the url
|
||||||
const interpolatedUrl = interpolateUrl({
|
const interpolatedUrl = interpolateUrl({
|
||||||
url: requestUrl,
|
url: requestUrl,
|
||||||
|
globalEnvironmentVariables,
|
||||||
envVars,
|
envVars,
|
||||||
runtimeVariables: collection.runtimeVariables,
|
runtimeVariables: collection.runtimeVariables,
|
||||||
processEnvVars: collection.processEnvVariables
|
processEnvVars: collection.processEnvVariables
|
||||||
|
@ -108,12 +108,13 @@ export const isValidUrl = (url) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export const interpolateUrl = ({ url, envVars, runtimeVariables, processEnvVars }) => {
|
export const interpolateUrl = ({ url, globalEnvironmentVariables = {}, envVars, runtimeVariables, processEnvVars }) => {
|
||||||
if (!url || !url.length || typeof url !== 'string') {
|
if (!url || !url.length || typeof url !== 'string') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return interpolate(url, {
|
return interpolate(url, {
|
||||||
|
...globalEnvironmentVariables,
|
||||||
...envVars,
|
...envVars,
|
||||||
...runtimeVariables,
|
...runtimeVariables,
|
||||||
process: {
|
process: {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user