Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import Grid from '@mui/material/Grid';
import Typography from '@mui/material/Typography';
import Button from '@mui/material/Button';
import { FormattedMessage, injectIntl, useIntl } from 'react-intl';
import { CircularProgress } from '@mui/material';
import { CircularProgress, Paper, Box, FormLabel } from '@mui/material';
import Alert from 'AppComponents/Shared/Alert';
import API from 'AppData/api';
import { withAPI, useAPI } from 'AppComponents/Apis/Details/components/ApiContext';
Expand All @@ -47,10 +47,10 @@ const classes = {
helpIcon: `${PREFIX}-helpIcon`,
htmlTooltip: `${PREFIX}-htmlTooltip`,
buttonSection: `${PREFIX}-buttonSection`,
emptyBox: `${PREFIX}-emptyBox`
emptyBox: `${PREFIX}-emptyBox`,
shareAPIPaper: `${PREFIX}-shareAPIPaper`
}


const Root = styled('div')((
{
theme
Expand All @@ -62,6 +62,11 @@ const Root = styled('div')((

[`& .${classes.emptyBox}`]: {
marginTop: theme.spacing(2),
},

[`& .${classes.shareAPIPaper}`]: {
padding: theme.spacing(2),
marginTop: theme.spacing(2),
}
}));

Expand Down Expand Up @@ -175,28 +180,44 @@ function ShareAPI(props) {
defaultMessage='Share API'
/>
</Typography>
<SharedOrganizations
api={api}
organizations={organizations}
visibleOrganizations={visibleOrganizations}
setVisibleOrganizations = {setVisibleOrganizations}
selectionMode = {selectionMode}
setSelectionMode = {setSelectionMode}
/>
{(api.gatewayVendor === 'wso2') &&
(
<>
{organizations?.list?.length > 0 && selectionMode !== "none" &&
<OrganizationSubscriptionPoliciesManage
api={api}
organizations={organizations.list}
visibleOrganizations={visibleOrganizations}
organizationPolicies={organizationPolicies}
setOrganizationPolicies={setOrganizationPolicies}
selectionMode = {selectionMode}
/>
}
</>
{organizations?.list?.length === 0 ? (
<Paper className={classes.shareAPIPaper}>
<Box display='flex' alignItems='center' >
<FormLabel component='legend' style={{ marginTop: 8, marginBottom: 8}}>
<FormattedMessage
id='Apis.Details.Configuration.components.Share.API.no.organizations'
defaultMessage='No organizations are currently registered under
your current organization to share the API.'
/>
</FormLabel>
</Box>
</Paper>
) : (
<div>
<SharedOrganizations
api={api}
organizations={organizations}
visibleOrganizations={visibleOrganizations}
setVisibleOrganizations = {setVisibleOrganizations}
selectionMode = {selectionMode}
setSelectionMode = {setSelectionMode}
/>
{(api.gatewayVendor === 'wso2') &&
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this a control plane feature if so do we need to restrict it?

(
<>
{organizations?.list?.length > 0 && selectionMode !== "none" &&
<OrganizationSubscriptionPoliciesManage
api={api}
organizations={organizations.list}
visibleOrganizations={visibleOrganizations}
organizationPolicies={organizationPolicies}
setOrganizationPolicies={setOrganizationPolicies}
selectionMode = {selectionMode}
/>
}
</>
)}
</div>
)}
{(api.gatewayVendor === 'wso2') && (
<Grid
Expand All @@ -211,7 +232,7 @@ function ShareAPI(props) {
type='submit'
variant='contained'
color='primary'
disabled={updateInProgress || api.isRevision
disabled={organizations?.list?.length === 0 || updateInProgress || api.isRevision
|| isRestricted(['apim:api_create', 'apim:api_publish'], api)}
onClick={() => handleShareAPISave()}
id='share-api-save-btn'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,19 @@ const APIDetailsTopMenu = (props) => {
}),
};

const [userOrg, setUserOrg] = useState(null);

useEffect(() => {
new API()
.getUserOrganizationInfo()
.then((result) => {
setUserOrg(result.body.organizationId);
})
.catch((error) => {
throw error;
});
}, []);

/**
* The component for advanced endpoint configurations.
* @param {string} name The name of the
Expand Down Expand Up @@ -467,7 +480,7 @@ const APIDetailsTopMenu = (props) => {
)}
{/* Page error banner */}
{/* end of Page error banner */}
{api.apiType !== API.CONSTS.APIProduct && isVisibleInStore
{api.apiType !== API.CONSTS.APIProduct && isVisibleInStore && userOrg
? <>
<ShareButton buttonClass={classes.viewInStoreLauncher}
api={api} isAPIProduct={isAPIProduct} />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1457,6 +1457,15 @@ class API extends Resource {
});
}

/**
* Get user organization information
*/
getUserOrganizationInfo() {
return this.client.then((client) => {
return client.apis.Users.organizationInformation(this._requestMetaData());
});
}

addDocument(api_id, body) {
const promised_addDocument = this.client.then(client => {
const payload = {
Expand Down
Loading