Skip to content

Commit

Permalink
adapt to changes in environment functions
Browse files Browse the repository at this point in the history
  • Loading branch information
LucasMGo committed Nov 7, 2024
1 parent bfb9d9e commit 163137d
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 38 deletions.
4 changes: 2 additions & 2 deletions src/management-system-v2/app/confluence/config/config.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ const SpaceSelectionTab = ({
initialSpaceId?: string;
}) => {
const options = userEnvironments
.filter((environment) => environment.organization)
.filter((environment) => environment.isOrganization)
.map((environment) => {
if (environment.organization) {
if (environment.isOrganization) {
return { label: environment.name, value: environment.id };
}
return { label: environment.id, value: environment.id };
Expand Down
11 changes: 7 additions & 4 deletions src/management-system-v2/app/confluence/config/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { getUserOrganizationEnvironments } from '@/lib/data/legacy/iam/membershi
import Config from './config';
import jwt, { JwtPayload } from 'jsonwebtoken';
import { getConfluenceClientInfos } from '@/lib/data/legacy/fileHandling';
import { asyncMap } from '@/lib/helpers/javascriptHelpers';

const ConfigPage = async ({ params, searchParams }: { params: any; searchParams: any }) => {
const jwtToken = searchParams.jwt;
Expand All @@ -19,11 +20,13 @@ const ConfigPage = async ({ params, searchParams }: { params: any; searchParams:
const { userId } = await getCurrentUser();

if (userId) {
const userEnvironments: Environment[] = [getEnvironmentById(userId)];
const userEnvironments: Environment[] = [await getEnvironmentById(userId)];
const userOrganizationEnvironments = await getUserOrganizationEnvironments(userId);

userEnvironments.push(
...getUserOrganizationEnvironments(userId).map((environmentId) =>
getEnvironmentById(environmentId),
),
...(await asyncMap(userOrganizationEnvironments, async (environmentId) => {
return getEnvironmentById(environmentId);
})),
);

const confluenceClientInfos = await getConfluenceClientInfos(clientKey);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ const MacroEditor = ({
if (process) {
const bpmnResponse = await getProcessBPMN(process.id, spaceId);

if (typeof bpmnResponse === 'object' && 'error' in bpmnResponse) {
if (!bpmnResponse || (typeof bpmnResponse === 'object' && 'error' in bpmnResponse)) {
throw new Error('Could not retrieve BPMN of process');
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import Layout from '../../layout-client';
import { getConfluenceClientInfos } from '@/lib/data/legacy/fileHandling';
import jwt, { JwtPayload } from 'jsonwebtoken';
import { getRootFolder } from '@/lib/data/legacy/folders';
import { asyncMap } from '@/lib/helpers/javascriptHelpers';

const MacroEditorPage = async ({ params, searchParams }: { params: any; searchParams: any }) => {
const jwtToken = searchParams.jwt;
Expand All @@ -28,11 +29,13 @@ const MacroEditorPage = async ({ params, searchParams }: { params: any; searchPa
const { userId } = await getCurrentUser();

if (userId) {
const userEnvironments: Environment[] = [getEnvironmentById(userId)];
const userEnvironments: Environment[] = [await getEnvironmentById(userId)];
const userOrganizationEnvironments = await getUserOrganizationEnvironments(userId);

userEnvironments.push(
...getUserOrganizationEnvironments(userId).map((environmentId) =>
getEnvironmentById(environmentId),
),
...(await asyncMap(userOrganizationEnvironments, async (environmentId) => {
return getEnvironmentById(environmentId);
})),
);

const confluenceClientInfos = await getConfluenceClientInfos(clientKey);
Expand All @@ -51,7 +54,7 @@ const MacroEditorPage = async ({ params, searchParams }: { params: any; searchPa
// get all the processes the user has access to
const ownedProcesses = (
await Promise.all(
(await getProcesses(ability)).map(async (process) => {
(await getProcesses(userId, ability)).map(async (process) => {
const res = await getProcessBPMN(process.id, confluenceSelectedProceedSpace.id);
if (typeof res === 'string') {
return { ...process, bpmn: res };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { Environment } from '@/lib/data/environment-schema';
import Layout from '../../layout-client';
import { getConfluenceClientInfos } from '@/lib/data/legacy/fileHandling';
import jwt, { JwtPayload } from 'jsonwebtoken';
import { asyncMap } from '@/lib/helpers/javascriptHelpers';

const MacroEditorPage = async ({ params, searchParams }: { params: any; searchParams: any }) => {
const jwtToken = searchParams.jwt;
Expand All @@ -26,11 +27,13 @@ const MacroEditorPage = async ({ params, searchParams }: { params: any; searchPa
const { userId } = await getCurrentUser();

if (userId) {
const userEnvironments: Environment[] = [getEnvironmentById(userId)];
const userEnvironments: Environment[] = [await getEnvironmentById(userId)];
const userOrganizationEnvironments = await getUserOrganizationEnvironments(userId);

userEnvironments.push(
...getUserOrganizationEnvironments(userId).map((environmentId) =>
getEnvironmentById(environmentId),
),
...(await asyncMap(userOrganizationEnvironments, async (environmentId) => {
return getEnvironmentById(environmentId);
})),
);

const confluenceClientInfos = await getConfluenceClientInfos(clientKey);
Expand All @@ -44,7 +47,7 @@ const MacroEditorPage = async ({ params, searchParams }: { params: any; searchPa

const { ability } = await getCurrentEnvironment(confluenceSelectedProceedSpace.id);
// get all the processes the user has access to
const ownedProcesses = (await getProcesses(ability, true)) as Process[];
const ownedProcesses = (await getProcesses(userId, ability, true)) as Process[];

return (
<Layout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { getProcesses } from '@/lib/data/legacy/process';
import { Process } from '@/lib/data/process-schema';
import jwt, { JwtPayload } from 'jsonwebtoken';
import { getConfluenceClientInfos } from '@/lib/data/legacy/fileHandling';
import { asyncMap } from '@/lib/helpers/javascriptHelpers';

const MacroPage = async ({
params,
Expand All @@ -35,11 +36,13 @@ const MacroPage = async ({
const { userId } = await getCurrentUser();

if (userId) {
const userEnvironments: Environment[] = [getEnvironmentById(userId)];
const userEnvironments: Environment[] = [await getEnvironmentById(userId)];
const userOrganizationEnvironments = await getUserOrganizationEnvironments(userId);

userEnvironments.push(
...getUserOrganizationEnvironments(userId).map((environmentId) =>
getEnvironmentById(environmentId),
),
...(await asyncMap(userOrganizationEnvironments, async (environmentId) => {
return getEnvironmentById(environmentId);
})),
);

const confluenceClientInfos = await getConfluenceClientInfos(clientKey);
Expand All @@ -56,7 +59,7 @@ const MacroPage = async ({
// get all the processes the user has access to in the selected space for confluence
const ownedProcesses = (
await Promise.all(
(await getProcesses(ability)).map(async (process) => {
(await getProcesses(userId, ability)).map(async (process) => {
const res = await getProcessBPMN(process.id, confluenceSelectedProceedSpace.id);
if (typeof res === 'string') {
return { ...process, bpmn: res };
Expand Down
13 changes: 8 additions & 5 deletions src/management-system-v2/app/confluence/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { getConfluenceClientInfos } from '@/lib/data/legacy/fileHandling';
import jwt, { JwtPayload } from 'jsonwebtoken';
import { findPROCEEDMacrosInSpace } from './helpers';
import { ConfluenceProceedProcess } from './process-list';
import { asyncMap } from '@/lib/helpers/javascriptHelpers';

const ConfluencePage = async ({
params,
Expand All @@ -34,11 +35,13 @@ const ConfluencePage = async ({
const { userId } = await getCurrentUser();

if (userId) {
const userEnvironments: Environment[] = [getEnvironmentById(userId)];
const userEnvironments: Environment[] = [await getEnvironmentById(userId)];
const userOrganizationEnvironments = await getUserOrganizationEnvironments(userId);

userEnvironments.push(
...getUserOrganizationEnvironments(userId).map((environmentId) =>
getEnvironmentById(environmentId),
),
...(await asyncMap(userOrganizationEnvironments, async (environmentId) => {
return getEnvironmentById(environmentId);
})),
);

const confluenceClientInfos = await getConfluenceClientInfos(clientKey);
Expand All @@ -53,7 +56,7 @@ const ConfluencePage = async ({
const { ability } = await getCurrentEnvironment(confluenceSelectedProceedSpace.id);

// get all the processes the user has access to
const ownedProcesses = await getProcesses(ability);
const ownedProcesses = await getProcesses(userId, ability);

const result = await findPROCEEDMacrosInSpace(spaceKey);

Expand Down
4 changes: 2 additions & 2 deletions src/management-system-v2/app/confluence/process-list.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ const ProcessList = ({

row.cells.push(
{
key: 'lastEdited' + process.lastEdited + process.id,
content: new Date(process.lastEdited).toLocaleString(),
key: 'lastEdited' + process.lastEditedOn + process.id,
content: new Date(process.lastEditedOn).toLocaleString(),
},
{
key: 'createdOn' + process.createdOn + process.id,
Expand Down
11 changes: 2 additions & 9 deletions src/management-system-v2/lib/data/user-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ export const AuthenticatedUserSchema = AuthenticatedUserDataSchema.extend({
// NOTE: maybe email should be moved to user data as the user could change their email
// TODO: email is optional because Twitter doesn't return an email for the time being,
// once it does this type should be non-optional and the commit d34be03d9a89cd11418f4b550a04b3664ce1de71 reverted
confluenceId: z.string().optional(),
email: z.string().optional(),
emailVerifiedOn: z.date().nullable(),
});
Expand All @@ -42,15 +43,7 @@ export const GuestUserSchema = z.object({
});
export type GuestUser = z.infer<typeof GuestUserSchema> & { id: string };

export const ConfluenceUserSchema = z.object({
guest: z.literal(false),
confluence: z.literal(true),
id: z.string().optional(),
username: z.string(),
});
export type ConfluenceUser = z.infer<typeof ConfluenceUserSchema> & { id: string };

export const UserSchema = z.union([AuthenticatedUserSchema, GuestUserSchema, ConfluenceUserSchema]);
export const UserSchema = z.union([AuthenticatedUserSchema, GuestUserSchema]);
export type User = z.infer<typeof UserSchema> & { id: string };

/**
Expand Down

0 comments on commit 163137d

Please sign in to comment.