Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EASI-4530 Grb async presentation links card #2958

Draft
wants to merge 15 commits into
base: feature/EASI-4521_grb_presentation_links
Choose a base branch
from
Draft
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
23 changes: 21 additions & 2 deletions src/data/mock/systemIntake.ts
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,23 @@ export const documents: SystemIntakeDocument[] = [
}
];

export const grbPresentationLinks: SystemIntake['grbPresentationLinks'] = {
__typename: 'SystemIntakeGRBPresentationLinks',
systemIntakeID: '5af245bc-fc54-4677-bab1-1b3e798bb43c',
createdAt: '2025-01-17T04:20:32.122480967Z',
createdBy: '4e7b7b03-4b79-4adf-a9d1-e6f9dd764dad',
modifiedAt: null,
modifiedBy: null,
recordingLink: 'https://google.com',
recordingPasscode: '123456',
transcriptFileName: 'transcript.doc',
transcriptFileStatus: SystemIntakeDocumentStatus.AVAILABLE,
transcriptFileURL: 'https://google.com',
presentationDeckFileName: 'presentationDeck.pptx',
presentationDeckFileStatus: SystemIntakeDocumentStatus.AVAILABLE,
presentationDeckFileURL: 'https://google.com'
};

export const governanceRequestFeedbacks: SystemIntake['governanceRequestFeedbacks'] =
[
{
Expand Down Expand Up @@ -345,7 +362,8 @@ export const emptySystemIntake: SystemIntake = {
}
],
relatedIntakes: [],
relatedTRBRequests: []
relatedTRBRequests: [],
grbPresentationLinks
};

export const systemIntake: SystemIntake = {
Expand Down Expand Up @@ -505,7 +523,8 @@ export const systemIntake: SystemIntake = {
status: TRBRequestStatus.FOLLOW_UP_REQUESTED,
createdAt: new Date().toString()
}
]
],
grbPresentationLinks
};

