updated call to get user id with new api

Signed-off-by: Lykke Axlin <lykkeaxlin@hotmail.com>

Co-authored-by: klaraab <klarabroman@live.se>
This commit is contained in:
Lykke Axlin
2021-12-14 17:37:33 +01:00
parent cfb9f192a3
commit 0f15f775af
7 changed files with 55 additions and 47 deletions
@@ -29,7 +29,6 @@ type Props = {
handleEditClose: () => void;
handleCardClose?: () => void;
fetchBazaarProject: () => Promise<BazaarProject | null>;
fetchBazaarProjects?: () => void;
};
const useStyles = makeStyles({
@@ -45,7 +44,6 @@ export const EditProjectDialog = ({
handleEditClose,
handleCardClose,
fetchBazaarProject,
fetchBazaarProjects,
}: Props) => {
const classes = useStyles();
const bazaarApi = useApi(bazaarApiRef);
@@ -67,7 +65,7 @@ export const EditProjectDialog = ({
await bazaarApi.deleteProject(bazaarProject.id);
handleDeleteClose();
if (fetchBazaarProjects) fetchBazaarProjects();
fetchBazaarProject();
};
useEffect(() => {
@@ -57,29 +57,40 @@ export const EntityBazaarInfoContent = ({
: [];
});
const [userId, fetchUserId] = useAsyncFn(async () => {
return await (
await identity.getProfileInfo()
).displayName;
});
useEffect(() => {
fetchMembers();
}, [fetchMembers]);
fetchUserId();
}, [fetchMembers, fetchUserId]);
useEffect(() => {
if (members.value) {
const isBazaarMember =
members.value
?.map((member: Member) => member.userId)
.indexOf(identity.getUserId()) >= 0;
if (userId.value) {
if (members.value) {
const isBazaarMember =
members.value
?.map((member: Member) => member.userId)
.indexOf(userId.value) >= 0;
setIsMember(isBazaarMember);
setIsMember(isBazaarMember);
}
}
}, [bazaarProject, members, identity]);
}, [bazaarProject, members, identity, userId.value]);
const handleMembersClick = async () => {
if (!isMember) {
await bazaarApi.addMember(bazaarProject?.id!, identity.getUserId());
} else {
await bazaarApi.deleteMember(bazaarProject!.id, identity.getUserId());
if (userId.value) {
if (!isMember) {
await bazaarApi.addMember(bazaarProject?.id!, userId.value);
} else {
await bazaarApi.deleteMember(bazaarProject!.id, userId.value);
}
setIsMember(!isMember);
fetchMembers();
}
setIsMember(!isMember);
fetchMembers();
};
const links: IconLinkVerticalProps[] = [
@@ -52,7 +52,6 @@ import {
import { ConfirmationDialog } from '../ConfirmationDialog/ConfirmationDialog';
import { CardContentFields } from '../CardContentFields/CardContentFields';
import { LinkProjectDialog } from '../LinkProjectDialog';
import {
fetchCatalogItems,
@@ -62,14 +61,12 @@ import { parseBazaarResponse } from '../../util/parseMethods';
type Props = {
initProject: BazaarProject;
fetchBazaarProjects: () => Promise<BazaarProject[]>;
handleClose: () => void;
initEntity: Entity;
};
export const HomePageBazaarInfoCard = ({
initProject,
fetchBazaarProjects,
handleClose,
initEntity,
}: Props) => {
@@ -104,33 +101,41 @@ export const HomePageBazaarInfoCard = ({
return fetchProjectMembers(bazaarApi, bazaarProject.value ?? initProject);
});
const [userId, fetchUserId] = useAsyncFn(async () => {
return await (
await identity.getProfileInfo()
).displayName;
});
useEffect(() => {
fetchMembers();
fetchBazaarProject();
fetchCatalogEntities();
}, [fetchMembers, fetchBazaarProject, fetchCatalogEntities]);
fetchUserId();
}, [fetchMembers, fetchBazaarProject, fetchCatalogEntities, fetchUserId]);
useEffect(() => {
if (members.value) {
const isBazaarMember =
members?.value
?.map((member: Member) => member.userId)
.indexOf(identity.getUserId()) >= 0;
setIsMember(isBazaarMember);
if (userId.value) {
if (members.value) {
const isBazaarMember =
members?.value
?.map((member: Member) => member.userId)
.indexOf(userId.value) >= 0;
setIsMember(isBazaarMember);
}
}
}, [bazaarProject.value, members, identity]);
}, [bazaarProject.value, members, identity, userId.value]);
const handleMembersClick = async () => {
if (!isMember) {
await bazaarApi.addMember(bazaarProject.value!.id, identity.getUserId());
} else {
await bazaarApi.deleteMember(
bazaarProject.value!.id,
identity.getUserId(),
);
if (userId.value) {
if (!isMember) {
await bazaarApi.addMember(bazaarProject.value!.id, userId.value);
} else {
await bazaarApi.deleteMember(bazaarProject.value!.id, userId.value);
}
setIsMember(!isMember);
fetchMembers();
}
setIsMember(!isMember);
fetchMembers();
};
const getEntityPageLink = () => {
@@ -236,7 +241,6 @@ export const HomePageBazaarInfoCard = ({
handleEditClose={() => setOpenEdit(false)}
handleCardClose={handleClose}
fetchBazaarProject={fetchBazaarProject}
fetchBazaarProjects={fetchBazaarProjects}
/>
<CardHeader
@@ -74,7 +74,6 @@ export const ProjectCard = ({
<Dialog fullWidth onClose={handleClose} open={openCard}>
<HomePageBazaarInfoCard
initProject={project}
fetchBazaarProjects={fetchBazaarProjects}
handleClose={handleClose}
initEntity={catalogEntities[0] || null}
/>
@@ -112,7 +112,6 @@ export const ProjectDialog = ({
}}
inputType="description"
helperText="please enter a description"
placeholder="Describe who you are and what skills you are looking for"
/>
<InputSelector
+1 -4
View File
@@ -15,7 +15,6 @@
*/
import { sortMembers } from './sortMethods';
import { CatalogApi } from '@backstage/catalog-client';
import { parseMember } from './parseMethods';
import { BazaarProject, Member } from '../types';
import { BazaarApi } from '../api';
@@ -38,9 +37,7 @@ export const fetchProjectMembers = async (
return [];
};
export const fetchCatalogItems = async (
catalogApi: CatalogApi,
): Promise<Entity[]> => {
export const fetchCatalogItems = async (catalogApi: any): Promise<Entity[]> => {
const entities = await catalogApi.getEntities({
filter: {
kind: ['Component', 'Resource'],
+3 -3
View File
@@ -16999,9 +16999,9 @@ human-signals@^2.1.0:
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
humanize-duration@^3.25.1, humanize-duration@^3.26.0, humanize-duration@^3.27.0:
version "3.27.1"
resolved "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.1.tgz#2cd4ea4b03bd92184aee6d90d77a8f3d7628df69"
integrity sha512-jCVkMl+EaM80rrMrAPl96SGG4NRac53UyI1o/yAzebDntEY6K6/Fj2HOjdPg8omTqIe5Y0wPBai2q5xXrIbarA==
version "3.27.0"
resolved "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.0.tgz#3f781b7cf8022ad587f76b9839b60bc2b29636b2"
integrity sha512-qLo/08cNc3Tb0uD7jK0jAcU5cnqCM0n568918E7R2XhMr/+7F37p4EY062W/stg7tmzvknNn9b/1+UhVRzsYrQ==
humanize-ms@^1.2.1:
version "1.2.1"