export const systemIntakeForTable: TableSystemIntake = {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { gql } from '@apollo/client';

export default gql(/* GraphQL */ `
mutation DeleteSystemIntakeGRBPresentationLinks(
$input: DeleteSystemIntakeGRBPresentationLinksInput!
) {
deleteSystemIntakeGRBPresentationLinks(input: $input)
}
`);
39 changes: 39 additions & 0 deletions src/gql/gen/graphql.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3312,6 +3312,13 @@ export type CreateSystemIntakeGRBReviewersMutationVariables = Exact<{

export type CreateSystemIntakeGRBReviewersMutation = { __typename: 'Mutation', createSystemIntakeGRBReviewers?: { __typename: 'CreateSystemIntakeGRBReviewersPayload', reviewers: Array<{ __typename: 'SystemIntakeGRBReviewer', id: UUID, grbRole: SystemIntakeGRBReviewerRole, votingRole: SystemIntakeGRBReviewerVotingRole, userAccount: { __typename: 'UserAccount', id: UUID, username: string, commonName: string, email: string } }> } | null };

export type DeleteSystemIntakeGRBPresentationLinksMutationVariables = Exact<{
input: DeleteSystemIntakeGRBPresentationLinksInput;
}>;


export type DeleteSystemIntakeGRBPresentationLinksMutation = { __typename: 'Mutation', deleteSystemIntakeGRBPresentationLinks: UUID };

export type DeleteSystemIntakeGRBReviewerMutationVariables = Exact<{
input: DeleteSystemIntakeGRBReviewerInput;
}>;
Expand Down Expand Up @@ -3788,6 +3795,37 @@ export function useCreateSystemIntakeGRBReviewersMutation(baseOptions?: Apollo.M
export type CreateSystemIntakeGRBReviewersMutationHookResult = ReturnType<typeof useCreateSystemIntakeGRBReviewersMutation>;
export type CreateSystemIntakeGRBReviewersMutationResult = Apollo.MutationResult<CreateSystemIntakeGRBReviewersMutation>;
export type CreateSystemIntakeGRBReviewersMutationOptions = Apollo.BaseMutationOptions<CreateSystemIntakeGRBReviewersMutation, CreateSystemIntakeGRBReviewersMutationVariables>;
export const DeleteSystemIntakeGRBPresentationLinksDocument = gql`
mutation DeleteSystemIntakeGRBPresentationLinks($input: DeleteSystemIntakeGRBPresentationLinksInput!) {
deleteSystemIntakeGRBPresentationLinks(input: $input)
}
`;
export type DeleteSystemIntakeGRBPresentationLinksMutationFn = Apollo.MutationFunction<DeleteSystemIntakeGRBPresentationLinksMutation, DeleteSystemIntakeGRBPresentationLinksMutationVariables>;

/**
* __useDeleteSystemIntakeGRBPresentationLinksMutation__
*
* To run a mutation, you first call `useDeleteSystemIntakeGRBPresentationLinksMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useDeleteSystemIntakeGRBPresentationLinksMutation` returns a tuple that includes:
* - A mutate function that you can call at any time to execute the mutation
* - An object with fields that represent the current status of the mutation's execution
*
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
*
* @example
* const [deleteSystemIntakeGrbPresentationLinksMutation, { data, loading, error }] = useDeleteSystemIntakeGRBPresentationLinksMutation({
* variables: {
* input: // value for 'input'
* },
* });
*/
export function useDeleteSystemIntakeGRBPresentationLinksMutation(baseOptions?: Apollo.MutationHookOptions<DeleteSystemIntakeGRBPresentationLinksMutation, DeleteSystemIntakeGRBPresentationLinksMutationVariables>) {
const options = {...defaultOptions, ...baseOptions}
return Apollo.useMutation<DeleteSystemIntakeGRBPresentationLinksMutation, DeleteSystemIntakeGRBPresentationLinksMutationVariables>(DeleteSystemIntakeGRBPresentationLinksDocument, options);
}
export type DeleteSystemIntakeGRBPresentationLinksMutationHookResult = ReturnType<typeof useDeleteSystemIntakeGRBPresentationLinksMutation>;
export type DeleteSystemIntakeGRBPresentationLinksMutationResult = Apollo.MutationResult<DeleteSystemIntakeGRBPresentationLinksMutation>;
export type DeleteSystemIntakeGRBPresentationLinksMutationOptions = Apollo.BaseMutationOptions<DeleteSystemIntakeGRBPresentationLinksMutation, DeleteSystemIntakeGRBPresentationLinksMutationVariables>;
export const DeleteSystemIntakeGRBReviewerDocument = gql`
mutation DeleteSystemIntakeGRBReviewer($input: DeleteSystemIntakeGRBReviewerInput!) {
deleteSystemIntakeGRBReviewer(input: $input)
Expand Down Expand Up @@ -5126,6 +5164,7 @@ export const TypedTRBGuidanceLetterFragmentDoc = {"kind":"Document","definitions
export const TypedCreateSystemIntakeGRBDiscussionPostDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateSystemIntakeGRBDiscussionPost"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"createSystemIntakeGRBDiscussionPostInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createSystemIntakeGRBDiscussionPost"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussionPost"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussionPost"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussionPost"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"content"}},{"kind":"Field","name":{"kind":"Name","value":"votingRole"}},{"kind":"Field","name":{"kind":"Name","value":"grbRole"}},{"kind":"Field","name":{"kind":"Name","value":"createdByUserAccount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"commonName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"systemIntakeID"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}}]} as unknown as DocumentNode<CreateSystemIntakeGRBDiscussionPostMutation, CreateSystemIntakeGRBDiscussionPostMutationVariables>;
export const TypedCreateSystemIntakeGRBDiscussionReplyDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateSystemIntakeGRBDiscussionReply"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"createSystemIntakeGRBDiscussionReplyInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createSystemIntakeGRBDiscussionReply"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussionPost"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussionPost"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussionPost"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"content"}},{"kind":"Field","name":{"kind":"Name","value":"votingRole"}},{"kind":"Field","name":{"kind":"Name","value":"grbRole"}},{"kind":"Field","name":{"kind":"Name","value":"createdByUserAccount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"commonName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"systemIntakeID"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}}]} as unknown as DocumentNode<CreateSystemIntakeGRBDiscussionReplyMutation, CreateSystemIntakeGRBDiscussionReplyMutationVariables>;
export const TypedCreateSystemIntakeGRBReviewersDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateSystemIntakeGRBReviewers"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateSystemIntakeGRBReviewersInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createSystemIntakeGRBReviewers"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"reviewers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SystemIntakeGRBReviewer"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SystemIntakeGRBReviewer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SystemIntakeGRBReviewer"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"grbRole"}},{"kind":"Field","name":{"kind":"Name","value":"votingRole"}},{"kind":"Field","name":{"kind":"Name","value":"userAccount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}},{"kind":"Field","name":{"kind":"Name","value":"commonName"}},{"kind":"Field","name":{"kind":"Name","value":"email"}}]}}]}}]} as unknown as DocumentNode<CreateSystemIntakeGRBReviewersMutation, CreateSystemIntakeGRBReviewersMutationVariables>;
export const TypedDeleteSystemIntakeGRBPresentationLinksDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteSystemIntakeGRBPresentationLinks"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DeleteSystemIntakeGRBPresentationLinksInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteSystemIntakeGRBPresentationLinks"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}]}]}}]} as unknown as DocumentNode<DeleteSystemIntakeGRBPresentationLinksMutation, DeleteSystemIntakeGRBPresentationLinksMutationVariables>;
export const TypedDeleteSystemIntakeGRBReviewerDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteSystemIntakeGRBReviewer"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DeleteSystemIntakeGRBReviewerInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteSystemIntakeGRBReviewer"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}]}]}}]} as unknown as DocumentNode<DeleteSystemIntakeGRBReviewerMutation, DeleteSystemIntakeGRBReviewerMutationVariables>;
export const TypedgetGRBReviewersComparisonsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"getGRBReviewersComparisons"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"compareGRBReviewersByIntakeID"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"requestName"}},{"kind":"Field","name":{"kind":"Name","value":"reviewers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"grbRole"}},{"kind":"Field","name":{"kind":"Name","value":"votingRole"}},{"kind":"Field","name":{"kind":"Name","value":"userAccount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}},{"kind":"Field","name":{"kind":"Name","value":"commonName"}},{"kind":"Field","name":{"kind":"Name","value":"email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"isCurrentReviewer"}}]}}]}}]}}]} as unknown as DocumentNode<GetGRBReviewersComparisonsQuery, GetGRBReviewersComparisonsQueryVariables>;
export const TypedGetSystemIntakeGRBDiscussionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetSystemIntakeGRBDiscussions"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"systemIntake"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"grbDiscussions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussion"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussionPost"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussionPost"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"content"}},{"kind":"Field","name":{"kind":"Name","value":"votingRole"}},{"kind":"Field","name":{"kind":"Name","value":"grbRole"}},{"kind":"Field","name":{"kind":"Name","value":"createdByUserAccount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"commonName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"systemIntakeID"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussion"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussion"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"initialPost"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussionPost"}}]}},{"kind":"Field","name":{"kind":"Name","value":"replies"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SystemIntakeGRBReviewDiscussionPost"}}]}}]}}]} as unknown as DocumentNode<GetSystemIntakeGRBDiscussionsQuery, GetSystemIntakeGRBDiscussionsQueryVariables>;
Expand Down
22 changes: 22 additions & 0 deletions src/i18n/en-US/grbReview.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,28 @@ export default {
supportingDocuments: 'Supporting documents',
supportingDocumentsText:
'The documents below will help the GRB review this IT Governance request, and were completed during the course of this IT Governance request or were added by the requester and/or the Governance Admin Team. You may add additional documents and may remove any that have been added by Governance Admin Team members.',
asyncPresentation: {
title: 'Asynchronous presentation',
editPresentationLinks: 'Edit presentation links',
removeAllPresentationLinks: 'Remove all presentation links',
viewRecording: 'View recording',
passcode: '(Passcode: {{passcode}})',
viewTranscript: 'View transcript',
viewSlideDeck: 'View slide deck',
addAsynchronousPresentationLinks: 'Add asynchronous presentation links',
virusScanning: 'Virus scanning in progress...',
adminEmptyAlert:
'If this GRB review has an asynchronous presentation and recording, you may add that content to EASi to provide additional information for GRB reviews.',
modalRemoveLinks: {
title: 'Remove presentation links?',
text: 'This action will remove any links and files previously added about this asynchronous presesntation and cannot be undone. Are you sure you want to continue?',
confirm: 'Remove presentation links',
cancel: "Don't remove",
success: 'Presentation links have been removed.',
error:
'There was an issue deleting the presentation details. Please try again, and if the problem persists, try again later.'
}
},
businessCaseOverview: {
title: 'Business Case overview',
submitted: 'Last Updated',
Expand Down
15 changes: 15 additions & 0 deletions src/queries/GetSystemIntakeQuery.ts
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,21 @@ export const SystemIntake = gql`
decisionState
submittedAt
}
grbPresentationLinks {
Copy link
Contributor

Choose a reason for hiding this comment

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

The transcriptLink field needs to be added to the query and displayed in the same place as the transcriptFileURL field on the card.

systemIntakeID
createdAt
createdBy
modifiedAt
modifiedBy
recordingLink
recordingPasscode
transcriptFileName
transcriptFileStatus
transcriptFileURL
presentationDeckFileName
presentationDeckFileStatus
presentationDeckFileURL
}
}
`;

Expand Down
Loading
Loading