@@ -134,10 +134,10 @@ export function NavMain() {
|
||||
function getNavItems(organizationId?: string): NavItem[] {
|
||||
return [
|
||||
{
|
||||
title: "Mesures",
|
||||
title: "Measures",
|
||||
icon: ClipboardList,
|
||||
url: organizationId
|
||||
? `/organizations/${organizationId}/mesures`
|
||||
? `/organizations/${organizationId}/measures`
|
||||
: undefined,
|
||||
},
|
||||
{
|
||||
|
||||
@@ -69,7 +69,7 @@ const SidebarProvider = React.forwardRef<
|
||||
const [openMobile, setOpenMobile] = React.useState(false);
|
||||
|
||||
// This is the internal state of the sidebar.
|
||||
// We use openProp and setOpenProp for mesure from outside the component.
|
||||
// We use openProp and setOpenProp for measure from outside the component.
|
||||
const [_open, _setOpen] = React.useState(defaultOpen);
|
||||
const open = openProp ?? _open;
|
||||
const setOpen = React.useCallback(
|
||||
|
||||
@@ -2,5 +2,5 @@ import { Navigate, useParams } from "react-router";
|
||||
|
||||
export default function HomePage() {
|
||||
const { organizationId } = useParams();
|
||||
return <Navigate to={`/organizations/${organizationId}/mesures`} />;
|
||||
return <Navigate to={`/organizations/${organizationId}/measures`} />;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ import { OrganizationBreadcrumbBreadcrumbPeopleOverviewQuery } from "./__generat
|
||||
import { OrganizationBreadcrumbBreadcrumbPolicyOverviewQuery } from "./__generated__/OrganizationBreadcrumbBreadcrumbPolicyOverviewQuery.graphql";
|
||||
import { OrganizationBreadcrumbBreadcrumbVendorOverviewQuery } from "./__generated__/OrganizationBreadcrumbBreadcrumbVendorOverviewQuery.graphql";
|
||||
import { OrganizationBreadcrumbOrganizationQuery } from "./__generated__/OrganizationBreadcrumbOrganizationQuery.graphql";
|
||||
import { OrganizationBreadcrumbBreadcrumbMesureViewQuery } from "./__generated__/OrganizationBreadcrumbBreadcrumbMesureViewQuery.graphql";
|
||||
import { OrganizationBreadcrumbBreadcrumbMeasureViewQuery } from "./__generated__/OrganizationBreadcrumbBreadcrumbMeasureViewQuery.graphql";
|
||||
import { OrganizationBreadcrumbBreadcrumbControlQuery } from "./__generated__/OrganizationBreadcrumbBreadcrumbControlQuery.graphql";
|
||||
import { OrganizationBreadcrumbBreadcrumbRiskShowQuery } from "./__generated__/OrganizationBreadcrumbBreadcrumbRiskShowQuery.graphql";
|
||||
import ErrorBoundary from "@/components/ErrorBoundary";
|
||||
@@ -314,15 +314,15 @@ function BreadcrumbPolicyOverview() {
|
||||
);
|
||||
}
|
||||
|
||||
function BreadcrumbMesureList() {
|
||||
function BreadcrumbMeasureList() {
|
||||
const { organizationId } = useParams();
|
||||
|
||||
return (
|
||||
<>
|
||||
<BreadcrumbSeparator />
|
||||
<BreadcrumbItem>
|
||||
<BreadcrumbNavLink to={`/organizations/${organizationId}/mesures`}>
|
||||
Mesures
|
||||
<BreadcrumbNavLink to={`/organizations/${organizationId}/measures`}>
|
||||
Measures
|
||||
</BreadcrumbNavLink>
|
||||
</BreadcrumbItem>
|
||||
<Outlet />
|
||||
@@ -330,22 +330,22 @@ function BreadcrumbMesureList() {
|
||||
);
|
||||
}
|
||||
|
||||
function BreadcrumbMesureView() {
|
||||
const { organizationId, mesureId } = useParams();
|
||||
function BreadcrumbMeasureView() {
|
||||
const { organizationId, measureId } = useParams();
|
||||
const data =
|
||||
useLazyLoadQuery<OrganizationBreadcrumbBreadcrumbMesureViewQuery>(
|
||||
useLazyLoadQuery<OrganizationBreadcrumbBreadcrumbMeasureViewQuery>(
|
||||
graphql`
|
||||
query OrganizationBreadcrumbBreadcrumbMesureViewQuery($mesureId: ID!) {
|
||||
mesure: node(id: $mesureId) {
|
||||
query OrganizationBreadcrumbBreadcrumbMeasureViewQuery($measureId: ID!) {
|
||||
measure: node(id: $measureId) {
|
||||
id
|
||||
... on Mesure {
|
||||
... on Measure {
|
||||
name
|
||||
category
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
{ mesureId: mesureId! }
|
||||
{ measureId: measureId! }
|
||||
);
|
||||
|
||||
return (
|
||||
@@ -353,17 +353,17 @@ function BreadcrumbMesureView() {
|
||||
<BreadcrumbSeparator />
|
||||
<BreadcrumbItem>
|
||||
<BreadcrumbNavLink
|
||||
to={`/organizations/${organizationId}/mesures#${data.mesure.category}`}
|
||||
to={`/organizations/${organizationId}/measures#${data.measure.category}`}
|
||||
>
|
||||
{data.mesure.category}
|
||||
{data.measure.category}
|
||||
</BreadcrumbNavLink>
|
||||
</BreadcrumbItem>
|
||||
<BreadcrumbSeparator />
|
||||
<BreadcrumbItem>
|
||||
<BreadcrumbNavLink
|
||||
to={`/organizations/${organizationId}/mesures/${mesureId}`}
|
||||
to={`/organizations/${organizationId}/measures/${measureId}`}
|
||||
>
|
||||
{data.mesure.name}
|
||||
{data.measure.name}
|
||||
</BreadcrumbNavLink>
|
||||
</BreadcrumbItem>
|
||||
<Outlet />
|
||||
@@ -461,13 +461,13 @@ export function BreadCrumb() {
|
||||
</ErrorBoundary>
|
||||
}
|
||||
>
|
||||
<Route path="mesures" element={<BreadcrumbMesureList />}>
|
||||
<Route path="measures" element={<BreadcrumbMeasureList />}>
|
||||
<Route path="new" element={<New />} />
|
||||
<Route
|
||||
path=":mesureId"
|
||||
path=":measureId"
|
||||
element={
|
||||
<Suspense>
|
||||
<BreadcrumbMesureView />
|
||||
<BreadcrumbMeasureView />
|
||||
</Suspense>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -11,10 +11,10 @@ import { FrameworkListPage } from "./frameworks/FrameworkListPage";
|
||||
import { FrameworkPage } from "./frameworks/FrameworkPage";
|
||||
import { NewFrameworkPage } from "./frameworks/NewFrameworkPage";
|
||||
import { ControlPage } from "./frameworks/controls/ControlPage";
|
||||
import { EditMesurePage } from "./mesures/EditMesurePage";
|
||||
import { MesureListPage } from "./mesures/MesureListPage";
|
||||
import { MesurePage } from "./mesures/MesurePage";
|
||||
import { NewMesurePage } from "./mesures/NewMesurePage";
|
||||
import { EditMeasurePage } from "./measures/EditMeasurePage";
|
||||
import { MeasureListPage } from "./measures/MeasureListPage";
|
||||
import { MeasurePage } from "./measures/MeasurePage";
|
||||
import { NewMeasurePage } from "./measures/NewMeasurePage";
|
||||
import { NewPeoplePage } from "./people/NewPeoplePage";
|
||||
import { PeopleListPage } from "./people/PeopleListPage";
|
||||
import { PeoplePage } from "./people/PeoplePage";
|
||||
@@ -47,10 +47,10 @@ export function OrganizationsRoutes() {
|
||||
<Route path="edit" element={<EditFrameworkPage />} />
|
||||
<Route path="*" element={<NotFoundPage />} />
|
||||
</Route>
|
||||
<Route path="mesures" element={<MesureListPage />} />
|
||||
<Route path="mesures/new" element={<NewMesurePage />} />
|
||||
<Route path="mesures/:mesureId" element={<MesurePage />} />
|
||||
<Route path="mesures/:mesureId/edit" element={<EditMesurePage />} />
|
||||
<Route path="measures" element={<MeasureListPage />} />
|
||||
<Route path="measures/new" element={<NewMeasurePage />} />
|
||||
<Route path="measures/:measureId" element={<MeasurePage />} />
|
||||
<Route path="measures/:measureId/edit" element={<EditMeasurePage />} />
|
||||
<Route path="vendors/:vendorId" element={<VendorPage />} />
|
||||
<Route path="policies" element={<PolicyListPage />} />
|
||||
<Route path="policies/:policyId" element={<ShowPolicyPage />} />
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<a8e66e7606187f54d173cddac8bcd316>>
|
||||
* @generated SignedSource<<e85f30bc133288dc152ea3f46ced461e>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,19 +9,19 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type OrganizationBreadcrumbBreadcrumbMesureViewQuery$variables = {
|
||||
mesureId: string;
|
||||
export type OrganizationBreadcrumbBreadcrumbMeasureViewQuery$variables = {
|
||||
measureId: string;
|
||||
};
|
||||
export type OrganizationBreadcrumbBreadcrumbMesureViewQuery$data = {
|
||||
readonly mesure: {
|
||||
export type OrganizationBreadcrumbBreadcrumbMeasureViewQuery$data = {
|
||||
readonly measure: {
|
||||
readonly category?: string;
|
||||
readonly id: string;
|
||||
readonly name?: string;
|
||||
};
|
||||
};
|
||||
export type OrganizationBreadcrumbBreadcrumbMesureViewQuery = {
|
||||
response: OrganizationBreadcrumbBreadcrumbMesureViewQuery$data;
|
||||
variables: OrganizationBreadcrumbBreadcrumbMesureViewQuery$variables;
|
||||
export type OrganizationBreadcrumbBreadcrumbMeasureViewQuery = {
|
||||
response: OrganizationBreadcrumbBreadcrumbMeasureViewQuery$data;
|
||||
variables: OrganizationBreadcrumbBreadcrumbMeasureViewQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -29,14 +29,14 @@ var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "mesureId"
|
||||
"name": "measureId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "mesureId"
|
||||
"variableName": "measureId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
@@ -64,7 +64,7 @@ v3 = {
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mesure",
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
};
|
||||
return {
|
||||
@@ -72,10 +72,10 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "OrganizationBreadcrumbBreadcrumbMesureViewQuery",
|
||||
"name": "OrganizationBreadcrumbBreadcrumbMeasureViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesure",
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
@@ -95,10 +95,10 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "OrganizationBreadcrumbBreadcrumbMesureViewQuery",
|
||||
"name": "OrganizationBreadcrumbBreadcrumbMeasureViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesure",
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
@@ -120,16 +120,16 @@ return {
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "f6183e3013438a1cff8e91c6ff80f452",
|
||||
"cacheID": "3c48e17cf1b1191df67348c4b3fd09e4",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "OrganizationBreadcrumbBreadcrumbMesureViewQuery",
|
||||
"name": "OrganizationBreadcrumbBreadcrumbMeasureViewQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query OrganizationBreadcrumbBreadcrumbMesureViewQuery(\n $mesureId: ID!\n) {\n mesure: node(id: $mesureId) {\n __typename\n id\n ... on Mesure {\n name\n category\n }\n }\n}\n"
|
||||
"text": "query OrganizationBreadcrumbBreadcrumbMeasureViewQuery(\n $measureId: ID!\n) {\n measure: node(id: $measureId) {\n __typename\n id\n ... on Measure {\n name\n category\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "67fd3d426bbfcbe90457c3033dade1b3";
|
||||
(node as any).hash = "41cebf479daa730843b47f2f9fb46a10";
|
||||
|
||||
export default node;
|
||||
@@ -10,7 +10,7 @@ export function NewFrameworkViewSkeleton() {
|
||||
return (
|
||||
<PageTemplateSkeleton
|
||||
title="Create Framework"
|
||||
description="Create a new framework to organize your mesures"
|
||||
description="Create a new framework to organize your measures"
|
||||
>
|
||||
<div className="max-w-2xl aspect-square bg-subtle-bg rounded-xl animate-pulse" />
|
||||
</PageTemplateSkeleton>
|
||||
|
||||
@@ -170,7 +170,7 @@ function NewFrameworkViewContent() {
|
||||
return (
|
||||
<PageTemplate
|
||||
title="Create Framework"
|
||||
description="Create a new framework to organize your mesures"
|
||||
description="Create a new framework to organize your measures"
|
||||
>
|
||||
<Card className="max-w-2xl">
|
||||
<form onSubmit={handleSubmit} className="p-6 space-y-6">
|
||||
|
||||
@@ -26,13 +26,13 @@ import {
|
||||
} from "react-relay";
|
||||
import { useParams, Link } from "react-router";
|
||||
import {
|
||||
ControlLinkedMesuresQuery$data,
|
||||
ControlLinkedMesuresQuery,
|
||||
} from "./__generated__/ControlLinkedMesuresQuery.graphql";
|
||||
ControlLinkedMeasuresQuery$data,
|
||||
ControlLinkedMeasuresQuery,
|
||||
} from "./__generated__/ControlLinkedMeasuresQuery.graphql";
|
||||
import {
|
||||
ControlOrganizationMesuresQuery$data,
|
||||
ControlOrganizationMesuresQuery,
|
||||
} from "./__generated__/ControlOrganizationMesuresQuery.graphql";
|
||||
ControlOrganizationMeasuresQuery$data,
|
||||
ControlOrganizationMeasuresQuery,
|
||||
} from "./__generated__/ControlOrganizationMeasuresQuery.graphql";
|
||||
import { ControlFragment_Control$key } from "./__generated__/ControlFragment_Control.graphql";
|
||||
import {
|
||||
ControlLinkedPoliciesQuery$data,
|
||||
@@ -52,13 +52,13 @@ const controlFragment = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
// New query to fetch linked mesures
|
||||
const linkedMesuresQuery = graphql`
|
||||
query ControlLinkedMesuresQuery($controlId: ID!) {
|
||||
// New query to fetch linked measures
|
||||
const linkedMeasuresQuery = graphql`
|
||||
query ControlLinkedMeasuresQuery($controlId: ID!) {
|
||||
control: node(id: $controlId) {
|
||||
id
|
||||
... on Control {
|
||||
mesures(first: 100) @connection(key: "Control__mesures") {
|
||||
measures(first: 100) @connection(key: "Control__measures") {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -74,13 +74,13 @@ const linkedMesuresQuery = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
// Query to fetch all mesures for the organization
|
||||
const organizationMesuresQuery = graphql`
|
||||
query ControlOrganizationMesuresQuery($organizationId: ID!) {
|
||||
// Query to fetch all measures for the organization
|
||||
const organizationMeasuresQuery = graphql`
|
||||
query ControlOrganizationMeasuresQuery($organizationId: ID!) {
|
||||
organization: node(id: $organizationId) {
|
||||
id
|
||||
... on Organization {
|
||||
mesures(first: 100) @connection(key: "Organization__mesures") {
|
||||
measures(first: 100) @connection(key: "Organization__measures") {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -150,23 +150,23 @@ const organizationPoliciesQuery = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
// Mutation to create a mapping between a control and a mesure
|
||||
const createMesureMappingMutation = graphql`
|
||||
mutation ControlCreateMesureMappingMutation(
|
||||
$input: CreateControlMesureMappingInput!
|
||||
// Mutation to create a mapping between a control and a measure
|
||||
const createMeasureMappingMutation = graphql`
|
||||
mutation ControlCreateMeasureMappingMutation(
|
||||
$input: CreateControlMeasureMappingInput!
|
||||
) {
|
||||
createControlMesureMapping(input: $input) {
|
||||
createControlMeasureMapping(input: $input) {
|
||||
success
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
// Mutation to delete a mapping between a control and a mesure
|
||||
const deleteMesureMappingMutation = graphql`
|
||||
mutation ControlDeleteMesureMappingMutation(
|
||||
$input: DeleteControlMesureMappingInput!
|
||||
// Mutation to delete a mapping between a control and a measure
|
||||
const deleteMeasureMappingMutation = graphql`
|
||||
mutation ControlDeleteMeasureMappingMutation(
|
||||
$input: DeleteControlMeasureMappingInput!
|
||||
) {
|
||||
deleteControlMesureMapping(input: $input) {
|
||||
deleteControlMeasureMapping(input: $input) {
|
||||
success
|
||||
}
|
||||
}
|
||||
@@ -207,17 +207,17 @@ export function Control({
|
||||
const { toast } = useToast();
|
||||
const environment = useRelayEnvironment();
|
||||
|
||||
// State for mesure mapping
|
||||
const [isMesureMappingDialogOpen, setIsMesureMappingDialogOpen] =
|
||||
// State for measure mapping
|
||||
const [isMeasureMappingDialogOpen, setIsMeasureMappingDialogOpen] =
|
||||
useState(false);
|
||||
const [linkedMesuresData, setLinkedMesuresData] =
|
||||
useState<ControlLinkedMesuresQuery$data | null>(null);
|
||||
const [organizationMesuresData, setOrganizationMesuresData] =
|
||||
useState<ControlOrganizationMesuresQuery$data | null>(null);
|
||||
const [mesureSearchQuery, setMesureSearchQuery] = useState("");
|
||||
const [isLoadingMesures, setIsLoadingMesures] = useState(false);
|
||||
const [isLinkingMesure, setIsLinkingMesure] = useState(false);
|
||||
const [isUnlinkingMesure, setIsUnlinkingMesure] = useState(false);
|
||||
const [linkedMeasuresData, setLinkedMeasuresData] =
|
||||
useState<ControlLinkedMeasuresQuery$data | null>(null);
|
||||
const [organizationMeasuresData, setOrganizationMeasuresData] =
|
||||
useState<ControlOrganizationMeasuresQuery$data | null>(null);
|
||||
const [measureSearchQuery, setMeasureSearchQuery] = useState("");
|
||||
const [isLoadingMeasures, setIsLoadingMeasures] = useState(false);
|
||||
const [isLinkingMeasure, setIsLinkingMeasure] = useState(false);
|
||||
const [isUnlinkingMeasure, setIsUnlinkingMeasure] = useState(false);
|
||||
const [categoryFilter, setCategoryFilter] = useState<string | null>(null);
|
||||
|
||||
// Policy state
|
||||
@@ -233,73 +233,73 @@ export function Control({
|
||||
const [isUnlinkingPolicy, setIsUnlinkingPolicy] = useState(false);
|
||||
|
||||
// Create mutation hooks
|
||||
const [commitCreateMesureMapping] = useMutation(createMesureMappingMutation);
|
||||
const [commitDeleteMesureMapping] = useMutation(deleteMesureMappingMutation);
|
||||
const [commitCreateMeasureMapping] = useMutation(createMeasureMappingMutation);
|
||||
const [commitDeleteMeasureMapping] = useMutation(deleteMeasureMappingMutation);
|
||||
const [commitCreatePolicyMapping] = useMutation(createPolicyMappingMutation);
|
||||
const [commitDeletePolicyMapping] = useMutation(deletePolicyMappingMutation);
|
||||
|
||||
// Load initial linked mesures data
|
||||
// Load initial linked measures data
|
||||
useEffect(() => {
|
||||
if (control.id) {
|
||||
setIsLoadingMesures(true);
|
||||
fetchQuery<ControlLinkedMesuresQuery>(environment, linkedMesuresQuery, {
|
||||
setIsLoadingMeasures(true);
|
||||
fetchQuery<ControlLinkedMeasuresQuery>(environment, linkedMeasuresQuery, {
|
||||
controlId: control.id,
|
||||
}).subscribe({
|
||||
next: (data) => {
|
||||
setLinkedMesuresData(data);
|
||||
setIsLoadingMesures(false);
|
||||
setLinkedMeasuresData(data);
|
||||
setIsLoadingMeasures(false);
|
||||
},
|
||||
error: (error: Error) => {
|
||||
console.error("Error loading initial mesures:", error);
|
||||
setIsLoadingMesures(false);
|
||||
console.error("Error loading initial measures:", error);
|
||||
setIsLoadingMeasures(false);
|
||||
},
|
||||
});
|
||||
}
|
||||
}, [control.id, environment]);
|
||||
|
||||
// Load mesures data
|
||||
const loadMesuresData = useCallback(() => {
|
||||
// Load measures data
|
||||
const loadMeasuresData = useCallback(() => {
|
||||
if (!organizationId || !control.id) return;
|
||||
|
||||
setIsLoadingMesures(true);
|
||||
setIsLoadingMeasures(true);
|
||||
|
||||
// Fetch all mesures for the organization
|
||||
fetchQuery<ControlOrganizationMesuresQuery>(
|
||||
// Fetch all measures for the organization
|
||||
fetchQuery<ControlOrganizationMeasuresQuery>(
|
||||
environment,
|
||||
organizationMesuresQuery,
|
||||
organizationMeasuresQuery,
|
||||
{
|
||||
organizationId,
|
||||
}
|
||||
).subscribe({
|
||||
next: (data) => {
|
||||
setOrganizationMesuresData(data);
|
||||
setOrganizationMeasuresData(data);
|
||||
},
|
||||
complete: () => {
|
||||
// Fetch linked mesures for this control
|
||||
fetchQuery<ControlLinkedMesuresQuery>(environment, linkedMesuresQuery, {
|
||||
// Fetch linked measures for this control
|
||||
fetchQuery<ControlLinkedMeasuresQuery>(environment, linkedMeasuresQuery, {
|
||||
controlId: control.id,
|
||||
}).subscribe({
|
||||
next: (data) => {
|
||||
setLinkedMesuresData(data);
|
||||
setIsLoadingMesures(false);
|
||||
setLinkedMeasuresData(data);
|
||||
setIsLoadingMeasures(false);
|
||||
},
|
||||
error: (error: Error) => {
|
||||
console.error("Error fetching linked mesures:", error);
|
||||
setIsLoadingMesures(false);
|
||||
console.error("Error fetching linked measures:", error);
|
||||
setIsLoadingMeasures(false);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to load linked mesures.",
|
||||
description: "Failed to load linked measures.",
|
||||
variant: "destructive",
|
||||
});
|
||||
},
|
||||
});
|
||||
},
|
||||
error: (error: Error) => {
|
||||
console.error("Error fetching organization mesures:", error);
|
||||
setIsLoadingMesures(false);
|
||||
console.error("Error fetching organization measures:", error);
|
||||
setIsLoadingMeasures(false);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to load mesures.",
|
||||
description: "Failed to load measures.",
|
||||
variant: "destructive",
|
||||
});
|
||||
},
|
||||
@@ -307,190 +307,190 @@ export function Control({
|
||||
}, [control.id, environment, organizationId, toast]);
|
||||
|
||||
// Helper functions
|
||||
const getMesures = useCallback(() => {
|
||||
if (!organizationMesuresData?.organization?.mesures?.edges) return [];
|
||||
return organizationMesuresData.organization.mesures.edges.map(
|
||||
const getMeasures = useCallback(() => {
|
||||
if (!organizationMeasuresData?.organization?.measures?.edges) return [];
|
||||
return organizationMeasuresData.organization.measures.edges.map(
|
||||
(edge) => edge.node
|
||||
);
|
||||
}, [organizationMesuresData]);
|
||||
}, [organizationMeasuresData]);
|
||||
|
||||
const getLinkedMesures = useCallback(() => {
|
||||
if (!linkedMesuresData?.control?.mesures?.edges) return [];
|
||||
return linkedMesuresData.control.mesures.edges.map((edge) => edge.node);
|
||||
}, [linkedMesuresData]);
|
||||
const getLinkedMeasures = useCallback(() => {
|
||||
if (!linkedMeasuresData?.control?.measures?.edges) return [];
|
||||
return linkedMeasuresData.control.measures.edges.map((edge) => edge.node);
|
||||
}, [linkedMeasuresData]);
|
||||
|
||||
const isMesureLinked = useCallback(
|
||||
(mesureId: string) => {
|
||||
const linkedMesures = getLinkedMesures();
|
||||
return linkedMesures.some((mesure) => mesure.id === mesureId);
|
||||
const isMeasureLinked = useCallback(
|
||||
(measureId: string) => {
|
||||
const linkedMeasures = getLinkedMeasures();
|
||||
return linkedMeasures.some((measure) => measure.id === measureId);
|
||||
},
|
||||
[getLinkedMesures]
|
||||
[getLinkedMeasures]
|
||||
);
|
||||
|
||||
const getMesureCategories = useCallback(() => {
|
||||
const mesures = getMesures();
|
||||
const getMeasureCategories = useCallback(() => {
|
||||
const measures = getMeasures();
|
||||
const categories = new Set<string>();
|
||||
|
||||
mesures.forEach((mesure) => {
|
||||
if (mesure.category) {
|
||||
categories.add(mesure.category);
|
||||
measures.forEach((measure) => {
|
||||
if (measure.category) {
|
||||
categories.add(measure.category);
|
||||
}
|
||||
});
|
||||
|
||||
return Array.from(categories).sort();
|
||||
}, [getMesures]);
|
||||
}, [getMeasures]);
|
||||
|
||||
const filteredMesures = useCallback(() => {
|
||||
const mesures = getMesures();
|
||||
if (!mesureSearchQuery && !categoryFilter) return mesures;
|
||||
const filteredMeasures = useCallback(() => {
|
||||
const measures = getMeasures();
|
||||
if (!measureSearchQuery && !categoryFilter) return measures;
|
||||
|
||||
return mesures.filter((mesure) => {
|
||||
return measures.filter((measure) => {
|
||||
// Filter by search query
|
||||
const matchesSearch =
|
||||
!mesureSearchQuery ||
|
||||
mesure.name.toLowerCase().includes(mesureSearchQuery.toLowerCase()) ||
|
||||
(mesure.description &&
|
||||
mesure.description
|
||||
!measureSearchQuery ||
|
||||
measure.name.toLowerCase().includes(measureSearchQuery.toLowerCase()) ||
|
||||
(measure.description &&
|
||||
measure.description
|
||||
.toLowerCase()
|
||||
.includes(mesureSearchQuery.toLowerCase()));
|
||||
.includes(measureSearchQuery.toLowerCase()));
|
||||
|
||||
// Filter by category
|
||||
const matchesCategory =
|
||||
!categoryFilter ||
|
||||
categoryFilter === "all" ||
|
||||
mesure.category === categoryFilter;
|
||||
measure.category === categoryFilter;
|
||||
|
||||
return matchesSearch && matchesCategory;
|
||||
});
|
||||
}, [categoryFilter, getMesures, mesureSearchQuery]);
|
||||
}, [categoryFilter, getMeasures, measureSearchQuery]);
|
||||
|
||||
// Handle link/unlink functions
|
||||
const handleLinkMesure = useCallback(
|
||||
(mesureId: string) => {
|
||||
const handleLinkMeasure = useCallback(
|
||||
(measureId: string) => {
|
||||
if (!control.id) return;
|
||||
|
||||
setIsLinkingMesure(true);
|
||||
setIsLinkingMeasure(true);
|
||||
|
||||
commitCreateMesureMapping({
|
||||
commitCreateMeasureMapping({
|
||||
variables: {
|
||||
input: {
|
||||
controlId: control.id,
|
||||
mesureId: mesureId,
|
||||
measureId: measureId,
|
||||
},
|
||||
},
|
||||
onCompleted: (_, errors) => {
|
||||
setIsLinkingMesure(false);
|
||||
setIsLinkingMeasure(false);
|
||||
|
||||
if (errors) {
|
||||
console.error("Error linking mesure:", errors);
|
||||
console.error("Error linking measure:", errors);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to link mesure. Please try again.",
|
||||
description: "Failed to link measure. Please try again.",
|
||||
variant: "destructive",
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Refresh linked mesures data
|
||||
fetchQuery<ControlLinkedMesuresQuery>(
|
||||
// Refresh linked measures data
|
||||
fetchQuery<ControlLinkedMeasuresQuery>(
|
||||
environment,
|
||||
linkedMesuresQuery,
|
||||
linkedMeasuresQuery,
|
||||
{
|
||||
controlId: control.id,
|
||||
}
|
||||
).subscribe({
|
||||
next: (data) => {
|
||||
setLinkedMesuresData(data);
|
||||
setLinkedMeasuresData(data);
|
||||
},
|
||||
error: (error: Error) => {
|
||||
console.error("Error refreshing linked mesures:", error);
|
||||
console.error("Error refreshing linked measures:", error);
|
||||
},
|
||||
});
|
||||
|
||||
toast({
|
||||
title: "Success",
|
||||
description: "Mesure successfully linked to control.",
|
||||
description: "Measure successfully linked to control.",
|
||||
});
|
||||
},
|
||||
onError: (error) => {
|
||||
setIsLinkingMesure(false);
|
||||
console.error("Error linking mesure:", error);
|
||||
setIsLinkingMeasure(false);
|
||||
console.error("Error linking measure:", error);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to link mesure. Please try again.",
|
||||
description: "Failed to link measure. Please try again.",
|
||||
variant: "destructive",
|
||||
});
|
||||
},
|
||||
});
|
||||
},
|
||||
[commitCreateMesureMapping, control.id, environment, toast]
|
||||
[commitCreateMeasureMapping, control.id, environment, toast]
|
||||
);
|
||||
|
||||
const handleUnlinkMesure = useCallback(
|
||||
(mesureId: string) => {
|
||||
const handleUnlinkMeasure = useCallback(
|
||||
(measureId: string) => {
|
||||
if (!control.id) return;
|
||||
|
||||
setIsUnlinkingMesure(true);
|
||||
setIsUnlinkingMeasure(true);
|
||||
|
||||
commitDeleteMesureMapping({
|
||||
commitDeleteMeasureMapping({
|
||||
variables: {
|
||||
input: {
|
||||
controlId: control.id,
|
||||
mesureId: mesureId,
|
||||
measureId: measureId,
|
||||
},
|
||||
},
|
||||
onCompleted: (_, errors) => {
|
||||
setIsUnlinkingMesure(false);
|
||||
setIsUnlinkingMeasure(false);
|
||||
|
||||
if (errors) {
|
||||
console.error("Error unlinking mesure:", errors);
|
||||
console.error("Error unlinking measure:", errors);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to unlink mesure. Please try again.",
|
||||
description: "Failed to unlink measure. Please try again.",
|
||||
variant: "destructive",
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Refresh linked mesures data
|
||||
fetchQuery<ControlLinkedMesuresQuery>(
|
||||
// Refresh linked measures data
|
||||
fetchQuery<ControlLinkedMeasuresQuery>(
|
||||
environment,
|
||||
linkedMesuresQuery,
|
||||
linkedMeasuresQuery,
|
||||
{
|
||||
controlId: control.id,
|
||||
}
|
||||
).subscribe({
|
||||
next: (data) => {
|
||||
setLinkedMesuresData(data);
|
||||
setLinkedMeasuresData(data);
|
||||
},
|
||||
error: (error: Error) => {
|
||||
console.error("Error refreshing linked mesures:", error);
|
||||
console.error("Error refreshing linked measures:", error);
|
||||
},
|
||||
});
|
||||
|
||||
toast({
|
||||
title: "Success",
|
||||
description: "Mesure successfully unlinked from control.",
|
||||
description: "Measure successfully unlinked from control.",
|
||||
});
|
||||
},
|
||||
onError: (error) => {
|
||||
setIsUnlinkingMesure(false);
|
||||
console.error("Error unlinking mesure:", error);
|
||||
setIsUnlinkingMeasure(false);
|
||||
console.error("Error unlinking measure:", error);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to unlink mesure. Please try again.",
|
||||
description: "Failed to unlink measure. Please try again.",
|
||||
variant: "destructive",
|
||||
});
|
||||
},
|
||||
});
|
||||
},
|
||||
[commitDeleteMesureMapping, control.id, environment, toast]
|
||||
[commitDeleteMeasureMapping, control.id, environment, toast]
|
||||
);
|
||||
|
||||
const handleOpenMesureMappingDialog = useCallback(() => {
|
||||
loadMesuresData();
|
||||
setIsMesureMappingDialogOpen(true);
|
||||
}, [loadMesuresData]);
|
||||
const handleOpenMeasureMappingDialog = useCallback(() => {
|
||||
loadMeasuresData();
|
||||
setIsMeasureMappingDialogOpen(true);
|
||||
}, [loadMeasuresData]);
|
||||
|
||||
// Load initial linked policies data
|
||||
useEffect(() => {
|
||||
@@ -778,10 +778,10 @@ export function Control({
|
||||
|
||||
{/* Security Measures Section */}
|
||||
<div className="mt-8">
|
||||
{/* Mesure Mapping Dialog */}
|
||||
{/* Measure Mapping Dialog */}
|
||||
<Dialog
|
||||
open={isMesureMappingDialogOpen}
|
||||
onOpenChange={setIsMesureMappingDialogOpen}
|
||||
open={isMeasureMappingDialogOpen}
|
||||
onOpenChange={setIsMeasureMappingDialogOpen}
|
||||
>
|
||||
<DialogContent className="max-w-3xl max-h-[80vh] overflow-hidden flex flex-col">
|
||||
<DialogHeader>
|
||||
@@ -798,8 +798,8 @@ export function Control({
|
||||
<Search className="absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-tertiary" />
|
||||
<Input
|
||||
placeholder="Search security measures by name or description..."
|
||||
value={mesureSearchQuery}
|
||||
onChange={(e) => setMesureSearchQuery(e.target.value)}
|
||||
value={measureSearchQuery}
|
||||
onChange={(e) => setMeasureSearchQuery(e.target.value)}
|
||||
className="w-full pl-10"
|
||||
/>
|
||||
</div>
|
||||
@@ -816,7 +816,7 @@ export function Control({
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="all">All categories</SelectItem>
|
||||
{getMesureCategories().map((category) => (
|
||||
{getMeasureCategories().map((category) => (
|
||||
<SelectItem key={category} value={category}>
|
||||
{category}
|
||||
</SelectItem>
|
||||
@@ -827,14 +827,14 @@ export function Control({
|
||||
</div>
|
||||
|
||||
<div className="flex-1 overflow-hidden">
|
||||
{isLoadingMesures ? (
|
||||
{isLoadingMeasures ? (
|
||||
<div className="flex items-center justify-center h-full">
|
||||
<Loader2 className="w-8 h-8 animate-spin text-info" />
|
||||
<span className="ml-2">Loading security measures...</span>
|
||||
</div>
|
||||
) : (
|
||||
<div className="max-h-[50vh] overflow-y-auto pr-2">
|
||||
{filteredMesures().length === 0 ? (
|
||||
{filteredMeasures().length === 0 ? (
|
||||
<div className="text-center py-8 text-secondary">
|
||||
No security measures found. Try adjusting your search or
|
||||
select a different category.
|
||||
@@ -851,30 +851,30 @@ export function Control({
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{filteredMesures().map((mesure) => {
|
||||
const isLinked = isMesureLinked(mesure.id);
|
||||
{filteredMeasures().map((measure) => {
|
||||
const isLinked = isMeasureLinked(measure.id);
|
||||
return (
|
||||
<tr
|
||||
key={mesure.id}
|
||||
key={measure.id}
|
||||
className="border-b hover:bg-invert-bg"
|
||||
>
|
||||
<td className="py-3 px-4">
|
||||
<div className="font-medium">
|
||||
{mesure.name}
|
||||
{measure.name}
|
||||
</div>
|
||||
{mesure.description && (
|
||||
{measure.description && (
|
||||
<div className="text-xs text-secondary line-clamp-1 mt-0.5">
|
||||
{mesure.description}
|
||||
{measure.description}
|
||||
</div>
|
||||
)}
|
||||
</td>
|
||||
<td className="py-3 px-4">
|
||||
<div
|
||||
className={`px-2 py-0.5 rounded-full text-xs ${getStateColor(
|
||||
mesure.state
|
||||
measure.state
|
||||
)} inline-block`}
|
||||
>
|
||||
{formatState(mesure.state)}
|
||||
{formatState(measure.state)}
|
||||
</div>
|
||||
</td>
|
||||
<td className="py-3 px-4 text-right whitespace-nowrap">
|
||||
@@ -883,12 +883,12 @@ export function Control({
|
||||
variant="outline"
|
||||
size="sm"
|
||||
onClick={() =>
|
||||
handleUnlinkMesure(mesure.id)
|
||||
handleUnlinkMeasure(measure.id)
|
||||
}
|
||||
disabled={isUnlinkingMesure}
|
||||
disabled={isUnlinkingMeasure}
|
||||
className="text-xs h-7 text-danger border-danger-b hover:bg-h-danger-bg"
|
||||
>
|
||||
{isUnlinkingMesure ? (
|
||||
{isUnlinkingMeasure ? (
|
||||
<Loader2 className="w-4 h-4 animate-spin" />
|
||||
) : (
|
||||
<X className="w-4 h-4" />
|
||||
@@ -900,12 +900,12 @@ export function Control({
|
||||
variant="secondary"
|
||||
size="sm"
|
||||
onClick={() =>
|
||||
handleLinkMesure(mesure.id)
|
||||
handleLinkMeasure(measure.id)
|
||||
}
|
||||
disabled={isLinkingMesure}
|
||||
disabled={isLinkingMeasure}
|
||||
className="text-xs h-7 text-info border-info-b hover:bg-h-info-bg"
|
||||
>
|
||||
{isLinkingMesure ? (
|
||||
{isLinkingMeasure ? (
|
||||
<Loader2 className="w-4 h-4 animate-spin" />
|
||||
) : (
|
||||
<LinkIcon className="w-4 h-4" />
|
||||
@@ -925,14 +925,14 @@ export function Control({
|
||||
</div>
|
||||
|
||||
<DialogFooter className="mt-4">
|
||||
<Button onClick={() => setIsMesureMappingDialogOpen(false)}>
|
||||
<Button onClick={() => setIsMeasureMappingDialogOpen(false)}>
|
||||
Close
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
|
||||
{/* Linked Mesures List */}
|
||||
{/* Linked Measures List */}
|
||||
<div>
|
||||
<div className="flex justify-between items-center mb-4">
|
||||
<h3 className="text-xl font-medium text-secondary">
|
||||
@@ -942,20 +942,20 @@ export function Control({
|
||||
variant="outline"
|
||||
size="sm"
|
||||
className="flex items-center gap-1"
|
||||
onClick={handleOpenMesureMappingDialog}
|
||||
onClick={handleOpenMeasureMappingDialog}
|
||||
>
|
||||
<LinkIcon className="w-4 h-4" />
|
||||
<span>Link Security Measures</span>
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
{isLoadingMesures ? (
|
||||
{isLoadingMeasures ? (
|
||||
<div className="flex items-center justify-center h-24">
|
||||
<Loader2 className="w-6 h-6 animate-spin text-info" />
|
||||
<span className="ml-2">Loading security measures...</span>
|
||||
</div>
|
||||
) : linkedMesuresData?.control?.mesures?.edges &&
|
||||
linkedMesuresData.control.mesures.edges.length > 0 ? (
|
||||
) : linkedMeasuresData?.control?.measures?.edges &&
|
||||
linkedMeasuresData.control.measures.edges.length > 0 ? (
|
||||
<div className="overflow-x-auto border rounded-md">
|
||||
<table className="w-full">
|
||||
<thead>
|
||||
@@ -968,26 +968,26 @@ export function Control({
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{getLinkedMesures().map((mesure) => (
|
||||
{getLinkedMeasures().map((measure) => (
|
||||
<tr
|
||||
key={mesure.id}
|
||||
key={measure.id}
|
||||
className="border-b hover:bg-invert-bg"
|
||||
>
|
||||
<td className="py-3 px-4">
|
||||
<div className="font-medium">{mesure.name}</div>
|
||||
{mesure.description && (
|
||||
<div className="font-medium">{measure.name}</div>
|
||||
{measure.description && (
|
||||
<div className="text-xs text-secondary line-clamp-1 mt-0.5">
|
||||
{mesure.description}
|
||||
{measure.description}
|
||||
</div>
|
||||
)}
|
||||
</td>
|
||||
<td className="py-3 px-4">
|
||||
<div
|
||||
className={`px-2 py-0.5 rounded-full text-xs ${getStateColor(
|
||||
mesure.state
|
||||
measure.state
|
||||
)} inline-block`}
|
||||
>
|
||||
{formatState(mesure.state)}
|
||||
{formatState(measure.state)}
|
||||
</div>
|
||||
</td>
|
||||
<td className="py-3 px-4 text-right whitespace-nowrap">
|
||||
@@ -999,7 +999,7 @@ export function Control({
|
||||
className="text-xs h-7"
|
||||
>
|
||||
<Link
|
||||
to={`/organizations/${organizationId}/mesures/${mesure.id}`}
|
||||
to={`/organizations/${organizationId}/measures/${measure.id}`}
|
||||
>
|
||||
View
|
||||
</Link>
|
||||
@@ -1007,8 +1007,8 @@ export function Control({
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
onClick={() => handleUnlinkMesure(mesure.id)}
|
||||
disabled={isUnlinkingMesure}
|
||||
onClick={() => handleUnlinkMeasure(measure.id)}
|
||||
disabled={isUnlinkingMeasure}
|
||||
className="text-xs h-7 text-danger border-danger-b hover:bg-h-danger-bg"
|
||||
>
|
||||
Unlink
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<b2d5c0102cdcaff05ca490a75b797625>>
|
||||
* @generated SignedSource<<369cb72e422d254a5e4956d17c47a8ae>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,21 +9,21 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type CreateRiskMesureMappingInput = {
|
||||
mesureId: string;
|
||||
riskId: string;
|
||||
export type CreateControlMeasureMappingInput = {
|
||||
controlId: string;
|
||||
measureId: string;
|
||||
};
|
||||
export type ShowRiskViewCreateRiskMesureMappingMutation$variables = {
|
||||
input: CreateRiskMesureMappingInput;
|
||||
export type ControlCreateMeasureMappingMutation$variables = {
|
||||
input: CreateControlMeasureMappingInput;
|
||||
};
|
||||
export type ShowRiskViewCreateRiskMesureMappingMutation$data = {
|
||||
readonly createRiskMesureMapping: {
|
||||
export type ControlCreateMeasureMappingMutation$data = {
|
||||
readonly createControlMeasureMapping: {
|
||||
readonly success: boolean;
|
||||
};
|
||||
};
|
||||
export type ShowRiskViewCreateRiskMesureMappingMutation = {
|
||||
response: ShowRiskViewCreateRiskMesureMappingMutation$data;
|
||||
variables: ShowRiskViewCreateRiskMesureMappingMutation$variables;
|
||||
export type ControlCreateMeasureMappingMutation = {
|
||||
response: ControlCreateMeasureMappingMutation$data;
|
||||
variables: ControlCreateMeasureMappingMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -44,9 +44,9 @@ v1 = [
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "CreateRiskMesureMappingPayload",
|
||||
"concreteType": "CreateControlMeasureMappingPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createRiskMesureMapping",
|
||||
"name": "createControlMeasureMapping",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
@@ -65,7 +65,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "ShowRiskViewCreateRiskMesureMappingMutation",
|
||||
"name": "ControlCreateMeasureMappingMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -74,20 +74,20 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "ShowRiskViewCreateRiskMesureMappingMutation",
|
||||
"name": "ControlCreateMeasureMappingMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "f7d34307825549877c07678c77ca17c6",
|
||||
"cacheID": "5ff3b52a5f40607556617a17e44dc3b1",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "ShowRiskViewCreateRiskMesureMappingMutation",
|
||||
"name": "ControlCreateMeasureMappingMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation ShowRiskViewCreateRiskMesureMappingMutation(\n $input: CreateRiskMesureMappingInput!\n) {\n createRiskMesureMapping(input: $input) {\n success\n }\n}\n"
|
||||
"text": "mutation ControlCreateMeasureMappingMutation(\n $input: CreateControlMeasureMappingInput!\n) {\n createControlMeasureMapping(input: $input) {\n success\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "e1d7cdd482d6658c2befddd478a3397d";
|
||||
(node as any).hash = "2c0061b6e180971d0e0f8b8b5c44d566";
|
||||
|
||||
export default node;
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<0fc791ecc00bfd6b1aa3a8da262df36c>>
|
||||
* @generated SignedSource<<6208e6173d03bbf497b38e0f8dece2a7>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,21 +9,21 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type DeleteRiskMesureMappingInput = {
|
||||
mesureId: string;
|
||||
riskId: string;
|
||||
export type DeleteControlMeasureMappingInput = {
|
||||
controlId: string;
|
||||
measureId: string;
|
||||
};
|
||||
export type ShowRiskViewDeleteRiskMesureMappingMutation$variables = {
|
||||
input: DeleteRiskMesureMappingInput;
|
||||
export type ControlDeleteMeasureMappingMutation$variables = {
|
||||
input: DeleteControlMeasureMappingInput;
|
||||
};
|
||||
export type ShowRiskViewDeleteRiskMesureMappingMutation$data = {
|
||||
readonly deleteRiskMesureMapping: {
|
||||
export type ControlDeleteMeasureMappingMutation$data = {
|
||||
readonly deleteControlMeasureMapping: {
|
||||
readonly success: boolean;
|
||||
};
|
||||
};
|
||||
export type ShowRiskViewDeleteRiskMesureMappingMutation = {
|
||||
response: ShowRiskViewDeleteRiskMesureMappingMutation$data;
|
||||
variables: ShowRiskViewDeleteRiskMesureMappingMutation$variables;
|
||||
export type ControlDeleteMeasureMappingMutation = {
|
||||
response: ControlDeleteMeasureMappingMutation$data;
|
||||
variables: ControlDeleteMeasureMappingMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -44,9 +44,9 @@ v1 = [
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "DeleteRiskMesureMappingPayload",
|
||||
"concreteType": "DeleteControlMeasureMappingPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteRiskMesureMapping",
|
||||
"name": "deleteControlMeasureMapping",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
@@ -65,7 +65,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "ShowRiskViewDeleteRiskMesureMappingMutation",
|
||||
"name": "ControlDeleteMeasureMappingMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -74,20 +74,20 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "ShowRiskViewDeleteRiskMesureMappingMutation",
|
||||
"name": "ControlDeleteMeasureMappingMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "d46920306e833fb33b4f10dca6aa1c5a",
|
||||
"cacheID": "446e0d6cc32e0c0dfc4f5e74e11bdb84",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "ShowRiskViewDeleteRiskMesureMappingMutation",
|
||||
"name": "ControlDeleteMeasureMappingMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation ShowRiskViewDeleteRiskMesureMappingMutation(\n $input: DeleteRiskMesureMappingInput!\n) {\n deleteRiskMesureMapping(input: $input) {\n success\n }\n}\n"
|
||||
"text": "mutation ControlDeleteMeasureMappingMutation(\n $input: DeleteControlMeasureMappingInput!\n) {\n deleteControlMeasureMapping(input: $input) {\n success\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "e55c8d6490fbcfe0d287053200b6347d";
|
||||
(node as any).hash = "f6a94c260a98dffe7d48e4aa9e690845";
|
||||
|
||||
export default node;
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<94f5c5a041ae3730b8f4a71ad63530a8>>
|
||||
* @generated SignedSource<<968e00428300c564a03ee9a4b98eed90>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,29 +9,29 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type ControlLinkedMesuresQuery$variables = {
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type ControlLinkedMeasuresQuery$variables = {
|
||||
controlId: string;
|
||||
};
|
||||
export type ControlLinkedMesuresQuery$data = {
|
||||
export type ControlLinkedMeasuresQuery$data = {
|
||||
readonly control: {
|
||||
readonly id: string;
|
||||
readonly mesures?: {
|
||||
readonly measures?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly category: string;
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly state: MesureState;
|
||||
readonly state: MeasureState;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type ControlLinkedMesuresQuery = {
|
||||
response: ControlLinkedMesuresQuery$data;
|
||||
variables: ControlLinkedMesuresQuery$variables;
|
||||
export type ControlLinkedMeasuresQuery = {
|
||||
response: ControlLinkedMeasuresQuery$data;
|
||||
variables: ControlLinkedMeasuresQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -67,7 +67,7 @@ v4 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MesureEdge",
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
@@ -75,7 +75,7 @@ v4 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
@@ -161,7 +161,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "ControlLinkedMesuresQuery",
|
||||
"name": "ControlLinkedMeasuresQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "control",
|
||||
@@ -176,11 +176,11 @@ return {
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesures",
|
||||
"alias": "measures",
|
||||
"args": null,
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__Control__mesures_connection",
|
||||
"name": "__Control__measures_connection",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": null
|
||||
@@ -200,7 +200,7 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "ControlLinkedMesuresQuery",
|
||||
"name": "ControlLinkedMeasuresQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "control",
|
||||
@@ -218,21 +218,21 @@ return {
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v5/*: any*/),
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesures",
|
||||
"name": "measures",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": "mesures(first:100)"
|
||||
"storageKey": "measures(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v5/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "Control__mesures",
|
||||
"key": "Control__measures",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "mesures"
|
||||
"name": "measures"
|
||||
}
|
||||
],
|
||||
"type": "Control",
|
||||
@@ -244,7 +244,7 @@ return {
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "b29cb1662103fc42abf16fa6b3458a68",
|
||||
"cacheID": "1b64a54214517bf3d4555ada606c7e1c",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
@@ -254,18 +254,18 @@ return {
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"control",
|
||||
"mesures"
|
||||
"measures"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "ControlLinkedMesuresQuery",
|
||||
"name": "ControlLinkedMeasuresQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query ControlLinkedMesuresQuery(\n $controlId: ID!\n) {\n control: node(id: $controlId) {\n __typename\n id\n ... on Control {\n mesures(first: 100) {\n edges {\n node {\n id\n name\n description\n category\n state\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
"text": "query ControlLinkedMeasuresQuery(\n $controlId: ID!\n) {\n control: node(id: $controlId) {\n __typename\n id\n ... on Control {\n measures(first: 100) {\n edges {\n node {\n id\n name\n description\n category\n state\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "e42a48d7b21eaa5c42331377b6a9bc9c";
|
||||
(node as any).hash = "168cf7c175bd5abf756edada5c8bd533";
|
||||
|
||||
export default node;
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<862b2210a9d569a05063cebc805bdd01>>
|
||||
* @generated SignedSource<<b9bcf1b3144ca9e18e7e7c3513dfbd73>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,29 +9,29 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type ControlOrganizationMesuresQuery$variables = {
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type ControlOrganizationMeasuresQuery$variables = {
|
||||
organizationId: string;
|
||||
};
|
||||
export type ControlOrganizationMesuresQuery$data = {
|
||||
export type ControlOrganizationMeasuresQuery$data = {
|
||||
readonly organization: {
|
||||
readonly id: string;
|
||||
readonly mesures?: {
|
||||
readonly measures?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly category: string;
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly state: MesureState;
|
||||
readonly state: MeasureState;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type ControlOrganizationMesuresQuery = {
|
||||
response: ControlOrganizationMesuresQuery$data;
|
||||
variables: ControlOrganizationMesuresQuery$variables;
|
||||
export type ControlOrganizationMeasuresQuery = {
|
||||
response: ControlOrganizationMeasuresQuery$data;
|
||||
variables: ControlOrganizationMeasuresQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -67,7 +67,7 @@ v4 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MesureEdge",
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
@@ -75,7 +75,7 @@ v4 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
@@ -161,7 +161,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "ControlOrganizationMesuresQuery",
|
||||
"name": "ControlOrganizationMeasuresQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
@@ -176,11 +176,11 @@ return {
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesures",
|
||||
"alias": "measures",
|
||||
"args": null,
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__Organization__mesures_connection",
|
||||
"name": "__Organization__measures_connection",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": null
|
||||
@@ -200,7 +200,7 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "ControlOrganizationMesuresQuery",
|
||||
"name": "ControlOrganizationMeasuresQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
@@ -218,21 +218,21 @@ return {
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v5/*: any*/),
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesures",
|
||||
"name": "measures",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": "mesures(first:100)"
|
||||
"storageKey": "measures(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v5/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "Organization__mesures",
|
||||
"key": "Organization__measures",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "mesures"
|
||||
"name": "measures"
|
||||
}
|
||||
],
|
||||
"type": "Organization",
|
||||
@@ -244,7 +244,7 @@ return {
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "bb1066800bfa28aaa64a2fd1f12c5924",
|
||||
"cacheID": "9d2ddaaceb1b73e3c7b967e2d2a1b86b",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
@@ -254,18 +254,18 @@ return {
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"organization",
|
||||
"mesures"
|
||||
"measures"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "ControlOrganizationMesuresQuery",
|
||||
"name": "ControlOrganizationMeasuresQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query ControlOrganizationMesuresQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n mesures(first: 100) {\n edges {\n node {\n id\n name\n description\n category\n state\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
"text": "query ControlOrganizationMeasuresQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n measures(first: 100) {\n edges {\n node {\n id\n name\n description\n category\n state\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "5f1d6b11af3d92bec1c4d37ceb12b7c3";
|
||||
(node as any).hash = "6f5efd4dbac9bdc9b32ed8c155edf1e7";
|
||||
|
||||
export default node;
|
||||
@@ -4,26 +4,26 @@ import { lazy } from "@probo/react-lazy";
|
||||
import { useLocation } from "react-router";
|
||||
import { ErrorBoundaryWithLocation } from "../ErrorBoundary";
|
||||
|
||||
const NewMesureView = lazy(() => import("./NewMesureView"));
|
||||
const EditMeasureView = lazy(() => import("./EditMeasureView"));
|
||||
|
||||
export function NewMesureViewSkeleton() {
|
||||
export function EditMeasureViewSkeleton() {
|
||||
return (
|
||||
<PageTemplateSkeleton
|
||||
title="New Mesure"
|
||||
description="Add a new mesure. You will be able to link it to control and risks"
|
||||
title="Edit Measure"
|
||||
description="Edit a Measure. You will be able to link it to control and risks"
|
||||
>
|
||||
<div className="max-w-2xl aspect-square bg-subtle-bg rounded-xl animate-pulse" />
|
||||
</PageTemplateSkeleton>
|
||||
);
|
||||
}
|
||||
|
||||
export function NewMesurePage() {
|
||||
export function EditMeasurePage() {
|
||||
const location = useLocation();
|
||||
|
||||
return (
|
||||
<Suspense key={location.pathname} fallback={<NewMesureViewSkeleton />}>
|
||||
<Suspense key={location.pathname} fallback={<EditMeasureViewSkeleton />}>
|
||||
<ErrorBoundaryWithLocation>
|
||||
<NewMesureView />
|
||||
<EditMeasureView />
|
||||
</ErrorBoundaryWithLocation>
|
||||
</Suspense>
|
||||
);
|
||||
@@ -9,19 +9,19 @@ import {
|
||||
import { useParams, useNavigate } from "react-router";
|
||||
import { PageTemplate } from "@/components/PageTemplate";
|
||||
import { useToast } from "@/hooks/use-toast";
|
||||
import { EditMesureViewUpdateMesureMutation } from "./__generated__/EditMesureViewUpdateMesureMutation.graphql";
|
||||
import { EditMeasureViewUpdateMeasureMutation } from "./__generated__/EditMeasureViewUpdateMeasureMutation.graphql";
|
||||
import { EditableField } from "@/components/EditableField";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Card } from "@/components/ui/card";
|
||||
import { Label } from "@/components/ui/label";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { EditMesureViewSkeleton } from "./EditMesurePage";
|
||||
import { EditMesureViewQuery } from "./__generated__/EditMesureViewQuery.graphql";
|
||||
import { EditMeasureViewSkeleton } from "./EditMeasurePage";
|
||||
import { EditMeasureViewQuery } from "./__generated__/EditMeasureViewQuery.graphql";
|
||||
|
||||
const editMesureQuery = graphql`
|
||||
query EditMesureViewQuery($mesureId: ID!) {
|
||||
node(id: $mesureId) {
|
||||
... on Mesure {
|
||||
const editMeasureQuery = graphql`
|
||||
query EditMeasureViewQuery($measureId: ID!) {
|
||||
node(id: $measureId) {
|
||||
... on Measure {
|
||||
id
|
||||
name
|
||||
description
|
||||
@@ -31,10 +31,10 @@ const editMesureQuery = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
const updateMesureMutation = graphql`
|
||||
mutation EditMesureViewUpdateMesureMutation($input: UpdateMesureInput!) {
|
||||
updateMesure(input: $input) {
|
||||
mesure {
|
||||
const updateMeasureMutation = graphql`
|
||||
mutation EditMeasureViewUpdateMeasureMutation($input: UpdateMeasureInput!) {
|
||||
updateMeasure(input: $input) {
|
||||
measure {
|
||||
id
|
||||
name
|
||||
description
|
||||
@@ -43,26 +43,26 @@ const updateMesureMutation = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
function EditMesureViewContent({
|
||||
function EditMeasureViewContent({
|
||||
queryRef,
|
||||
}: {
|
||||
queryRef: PreloadedQuery<EditMesureViewQuery>;
|
||||
queryRef: PreloadedQuery<EditMeasureViewQuery>;
|
||||
}) {
|
||||
const { organizationId } = useParams<{
|
||||
organizationId: string;
|
||||
}>();
|
||||
const { mesureId } = useParams();
|
||||
const { measureId } = useParams();
|
||||
const navigate = useNavigate();
|
||||
const { toast } = useToast();
|
||||
const { node: mesure } = usePreloadedQuery(editMesureQuery, queryRef);
|
||||
const { node: measure } = usePreloadedQuery(editMeasureQuery, queryRef);
|
||||
const [formData, setFormData] = useState({
|
||||
name: mesure.name ?? "",
|
||||
description: mesure.description ?? "",
|
||||
category: mesure.category ?? ""
|
||||
name: measure.name ?? "",
|
||||
description: measure.description ?? "",
|
||||
category: measure.category ?? ""
|
||||
});
|
||||
|
||||
const [commit, isInFlight] =
|
||||
useMutation<EditMesureViewUpdateMesureMutation>(updateMesureMutation);
|
||||
useMutation<EditMeasureViewUpdateMeasureMutation>(updateMeasureMutation);
|
||||
|
||||
const handleFieldChange = (field: keyof typeof formData, value: unknown) => {
|
||||
setFormData((prev) => ({
|
||||
@@ -86,7 +86,7 @@ function EditMesureViewContent({
|
||||
commit({
|
||||
variables: {
|
||||
input: {
|
||||
id: mesureId!,
|
||||
id: measureId!,
|
||||
name: formData.name,
|
||||
description: formData.description,
|
||||
category: formData.category
|
||||
@@ -96,7 +96,7 @@ function EditMesureViewContent({
|
||||
if (errors) {
|
||||
toast({
|
||||
title: "Error",
|
||||
description: errors[0]?.message || "Failed to update mesure",
|
||||
description: errors[0]?.message || "Failed to update measure",
|
||||
variant: "destructive",
|
||||
});
|
||||
return;
|
||||
@@ -104,10 +104,10 @@ function EditMesureViewContent({
|
||||
|
||||
toast({
|
||||
title: "Success",
|
||||
description: "Mesure updated successfully",
|
||||
description: "Measure updated successfully",
|
||||
});
|
||||
|
||||
navigate(`/organizations/${organizationId}/mesures/${mesureId}`);
|
||||
navigate(`/organizations/${organizationId}/measures/${measureId}`);
|
||||
},
|
||||
onError(error) {
|
||||
toast({
|
||||
@@ -121,8 +121,8 @@ function EditMesureViewContent({
|
||||
|
||||
return (
|
||||
<PageTemplate
|
||||
title="Edit Mesure"
|
||||
description="Edit a mesure. You will be able to link it to control and risks"
|
||||
title="Edit Measure"
|
||||
description="Edit a measure. You will be able to link it to control and risks"
|
||||
>
|
||||
<Card className="max-w-2xl">
|
||||
<form onSubmit={handleSubmit} className="p-6 space-y-6">
|
||||
@@ -139,7 +139,7 @@ function EditMesureViewContent({
|
||||
onChange={(value) => handleFieldChange("description", value)}
|
||||
required
|
||||
multiline
|
||||
helpText="Provide a detailed description of the mesure"
|
||||
helpText="Provide a detailed description of the measure"
|
||||
/>
|
||||
|
||||
<EditableField
|
||||
@@ -154,13 +154,13 @@ function EditMesureViewContent({
|
||||
type="button"
|
||||
variant="outline"
|
||||
onClick={() =>
|
||||
navigate(`/organizations/${organizationId}/mesures/${mesureId}`)
|
||||
navigate(`/organizations/${organizationId}/measures/${measureId}`)
|
||||
}
|
||||
>
|
||||
Cancel
|
||||
</Button>
|
||||
<Button type="submit" disabled={isInFlight}>
|
||||
{isInFlight ? "Updating..." : "Update Mesure"}
|
||||
{isInFlight ? "Updating..." : "Update Measure"}
|
||||
</Button>
|
||||
</div>
|
||||
</form>
|
||||
@@ -169,24 +169,24 @@ function EditMesureViewContent({
|
||||
);
|
||||
}
|
||||
|
||||
export default function EditMesureView() {
|
||||
const { mesureId } = useParams();
|
||||
export default function EditMeasureView() {
|
||||
const { measureId } = useParams();
|
||||
const [queryRef, loadQuery] =
|
||||
useQueryLoader<EditMesureViewQuery>(editMesureQuery);
|
||||
useQueryLoader<EditMeasureViewQuery>(editMeasureQuery);
|
||||
|
||||
useEffect(() => {
|
||||
if (mesureId) {
|
||||
loadQuery({ mesureId });
|
||||
if (measureId) {
|
||||
loadQuery({ measureId });
|
||||
}
|
||||
}, [mesureId, loadQuery]);
|
||||
}, [measureId, loadQuery]);
|
||||
|
||||
if (!queryRef) {
|
||||
return <EditMesureViewSkeleton />;
|
||||
return <EditMeasureViewSkeleton />;
|
||||
}
|
||||
|
||||
return (
|
||||
<Suspense fallback={<EditMesureViewSkeleton />}>
|
||||
<EditMesureViewContent queryRef={queryRef} />
|
||||
<Suspense fallback={<EditMeasureViewSkeleton />}>
|
||||
<EditMeasureViewContent queryRef={queryRef} />
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
@@ -4,13 +4,13 @@ import { lazy } from "@probo/react-lazy";
|
||||
import { useLocation } from "react-router";
|
||||
import { ErrorBoundaryWithLocation } from "../ErrorBoundary";
|
||||
|
||||
const MesureListView = lazy(() => import("./MesureListView"));
|
||||
const MeasureListView = lazy(() => import("./MeasureListView"));
|
||||
|
||||
export function MesureListViewSkeleton() {
|
||||
export function MeasureListViewSkeleton() {
|
||||
return (
|
||||
<PageTemplateSkeleton
|
||||
title="Mesures"
|
||||
description="Mesures are actions taken to reduce the risk of a risk."
|
||||
title="Measures"
|
||||
description="Measures are actions taken to reduce the risk of a risk."
|
||||
>
|
||||
<div className="space-y-6">
|
||||
<div className="h-[72px] bg-subtle-bg animate-pulse rounded-xl" />
|
||||
@@ -31,13 +31,13 @@ export function MesureListViewSkeleton() {
|
||||
);
|
||||
}
|
||||
|
||||
export function MesureListPage() {
|
||||
export function MeasureListPage() {
|
||||
const location = useLocation();
|
||||
|
||||
return (
|
||||
<Suspense key={location.pathname} fallback={<MesureListViewSkeleton />}>
|
||||
<Suspense key={location.pathname} fallback={<MeasureListViewSkeleton />}>
|
||||
<ErrorBoundaryWithLocation>
|
||||
<MesureListView />
|
||||
<MeasureListView />
|
||||
</ErrorBoundaryWithLocation>
|
||||
</Suspense>
|
||||
);
|
||||
@@ -21,11 +21,11 @@ import {
|
||||
} from "lucide-react";
|
||||
import { PageTemplate } from "@/components/PageTemplate";
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
||||
import { MesureListViewQuery as MesureListViewQueryType } from "./__generated__/MesureListViewQuery.graphql";
|
||||
import { MesureListViewSkeleton } from "./MesureListPage";
|
||||
import { MeasureListViewQuery as MeasureListViewQueryType } from "./__generated__/MeasureListViewQuery.graphql";
|
||||
import { MeasureListViewSkeleton } from "./MeasureListPage";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { useToast } from "@/hooks/use-toast";
|
||||
import { MesureListViewImportMesureMutation as MesureListViewImportMesureMutationType } from "./__generated__/MesureListViewImportMesureMutation.graphql";
|
||||
import { MeasureListViewImportMeasureMutation as MeasureListViewImportMeasureMutationType } from "./__generated__/MeasureListViewImportMeasureMutation.graphql";
|
||||
import {
|
||||
Tooltip,
|
||||
TooltipContent,
|
||||
@@ -38,12 +38,12 @@ import {
|
||||
PopoverTrigger,
|
||||
} from "@/components/ui/popover";
|
||||
|
||||
const mesureListViewQuery = graphql`
|
||||
query MesureListViewQuery($organizationId: ID!, $first: Int) {
|
||||
const measureListViewQuery = graphql`
|
||||
query MeasureListViewQuery($organizationId: ID!, $first: Int) {
|
||||
organization: node(id: $organizationId) {
|
||||
id
|
||||
... on Organization {
|
||||
mesures(first: $first) @connection(key: "MesureListView_mesures") {
|
||||
measures(first: $first) @connection(key: "MeasureListView_measures") {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -61,13 +61,13 @@ const mesureListViewQuery = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
const importMesureMutation = graphql`
|
||||
mutation MesureListViewImportMesureMutation(
|
||||
$input: ImportMesureInput!
|
||||
const importMeasureMutation = graphql`
|
||||
mutation MeasureListViewImportMeasureMutation(
|
||||
$input: ImportMeasureInput!
|
||||
$connections: [ID!]!
|
||||
) {
|
||||
importMesure(input: $input) {
|
||||
mesureEdges @appendEdge(connections: $connections) {
|
||||
importMeasure(input: $input) {
|
||||
measureEdges @appendEdge(connections: $connections) {
|
||||
node {
|
||||
id
|
||||
name
|
||||
@@ -82,7 +82,7 @@ const importMesureMutation = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
interface Mesure {
|
||||
interface Measure {
|
||||
id?: string;
|
||||
name?: string;
|
||||
description?: string;
|
||||
@@ -98,7 +98,7 @@ interface Category {
|
||||
name: string;
|
||||
description: string;
|
||||
progress: number;
|
||||
mesures: Mesure[];
|
||||
measures: Measure[];
|
||||
doneCount: number;
|
||||
totalCount: number;
|
||||
}
|
||||
@@ -106,21 +106,21 @@ interface Category {
|
||||
interface OrganizationData {
|
||||
organization: {
|
||||
id: string;
|
||||
mesures?: {
|
||||
measures?: {
|
||||
edges: Array<{
|
||||
node: Mesure;
|
||||
node: Measure;
|
||||
}>;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
function MesureListContent({
|
||||
function MeasureListContent({
|
||||
queryRef,
|
||||
}: {
|
||||
queryRef: PreloadedQuery<MesureListViewQueryType>;
|
||||
queryRef: PreloadedQuery<MeasureListViewQueryType>;
|
||||
}) {
|
||||
const data = usePreloadedQuery<MesureListViewQueryType>(
|
||||
mesureListViewQuery,
|
||||
const data = usePreloadedQuery<MeasureListViewQueryType>(
|
||||
measureListViewQuery,
|
||||
queryRef
|
||||
) as unknown as OrganizationData;
|
||||
|
||||
@@ -129,8 +129,8 @@ function MesureListContent({
|
||||
const [isImporting, setIsImporting] = useState(false);
|
||||
const { toast } = useToast();
|
||||
|
||||
const [importMesure] =
|
||||
useMutation<MesureListViewImportMesureMutationType>(importMesureMutation);
|
||||
const [importMeasure] =
|
||||
useMutation<MeasureListViewImportMeasureMutationType>(importMeasureMutation);
|
||||
|
||||
// Monitor URL hash for changes and update state accordingly
|
||||
const [initialHashCategory] = useState(() =>
|
||||
@@ -175,10 +175,10 @@ function MesureListContent({
|
||||
};
|
||||
}, [expandedCategories]);
|
||||
|
||||
const mesures =
|
||||
data.organization.mesures?.edges.map((edge) => edge.node) ?? [];
|
||||
const measures =
|
||||
data.organization.measures?.edges.map((edge) => edge.node) ?? [];
|
||||
|
||||
// Map mesure state to status for the new design
|
||||
// Map measure state to status for the new design
|
||||
const mapStateToStatus = (state?: string): string => {
|
||||
if (!state) return "incomplete";
|
||||
switch (state) {
|
||||
@@ -195,48 +195,48 @@ function MesureListContent({
|
||||
}
|
||||
};
|
||||
|
||||
const processedMesures = mesures.map((mesure: Mesure) => ({
|
||||
...mesure,
|
||||
status: mapStateToStatus(mesure.state),
|
||||
const processedMeasures = measures.map((measure: Measure) => ({
|
||||
...measure,
|
||||
status: mapStateToStatus(measure.state),
|
||||
}));
|
||||
|
||||
// Calculate global progress
|
||||
const implementedCount = processedMesures.filter(
|
||||
(mesure: Mesure) => mesure.status === "complete"
|
||||
const implementedCount = processedMeasures.filter(
|
||||
(measure: Measure) => measure.status === "complete"
|
||||
).length;
|
||||
const notApplicableCount = processedMesures.filter(
|
||||
(mesure: Mesure) => mesure.status === "not-applicable"
|
||||
const notApplicableCount = processedMeasures.filter(
|
||||
(measure: Measure) => measure.status === "not-applicable"
|
||||
).length;
|
||||
const totalMesures = processedMesures.length;
|
||||
const totalMeasures = processedMeasures.length;
|
||||
|
||||
// Include not-applicable as effectively "complete" for progress percentage
|
||||
const effectiveCompletedCount = implementedCount + notApplicableCount;
|
||||
const globalProgress = totalMesures
|
||||
? Math.round((effectiveCompletedCount / totalMesures) * 100)
|
||||
const globalProgress = totalMeasures
|
||||
? Math.round((effectiveCompletedCount / totalMeasures) * 100)
|
||||
: 0;
|
||||
|
||||
// Get global status counts
|
||||
const globalStatusCounts = processedMesures.reduce(
|
||||
(acc: Record<string, number>, mesure: Mesure) => {
|
||||
if (mesure.status) {
|
||||
acc[mesure.status] = (acc[mesure.status] || 0) + 1;
|
||||
const globalStatusCounts = processedMeasures.reduce(
|
||||
(acc: Record<string, number>, measure: Measure) => {
|
||||
if (measure.status) {
|
||||
acc[measure.status] = (acc[measure.status] || 0) + 1;
|
||||
}
|
||||
return acc;
|
||||
},
|
||||
{} as Record<string, number>
|
||||
);
|
||||
|
||||
// Group mesures by category
|
||||
const mesuresByCategory = processedMesures.reduce(
|
||||
(acc: Record<string, Mesure[]>, mesure: Mesure) => {
|
||||
if (!mesure?.category) return acc;
|
||||
if (!acc[mesure.category]) {
|
||||
acc[mesure.category] = [];
|
||||
// Group measures by category
|
||||
const measuresByCategory = processedMeasures.reduce(
|
||||
(acc: Record<string, Measure[]>, measure: Measure) => {
|
||||
if (!measure?.category) return acc;
|
||||
if (!acc[measure.category]) {
|
||||
acc[measure.category] = [];
|
||||
}
|
||||
acc[mesure.category].push(mesure);
|
||||
acc[measure.category].push(measure);
|
||||
return acc;
|
||||
},
|
||||
{} as Record<string, Mesure[]>
|
||||
{} as Record<string, Measure[]>
|
||||
);
|
||||
|
||||
// Function to toggle a category's expanded state
|
||||
@@ -250,17 +250,17 @@ function MesureListContent({
|
||||
});
|
||||
};
|
||||
|
||||
const categories: Category[] = Object.entries(mesuresByCategory)
|
||||
.map(([categoryName, categoryMesures]: [string, Mesure[]]) => {
|
||||
const catImplementedCount = categoryMesures.filter(
|
||||
(mesure) => mesure.status === "complete"
|
||||
const categories: Category[] = Object.entries(measuresByCategory)
|
||||
.map(([categoryName, categoryMeasures]: [string, Measure[]]) => {
|
||||
const catImplementedCount = categoryMeasures.filter(
|
||||
(measure) => measure.status === "complete"
|
||||
).length;
|
||||
const catNotApplicableCount = categoryMesures.filter(
|
||||
(mesure) => mesure.status === "not-applicable"
|
||||
const catNotApplicableCount = categoryMeasures.filter(
|
||||
(measure) => measure.status === "not-applicable"
|
||||
).length;
|
||||
// Consider both "complete" and "not-applicable" as done for category progress
|
||||
const catDoneCount = catImplementedCount + catNotApplicableCount;
|
||||
const catTotalCount = categoryMesures.length;
|
||||
const catTotalCount = categoryMeasures.length;
|
||||
const progress = catTotalCount
|
||||
? Math.round((catDoneCount / catTotalCount) * 100)
|
||||
: 0;
|
||||
@@ -268,16 +268,16 @@ function MesureListContent({
|
||||
return {
|
||||
id: categoryName,
|
||||
name: categoryName,
|
||||
description: `Mesures related to ${categoryName.toLowerCase()}`,
|
||||
description: `Measures related to ${categoryName.toLowerCase()}`,
|
||||
progress: progress,
|
||||
mesures: categoryMesures.sort((a, b) =>
|
||||
measures: categoryMeasures.sort((a, b) =>
|
||||
(a.name || "").localeCompare(b.name || "")
|
||||
),
|
||||
doneCount: catDoneCount,
|
||||
totalCount: catTotalCount,
|
||||
};
|
||||
})
|
||||
.filter((category) => category.mesures.length > 0)
|
||||
.filter((category) => category.measures.length > 0)
|
||||
.sort((a, b) => a.name.localeCompare(b.name));
|
||||
|
||||
const getStatusIcon = (status: string) => {
|
||||
@@ -303,12 +303,12 @@ function MesureListContent({
|
||||
|
||||
setIsImporting(true);
|
||||
|
||||
importMesure({
|
||||
importMeasure({
|
||||
variables: {
|
||||
connections: [
|
||||
ConnectionHandler.getConnectionID(
|
||||
data.organization.id,
|
||||
"MesureListView_mesures"
|
||||
"MeasureListView_measures"
|
||||
),
|
||||
],
|
||||
input: {
|
||||
@@ -322,8 +322,8 @@ function MesureListContent({
|
||||
onCompleted: () => {
|
||||
setIsImporting(false);
|
||||
toast({
|
||||
title: "Mesures imported",
|
||||
description: "Mesures have been imported successfully.",
|
||||
title: "Measures imported",
|
||||
description: "Measures have been imported successfully.",
|
||||
variant: "default",
|
||||
});
|
||||
if (fileInputRef.current) {
|
||||
@@ -333,7 +333,7 @@ function MesureListContent({
|
||||
onError: (error) => {
|
||||
setIsImporting(false);
|
||||
toast({
|
||||
title: "Error importing mesures",
|
||||
title: "Error importing measures",
|
||||
description: error.message,
|
||||
variant: "destructive",
|
||||
});
|
||||
@@ -343,8 +343,8 @@ function MesureListContent({
|
||||
|
||||
return (
|
||||
<PageTemplate
|
||||
title="Mesures"
|
||||
description="Mesures are actions taken to reduce the risk. Add them to track their implementation status."
|
||||
title="Measures"
|
||||
description="Measures are actions taken to reduce the risk. Add them to track their implementation status."
|
||||
actions={
|
||||
<div className="flex gap-4">
|
||||
<Button
|
||||
@@ -352,17 +352,17 @@ function MesureListContent({
|
||||
onClick={() => fileInputRef.current?.click()}
|
||||
disabled={isImporting}
|
||||
>
|
||||
{isImporting ? "Importing..." : "Import Mesures"}
|
||||
{isImporting ? "Importing..." : "Import Measures"}
|
||||
</Button>
|
||||
<Button asChild>
|
||||
<Link to={`/organizations/${organizationId}/mesures/new`}>
|
||||
New Mesure
|
||||
<Link to={`/organizations/${organizationId}/measures/new`}>
|
||||
New Measure
|
||||
</Link>
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
{/* Hidden file input for mesure import */}
|
||||
{/* Hidden file input for measure import */}
|
||||
<input
|
||||
type="file"
|
||||
ref={fileInputRef}
|
||||
@@ -374,7 +374,7 @@ function MesureListContent({
|
||||
{/* Global Progress Summary */}
|
||||
<div className="mb-8">
|
||||
<div className="flex items-center justify-between mb-1">
|
||||
<h3 className="text-lg font-medium">Mesure Implementation</h3>
|
||||
<h3 className="text-lg font-medium">Measure Implementation</h3>
|
||||
<span className="text-sm text-tertiary">
|
||||
{globalProgress}% complete
|
||||
</span>
|
||||
@@ -390,7 +390,7 @@ function MesureListContent({
|
||||
className="bg-green-500 h-full"
|
||||
style={{
|
||||
width: `${
|
||||
(globalStatusCounts.complete / totalMesures) * 100
|
||||
(globalStatusCounts.complete / totalMeasures) * 100
|
||||
}%`,
|
||||
}}
|
||||
/>
|
||||
@@ -401,7 +401,7 @@ function MesureListContent({
|
||||
className="bg-blue-500 h-full"
|
||||
style={{
|
||||
width: `${
|
||||
(globalStatusCounts["in-progress"] / totalMesures) * 100
|
||||
(globalStatusCounts["in-progress"] / totalMeasures) * 100
|
||||
}%`,
|
||||
}}
|
||||
/>
|
||||
@@ -412,7 +412,7 @@ function MesureListContent({
|
||||
className="bg-red-500 h-full"
|
||||
style={{
|
||||
width: `${
|
||||
(globalStatusCounts.incomplete / totalMesures) * 100
|
||||
(globalStatusCounts.incomplete / totalMeasures) * 100
|
||||
}%`,
|
||||
}}
|
||||
/>
|
||||
@@ -423,7 +423,7 @@ function MesureListContent({
|
||||
className="bg-primary-bg h-full"
|
||||
style={{
|
||||
width: `${
|
||||
(globalStatusCounts["not-applicable"] / totalMesures) * 100
|
||||
(globalStatusCounts["not-applicable"] / totalMeasures) * 100
|
||||
}%`,
|
||||
}}
|
||||
/>
|
||||
@@ -434,7 +434,7 @@ function MesureListContent({
|
||||
className="bg-secondary h-full"
|
||||
style={{
|
||||
width: `${
|
||||
(globalStatusCounts["not-started"] / totalMesures) * 100
|
||||
(globalStatusCounts["not-started"] / totalMeasures) * 100
|
||||
}%`,
|
||||
}}
|
||||
/>
|
||||
@@ -514,7 +514,7 @@ function MesureListContent({
|
||||
|
||||
{isExpanded && (
|
||||
<CardContent className="p-0">
|
||||
{category.mesures.length > 0 ? (
|
||||
{category.measures.length > 0 ? (
|
||||
<div className="w-full">
|
||||
<table className="w-full">
|
||||
<thead>
|
||||
@@ -522,19 +522,19 @@ function MesureListContent({
|
||||
<th className="w-24 px-4 py-2 text-left">
|
||||
Status
|
||||
</th>
|
||||
<th className="px-4 py-2 text-left">Mesure</th>
|
||||
<th className="px-4 py-2 text-left">Measure</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className="divide-y">
|
||||
{category.mesures.map((mesure) => (
|
||||
{category.measures.map((measure) => (
|
||||
<tr
|
||||
key={mesure.id || Math.random().toString()}
|
||||
key={measure.id || Math.random().toString()}
|
||||
className="hover:bg-h-subtle-bg cursor-pointer"
|
||||
>
|
||||
<td className="w-24 px-4 py-3 align-middle">
|
||||
<div className="flex items-center justify-center">
|
||||
{mesure.status
|
||||
? getStatusIcon(mesure.status)
|
||||
{measure.status
|
||||
? getStatusIcon(measure.status)
|
||||
: null}
|
||||
</div>
|
||||
</td>
|
||||
@@ -544,11 +544,11 @@ function MesureListContent({
|
||||
<Tooltip>
|
||||
<TooltipTrigger asChild>
|
||||
<Link
|
||||
to={`/organizations/${organizationId}/mesures/${mesure.id}`}
|
||||
to={`/organizations/${organizationId}/measures/${measure.id}`}
|
||||
className="font-medium group flex items-center relative"
|
||||
>
|
||||
<span className="mr-1">
|
||||
{mesure.name}
|
||||
{measure.name}
|
||||
</span>
|
||||
<span className="absolute bottom-0 left-0 w-full h-0.5 bg-primary-bg scale-x-0 group-hover:scale-x-100 transition-transform"></span>
|
||||
</Link>
|
||||
@@ -567,7 +567,7 @@ function MesureListContent({
|
||||
<Button
|
||||
variant="ghost"
|
||||
className="p-0 h-6 w-6 rounded-full hover:bg-primary-bg"
|
||||
aria-label="Learn more about this mesure"
|
||||
aria-label="Learn more about this measure"
|
||||
>
|
||||
<HelpCircle className="h-5 w-5 text-primary hover:text-primary" />
|
||||
</Button>
|
||||
@@ -580,20 +580,20 @@ function MesureListContent({
|
||||
<div className="space-y-3">
|
||||
<div className="flex justify-between items-start">
|
||||
<h4 className="font-bold text-md">
|
||||
{mesure.name}
|
||||
{measure.name}
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
{mesure.description && (
|
||||
{measure.description && (
|
||||
<div className="text-sm">
|
||||
<p className="font-semibold mb-1">
|
||||
Why is this important:
|
||||
</p>
|
||||
<p>
|
||||
{mesure.description.startsWith(
|
||||
{measure.description.startsWith(
|
||||
"##"
|
||||
)
|
||||
? mesure.description
|
||||
? measure.description
|
||||
.split("\n")
|
||||
.find((line) =>
|
||||
line.startsWith(
|
||||
@@ -603,15 +603,15 @@ function MesureListContent({
|
||||
?.replace("## Why?", "")
|
||||
?.replace("## Why", "")
|
||||
?.trim() ||
|
||||
mesure.description.split(
|
||||
measure.description.split(
|
||||
"\n"
|
||||
)[1] ||
|
||||
""
|
||||
: mesure.description.substring(
|
||||
: measure.description.substring(
|
||||
0,
|
||||
180
|
||||
) +
|
||||
(mesure.description.length >
|
||||
(measure.description.length >
|
||||
180
|
||||
? "..."
|
||||
: "")}
|
||||
@@ -627,7 +627,7 @@ function MesureListContent({
|
||||
asChild
|
||||
>
|
||||
<Link
|
||||
to={`/organizations/${organizationId}/mesures/${mesure.id}`}
|
||||
to={`/organizations/${organizationId}/measures/${measure.id}`}
|
||||
>
|
||||
<span>
|
||||
Implementation guide
|
||||
@@ -648,7 +648,7 @@ function MesureListContent({
|
||||
</div>
|
||||
) : (
|
||||
<div className="flex items-center justify-center p-6 text-center text-tertiary">
|
||||
No mesures in this category
|
||||
No measures in this category
|
||||
</div>
|
||||
)}
|
||||
</CardContent>
|
||||
@@ -662,9 +662,9 @@ function MesureListContent({
|
||||
);
|
||||
}
|
||||
|
||||
export default function MesureListView() {
|
||||
export default function MeasureListView() {
|
||||
const [queryRef, loadQuery] =
|
||||
useQueryLoader<MesureListViewQueryType>(mesureListViewQuery);
|
||||
useQueryLoader<MeasureListViewQueryType>(measureListViewQuery);
|
||||
|
||||
const { organizationId } = useParams();
|
||||
|
||||
@@ -676,12 +676,12 @@ export default function MesureListView() {
|
||||
}, [loadQuery, organizationId]);
|
||||
|
||||
if (!queryRef) {
|
||||
return <MesureListViewSkeleton />;
|
||||
return <MeasureListViewSkeleton />;
|
||||
}
|
||||
|
||||
return (
|
||||
<Suspense fallback={<MesureListViewSkeleton />}>
|
||||
<MesureListContent queryRef={queryRef} />
|
||||
<Suspense fallback={<MeasureListViewSkeleton />}>
|
||||
<MeasureListContent queryRef={queryRef} />
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
@@ -5,9 +5,9 @@ import { lazy } from "@probo/react-lazy";
|
||||
import { useLocation } from "react-router";
|
||||
import { ErrorBoundaryWithLocation } from "../ErrorBoundary";
|
||||
|
||||
const MesureView = lazy(() => import("./MesureView"));
|
||||
const MeasureView = lazy(() => import("./MeasureView"));
|
||||
|
||||
export function MesureViewSkeleton() {
|
||||
export function MeasureViewSkeleton() {
|
||||
return (
|
||||
<PageTemplateSkeleton
|
||||
actions={
|
||||
@@ -32,13 +32,13 @@ export function MesureViewSkeleton() {
|
||||
);
|
||||
}
|
||||
|
||||
export function MesurePage() {
|
||||
export function MeasurePage() {
|
||||
const location = useLocation();
|
||||
|
||||
return (
|
||||
<Suspense key={location.pathname} fallback={<MesureViewSkeleton />}>
|
||||
<Suspense key={location.pathname} fallback={<MeasureViewSkeleton />}>
|
||||
<ErrorBoundaryWithLocation>
|
||||
<MesureView />
|
||||
<MeasureView />
|
||||
</ErrorBoundaryWithLocation>
|
||||
</Suspense>
|
||||
);
|
||||
@@ -80,34 +80,34 @@ import {
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
|
||||
import { PageTemplate } from "@/components/PageTemplate";
|
||||
import { MesureViewSkeleton } from "./MesurePage";
|
||||
import { MesureViewUpdateTaskStateMutation as MesureViewUpdateTaskStateMutationType } from "./__generated__/MesureViewUpdateTaskStateMutation.graphql";
|
||||
import { MesureViewCreateTaskMutation as MesureViewCreateTaskMutationType } from "./__generated__/MesureViewCreateTaskMutation.graphql";
|
||||
import { MesureViewDeleteTaskMutation as MesureViewDeleteTaskMutationType } from "./__generated__/MesureViewDeleteTaskMutation.graphql";
|
||||
import { MesureViewDeleteEvidenceMutation as MesureViewDeleteEvidenceMutationType } from "./__generated__/MesureViewDeleteEvidenceMutation.graphql";
|
||||
import { MesureViewAssignTaskMutation as MesureViewAssignTaskMutationType } from "./__generated__/MesureViewAssignTaskMutation.graphql";
|
||||
import { MesureViewUnassignTaskMutation as MesureViewUnassignTaskMutationType } from "./__generated__/MesureViewUnassignTaskMutation.graphql";
|
||||
import { MesureViewUpdateMesureStateMutation as MesureViewUpdateMesureStateMutationType } from "./__generated__/MesureViewUpdateMesureStateMutation.graphql";
|
||||
import { MesureViewQuery as MesureViewQueryType } from "./__generated__/MesureViewQuery.graphql";
|
||||
import { MeasureViewSkeleton } from "./MeasurePage";
|
||||
import { MeasureViewUpdateTaskStateMutation as MeasureViewUpdateTaskStateMutationType } from "./__generated__/MeasureViewUpdateTaskStateMutation.graphql";
|
||||
import { MeasureViewCreateTaskMutation as MeasureViewCreateTaskMutationType } from "./__generated__/MeasureViewCreateTaskMutation.graphql";
|
||||
import { MeasureViewDeleteTaskMutation as MeasureViewDeleteTaskMutationType } from "./__generated__/MeasureViewDeleteTaskMutation.graphql";
|
||||
import { MeasureViewDeleteEvidenceMutation as MeasureViewDeleteEvidenceMutationType } from "./__generated__/MeasureViewDeleteEvidenceMutation.graphql";
|
||||
import { MeasureViewAssignTaskMutation as MeasureViewAssignTaskMutationType } from "./__generated__/MeasureViewAssignTaskMutation.graphql";
|
||||
import { MeasureViewUnassignTaskMutation as MeasureViewUnassignTaskMutationType } from "./__generated__/MeasureViewUnassignTaskMutation.graphql";
|
||||
import { MeasureViewUpdateMeasureStateMutation as MeasureViewUpdateMeasureStateMutationType } from "./__generated__/MeasureViewUpdateMeasureStateMutation.graphql";
|
||||
import { MeasureViewQuery as MeasureViewQueryType } from "./__generated__/MeasureViewQuery.graphql";
|
||||
import {
|
||||
MesureViewOrganizationQuery,
|
||||
MesureViewOrganizationQuery$data,
|
||||
} from "./__generated__/MesureViewOrganizationQuery.graphql";
|
||||
MeasureViewOrganizationQuery,
|
||||
MeasureViewOrganizationQuery$data,
|
||||
} from "./__generated__/MeasureViewOrganizationQuery.graphql";
|
||||
import {
|
||||
MesureViewFrameworksQuery,
|
||||
MesureViewFrameworksQuery$data,
|
||||
} from "./__generated__/MesureViewFrameworksQuery.graphql";
|
||||
MeasureViewFrameworksQuery,
|
||||
MeasureViewFrameworksQuery$data,
|
||||
} from "./__generated__/MeasureViewFrameworksQuery.graphql";
|
||||
import {
|
||||
MesureViewLinkedControlsQuery,
|
||||
MesureViewLinkedControlsQuery$data,
|
||||
} from "./__generated__/MesureViewLinkedControlsQuery.graphql";
|
||||
import { MesureViewCreateEvidenceMutation as MesureViewCreateEvidenceMutationType } from "./__generated__/MesureViewCreateEvidenceMutation.graphql";
|
||||
import { MesureViewFulfillEvidenceMutation as MesureViewFulfillEvidenceMutationType } from "./__generated__/MesureViewFulfillEvidenceMutation.graphql";
|
||||
import { MesureViewCreateControlMappingMutation } from "./__generated__/MesureViewCreateControlMappingMutation.graphql";
|
||||
import { MesureViewDeleteControlMappingMutation } from "./__generated__/MesureViewDeleteControlMappingMutation.graphql";
|
||||
import { MesureViewRisksQuery$data } from "./__generated__/MesureViewRisksQuery.graphql";
|
||||
import { MesureViewRisksQuery } from "./__generated__/MesureViewRisksQuery.graphql";
|
||||
import { MesureViewDeleteMesureMutation } from "./__generated__/MesureViewDeleteMesureMutation.graphql";
|
||||
MeasureViewLinkedControlsQuery,
|
||||
MeasureViewLinkedControlsQuery$data,
|
||||
} from "./__generated__/MeasureViewLinkedControlsQuery.graphql";
|
||||
import { MeasureViewCreateEvidenceMutation as MeasureViewCreateEvidenceMutationType } from "./__generated__/MeasureViewCreateEvidenceMutation.graphql";
|
||||
import { MeasureViewFulfillEvidenceMutation as MeasureViewFulfillEvidenceMutationType } from "./__generated__/MeasureViewFulfillEvidenceMutation.graphql";
|
||||
import { MeasureViewCreateControlMappingMutation } from "./__generated__/MeasureViewCreateControlMappingMutation.graphql";
|
||||
import { MeasureViewDeleteControlMappingMutation } from "./__generated__/MeasureViewDeleteControlMappingMutation.graphql";
|
||||
import { MeasureViewRisksQuery$data } from "./__generated__/MeasureViewRisksQuery.graphql";
|
||||
import { MeasureViewRisksQuery } from "./__generated__/MeasureViewRisksQuery.graphql";
|
||||
import { MeasureViewDeleteMeasureMutation } from "./__generated__/MeasureViewDeleteMeasureMutation.graphql";
|
||||
|
||||
// Function to format ISO8601 duration to human-readable format
|
||||
const formatDuration = (isoDuration: string): string => {
|
||||
@@ -146,16 +146,16 @@ const formatDuration = (isoDuration: string): string => {
|
||||
}
|
||||
};
|
||||
|
||||
const mesureViewQuery = graphql`
|
||||
query MesureViewQuery($mesureId: ID!) {
|
||||
mesure: node(id: $mesureId) {
|
||||
const measureViewQuery = graphql`
|
||||
query MeasureViewQuery($measureId: ID!) {
|
||||
measure: node(id: $measureId) {
|
||||
id
|
||||
... on Mesure {
|
||||
... on Measure {
|
||||
name
|
||||
description
|
||||
state
|
||||
category
|
||||
tasks(first: 100) @connection(key: "MesureView_tasks") {
|
||||
tasks(first: 100) @connection(key: "MeasureView_tasks") {
|
||||
__id
|
||||
edges {
|
||||
node {
|
||||
@@ -169,7 +169,7 @@ const mesureViewQuery = graphql`
|
||||
fullName
|
||||
primaryEmailAddress
|
||||
}
|
||||
evidences(first: 50) @connection(key: "MesureView_evidences") {
|
||||
evidences(first: 50) @connection(key: "MeasureView_evidences") {
|
||||
__id
|
||||
edges {
|
||||
node {
|
||||
@@ -194,7 +194,7 @@ const mesureViewQuery = graphql`
|
||||
`;
|
||||
|
||||
const updateTaskStateMutation = graphql`
|
||||
mutation MesureViewUpdateTaskStateMutation($input: UpdateTaskInput!) {
|
||||
mutation MeasureViewUpdateTaskStateMutation($input: UpdateTaskInput!) {
|
||||
updateTask(input: $input) {
|
||||
task {
|
||||
id
|
||||
@@ -206,7 +206,7 @@ const updateTaskStateMutation = graphql`
|
||||
`;
|
||||
|
||||
const createTaskMutation = graphql`
|
||||
mutation MesureViewCreateTaskMutation(
|
||||
mutation MeasureViewCreateTaskMutation(
|
||||
$input: CreateTaskInput!
|
||||
$connections: [ID!]!
|
||||
) {
|
||||
@@ -230,7 +230,7 @@ const createTaskMutation = graphql`
|
||||
`;
|
||||
|
||||
const deleteTaskMutation = graphql`
|
||||
mutation MesureViewDeleteTaskMutation(
|
||||
mutation MeasureViewDeleteTaskMutation(
|
||||
$input: DeleteTaskInput!
|
||||
$connections: [ID!]!
|
||||
) {
|
||||
@@ -241,7 +241,7 @@ const deleteTaskMutation = graphql`
|
||||
`;
|
||||
|
||||
const createEvidenceMutation = graphql`
|
||||
mutation MesureViewCreateEvidenceMutation(
|
||||
mutation MeasureViewCreateEvidenceMutation(
|
||||
$input: CreateEvidenceInput!
|
||||
$connections: [ID!]!
|
||||
) {
|
||||
@@ -265,7 +265,7 @@ const createEvidenceMutation = graphql`
|
||||
`;
|
||||
|
||||
const deleteEvidenceMutation = graphql`
|
||||
mutation MesureViewDeleteEvidenceMutation(
|
||||
mutation MeasureViewDeleteEvidenceMutation(
|
||||
$input: DeleteEvidenceInput!
|
||||
$connections: [ID!]!
|
||||
) {
|
||||
@@ -277,7 +277,7 @@ const deleteEvidenceMutation = graphql`
|
||||
|
||||
// Add a GraphQL query to fetch the fileUrl for an evidence item
|
||||
const getEvidenceFileUrlQuery = graphql`
|
||||
query MesureViewGetEvidenceFileUrlQuery($evidenceId: ID!) {
|
||||
query MeasureViewGetEvidenceFileUrlQuery($evidenceId: ID!) {
|
||||
node(id: $evidenceId) {
|
||||
... on Evidence {
|
||||
id
|
||||
@@ -288,7 +288,7 @@ const getEvidenceFileUrlQuery = graphql`
|
||||
`;
|
||||
|
||||
const assignTaskMutation = graphql`
|
||||
mutation MesureViewAssignTaskMutation($input: AssignTaskInput!) {
|
||||
mutation MeasureViewAssignTaskMutation($input: AssignTaskInput!) {
|
||||
assignTask(input: $input) {
|
||||
task {
|
||||
id
|
||||
@@ -303,7 +303,7 @@ const assignTaskMutation = graphql`
|
||||
`;
|
||||
|
||||
const unassignTaskMutation = graphql`
|
||||
mutation MesureViewUnassignTaskMutation($input: UnassignTaskInput!) {
|
||||
mutation MeasureViewUnassignTaskMutation($input: UnassignTaskInput!) {
|
||||
unassignTask(input: $input) {
|
||||
task {
|
||||
id
|
||||
@@ -317,10 +317,10 @@ const unassignTaskMutation = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
const updateMesureStateMutation = graphql`
|
||||
mutation MesureViewUpdateMesureStateMutation($input: UpdateMesureInput!) {
|
||||
updateMesure(input: $input) {
|
||||
mesure {
|
||||
const updateMeasureStateMutation = graphql`
|
||||
mutation MeasureViewUpdateMeasureStateMutation($input: UpdateMeasureInput!) {
|
||||
updateMeasure(input: $input) {
|
||||
measure {
|
||||
id
|
||||
state
|
||||
}
|
||||
@@ -328,24 +328,24 @@ const updateMesureStateMutation = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
const deleteMesureMutation = graphql`
|
||||
mutation MesureViewDeleteMesureMutation(
|
||||
$input: DeleteMesureInput!
|
||||
const deleteMeasureMutation = graphql`
|
||||
mutation MeasureViewDeleteMeasureMutation(
|
||||
$input: DeleteMeasureInput!
|
||||
$connections: [ID!]!
|
||||
) {
|
||||
deleteMesure(input: $input) {
|
||||
deletedMesureId @deleteEdge(connections: $connections)
|
||||
deleteMeasure(input: $input) {
|
||||
deletedMeasureId @deleteEdge(connections: $connections)
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const organizationQuery = graphql`
|
||||
query MesureViewOrganizationQuery($organizationId: ID!) {
|
||||
query MeasureViewOrganizationQuery($organizationId: ID!) {
|
||||
organization: node(id: $organizationId) {
|
||||
id
|
||||
... on Organization {
|
||||
peoples(first: 100, orderBy: { direction: ASC, field: FULL_NAME })
|
||||
@connection(key: "MesureView_peoples") {
|
||||
@connection(key: "MeasureView_peoples") {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -361,7 +361,7 @@ const organizationQuery = graphql`
|
||||
|
||||
// New queries and mutations for Control Mapping
|
||||
const frameworksQuery = graphql`
|
||||
query MesureViewFrameworksQuery($organizationId: ID!) {
|
||||
query MeasureViewFrameworksQuery($organizationId: ID!) {
|
||||
organization: node(id: $organizationId) {
|
||||
id
|
||||
... on Organization {
|
||||
@@ -389,11 +389,11 @@ const frameworksQuery = graphql`
|
||||
`;
|
||||
|
||||
const linkedControlsQuery = graphql`
|
||||
query MesureViewLinkedControlsQuery($mesureId: ID!) {
|
||||
mesure: node(id: $mesureId) {
|
||||
query MeasureViewLinkedControlsQuery($measureId: ID!) {
|
||||
measure: node(id: $measureId) {
|
||||
id
|
||||
... on Mesure {
|
||||
controls(first: 100) @connection(key: "MesureView_controls") {
|
||||
... on Measure {
|
||||
controls(first: 100) @connection(key: "MeasureView_controls") {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -409,20 +409,20 @@ const linkedControlsQuery = graphql`
|
||||
`;
|
||||
|
||||
const createControlMappingMutation = graphql`
|
||||
mutation MesureViewCreateControlMappingMutation(
|
||||
$input: CreateControlMesureMappingInput!
|
||||
mutation MeasureViewCreateControlMappingMutation(
|
||||
$input: CreateControlMeasureMappingInput!
|
||||
) {
|
||||
createControlMesureMapping(input: $input) {
|
||||
createControlMeasureMapping(input: $input) {
|
||||
success
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const deleteControlMappingMutation = graphql`
|
||||
mutation MesureViewDeleteControlMappingMutation(
|
||||
$input: DeleteControlMesureMappingInput!
|
||||
mutation MeasureViewDeleteControlMappingMutation(
|
||||
$input: DeleteControlMeasureMappingInput!
|
||||
) {
|
||||
deleteControlMesureMapping(input: $input) {
|
||||
deleteControlMeasureMapping(input: $input) {
|
||||
success
|
||||
}
|
||||
}
|
||||
@@ -430,7 +430,7 @@ const deleteControlMappingMutation = graphql`
|
||||
|
||||
// Add a mutation to fulfill evidence
|
||||
const fulfillEvidenceMutation = graphql`
|
||||
mutation MesureViewFulfillEvidenceMutation(
|
||||
mutation MeasureViewFulfillEvidenceMutation(
|
||||
$input: FulfillEvidenceInput!
|
||||
$connections: [ID!]!
|
||||
) {
|
||||
@@ -453,13 +453,13 @@ const fulfillEvidenceMutation = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
// Add query to fetch risks linked to a mesure
|
||||
const mesureRisksQuery = graphql`
|
||||
query MesureViewRisksQuery($mesureId: ID!) {
|
||||
mesure: node(id: $mesureId) {
|
||||
// Add query to fetch risks linked to a measure
|
||||
const measureRisksQuery = graphql`
|
||||
query MeasureViewRisksQuery($measureId: ID!) {
|
||||
measure: node(id: $measureId) {
|
||||
id
|
||||
... on Mesure {
|
||||
risks(first: 100) @connection(key: "MesureView_risks") {
|
||||
... on Measure {
|
||||
risks(first: 100) @connection(key: "MeasureView_risks") {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -481,25 +481,25 @@ const mesureRisksQuery = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
function MesureViewContent({
|
||||
function MeasureViewContent({
|
||||
queryRef,
|
||||
}: {
|
||||
queryRef: PreloadedQuery<MesureViewQueryType>;
|
||||
queryRef: PreloadedQuery<MeasureViewQueryType>;
|
||||
}) {
|
||||
const data = usePreloadedQuery<MesureViewQueryType>(
|
||||
mesureViewQuery,
|
||||
const data = usePreloadedQuery<MeasureViewQueryType>(
|
||||
measureViewQuery,
|
||||
queryRef
|
||||
);
|
||||
const navigate = useNavigate();
|
||||
const { toast } = useToast();
|
||||
const { organizationId, mesureId } = useParams<{
|
||||
const { organizationId, measureId } = useParams<{
|
||||
organizationId: string;
|
||||
mesureId: string;
|
||||
measureId: string;
|
||||
}>();
|
||||
const environment = useRelayEnvironment();
|
||||
|
||||
const [commitDeleteMesure, isDeletingMesure] = useMutation<MesureViewDeleteMesureMutation>(deleteMesureMutation);
|
||||
const [isDeleteMesureOpen, setIsDeleteMesureOpen] = useState(false);
|
||||
const [commitDeleteMeasure, isDeletingMeasure] = useMutation<MeasureViewDeleteMeasureMutation>(deleteMeasureMutation);
|
||||
const [isDeleteMeasureOpen, setIsDeleteMeasureOpen] = useState(false);
|
||||
|
||||
// Add state for main content tabs
|
||||
const [mainContentTab, setMainContentTab] = useState<string>("tasks");
|
||||
@@ -510,15 +510,15 @@ function MesureViewContent({
|
||||
|
||||
// Load organization data for people selector
|
||||
const [organizationData, setOrganizationData] =
|
||||
useState<MesureViewOrganizationQuery$data | null>(null);
|
||||
useState<MeasureViewOrganizationQuery$data | null>(null);
|
||||
|
||||
// Control mapping state
|
||||
const [isControlMappingDialogOpen, setIsControlMappingDialogOpen] =
|
||||
useState(false);
|
||||
const [frameworksData, setFrameworksData] =
|
||||
useState<MesureViewFrameworksQuery$data | null>(null);
|
||||
useState<MeasureViewFrameworksQuery$data | null>(null);
|
||||
const [linkedControlsData, setLinkedControlsData] =
|
||||
useState<MesureViewLinkedControlsQuery$data | null>(null);
|
||||
useState<MeasureViewLinkedControlsQuery$data | null>(null);
|
||||
const [controlSearchQuery, setControlSearchQuery] = useState("");
|
||||
const [selectedFrameworkId, setSelectedFrameworkId] = useState<string | null>(
|
||||
null
|
||||
@@ -529,17 +529,17 @@ function MesureViewContent({
|
||||
|
||||
// Create mutation hooks for control mapping
|
||||
const [commitCreateControlMapping] =
|
||||
useMutation<MesureViewCreateControlMappingMutation>(
|
||||
useMutation<MeasureViewCreateControlMappingMutation>(
|
||||
createControlMappingMutation
|
||||
);
|
||||
const [commitDeleteControlMapping] =
|
||||
useMutation<MesureViewDeleteControlMappingMutation>(
|
||||
useMutation<MeasureViewDeleteControlMappingMutation>(
|
||||
deleteControlMappingMutation
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
if (organizationId) {
|
||||
fetchQuery<MesureViewOrganizationQuery>(environment, organizationQuery, {
|
||||
fetchQuery<MeasureViewOrganizationQuery>(environment, organizationQuery, {
|
||||
organizationId,
|
||||
}).subscribe({
|
||||
next: (data) => {
|
||||
@@ -554,11 +554,11 @@ function MesureViewContent({
|
||||
|
||||
// Load linked controls when component mounts
|
||||
useEffect(() => {
|
||||
if (mesureId) {
|
||||
fetchQuery<MesureViewLinkedControlsQuery>(
|
||||
if (measureId) {
|
||||
fetchQuery<MeasureViewLinkedControlsQuery>(
|
||||
environment,
|
||||
linkedControlsQuery,
|
||||
{ mesureId }
|
||||
{ measureId }
|
||||
).subscribe({
|
||||
next: (data) => {
|
||||
setLinkedControlsData(data);
|
||||
@@ -568,18 +568,18 @@ function MesureViewContent({
|
||||
},
|
||||
});
|
||||
}
|
||||
}, [environment, mesureId]);
|
||||
}, [environment, measureId]);
|
||||
|
||||
// Add state for risks data
|
||||
const [risksData, setRisksData] = useState<MesureViewRisksQuery$data | null>(
|
||||
const [risksData, setRisksData] = useState<MeasureViewRisksQuery$data | null>(
|
||||
null
|
||||
);
|
||||
|
||||
// Load risks data when component mounts
|
||||
useEffect(() => {
|
||||
if (mesureId) {
|
||||
fetchQuery<MesureViewRisksQuery>(environment, mesureRisksQuery, {
|
||||
mesureId,
|
||||
if (measureId) {
|
||||
fetchQuery<MeasureViewRisksQuery>(environment, measureRisksQuery, {
|
||||
measureId,
|
||||
}).subscribe({
|
||||
next: (data) => {
|
||||
setRisksData(data);
|
||||
@@ -589,7 +589,7 @@ function MesureViewContent({
|
||||
},
|
||||
});
|
||||
}
|
||||
}, [environment, mesureId]);
|
||||
}, [environment, measureId]);
|
||||
|
||||
const formatState = (state: string | undefined): string => {
|
||||
if (!state) return "";
|
||||
@@ -618,30 +618,30 @@ function MesureViewContent({
|
||||
return "bg-secondary-bg text-primary";
|
||||
};
|
||||
|
||||
const [updateTask] = useMutation<MesureViewUpdateTaskStateMutationType>(
|
||||
const [updateTask] = useMutation<MeasureViewUpdateTaskStateMutationType>(
|
||||
updateTaskStateMutation
|
||||
);
|
||||
const [createTask] =
|
||||
useMutation<MesureViewCreateTaskMutationType>(createTaskMutation);
|
||||
useMutation<MeasureViewCreateTaskMutationType>(createTaskMutation);
|
||||
const [deleteTask] =
|
||||
useMutation<MesureViewDeleteTaskMutationType>(deleteTaskMutation);
|
||||
const [createEvidence] = useMutation<MesureViewCreateEvidenceMutationType>(
|
||||
useMutation<MeasureViewDeleteTaskMutationType>(deleteTaskMutation);
|
||||
const [createEvidence] = useMutation<MeasureViewCreateEvidenceMutationType>(
|
||||
createEvidenceMutation
|
||||
);
|
||||
const [deleteEvidence] = useMutation<MesureViewDeleteEvidenceMutationType>(
|
||||
const [deleteEvidence] = useMutation<MeasureViewDeleteEvidenceMutationType>(
|
||||
deleteEvidenceMutation
|
||||
);
|
||||
const [assignTask] =
|
||||
useMutation<MesureViewAssignTaskMutationType>(assignTaskMutation);
|
||||
useMutation<MeasureViewAssignTaskMutationType>(assignTaskMutation);
|
||||
const [unassignTask] =
|
||||
useMutation<MesureViewUnassignTaskMutationType>(unassignTaskMutation);
|
||||
const [fulfillEvidence] = useMutation<MesureViewFulfillEvidenceMutationType>(
|
||||
useMutation<MeasureViewUnassignTaskMutationType>(unassignTaskMutation);
|
||||
const [fulfillEvidence] = useMutation<MeasureViewFulfillEvidenceMutationType>(
|
||||
fulfillEvidenceMutation
|
||||
);
|
||||
|
||||
const [updateMesureState] =
|
||||
useMutation<MesureViewUpdateMesureStateMutationType>(
|
||||
updateMesureStateMutation
|
||||
const [updateMeasureState] =
|
||||
useMutation<MeasureViewUpdateMeasureStateMutationType>(
|
||||
updateMeasureStateMutation
|
||||
);
|
||||
|
||||
const [isCreateTaskOpen, setIsCreateTaskOpen] = useState(false);
|
||||
@@ -724,7 +724,7 @@ function MesureViewContent({
|
||||
// Track if task panel is open
|
||||
const [isTaskPanelOpen, setIsTaskPanelOpen] = useState(false);
|
||||
|
||||
const tasks = data.mesure.tasks?.edges.map((edge) => edge.node) || [];
|
||||
const tasks = data.measure.tasks?.edges.map((edge) => edge.node) || [];
|
||||
|
||||
// Add useEffect to handle URL parameters for task selection
|
||||
useEffect(() => {
|
||||
@@ -866,10 +866,10 @@ function MesureViewContent({
|
||||
return;
|
||||
}
|
||||
|
||||
if (!data.mesure.id) {
|
||||
if (!data.measure.id) {
|
||||
toast({
|
||||
title: "Error creating task",
|
||||
description: "Mesure ID is missing",
|
||||
description: "Measure ID is missing",
|
||||
variant: "destructive",
|
||||
});
|
||||
return;
|
||||
@@ -879,9 +879,9 @@ function MesureViewContent({
|
||||
|
||||
createTask({
|
||||
variables: {
|
||||
connections: [`${data.mesure.tasks?.__id}`],
|
||||
connections: [`${data.measure.tasks?.__id}`],
|
||||
input: {
|
||||
mesureId: data.mesure.id,
|
||||
measureId: data.measure.id,
|
||||
name: newTaskName,
|
||||
description: newTaskDescription,
|
||||
timeEstimate: isoTimeEstimate === "" ? null : isoTimeEstimate,
|
||||
@@ -919,7 +919,7 @@ function MesureViewContent({
|
||||
|
||||
deleteTask({
|
||||
variables: {
|
||||
connections: [`${data.mesure.tasks?.__id}`],
|
||||
connections: [`${data.measure.tasks?.__id}`],
|
||||
input: {
|
||||
taskId: taskToDelete.id,
|
||||
},
|
||||
@@ -942,8 +942,8 @@ function MesureViewContent({
|
||||
});
|
||||
};
|
||||
|
||||
const handleEditMesure = () => {
|
||||
navigate(`/organizations/${organizationId}/mesures/${mesureId}/edit`);
|
||||
const handleEditMeasure = () => {
|
||||
navigate(`/organizations/${organizationId}/measures/${measureId}/edit`);
|
||||
};
|
||||
|
||||
const handleCreateEvidence = (taskId: string, taskName: string) => {
|
||||
@@ -1415,12 +1415,12 @@ function MesureViewContent({
|
||||
});
|
||||
};
|
||||
|
||||
// Function to handle mesure state change
|
||||
const handleMesureStateChange = (newState: string) => {
|
||||
updateMesureState({
|
||||
// Function to handle measure state change
|
||||
const handleMeasureStateChange = (newState: string) => {
|
||||
updateMeasureState({
|
||||
variables: {
|
||||
input: {
|
||||
id: data.mesure.id,
|
||||
id: data.measure.id,
|
||||
state: newState as
|
||||
| "NOT_STARTED"
|
||||
| "IN_PROGRESS"
|
||||
@@ -1430,15 +1430,15 @@ function MesureViewContent({
|
||||
},
|
||||
onCompleted: () => {
|
||||
toast({
|
||||
title: "Mesure state updated",
|
||||
description: `Mesure state has been updated to ${formatState(
|
||||
title: "Measure state updated",
|
||||
description: `Measure state has been updated to ${formatState(
|
||||
newState
|
||||
)}.`,
|
||||
});
|
||||
},
|
||||
onError: (error) => {
|
||||
toast({
|
||||
title: "Error updating mesure state",
|
||||
title: "Error updating measure state",
|
||||
description: error.message,
|
||||
variant: "destructive",
|
||||
});
|
||||
@@ -1569,12 +1569,12 @@ function MesureViewContent({
|
||||
|
||||
// Control mapping functions
|
||||
const loadFrameworksAndControls = useCallback(() => {
|
||||
if (!organizationId || !mesureId) return;
|
||||
if (!organizationId || !measureId) return;
|
||||
|
||||
setIsLoadingControls(true);
|
||||
|
||||
// Fetch all frameworks and their controls
|
||||
fetchQuery<MesureViewFrameworksQuery>(environment, frameworksQuery, {
|
||||
fetchQuery<MeasureViewFrameworksQuery>(environment, frameworksQuery, {
|
||||
organizationId,
|
||||
}).subscribe({
|
||||
next: (data) => {
|
||||
@@ -1592,12 +1592,12 @@ function MesureViewContent({
|
||||
}
|
||||
},
|
||||
complete: () => {
|
||||
// Fetch already linked controls for this mesure
|
||||
fetchQuery<MesureViewLinkedControlsQuery>(
|
||||
// Fetch already linked controls for this measure
|
||||
fetchQuery<MeasureViewLinkedControlsQuery>(
|
||||
environment,
|
||||
linkedControlsQuery,
|
||||
{
|
||||
mesureId,
|
||||
measureId,
|
||||
}
|
||||
).subscribe({
|
||||
next: (data) => {
|
||||
@@ -1625,7 +1625,7 @@ function MesureViewContent({
|
||||
});
|
||||
},
|
||||
});
|
||||
}, [environment, mesureId, organizationId, selectedFrameworkId, toast]);
|
||||
}, [environment, measureId, organizationId, selectedFrameworkId, toast]);
|
||||
|
||||
const getControls = useCallback(() => {
|
||||
if (!frameworksData?.organization?.frameworks?.edges) return [];
|
||||
@@ -1649,8 +1649,8 @@ function MesureViewContent({
|
||||
}, [frameworksData, selectedFrameworkId]);
|
||||
|
||||
const getLinkedControls = useCallback(() => {
|
||||
if (!linkedControlsData?.mesure?.controls?.edges) return [];
|
||||
return (linkedControlsData.mesure.controls.edges || []).map(
|
||||
if (!linkedControlsData?.measure?.controls?.edges) return [];
|
||||
return (linkedControlsData.measure.controls.edges || []).map(
|
||||
(edge) => edge.node
|
||||
);
|
||||
}, [linkedControlsData]);
|
||||
@@ -1665,7 +1665,7 @@ function MesureViewContent({
|
||||
|
||||
const handleLinkControl = useCallback(
|
||||
(controlId: string) => {
|
||||
if (!mesureId) return;
|
||||
if (!measureId) return;
|
||||
|
||||
setIsLinkingControl(true);
|
||||
|
||||
@@ -1673,7 +1673,7 @@ function MesureViewContent({
|
||||
variables: {
|
||||
input: {
|
||||
controlId,
|
||||
mesureId,
|
||||
measureId,
|
||||
},
|
||||
},
|
||||
onCompleted: (_, errors) => {
|
||||
@@ -1690,11 +1690,11 @@ function MesureViewContent({
|
||||
}
|
||||
|
||||
// Refresh linked controls data
|
||||
fetchQuery<MesureViewLinkedControlsQuery>(
|
||||
fetchQuery<MeasureViewLinkedControlsQuery>(
|
||||
environment,
|
||||
linkedControlsQuery,
|
||||
{
|
||||
mesureId,
|
||||
measureId,
|
||||
}
|
||||
).subscribe({
|
||||
next: (data) => {
|
||||
@@ -1707,7 +1707,7 @@ function MesureViewContent({
|
||||
|
||||
toast({
|
||||
title: "Success",
|
||||
description: "Control successfully linked to mesure.",
|
||||
description: "Control successfully linked to measure.",
|
||||
});
|
||||
},
|
||||
onError: (error) => {
|
||||
@@ -1721,12 +1721,12 @@ function MesureViewContent({
|
||||
},
|
||||
});
|
||||
},
|
||||
[commitCreateControlMapping, environment, mesureId, toast]
|
||||
[commitCreateControlMapping, environment, measureId, toast]
|
||||
);
|
||||
|
||||
const handleUnlinkControl = useCallback(
|
||||
(controlId: string) => {
|
||||
if (!mesureId) return;
|
||||
if (!measureId) return;
|
||||
|
||||
setIsUnlinkingControl(true);
|
||||
|
||||
@@ -1734,7 +1734,7 @@ function MesureViewContent({
|
||||
variables: {
|
||||
input: {
|
||||
controlId,
|
||||
mesureId,
|
||||
measureId,
|
||||
},
|
||||
},
|
||||
onCompleted: (_, errors) => {
|
||||
@@ -1752,10 +1752,10 @@ function MesureViewContent({
|
||||
|
||||
// Refresh linked controls data
|
||||
fetchQuery(environment, linkedControlsQuery, {
|
||||
mesureId,
|
||||
measureId,
|
||||
}).subscribe({
|
||||
next: (data: unknown) => {
|
||||
setLinkedControlsData(data as MesureViewLinkedControlsQuery$data);
|
||||
setLinkedControlsData(data as MeasureViewLinkedControlsQuery$data);
|
||||
},
|
||||
error: (error: Error) => {
|
||||
console.error("Error refreshing linked controls:", error);
|
||||
@@ -1764,7 +1764,7 @@ function MesureViewContent({
|
||||
|
||||
toast({
|
||||
title: "Success",
|
||||
description: "Control successfully unlinked from mesure.",
|
||||
description: "Control successfully unlinked from measure.",
|
||||
});
|
||||
},
|
||||
onError: (error) => {
|
||||
@@ -1778,7 +1778,7 @@ function MesureViewContent({
|
||||
},
|
||||
});
|
||||
},
|
||||
[commitDeleteControlMapping, environment, mesureId, toast]
|
||||
[commitDeleteControlMapping, environment, measureId, toast]
|
||||
);
|
||||
|
||||
const handleOpenControlMappingDialog = useCallback(() => {
|
||||
@@ -1834,33 +1834,33 @@ function MesureViewContent({
|
||||
return "Very High";
|
||||
};
|
||||
|
||||
const handleDeleteMesure = () => {
|
||||
setIsDeleteMesureOpen(true);
|
||||
const handleDeleteMeasure = () => {
|
||||
setIsDeleteMeasureOpen(true);
|
||||
};
|
||||
|
||||
const confirmDeleteMesure = () => {
|
||||
const confirmDeleteMeasure = () => {
|
||||
const connectionId = ConnectionHandler.getConnectionID(
|
||||
organizationId!,
|
||||
"MesureListView_mesures"
|
||||
"MeasureListView_measures"
|
||||
);
|
||||
|
||||
commitDeleteMesure({
|
||||
commitDeleteMeasure({
|
||||
variables: {
|
||||
connections: [connectionId],
|
||||
input: {
|
||||
mesureId: mesureId!,
|
||||
measureId: measureId!,
|
||||
},
|
||||
},
|
||||
onCompleted: () => {
|
||||
toast({
|
||||
title: "Mesure deleted",
|
||||
description: "Mesure has been deleted successfully.",
|
||||
title: "Measure deleted",
|
||||
description: "Measure has been deleted successfully.",
|
||||
});
|
||||
navigate(`/organizations/${organizationId}/mesures`);
|
||||
navigate(`/organizations/${organizationId}/measures`);
|
||||
},
|
||||
onError: (error) => {
|
||||
toast({
|
||||
title: "Error deleting mesure",
|
||||
title: "Error deleting measure",
|
||||
description: error.message,
|
||||
variant: "destructive",
|
||||
});
|
||||
@@ -1870,19 +1870,19 @@ function MesureViewContent({
|
||||
|
||||
return (
|
||||
<PageTemplate
|
||||
title={data.mesure?.name || "Mesure"}
|
||||
description={data.mesure?.description}
|
||||
title={data.measure?.name || "Measure"}
|
||||
description={data.measure?.description}
|
||||
actions={
|
||||
<div className="flex gap-2">
|
||||
<Button
|
||||
variant="outline"
|
||||
onClick={handleEditMesure}
|
||||
onClick={handleEditMeasure}
|
||||
>
|
||||
Edit
|
||||
</Button>
|
||||
<select
|
||||
value={data.mesure?.state || ""}
|
||||
onChange={(e) => handleMesureStateChange(e.target.value)}
|
||||
value={data.measure?.state || ""}
|
||||
onChange={(e) => handleMeasureStateChange(e.target.value)}
|
||||
className="rounded-full cursor-pointer inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-active-b disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-low-b hover:bg-h-tertiary-bg active:bg-p-tertiary-bg focus:bg-tertiary-bg shadow-xs px-2"
|
||||
>
|
||||
<option value="">Select state</option>
|
||||
@@ -1893,10 +1893,10 @@ function MesureViewContent({
|
||||
</select>
|
||||
<Button
|
||||
variant="destructive"
|
||||
onClick={() => handleDeleteMesure()}
|
||||
disabled={isDeletingMesure}
|
||||
onClick={() => handleDeleteMeasure()}
|
||||
disabled={isDeletingMeasure}
|
||||
>
|
||||
{isDeletingMesure ? "Deleting..." : "Delete"}
|
||||
{isDeletingMeasure ? "Deleting..." : "Delete"}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
@@ -1905,7 +1905,7 @@ function MesureViewContent({
|
||||
<Card className="mt-4">
|
||||
<CardContent className="pt-6">
|
||||
<div className="prose prose-gray prose-sm md:prose-base text-secondary max-w-3xl">
|
||||
<ReactMarkdown>{data.mesure.description}</ReactMarkdown>
|
||||
<ReactMarkdown>{data.measure.description}</ReactMarkdown>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
@@ -1931,20 +1931,20 @@ function MesureViewContent({
|
||||
<TabsTrigger value="controls" className="flex items-center gap-2">
|
||||
<ShieldCheck className="w-4 h-4" />
|
||||
Controls
|
||||
{linkedControlsData?.mesure?.controls?.edges &&
|
||||
linkedControlsData.mesure.controls.edges.length > 0 && (
|
||||
{linkedControlsData?.measure?.controls?.edges &&
|
||||
linkedControlsData.measure.controls.edges.length > 0 && (
|
||||
<span className="ml-1.5 bg-blue-100 text-blue-800 rounded-full text-xs px-2 py-0.5">
|
||||
{linkedControlsData.mesure.controls.edges.length}
|
||||
{linkedControlsData.measure.controls.edges.length}
|
||||
</span>
|
||||
)}
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="risks" className="flex items-center gap-2">
|
||||
<AlertTriangle className="w-4 h-4" />
|
||||
Risks
|
||||
{risksData?.mesure?.risks?.edges &&
|
||||
risksData.mesure.risks.edges.length > 0 && (
|
||||
{risksData?.measure?.risks?.edges &&
|
||||
risksData.measure.risks.edges.length > 0 && (
|
||||
<span className="ml-1.5 bg-blue-100 text-blue-800 rounded-full text-xs px-2 py-0.5">
|
||||
{risksData.mesure.risks.edges.length}
|
||||
{risksData.measure.risks.edges.length}
|
||||
</span>
|
||||
)}
|
||||
</TabsTrigger>
|
||||
@@ -1973,10 +1973,10 @@ function MesureViewContent({
|
||||
>
|
||||
<DialogContent className="max-w-3xl max-h-[80vh] overflow-hidden flex flex-col">
|
||||
<DialogHeader>
|
||||
<DialogTitle>Map Mesure to Controls</DialogTitle>
|
||||
<DialogTitle>Map Measure to Controls</DialogTitle>
|
||||
<DialogDescription>
|
||||
Search and select controls to link to this mesure. This
|
||||
helps track which controls are addressed by this mesure.
|
||||
Search and select controls to link to this measure. This
|
||||
helps track which controls are addressed by this measure.
|
||||
</DialogDescription>
|
||||
</DialogHeader>
|
||||
|
||||
@@ -2125,8 +2125,8 @@ function MesureViewContent({
|
||||
{/* Linked Controls List */}
|
||||
<Card>
|
||||
<CardContent className="p-4">
|
||||
{linkedControlsData?.mesure?.controls?.edges &&
|
||||
linkedControlsData.mesure.controls.edges.length > 0 ? (
|
||||
{linkedControlsData?.measure?.controls?.edges &&
|
||||
linkedControlsData.measure.controls.edges.length > 0 ? (
|
||||
<div className="overflow-x-auto">
|
||||
<table className="w-full">
|
||||
<thead>
|
||||
@@ -2174,7 +2174,7 @@ function MesureViewContent({
|
||||
</div>
|
||||
) : (
|
||||
<div className="text-center py-8 text-secondary">
|
||||
No controls linked to this mesure yet. Click "Map to
|
||||
No controls linked to this measure yet. Click "Map to
|
||||
Controls" to link controls.
|
||||
</div>
|
||||
)}
|
||||
@@ -2207,7 +2207,7 @@ function MesureViewContent({
|
||||
<DialogHeader>
|
||||
<DialogTitle>Create New Task</DialogTitle>
|
||||
<DialogDescription>
|
||||
Add a new task to this mesure. Click save when
|
||||
Add a new task to this measure. Click save when
|
||||
you're done.
|
||||
</DialogDescription>
|
||||
</DialogHeader>
|
||||
@@ -2792,8 +2792,8 @@ function MesureViewContent({
|
||||
|
||||
<Card>
|
||||
<CardContent className="p-4">
|
||||
{risksData?.mesure?.risks?.edges &&
|
||||
risksData.mesure.risks.edges.length > 0 ? (
|
||||
{risksData?.measure?.risks?.edges &&
|
||||
risksData.measure.risks.edges.length > 0 ? (
|
||||
<div className="overflow-x-auto">
|
||||
<table className="w-full">
|
||||
<thead>
|
||||
@@ -2813,7 +2813,7 @@ function MesureViewContent({
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{risksData.mesure.risks.edges.map(({ node }) => (
|
||||
{risksData.measure.risks.edges.map(({ node }) => (
|
||||
<tr
|
||||
key={node.id}
|
||||
className="border-b hover:bg-invert-bg"
|
||||
@@ -2853,7 +2853,7 @@ function MesureViewContent({
|
||||
</div>
|
||||
) : (
|
||||
<div className="text-center py-8 text-secondary">
|
||||
No risks linked to this mesure yet.
|
||||
No risks linked to this measure yet.
|
||||
</div>
|
||||
)}
|
||||
</CardContent>
|
||||
@@ -3654,28 +3654,28 @@ function MesureViewContent({
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
|
||||
{/* Delete Mesure Confirmation Dialog */}
|
||||
<Dialog open={isDeleteMesureOpen} onOpenChange={setIsDeleteMesureOpen}>
|
||||
{/* Delete Measure Confirmation Dialog */}
|
||||
<Dialog open={isDeleteMeasureOpen} onOpenChange={setIsDeleteMeasureOpen}>
|
||||
<DialogContent>
|
||||
<DialogHeader>
|
||||
<DialogTitle>Delete Mesure</DialogTitle>
|
||||
<DialogTitle>Delete Measure</DialogTitle>
|
||||
<DialogDescription>
|
||||
Are you sure you want to delete this mesure? This action cannot be undone.
|
||||
Are you sure you want to delete this measure? This action cannot be undone.
|
||||
</DialogDescription>
|
||||
</DialogHeader>
|
||||
<DialogFooter>
|
||||
<Button
|
||||
variant="outline"
|
||||
onClick={() => setIsDeleteMesureOpen(false)}
|
||||
onClick={() => setIsDeleteMeasureOpen(false)}
|
||||
>
|
||||
Cancel
|
||||
</Button>
|
||||
<Button
|
||||
variant="destructive"
|
||||
onClick={confirmDeleteMesure}
|
||||
disabled={isDeletingMesure}
|
||||
onClick={confirmDeleteMeasure}
|
||||
disabled={isDeletingMeasure}
|
||||
>
|
||||
{isDeletingMesure ? "Deleting..." : "Delete"}
|
||||
{isDeletingMeasure ? "Deleting..." : "Delete"}
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
</DialogContent>
|
||||
@@ -3684,24 +3684,24 @@ function MesureViewContent({
|
||||
);
|
||||
}
|
||||
|
||||
export default function MesureView() {
|
||||
const { mesureId } = useParams();
|
||||
export default function MeasureView() {
|
||||
const { measureId } = useParams();
|
||||
const [queryRef, loadQuery] =
|
||||
useQueryLoader<MesureViewQueryType>(mesureViewQuery);
|
||||
useQueryLoader<MeasureViewQueryType>(measureViewQuery);
|
||||
|
||||
useEffect(() => {
|
||||
if (mesureId) {
|
||||
loadQuery({ mesureId });
|
||||
if (measureId) {
|
||||
loadQuery({ measureId });
|
||||
}
|
||||
}, [mesureId, loadQuery]);
|
||||
}, [measureId, loadQuery]);
|
||||
|
||||
if (!queryRef) {
|
||||
return <MesureViewSkeleton />;
|
||||
return <MeasureViewSkeleton />;
|
||||
}
|
||||
|
||||
return (
|
||||
<Suspense fallback={<MesureViewSkeleton />}>
|
||||
<MesureViewContent queryRef={queryRef} />
|
||||
<Suspense fallback={<MeasureViewSkeleton />}>
|
||||
<MeasureViewContent queryRef={queryRef} />
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
@@ -4,26 +4,26 @@ import { lazy } from "@probo/react-lazy";
|
||||
import { useLocation } from "react-router";
|
||||
import { ErrorBoundaryWithLocation } from "../ErrorBoundary";
|
||||
|
||||
const EditMesureView = lazy(() => import("./EditMesureView"));
|
||||
const NewMeasureView = lazy(() => import("./NewMeasureView"));
|
||||
|
||||
export function EditMesureViewSkeleton() {
|
||||
export function NewMeasureViewSkeleton() {
|
||||
return (
|
||||
<PageTemplateSkeleton
|
||||
title="Edit Mesure"
|
||||
description="Edit a Mesure. You will be able to link it to control and risks"
|
||||
title="New Measure"
|
||||
description="Add a new measure. You will be able to link it to control and risks"
|
||||
>
|
||||
<div className="max-w-2xl aspect-square bg-subtle-bg rounded-xl animate-pulse" />
|
||||
</PageTemplateSkeleton>
|
||||
);
|
||||
}
|
||||
|
||||
export function EditMesurePage() {
|
||||
export function NewMeasurePage() {
|
||||
const location = useLocation();
|
||||
|
||||
return (
|
||||
<Suspense key={location.pathname} fallback={<EditMesureViewSkeleton />}>
|
||||
<Suspense key={location.pathname} fallback={<NewMeasureViewSkeleton />}>
|
||||
<ErrorBoundaryWithLocation>
|
||||
<EditMesureView />
|
||||
<NewMeasureView />
|
||||
</ErrorBoundaryWithLocation>
|
||||
</Suspense>
|
||||
);
|
||||
@@ -3,20 +3,20 @@ import { ConnectionHandler, graphql, useMutation } from "react-relay";
|
||||
import { useParams, useNavigate } from "react-router";
|
||||
import { PageTemplate } from "@/components/PageTemplate";
|
||||
import { useToast } from "@/hooks/use-toast";
|
||||
import { NewMesureViewCreateMesureMutation } from "./__generated__/NewMesureViewCreateMesureMutation.graphql";
|
||||
import { NewMeasureViewCreateMeasureMutation } from "./__generated__/NewMeasureViewCreateMeasureMutation.graphql";
|
||||
import { EditableField } from "@/components/EditableField";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Card } from "@/components/ui/card";
|
||||
import { Label } from "@/components/ui/label";
|
||||
import { cn } from "@/lib/utils";
|
||||
|
||||
const createMesureMutation = graphql`
|
||||
mutation NewMesureViewCreateMesureMutation(
|
||||
$input: CreateMesureInput!
|
||||
const createMeasureMutation = graphql`
|
||||
mutation NewMeasureViewCreateMeasureMutation(
|
||||
$input: CreateMeasureInput!
|
||||
$connections: [ID!]!
|
||||
) {
|
||||
createMesure(input: $input) {
|
||||
mesureEdge @prependEdge(connections: $connections) {
|
||||
createMeasure(input: $input) {
|
||||
measureEdge @prependEdge(connections: $connections) {
|
||||
node {
|
||||
id
|
||||
name
|
||||
@@ -27,7 +27,7 @@ const createMesureMutation = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
export default function NewMesureView() {
|
||||
export default function NewMeasureView() {
|
||||
const { organizationId } = useParams<{
|
||||
organizationId: string;
|
||||
}>();
|
||||
@@ -40,7 +40,7 @@ export default function NewMesureView() {
|
||||
});
|
||||
|
||||
const [commit, isInFlight] =
|
||||
useMutation<NewMesureViewCreateMesureMutation>(createMesureMutation);
|
||||
useMutation<NewMeasureViewCreateMeasureMutation>(createMeasureMutation);
|
||||
|
||||
const handleFieldChange = (field: keyof typeof formData, value: unknown) => {
|
||||
setFormData((prev) => ({
|
||||
@@ -63,7 +63,7 @@ export default function NewMesureView() {
|
||||
|
||||
const connectionId = ConnectionHandler.getConnectionID(
|
||||
organizationId!,
|
||||
"MesureListView_mesures"
|
||||
"MeasureListView_measures"
|
||||
);
|
||||
|
||||
commit({
|
||||
@@ -80,7 +80,7 @@ export default function NewMesureView() {
|
||||
if (errors) {
|
||||
toast({
|
||||
title: "Error",
|
||||
description: errors[0]?.message || "Failed to create mesure",
|
||||
description: errors[0]?.message || "Failed to create measure",
|
||||
variant: "destructive",
|
||||
});
|
||||
return;
|
||||
@@ -88,17 +88,17 @@ export default function NewMesureView() {
|
||||
|
||||
toast({
|
||||
title: "Success",
|
||||
description: "Mesure created successfully",
|
||||
description: "Measure created successfully",
|
||||
});
|
||||
|
||||
navigate(
|
||||
`/organizations/${organizationId}/mesures/${data.createMesure.mesureEdge.node.id}`
|
||||
`/organizations/${organizationId}/measures/${data.createMeasure.measureEdge.node.id}`
|
||||
);
|
||||
},
|
||||
onError(error) {
|
||||
toast({
|
||||
title: "Error",
|
||||
description: error.message || "Failed to create mesure",
|
||||
description: error.message || "Failed to create measure",
|
||||
variant: "destructive",
|
||||
});
|
||||
},
|
||||
@@ -107,8 +107,8 @@ export default function NewMesureView() {
|
||||
|
||||
return (
|
||||
<PageTemplate
|
||||
title="New Mesure"
|
||||
description="Add a new mesure. You will be able to link it to control and risks"
|
||||
title="New Measure"
|
||||
description="Add a new measure. You will be able to link it to control and risks"
|
||||
>
|
||||
<Card className="max-w-2xl">
|
||||
<form onSubmit={handleSubmit} className="p-6 space-y-6">
|
||||
@@ -125,7 +125,7 @@ export default function NewMesureView() {
|
||||
onChange={(value) => handleFieldChange("description", value)}
|
||||
required
|
||||
multiline
|
||||
helpText="Provide a detailed description of the mesure"
|
||||
helpText="Provide a detailed description of the measure"
|
||||
/>
|
||||
|
||||
<EditableField
|
||||
@@ -140,13 +140,13 @@ export default function NewMesureView() {
|
||||
type="button"
|
||||
variant="outline"
|
||||
onClick={() =>
|
||||
navigate(`/organizations/${organizationId}/mesures`)
|
||||
navigate(`/organizations/${organizationId}/measures`)
|
||||
}
|
||||
>
|
||||
Cancel
|
||||
</Button>
|
||||
<Button type="submit" disabled={isInFlight}>
|
||||
{isInFlight ? "Creating..." : "Create Mesure"}
|
||||
{isInFlight ? "Creating..." : "Create Measure"}
|
||||
</Button>
|
||||
</div>
|
||||
</form>
|
||||
154
apps/console/src/pages/organizations/measures/__generated__/EditMeasureViewQuery.graphql.ts
generated
Normal file
154
apps/console/src/pages/organizations/measures/__generated__/EditMeasureViewQuery.graphql.ts
generated
Normal file
@@ -0,0 +1,154 @@
|
||||
/**
|
||||
* @generated SignedSource<<ad4cacf2bf1c3df7af8ba9c1418c1503>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type EditMeasureViewQuery$variables = {
|
||||
measureId: string;
|
||||
};
|
||||
export type EditMeasureViewQuery$data = {
|
||||
readonly node: {
|
||||
readonly category?: string;
|
||||
readonly description?: string;
|
||||
readonly id?: string;
|
||||
readonly name?: string;
|
||||
};
|
||||
};
|
||||
export type EditMeasureViewQuery = {
|
||||
response: EditMeasureViewQuery$data;
|
||||
variables: EditMeasureViewQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "measureId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "measureId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "name",
|
||||
"storageKey": null
|
||||
},
|
||||
v4 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
},
|
||||
v5 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "category",
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "EditMeasureViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
(v3/*: any*/),
|
||||
(v4/*: any*/),
|
||||
(v5/*: any*/)
|
||||
],
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Query",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "EditMeasureViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "__typename",
|
||||
"storageKey": null
|
||||
},
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
(v4/*: any*/),
|
||||
(v5/*: any*/)
|
||||
],
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "d6f22b2f42b5f32ff8a0d199c4cbf1e1",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "EditMeasureViewQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query EditMeasureViewQuery(\n $measureId: ID!\n) {\n node(id: $measureId) {\n __typename\n ... on Measure {\n id\n name\n description\n category\n }\n id\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "8aba2561c9078eb149952e1300311516";
|
||||
|
||||
export default node;
|
||||
@@ -0,0 +1,126 @@
|
||||
/**
|
||||
* @generated SignedSource<<baa13bd4048002970217bfb1e8017e05>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type UpdateMeasureInput = {
|
||||
category?: string | null | undefined;
|
||||
description?: string | null | undefined;
|
||||
id: string;
|
||||
name?: string | null | undefined;
|
||||
state?: MeasureState | null | undefined;
|
||||
};
|
||||
export type EditMeasureViewUpdateMeasureMutation$variables = {
|
||||
input: UpdateMeasureInput;
|
||||
};
|
||||
export type EditMeasureViewUpdateMeasureMutation$data = {
|
||||
readonly updateMeasure: {
|
||||
readonly measure: {
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type EditMeasureViewUpdateMeasureMutation = {
|
||||
response: EditMeasureViewUpdateMeasureMutation$data;
|
||||
variables: EditMeasureViewUpdateMeasureMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "UpdateMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "updateMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "measure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "name",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "EditMeasureViewUpdateMeasureMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "EditMeasureViewUpdateMeasureMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "0d6bab0c03a2c72635e1e42fe69c9551",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "EditMeasureViewUpdateMeasureMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation EditMeasureViewUpdateMeasureMutation(\n $input: UpdateMeasureInput!\n) {\n updateMeasure(input: $input) {\n measure {\n id\n name\n description\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "1b91ac6890f48a7f536adcba303f1718";
|
||||
|
||||
export default node;
|
||||
@@ -9,10 +9,10 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type EditMesureViewQuery$variables = {
|
||||
mesureId: string;
|
||||
export type EditMeasureViewQuery$variables = {
|
||||
measureId: string;
|
||||
};
|
||||
export type EditMesureViewQuery$data = {
|
||||
export type EditMeasureViewQuery$data = {
|
||||
readonly node: {
|
||||
readonly category?: string;
|
||||
readonly description?: string;
|
||||
@@ -20,9 +20,9 @@ export type EditMesureViewQuery$data = {
|
||||
readonly name?: string;
|
||||
};
|
||||
};
|
||||
export type EditMesureViewQuery = {
|
||||
response: EditMesureViewQuery$data;
|
||||
variables: EditMesureViewQuery$variables;
|
||||
export type EditMeasureViewQuery = {
|
||||
response: EditMeasureViewQuery$data;
|
||||
variables: EditMeasureViewQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -30,14 +30,14 @@ var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "mesureId"
|
||||
"name": "measureId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "mesureId"
|
||||
"variableName": "measureId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
@@ -73,7 +73,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "EditMesureViewQuery",
|
||||
"name": "EditMeasureViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -91,7 +91,7 @@ return {
|
||||
(v4/*: any*/),
|
||||
(v5/*: any*/)
|
||||
],
|
||||
"type": "Mesure",
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
@@ -105,7 +105,7 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "EditMesureViewQuery",
|
||||
"name": "EditMeasureViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -130,7 +130,7 @@ return {
|
||||
(v4/*: any*/),
|
||||
(v5/*: any*/)
|
||||
],
|
||||
"type": "Mesure",
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
@@ -142,9 +142,9 @@ return {
|
||||
"cacheID": "3dbf7d90b0ae49ce617abdf063f6b908",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "EditMesureViewQuery",
|
||||
"name": "EditMeasureViewQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query EditMesureViewQuery(\n $mesureId: ID!\n) {\n node(id: $mesureId) {\n __typename\n ... on Mesure {\n id\n name\n description\n category\n }\n id\n }\n}\n"
|
||||
"text": "query EditMeasureViewQuery(\n $measureId: ID!\n) {\n node(id: $measureId) {\n __typename\n ... on Measure {\n id\n name\n description\n category\n }\n id\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,29 +9,29 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type UpdateMesureInput = {
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type UpdateMeasureInput = {
|
||||
category?: string | null | undefined;
|
||||
description?: string | null | undefined;
|
||||
id: string;
|
||||
name?: string | null | undefined;
|
||||
state?: MesureState | null | undefined;
|
||||
state?: MeasureState | null | undefined;
|
||||
};
|
||||
export type EditMesureViewUpdateMesureMutation$variables = {
|
||||
input: UpdateMesureInput;
|
||||
export type EditMeasureViewUpdateMeasureMutation$variables = {
|
||||
input: UpdateMeasureInput;
|
||||
};
|
||||
export type EditMesureViewUpdateMesureMutation$data = {
|
||||
readonly updateMesure: {
|
||||
readonly mesure: {
|
||||
export type EditMeasureViewUpdateMeasureMutation$data = {
|
||||
readonly updateMeasure: {
|
||||
readonly measure: {
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type EditMesureViewUpdateMesureMutation = {
|
||||
response: EditMesureViewUpdateMesureMutation$data;
|
||||
variables: EditMesureViewUpdateMesureMutation$variables;
|
||||
export type EditMeasureViewUpdateMeasureMutation = {
|
||||
response: EditMeasureViewUpdateMeasureMutation$data;
|
||||
variables: EditMeasureViewUpdateMeasureMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -52,17 +52,17 @@ v1 = [
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "UpdateMesurePayload",
|
||||
"concreteType": "UpdateMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "updateMesure",
|
||||
"name": "updateMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesure",
|
||||
"name": "measure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
@@ -98,7 +98,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "EditMesureViewUpdateMesureMutation",
|
||||
"name": "EditMeasureViewUpdateMeasureMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -107,16 +107,16 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "EditMesureViewUpdateMesureMutation",
|
||||
"name": "EditMeasureViewUpdateMeasureMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "ab674147338f145102c150b220578304",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "EditMesureViewUpdateMesureMutation",
|
||||
"name": "EditMeasureViewUpdateMeasureMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation EditMesureViewUpdateMesureMutation(\n $input: UpdateMesureInput!\n) {\n updateMesure(input: $input) {\n mesure {\n id\n name\n description\n }\n }\n}\n"
|
||||
"text": "mutation EditMeasureViewUpdateMeasureMutation(\n $input: UpdateMeasureInput!\n) {\n updateMeasure(input: $input) {\n measure {\n id\n name\n description\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -0,0 +1,208 @@
|
||||
/**
|
||||
* @generated SignedSource<<a93137ce93688a2c3c0986437bf3f4c5>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type ImportMeasureInput = {
|
||||
file: any;
|
||||
organizationId: string;
|
||||
};
|
||||
export type MeasureListViewImportMeasureMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: ImportMeasureInput;
|
||||
};
|
||||
export type MeasureListViewImportMeasureMutation$data = {
|
||||
readonly importMeasure: {
|
||||
readonly measureEdges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly category: string;
|
||||
readonly createdAt: string;
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly state: MeasureState;
|
||||
readonly updatedAt: string;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
};
|
||||
export type MeasureListViewImportMeasureMutation = {
|
||||
response: MeasureListViewImportMeasureMutation$data;
|
||||
variables: MeasureListViewImportMeasureMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "connections"
|
||||
},
|
||||
v1 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "measureEdges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "name",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "category",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "state",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "createdAt",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "updatedAt",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": [
|
||||
(v0/*: any*/),
|
||||
(v1/*: any*/)
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureListViewImportMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "ImportMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "importMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": [
|
||||
(v1/*: any*/),
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MeasureListViewImportMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "ImportMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "importMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"filters": null,
|
||||
"handle": "appendEdge",
|
||||
"key": "",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "measureEdges",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "connections",
|
||||
"variableName": "connections"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "d257f6fad6ab4c82d2295b7a0342c91b",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureListViewImportMeasureMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureListViewImportMeasureMutation(\n $input: ImportMeasureInput!\n) {\n importMeasure(input: $input) {\n measureEdges {\n node {\n id\n name\n description\n category\n state\n createdAt\n updatedAt\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "6649f536c35390d081835f70d1534847";
|
||||
|
||||
export default node;
|
||||
297
apps/console/src/pages/organizations/measures/__generated__/MeasureListViewQuery.graphql.ts
generated
Normal file
297
apps/console/src/pages/organizations/measures/__generated__/MeasureListViewQuery.graphql.ts
generated
Normal file
@@ -0,0 +1,297 @@
|
||||
/**
|
||||
* @generated SignedSource<<fcaed74e4a3e71ef452df09877a2b95c>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type MeasureListViewQuery$variables = {
|
||||
first?: number | null | undefined;
|
||||
organizationId: string;
|
||||
};
|
||||
export type MeasureListViewQuery$data = {
|
||||
readonly organization: {
|
||||
readonly id: string;
|
||||
readonly measures?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly category: string;
|
||||
readonly createdAt: string;
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly state: MeasureState;
|
||||
readonly updatedAt: string;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureListViewQuery = {
|
||||
response: MeasureListViewQuery$data;
|
||||
variables: MeasureListViewQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "first"
|
||||
},
|
||||
v1 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "organizationId"
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "organizationId"
|
||||
}
|
||||
],
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v4 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "__typename",
|
||||
"storageKey": null
|
||||
},
|
||||
v5 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "name",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "category",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "state",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "createdAt",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "updatedAt",
|
||||
"storageKey": null
|
||||
},
|
||||
(v4/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "cursor",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "PageInfo",
|
||||
"kind": "LinkedField",
|
||||
"name": "pageInfo",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "endCursor",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "hasNextPage",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
v6 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "first",
|
||||
"variableName": "first"
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": [
|
||||
(v0/*: any*/),
|
||||
(v1/*: any*/)
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureListViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "measures",
|
||||
"args": null,
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MeasureListView_measures_connection",
|
||||
"plural": false,
|
||||
"selections": (v5/*: any*/),
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Organization",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Query",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": [
|
||||
(v1/*: any*/),
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MeasureListViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v4/*: any*/),
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v6/*: any*/),
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "measures",
|
||||
"plural": false,
|
||||
"selections": (v5/*: any*/),
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v6/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "MeasureListView_measures",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "measures"
|
||||
}
|
||||
],
|
||||
"type": "Organization",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "4d9ad175699f51e62db8923f1dd44ed2",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
{
|
||||
"count": "first",
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"organization",
|
||||
"measures"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MeasureListViewQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MeasureListViewQuery(\n $organizationId: ID!\n $first: Int\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n measures(first: $first) {\n edges {\n node {\n id\n name\n description\n category\n state\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "2ad3d938b17d57e015272d4296b41f1f";
|
||||
|
||||
export default node;
|
||||
138
apps/console/src/pages/organizations/measures/__generated__/MeasureViewAssignTaskMutation.graphql.ts
generated
Normal file
138
apps/console/src/pages/organizations/measures/__generated__/MeasureViewAssignTaskMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,138 @@
|
||||
/**
|
||||
* @generated SignedSource<<132e5315003576c357d64d6aaee4b657>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type AssignTaskInput = {
|
||||
assignedToId: string;
|
||||
taskId: string;
|
||||
};
|
||||
export type MeasureViewAssignTaskMutation$variables = {
|
||||
input: AssignTaskInput;
|
||||
};
|
||||
export type MeasureViewAssignTaskMutation$data = {
|
||||
readonly assignTask: {
|
||||
readonly task: {
|
||||
readonly assignedTo: {
|
||||
readonly fullName: string;
|
||||
readonly id: string;
|
||||
readonly primaryEmailAddress: string;
|
||||
} | null | undefined;
|
||||
readonly id: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureViewAssignTaskMutation = {
|
||||
response: MeasureViewAssignTaskMutation$data;
|
||||
variables: MeasureViewAssignTaskMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
}
|
||||
],
|
||||
v1 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "AssignTaskPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "assignTask",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Task",
|
||||
"kind": "LinkedField",
|
||||
"name": "task",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v1/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "People",
|
||||
"kind": "LinkedField",
|
||||
"name": "assignedTo",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v1/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "fullName",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "primaryEmailAddress",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewAssignTaskMutation",
|
||||
"selections": (v2/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewAssignTaskMutation",
|
||||
"selections": (v2/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "ef8536df8f9a92dba371a0f0802d900f",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewAssignTaskMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureViewAssignTaskMutation(\n $input: AssignTaskInput!\n) {\n assignTask(input: $input) {\n task {\n id\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "47ff4e30fd09d661f7dabfd2289bab17";
|
||||
|
||||
export default node;
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<aad63785dac93ad7f8db05ee4f219109>>
|
||||
* @generated SignedSource<<441cfaaf785e0628a8c954249ef87bdf>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,21 +9,21 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type CreateControlMesureMappingInput = {
|
||||
export type CreateControlMeasureMappingInput = {
|
||||
controlId: string;
|
||||
mesureId: string;
|
||||
measureId: string;
|
||||
};
|
||||
export type ControlCreateMesureMappingMutation$variables = {
|
||||
input: CreateControlMesureMappingInput;
|
||||
export type MeasureViewCreateControlMappingMutation$variables = {
|
||||
input: CreateControlMeasureMappingInput;
|
||||
};
|
||||
export type ControlCreateMesureMappingMutation$data = {
|
||||
readonly createControlMesureMapping: {
|
||||
export type MeasureViewCreateControlMappingMutation$data = {
|
||||
readonly createControlMeasureMapping: {
|
||||
readonly success: boolean;
|
||||
};
|
||||
};
|
||||
export type ControlCreateMesureMappingMutation = {
|
||||
response: ControlCreateMesureMappingMutation$data;
|
||||
variables: ControlCreateMesureMappingMutation$variables;
|
||||
export type MeasureViewCreateControlMappingMutation = {
|
||||
response: MeasureViewCreateControlMappingMutation$data;
|
||||
variables: MeasureViewCreateControlMappingMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -44,9 +44,9 @@ v1 = [
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "CreateControlMesureMappingPayload",
|
||||
"concreteType": "CreateControlMeasureMappingPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createControlMesureMapping",
|
||||
"name": "createControlMeasureMapping",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
@@ -65,7 +65,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "ControlCreateMesureMappingMutation",
|
||||
"name": "MeasureViewCreateControlMappingMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -74,20 +74,20 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "ControlCreateMesureMappingMutation",
|
||||
"name": "MeasureViewCreateControlMappingMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "589fad9dec58fb2efe52e8e587c8ce85",
|
||||
"cacheID": "ea74e0148d320dbfb79859bb6286427b",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "ControlCreateMesureMappingMutation",
|
||||
"name": "MeasureViewCreateControlMappingMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation ControlCreateMesureMappingMutation(\n $input: CreateControlMesureMappingInput!\n) {\n createControlMesureMapping(input: $input) {\n success\n }\n}\n"
|
||||
"text": "mutation MeasureViewCreateControlMappingMutation(\n $input: CreateControlMeasureMappingInput!\n) {\n createControlMeasureMapping(input: $input) {\n success\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "8974d4f4025f6e1eaba2a6b30e357486";
|
||||
(node as any).hash = "dfe964679c82f9c47d418122595989a8";
|
||||
|
||||
export default node;
|
||||
237
apps/console/src/pages/organizations/measures/__generated__/MeasureViewCreateEvidenceMutation.graphql.ts
generated
Normal file
237
apps/console/src/pages/organizations/measures/__generated__/MeasureViewCreateEvidenceMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,237 @@
|
||||
/**
|
||||
* @generated SignedSource<<e5042f900955d846dd86ad6b78d60518>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type EvidenceState = "FULFILLED" | "REQUESTED";
|
||||
export type EvidenceType = "FILE" | "LINK";
|
||||
export type CreateEvidenceInput = {
|
||||
description: string;
|
||||
file?: any | null | undefined;
|
||||
name: string;
|
||||
taskId: string;
|
||||
type: EvidenceType;
|
||||
url?: string | null | undefined;
|
||||
};
|
||||
export type MeasureViewCreateEvidenceMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: CreateEvidenceInput;
|
||||
};
|
||||
export type MeasureViewCreateEvidenceMutation$data = {
|
||||
readonly createEvidence: {
|
||||
readonly evidenceEdge: {
|
||||
readonly node: {
|
||||
readonly createdAt: string;
|
||||
readonly description: string;
|
||||
readonly fileUrl: string | null | undefined;
|
||||
readonly filename: string;
|
||||
readonly id: string;
|
||||
readonly mimeType: string;
|
||||
readonly size: number;
|
||||
readonly state: EvidenceState;
|
||||
readonly type: EvidenceType;
|
||||
readonly url: string | null | undefined;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureViewCreateEvidenceMutation = {
|
||||
response: MeasureViewCreateEvidenceMutation$data;
|
||||
variables: MeasureViewCreateEvidenceMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "connections"
|
||||
},
|
||||
v1 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "EvidenceEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "evidenceEdge",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Evidence",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "filename",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "fileUrl",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "mimeType",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "type",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "url",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "size",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "state",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "createdAt",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": [
|
||||
(v0/*: any*/),
|
||||
(v1/*: any*/)
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewCreateEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "CreateEvidencePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createEvidence",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": [
|
||||
(v1/*: any*/),
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewCreateEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "CreateEvidencePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createEvidence",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"filters": null,
|
||||
"handle": "appendEdge",
|
||||
"key": "",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "evidenceEdge",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "connections",
|
||||
"variableName": "connections"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "25b9947aa09d7b4c60886f149b06cc6e",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewCreateEvidenceMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureViewCreateEvidenceMutation(\n $input: CreateEvidenceInput!\n) {\n createEvidence(input: $input) {\n evidenceEdge {\n node {\n id\n filename\n fileUrl\n mimeType\n type\n url\n size\n state\n createdAt\n description\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "bc59ec67230776eeb60a389a8360b0af";
|
||||
|
||||
export default node;
|
||||
227
apps/console/src/pages/organizations/measures/__generated__/MeasureViewCreateTaskMutation.graphql.ts
generated
Normal file
227
apps/console/src/pages/organizations/measures/__generated__/MeasureViewCreateTaskMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,227 @@
|
||||
/**
|
||||
* @generated SignedSource<<f037ead461a7a59d39f2e98140e4c72f>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type TaskState = "DONE" | "TODO";
|
||||
export type CreateTaskInput = {
|
||||
assignedToId?: string | null | undefined;
|
||||
description: string;
|
||||
measureId: string;
|
||||
name: string;
|
||||
timeEstimate?: any | null | undefined;
|
||||
};
|
||||
export type MeasureViewCreateTaskMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: CreateTaskInput;
|
||||
};
|
||||
export type MeasureViewCreateTaskMutation$data = {
|
||||
readonly createTask: {
|
||||
readonly taskEdge: {
|
||||
readonly node: {
|
||||
readonly assignedTo: {
|
||||
readonly fullName: string;
|
||||
readonly id: string;
|
||||
readonly primaryEmailAddress: string;
|
||||
} | null | undefined;
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly state: TaskState;
|
||||
readonly timeEstimate: any | null | undefined;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureViewCreateTaskMutation = {
|
||||
response: MeasureViewCreateTaskMutation$data;
|
||||
variables: MeasureViewCreateTaskMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "connections"
|
||||
},
|
||||
v1 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v4 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "TaskEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "taskEdge",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Task",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "name",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "timeEstimate",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "state",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "People",
|
||||
"kind": "LinkedField",
|
||||
"name": "assignedTo",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "fullName",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "primaryEmailAddress",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": [
|
||||
(v0/*: any*/),
|
||||
(v1/*: any*/)
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewCreateTaskMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "CreateTaskPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createTask",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v4/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": [
|
||||
(v1/*: any*/),
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewCreateTaskMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "CreateTaskPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createTask",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v4/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"filters": null,
|
||||
"handle": "prependEdge",
|
||||
"key": "",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "taskEdge",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "connections",
|
||||
"variableName": "connections"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "53b934e0e7a3d4abf8789ad8672687df",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewCreateTaskMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureViewCreateTaskMutation(\n $input: CreateTaskInput!\n) {\n createTask(input: $input) {\n taskEdge {\n node {\n id\n name\n description\n timeEstimate\n state\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "0df98f5aee4233dc4ffedcff8256891a";
|
||||
|
||||
export default node;
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<272b7b4a8bc0c81baa4a8d8f3656be0c>>
|
||||
* @generated SignedSource<<9136dd4c154f9e4b2ba8b91316edbf4a>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,21 +9,21 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type DeleteControlMesureMappingInput = {
|
||||
export type DeleteControlMeasureMappingInput = {
|
||||
controlId: string;
|
||||
mesureId: string;
|
||||
measureId: string;
|
||||
};
|
||||
export type ControlDeleteMesureMappingMutation$variables = {
|
||||
input: DeleteControlMesureMappingInput;
|
||||
export type MeasureViewDeleteControlMappingMutation$variables = {
|
||||
input: DeleteControlMeasureMappingInput;
|
||||
};
|
||||
export type ControlDeleteMesureMappingMutation$data = {
|
||||
readonly deleteControlMesureMapping: {
|
||||
export type MeasureViewDeleteControlMappingMutation$data = {
|
||||
readonly deleteControlMeasureMapping: {
|
||||
readonly success: boolean;
|
||||
};
|
||||
};
|
||||
export type ControlDeleteMesureMappingMutation = {
|
||||
response: ControlDeleteMesureMappingMutation$data;
|
||||
variables: ControlDeleteMesureMappingMutation$variables;
|
||||
export type MeasureViewDeleteControlMappingMutation = {
|
||||
response: MeasureViewDeleteControlMappingMutation$data;
|
||||
variables: MeasureViewDeleteControlMappingMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -44,9 +44,9 @@ v1 = [
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "DeleteControlMesureMappingPayload",
|
||||
"concreteType": "DeleteControlMeasureMappingPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteControlMesureMapping",
|
||||
"name": "deleteControlMeasureMapping",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
@@ -65,7 +65,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "ControlDeleteMesureMappingMutation",
|
||||
"name": "MeasureViewDeleteControlMappingMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -74,20 +74,20 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "ControlDeleteMesureMappingMutation",
|
||||
"name": "MeasureViewDeleteControlMappingMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "66b2b12e57f8a150825f0e3f25494093",
|
||||
"cacheID": "8e779137f0502f324968a4c414bff2e6",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "ControlDeleteMesureMappingMutation",
|
||||
"name": "MeasureViewDeleteControlMappingMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation ControlDeleteMesureMappingMutation(\n $input: DeleteControlMesureMappingInput!\n) {\n deleteControlMesureMapping(input: $input) {\n success\n }\n}\n"
|
||||
"text": "mutation MeasureViewDeleteControlMappingMutation(\n $input: DeleteControlMeasureMappingInput!\n) {\n deleteControlMeasureMapping(input: $input) {\n success\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "64e6f03a12a22a87e4893a335e58379b";
|
||||
(node as any).hash = "7c74e8e787022c1c51fbfc38388445e4";
|
||||
|
||||
export default node;
|
||||
132
apps/console/src/pages/organizations/measures/__generated__/MeasureViewDeleteEvidenceMutation.graphql.ts
generated
Normal file
132
apps/console/src/pages/organizations/measures/__generated__/MeasureViewDeleteEvidenceMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,132 @@
|
||||
/**
|
||||
* @generated SignedSource<<a930baf9c7542b375151433ec7a0bf90>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type DeleteEvidenceInput = {
|
||||
evidenceId: string;
|
||||
};
|
||||
export type MeasureViewDeleteEvidenceMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: DeleteEvidenceInput;
|
||||
};
|
||||
export type MeasureViewDeleteEvidenceMutation$data = {
|
||||
readonly deleteEvidence: {
|
||||
readonly deletedEvidenceId: string;
|
||||
};
|
||||
};
|
||||
export type MeasureViewDeleteEvidenceMutation = {
|
||||
response: MeasureViewDeleteEvidenceMutation$data;
|
||||
variables: MeasureViewDeleteEvidenceMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "connections"
|
||||
},
|
||||
v1 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "deletedEvidenceId",
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": [
|
||||
(v0/*: any*/),
|
||||
(v1/*: any*/)
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewDeleteEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "DeleteEvidencePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteEvidence",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": [
|
||||
(v1/*: any*/),
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewDeleteEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "DeleteEvidencePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteEvidence",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"filters": null,
|
||||
"handle": "deleteEdge",
|
||||
"key": "",
|
||||
"kind": "ScalarHandle",
|
||||
"name": "deletedEvidenceId",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "connections",
|
||||
"variableName": "connections"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "db4b5b4eed57d1361acff9696e8b6667",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewDeleteEvidenceMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureViewDeleteEvidenceMutation(\n $input: DeleteEvidenceInput!\n) {\n deleteEvidence(input: $input) {\n deletedEvidenceId\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "4281f93d92eb942cd3d0ebbd05d8bd5d";
|
||||
|
||||
export default node;
|
||||
132
apps/console/src/pages/organizations/measures/__generated__/MeasureViewDeleteMeasureMutation.graphql.ts
generated
Normal file
132
apps/console/src/pages/organizations/measures/__generated__/MeasureViewDeleteMeasureMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,132 @@
|
||||
/**
|
||||
* @generated SignedSource<<eabf44008fc79a4bdd03259111bbf097>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type DeleteMeasureInput = {
|
||||
measureId: string;
|
||||
};
|
||||
export type MeasureViewDeleteMeasureMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: DeleteMeasureInput;
|
||||
};
|
||||
export type MeasureViewDeleteMeasureMutation$data = {
|
||||
readonly deleteMeasure: {
|
||||
readonly deletedMeasureId: string;
|
||||
};
|
||||
};
|
||||
export type MeasureViewDeleteMeasureMutation = {
|
||||
response: MeasureViewDeleteMeasureMutation$data;
|
||||
variables: MeasureViewDeleteMeasureMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "connections"
|
||||
},
|
||||
v1 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "deletedMeasureId",
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": [
|
||||
(v0/*: any*/),
|
||||
(v1/*: any*/)
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewDeleteMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "DeleteMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": [
|
||||
(v1/*: any*/),
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewDeleteMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "DeleteMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"filters": null,
|
||||
"handle": "deleteEdge",
|
||||
"key": "",
|
||||
"kind": "ScalarHandle",
|
||||
"name": "deletedMeasureId",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "connections",
|
||||
"variableName": "connections"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "8369c20d01874393d53f4bcb29b43821",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewDeleteMeasureMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureViewDeleteMeasureMutation(\n $input: DeleteMeasureInput!\n) {\n deleteMeasure(input: $input) {\n deletedMeasureId\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "e82e708b1d2a39ae3faf6a7be8692b7d";
|
||||
|
||||
export default node;
|
||||
132
apps/console/src/pages/organizations/measures/__generated__/MeasureViewDeleteTaskMutation.graphql.ts
generated
Normal file
132
apps/console/src/pages/organizations/measures/__generated__/MeasureViewDeleteTaskMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,132 @@
|
||||
/**
|
||||
* @generated SignedSource<<cd8088494f7f5f88d006d90ef72ca8a9>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type DeleteTaskInput = {
|
||||
taskId: string;
|
||||
};
|
||||
export type MeasureViewDeleteTaskMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: DeleteTaskInput;
|
||||
};
|
||||
export type MeasureViewDeleteTaskMutation$data = {
|
||||
readonly deleteTask: {
|
||||
readonly deletedTaskId: string;
|
||||
};
|
||||
};
|
||||
export type MeasureViewDeleteTaskMutation = {
|
||||
response: MeasureViewDeleteTaskMutation$data;
|
||||
variables: MeasureViewDeleteTaskMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "connections"
|
||||
},
|
||||
v1 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "deletedTaskId",
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": [
|
||||
(v0/*: any*/),
|
||||
(v1/*: any*/)
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewDeleteTaskMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "DeleteTaskPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteTask",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": [
|
||||
(v1/*: any*/),
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewDeleteTaskMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "DeleteTaskPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteTask",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"filters": null,
|
||||
"handle": "deleteEdge",
|
||||
"key": "",
|
||||
"kind": "ScalarHandle",
|
||||
"name": "deletedTaskId",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "connections",
|
||||
"variableName": "connections"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "f92703409a953a1fea728aeba622c6d5",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewDeleteTaskMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureViewDeleteTaskMutation(\n $input: DeleteTaskInput!\n) {\n deleteTask(input: $input) {\n deletedTaskId\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "dd4f89809cfda8e99ea1a66641c658cb";
|
||||
|
||||
export default node;
|
||||
364
apps/console/src/pages/organizations/measures/__generated__/MeasureViewFrameworksQuery.graphql.ts
generated
Normal file
364
apps/console/src/pages/organizations/measures/__generated__/MeasureViewFrameworksQuery.graphql.ts
generated
Normal file
@@ -0,0 +1,364 @@
|
||||
/**
|
||||
* @generated SignedSource<<f3d959452f28259f74fc44f4c1eedcb2>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MeasureViewFrameworksQuery$variables = {
|
||||
organizationId: string;
|
||||
};
|
||||
export type MeasureViewFrameworksQuery$data = {
|
||||
readonly organization: {
|
||||
readonly frameworks?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly controls: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly referenceId: string;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
readonly id: string;
|
||||
};
|
||||
};
|
||||
export type MeasureViewFrameworksQuery = {
|
||||
response: MeasureViewFrameworksQuery$data;
|
||||
variables: MeasureViewFrameworksQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "organizationId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "organizationId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "name",
|
||||
"storageKey": null
|
||||
},
|
||||
v4 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "__typename",
|
||||
"storageKey": null
|
||||
},
|
||||
v5 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "cursor",
|
||||
"storageKey": null
|
||||
},
|
||||
v6 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "PageInfo",
|
||||
"kind": "LinkedField",
|
||||
"name": "pageInfo",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "endCursor",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "hasNextPage",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
v7 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "ControlEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Control",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "referenceId",
|
||||
"storageKey": null
|
||||
},
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
},
|
||||
(v4/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v5/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v6/*: any*/)
|
||||
],
|
||||
v8 = [
|
||||
{
|
||||
"kind": "Literal",
|
||||
"name": "first",
|
||||
"value": 100
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewFrameworksQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "frameworks",
|
||||
"args": null,
|
||||
"concreteType": "FrameworkConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__Organization__frameworks_connection",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "FrameworkEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Framework",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": "controls",
|
||||
"args": null,
|
||||
"concreteType": "ControlConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__Framework__controls_connection",
|
||||
"plural": false,
|
||||
"selections": (v7/*: any*/),
|
||||
"storageKey": null
|
||||
},
|
||||
(v4/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v5/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v6/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Organization",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Query",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewFrameworksQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v4/*: any*/),
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v8/*: any*/),
|
||||
"concreteType": "FrameworkConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "frameworks",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "FrameworkEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Framework",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v8/*: any*/),
|
||||
"concreteType": "ControlConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "controls",
|
||||
"plural": false,
|
||||
"selections": (v7/*: any*/),
|
||||
"storageKey": "controls(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v8/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "Framework__controls",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "controls"
|
||||
},
|
||||
(v4/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v5/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v6/*: any*/)
|
||||
],
|
||||
"storageKey": "frameworks(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v8/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "Organization__frameworks",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "frameworks"
|
||||
}
|
||||
],
|
||||
"type": "Organization",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "f32215939196e9e13f1347b57111f5cb",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
{
|
||||
"count": null,
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": null
|
||||
},
|
||||
{
|
||||
"count": null,
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"organization",
|
||||
"frameworks"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MeasureViewFrameworksQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MeasureViewFrameworksQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n frameworks(first: 100) {\n edges {\n node {\n id\n name\n controls(first: 100) {\n edges {\n node {\n id\n referenceId\n name\n description\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "f1183b14c80a91b160f222af00d49b6f";
|
||||
|
||||
export default node;
|
||||
@@ -0,0 +1,235 @@
|
||||
/**
|
||||
* @generated SignedSource<<73ac433b0ba8e4acdf9e0b644ed210ba>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type EvidenceState = "FULFILLED" | "REQUESTED";
|
||||
export type EvidenceType = "FILE" | "LINK";
|
||||
export type FulfillEvidenceInput = {
|
||||
evidenceId: string;
|
||||
file?: any | null | undefined;
|
||||
name?: string | null | undefined;
|
||||
url?: string | null | undefined;
|
||||
};
|
||||
export type MeasureViewFulfillEvidenceMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: FulfillEvidenceInput;
|
||||
};
|
||||
export type MeasureViewFulfillEvidenceMutation$data = {
|
||||
readonly fulfillEvidence: {
|
||||
readonly evidenceEdge: {
|
||||
readonly node: {
|
||||
readonly createdAt: string;
|
||||
readonly description: string;
|
||||
readonly fileUrl: string | null | undefined;
|
||||
readonly filename: string;
|
||||
readonly id: string;
|
||||
readonly mimeType: string;
|
||||
readonly size: number;
|
||||
readonly state: EvidenceState;
|
||||
readonly type: EvidenceType;
|
||||
readonly url: string | null | undefined;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureViewFulfillEvidenceMutation = {
|
||||
response: MeasureViewFulfillEvidenceMutation$data;
|
||||
variables: MeasureViewFulfillEvidenceMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "connections"
|
||||
},
|
||||
v1 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "EvidenceEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "evidenceEdge",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Evidence",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "filename",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "fileUrl",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "mimeType",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "type",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "url",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "size",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "state",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "createdAt",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": [
|
||||
(v0/*: any*/),
|
||||
(v1/*: any*/)
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewFulfillEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "FulfillEvidencePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "fulfillEvidence",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": [
|
||||
(v1/*: any*/),
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewFulfillEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "FulfillEvidencePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "fulfillEvidence",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"filters": null,
|
||||
"handle": "appendEdge",
|
||||
"key": "",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "evidenceEdge",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "connections",
|
||||
"variableName": "connections"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "a87965c67907a386e0fe9d72c02e6f69",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewFulfillEvidenceMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureViewFulfillEvidenceMutation(\n $input: FulfillEvidenceInput!\n) {\n fulfillEvidence(input: $input) {\n evidenceEdge {\n node {\n id\n filename\n fileUrl\n mimeType\n type\n url\n size\n state\n createdAt\n description\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "615288332275b30fa96119676fe366e8";
|
||||
|
||||
export default node;
|
||||
@@ -0,0 +1,134 @@
|
||||
/**
|
||||
* @generated SignedSource<<70b5734532ae7cd132a0a4f60de81297>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MeasureViewGetEvidenceFileUrlQuery$variables = {
|
||||
evidenceId: string;
|
||||
};
|
||||
export type MeasureViewGetEvidenceFileUrlQuery$data = {
|
||||
readonly node: {
|
||||
readonly fileUrl?: string | null | undefined;
|
||||
readonly id?: string;
|
||||
};
|
||||
};
|
||||
export type MeasureViewGetEvidenceFileUrlQuery = {
|
||||
response: MeasureViewGetEvidenceFileUrlQuery$data;
|
||||
variables: MeasureViewGetEvidenceFileUrlQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "evidenceId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "evidenceId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "fileUrl",
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewGetEvidenceFileUrlQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"type": "Evidence",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Query",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewGetEvidenceFileUrlQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "__typename",
|
||||
"storageKey": null
|
||||
},
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"type": "Evidence",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "53ad5d32a09d0f4e00e53f3ac7138267",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewGetEvidenceFileUrlQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MeasureViewGetEvidenceFileUrlQuery(\n $evidenceId: ID!\n) {\n node(id: $evidenceId) {\n __typename\n ... on Evidence {\n id\n fileUrl\n }\n id\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "e373fc3a6bc7c3c57d253f1915027880";
|
||||
|
||||
export default node;
|
||||
262
apps/console/src/pages/organizations/measures/__generated__/MeasureViewLinkedControlsQuery.graphql.ts
generated
Normal file
262
apps/console/src/pages/organizations/measures/__generated__/MeasureViewLinkedControlsQuery.graphql.ts
generated
Normal file
@@ -0,0 +1,262 @@
|
||||
/**
|
||||
* @generated SignedSource<<9b551f9e8f59a5ffe5c00700cdb59c88>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MeasureViewLinkedControlsQuery$variables = {
|
||||
measureId: string;
|
||||
};
|
||||
export type MeasureViewLinkedControlsQuery$data = {
|
||||
readonly measure: {
|
||||
readonly controls?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly referenceId: string;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
readonly id: string;
|
||||
};
|
||||
};
|
||||
export type MeasureViewLinkedControlsQuery = {
|
||||
response: MeasureViewLinkedControlsQuery$data;
|
||||
variables: MeasureViewLinkedControlsQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "measureId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "measureId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "__typename",
|
||||
"storageKey": null
|
||||
},
|
||||
v4 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "ControlEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Control",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "referenceId",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "name",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
},
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "cursor",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "PageInfo",
|
||||
"kind": "LinkedField",
|
||||
"name": "pageInfo",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "endCursor",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "hasNextPage",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
v5 = [
|
||||
{
|
||||
"kind": "Literal",
|
||||
"name": "first",
|
||||
"value": 100
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewLinkedControlsQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "controls",
|
||||
"args": null,
|
||||
"concreteType": "ControlConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MeasureView_controls_connection",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Query",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewLinkedControlsQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v5/*: any*/),
|
||||
"concreteType": "ControlConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "controls",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": "controls(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v5/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "MeasureView_controls",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "controls"
|
||||
}
|
||||
],
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "b4f524eea7ce57decf321b7efacdaa03",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
{
|
||||
"count": null,
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"measure",
|
||||
"controls"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MeasureViewLinkedControlsQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MeasureViewLinkedControlsQuery(\n $measureId: ID!\n) {\n measure: node(id: $measureId) {\n __typename\n id\n ... on Measure {\n controls(first: 100) {\n edges {\n node {\n id\n referenceId\n name\n description\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "5dfd96b1ab2edc5c8c654346046a968f";
|
||||
|
||||
export default node;
|
||||
267
apps/console/src/pages/organizations/measures/__generated__/MeasureViewOrganizationQuery.graphql.ts
generated
Normal file
267
apps/console/src/pages/organizations/measures/__generated__/MeasureViewOrganizationQuery.graphql.ts
generated
Normal file
@@ -0,0 +1,267 @@
|
||||
/**
|
||||
* @generated SignedSource<<340108b3d5d790eb9e5cf3caa49c2497>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MeasureViewOrganizationQuery$variables = {
|
||||
organizationId: string;
|
||||
};
|
||||
export type MeasureViewOrganizationQuery$data = {
|
||||
readonly organization: {
|
||||
readonly id: string;
|
||||
readonly peoples?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly fullName: string;
|
||||
readonly id: string;
|
||||
readonly primaryEmailAddress: string;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureViewOrganizationQuery = {
|
||||
response: MeasureViewOrganizationQuery$data;
|
||||
variables: MeasureViewOrganizationQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "organizationId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "organizationId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v3 = {
|
||||
"kind": "Literal",
|
||||
"name": "orderBy",
|
||||
"value": {
|
||||
"direction": "ASC",
|
||||
"field": "FULL_NAME"
|
||||
}
|
||||
},
|
||||
v4 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "__typename",
|
||||
"storageKey": null
|
||||
},
|
||||
v5 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "PeopleEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "People",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "fullName",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "primaryEmailAddress",
|
||||
"storageKey": null
|
||||
},
|
||||
(v4/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "cursor",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "PageInfo",
|
||||
"kind": "LinkedField",
|
||||
"name": "pageInfo",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "endCursor",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "hasNextPage",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
v6 = [
|
||||
{
|
||||
"kind": "Literal",
|
||||
"name": "first",
|
||||
"value": 100
|
||||
},
|
||||
(v3/*: any*/)
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewOrganizationQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "peoples",
|
||||
"args": [
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"concreteType": "PeopleConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MeasureView_peoples_connection",
|
||||
"plural": false,
|
||||
"selections": (v5/*: any*/),
|
||||
"storageKey": "__MeasureView_peoples_connection(orderBy:{\"direction\":\"ASC\",\"field\":\"FULL_NAME\"})"
|
||||
}
|
||||
],
|
||||
"type": "Organization",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Query",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewOrganizationQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v4/*: any*/),
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v6/*: any*/),
|
||||
"concreteType": "PeopleConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "peoples",
|
||||
"plural": false,
|
||||
"selections": (v5/*: any*/),
|
||||
"storageKey": "peoples(first:100,orderBy:{\"direction\":\"ASC\",\"field\":\"FULL_NAME\"})"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v6/*: any*/),
|
||||
"filters": [
|
||||
"orderBy"
|
||||
],
|
||||
"handle": "connection",
|
||||
"key": "MeasureView_peoples",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "peoples"
|
||||
}
|
||||
],
|
||||
"type": "Organization",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "e3e667e3b7336703ac863582368aba65",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
{
|
||||
"count": null,
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"organization",
|
||||
"peoples"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MeasureViewOrganizationQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MeasureViewOrganizationQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n peoples(first: 100, orderBy: {direction: ASC, field: FULL_NAME}) {\n edges {\n node {\n id\n fullName\n primaryEmailAddress\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "721e50c0d6835692c77ef891af1561c2";
|
||||
|
||||
export default node;
|
||||
508
apps/console/src/pages/organizations/measures/__generated__/MeasureViewQuery.graphql.ts
generated
Normal file
508
apps/console/src/pages/organizations/measures/__generated__/MeasureViewQuery.graphql.ts
generated
Normal file
@@ -0,0 +1,508 @@
|
||||
/**
|
||||
* @generated SignedSource<<63dbc912431a9ea23a2ce515ba95af86>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type EvidenceState = "FULFILLED" | "REQUESTED";
|
||||
export type EvidenceType = "FILE" | "LINK";
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type TaskState = "DONE" | "TODO";
|
||||
export type MeasureViewQuery$variables = {
|
||||
measureId: string;
|
||||
};
|
||||
export type MeasureViewQuery$data = {
|
||||
readonly measure: {
|
||||
readonly category?: string;
|
||||
readonly description?: string;
|
||||
readonly id: string;
|
||||
readonly name?: string;
|
||||
readonly state?: MeasureState;
|
||||
readonly tasks?: {
|
||||
readonly __id: string;
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly assignedTo: {
|
||||
readonly fullName: string;
|
||||
readonly id: string;
|
||||
readonly primaryEmailAddress: string;
|
||||
} | null | undefined;
|
||||
readonly description: string;
|
||||
readonly evidences: {
|
||||
readonly __id: string;
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly createdAt: string;
|
||||
readonly description: string;
|
||||
readonly filename: string;
|
||||
readonly id: string;
|
||||
readonly mimeType: string;
|
||||
readonly size: number;
|
||||
readonly state: EvidenceState;
|
||||
readonly type: EvidenceType;
|
||||
readonly url: string | null | undefined;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly state: TaskState;
|
||||
readonly timeEstimate: any | null | undefined;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureViewQuery = {
|
||||
response: MeasureViewQuery$data;
|
||||
variables: MeasureViewQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "measureId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "measureId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "name",
|
||||
"storageKey": null
|
||||
},
|
||||
v4 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
},
|
||||
v5 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "state",
|
||||
"storageKey": null
|
||||
},
|
||||
v6 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "category",
|
||||
"storageKey": null
|
||||
},
|
||||
v7 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "timeEstimate",
|
||||
"storageKey": null
|
||||
},
|
||||
v8 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "People",
|
||||
"kind": "LinkedField",
|
||||
"name": "assignedTo",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "fullName",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "primaryEmailAddress",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
v9 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "__typename",
|
||||
"storageKey": null
|
||||
},
|
||||
v10 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "cursor",
|
||||
"storageKey": null
|
||||
},
|
||||
v11 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "PageInfo",
|
||||
"kind": "LinkedField",
|
||||
"name": "pageInfo",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "endCursor",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "hasNextPage",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
v12 = {
|
||||
"kind": "ClientExtension",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "__id",
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
v13 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "EvidenceEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Evidence",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "mimeType",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "filename",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "size",
|
||||
"storageKey": null
|
||||
},
|
||||
(v5/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "type",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "url",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "createdAt",
|
||||
"storageKey": null
|
||||
},
|
||||
(v4/*: any*/),
|
||||
(v9/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v10/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v11/*: any*/),
|
||||
(v12/*: any*/)
|
||||
],
|
||||
v14 = [
|
||||
{
|
||||
"kind": "Literal",
|
||||
"name": "first",
|
||||
"value": 100
|
||||
}
|
||||
],
|
||||
v15 = [
|
||||
{
|
||||
"kind": "Literal",
|
||||
"name": "first",
|
||||
"value": 50
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
(v4/*: any*/),
|
||||
(v5/*: any*/),
|
||||
(v6/*: any*/),
|
||||
{
|
||||
"alias": "tasks",
|
||||
"args": null,
|
||||
"concreteType": "TaskConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MeasureView_tasks_connection",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "TaskEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Task",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
(v3/*: any*/),
|
||||
(v4/*: any*/),
|
||||
(v5/*: any*/),
|
||||
(v7/*: any*/),
|
||||
(v8/*: any*/),
|
||||
{
|
||||
"alias": "evidences",
|
||||
"args": null,
|
||||
"concreteType": "EvidenceConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MeasureView_evidences_connection",
|
||||
"plural": false,
|
||||
"selections": (v13/*: any*/),
|
||||
"storageKey": null
|
||||
},
|
||||
(v9/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v10/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v11/*: any*/),
|
||||
(v12/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Query",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v9/*: any*/),
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
(v4/*: any*/),
|
||||
(v5/*: any*/),
|
||||
(v6/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v14/*: any*/),
|
||||
"concreteType": "TaskConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "tasks",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "TaskEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Task",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
(v3/*: any*/),
|
||||
(v4/*: any*/),
|
||||
(v5/*: any*/),
|
||||
(v7/*: any*/),
|
||||
(v8/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v15/*: any*/),
|
||||
"concreteType": "EvidenceConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "evidences",
|
||||
"plural": false,
|
||||
"selections": (v13/*: any*/),
|
||||
"storageKey": "evidences(first:50)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v15/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "MeasureView_evidences",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "evidences"
|
||||
},
|
||||
(v9/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v10/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v11/*: any*/),
|
||||
(v12/*: any*/)
|
||||
],
|
||||
"storageKey": "tasks(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v14/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "MeasureView_tasks",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "tasks"
|
||||
}
|
||||
],
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "9c4b0f0032102448259ea5deb2b9d57a",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
{
|
||||
"count": null,
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": null
|
||||
},
|
||||
{
|
||||
"count": null,
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"measure",
|
||||
"tasks"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MeasureViewQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MeasureViewQuery(\n $measureId: ID!\n) {\n measure: node(id: $measureId) {\n __typename\n id\n ... on Measure {\n name\n description\n state\n category\n tasks(first: 100) {\n edges {\n node {\n id\n name\n description\n state\n timeEstimate\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n evidences(first: 50) {\n edges {\n node {\n id\n mimeType\n filename\n size\n state\n type\n url\n createdAt\n description\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "0de1c02cbaf76feae0ecdbd93f530fa7";
|
||||
|
||||
export default node;
|
||||
318
apps/console/src/pages/organizations/measures/__generated__/MeasureViewRisksQuery.graphql.ts
generated
Normal file
318
apps/console/src/pages/organizations/measures/__generated__/MeasureViewRisksQuery.graphql.ts
generated
Normal file
@@ -0,0 +1,318 @@
|
||||
/**
|
||||
* @generated SignedSource<<f1eccfbde625d131166d0fac7f4613aa>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MeasureViewRisksQuery$variables = {
|
||||
measureId: string;
|
||||
};
|
||||
export type MeasureViewRisksQuery$data = {
|
||||
readonly measure: {
|
||||
readonly id: string;
|
||||
readonly risks?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly createdAt: string;
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly inherentImpact: number;
|
||||
readonly inherentLikelihood: number;
|
||||
readonly inherentSeverity: number;
|
||||
readonly name: string;
|
||||
readonly residualImpact: number;
|
||||
readonly residualLikelihood: number;
|
||||
readonly residualSeverity: number;
|
||||
readonly updatedAt: string;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureViewRisksQuery = {
|
||||
response: MeasureViewRisksQuery$data;
|
||||
variables: MeasureViewRisksQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "measureId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "measureId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "__typename",
|
||||
"storageKey": null
|
||||
},
|
||||
v4 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "RiskEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Risk",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "name",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "inherentLikelihood",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "inherentImpact",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "inherentSeverity",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "residualLikelihood",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "residualImpact",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "residualSeverity",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "createdAt",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "updatedAt",
|
||||
"storageKey": null
|
||||
},
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "cursor",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "PageInfo",
|
||||
"kind": "LinkedField",
|
||||
"name": "pageInfo",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "endCursor",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "hasNextPage",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
v5 = [
|
||||
{
|
||||
"kind": "Literal",
|
||||
"name": "first",
|
||||
"value": 100
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewRisksQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "risks",
|
||||
"args": null,
|
||||
"concreteType": "RiskConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MeasureView_risks_connection",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Query",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewRisksQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
(v2/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v5/*: any*/),
|
||||
"concreteType": "RiskConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "risks",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": "risks(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v5/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "MeasureView_risks",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "risks"
|
||||
}
|
||||
],
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "e0a3387051cf8312a5ac831f1a9012df",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
{
|
||||
"count": null,
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"measure",
|
||||
"risks"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MeasureViewRisksQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MeasureViewRisksQuery(\n $measureId: ID!\n) {\n measure: node(id: $measureId) {\n __typename\n id\n ... on Measure {\n risks(first: 100) {\n edges {\n node {\n id\n name\n description\n inherentLikelihood\n inherentImpact\n inherentSeverity\n residualLikelihood\n residualImpact\n residualSeverity\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "22056b7f008dc87a4ad410bacac9a838";
|
||||
|
||||
export default node;
|
||||
137
apps/console/src/pages/organizations/measures/__generated__/MeasureViewUnassignTaskMutation.graphql.ts
generated
Normal file
137
apps/console/src/pages/organizations/measures/__generated__/MeasureViewUnassignTaskMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,137 @@
|
||||
/**
|
||||
* @generated SignedSource<<681f6e4cd3a8dc325d74472b475df8cf>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type UnassignTaskInput = {
|
||||
taskId: string;
|
||||
};
|
||||
export type MeasureViewUnassignTaskMutation$variables = {
|
||||
input: UnassignTaskInput;
|
||||
};
|
||||
export type MeasureViewUnassignTaskMutation$data = {
|
||||
readonly unassignTask: {
|
||||
readonly task: {
|
||||
readonly assignedTo: {
|
||||
readonly fullName: string;
|
||||
readonly id: string;
|
||||
readonly primaryEmailAddress: string;
|
||||
} | null | undefined;
|
||||
readonly id: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureViewUnassignTaskMutation = {
|
||||
response: MeasureViewUnassignTaskMutation$data;
|
||||
variables: MeasureViewUnassignTaskMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
}
|
||||
],
|
||||
v1 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "UnassignTaskPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "unassignTask",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Task",
|
||||
"kind": "LinkedField",
|
||||
"name": "task",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v1/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "People",
|
||||
"kind": "LinkedField",
|
||||
"name": "assignedTo",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v1/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "fullName",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "primaryEmailAddress",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewUnassignTaskMutation",
|
||||
"selections": (v2/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewUnassignTaskMutation",
|
||||
"selections": (v2/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "656f852f9ff5fa12a239a31652369278",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewUnassignTaskMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureViewUnassignTaskMutation(\n $input: UnassignTaskInput!\n) {\n unassignTask(input: $input) {\n task {\n id\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "66c29432bc00748955eb5793105ff03b";
|
||||
|
||||
export default node;
|
||||
@@ -0,0 +1,118 @@
|
||||
/**
|
||||
* @generated SignedSource<<5c3c644d4844322b34c5fbee967880a8>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type UpdateMeasureInput = {
|
||||
category?: string | null | undefined;
|
||||
description?: string | null | undefined;
|
||||
id: string;
|
||||
name?: string | null | undefined;
|
||||
state?: MeasureState | null | undefined;
|
||||
};
|
||||
export type MeasureViewUpdateMeasureStateMutation$variables = {
|
||||
input: UpdateMeasureInput;
|
||||
};
|
||||
export type MeasureViewUpdateMeasureStateMutation$data = {
|
||||
readonly updateMeasure: {
|
||||
readonly measure: {
|
||||
readonly id: string;
|
||||
readonly state: MeasureState;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureViewUpdateMeasureStateMutation = {
|
||||
response: MeasureViewUpdateMeasureStateMutation$data;
|
||||
variables: MeasureViewUpdateMeasureStateMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "UpdateMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "updateMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "measure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "state",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewUpdateMeasureStateMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewUpdateMeasureStateMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "0b67944fab3e9ae13f437aeee2b28c5b",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewUpdateMeasureStateMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureViewUpdateMeasureStateMutation(\n $input: UpdateMeasureInput!\n) {\n updateMeasure(input: $input) {\n measure {\n id\n state\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "d89e0bc25930592a1f723bbbdb3c43b8";
|
||||
|
||||
export default node;
|
||||
@@ -0,0 +1,126 @@
|
||||
/**
|
||||
* @generated SignedSource<<1595fa9771d6baa14534b181f4a1384a>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type TaskState = "DONE" | "TODO";
|
||||
export type UpdateTaskInput = {
|
||||
description?: string | null | undefined;
|
||||
name?: string | null | undefined;
|
||||
state?: TaskState | null | undefined;
|
||||
taskId: string;
|
||||
timeEstimate?: any | null | undefined;
|
||||
};
|
||||
export type MeasureViewUpdateTaskStateMutation$variables = {
|
||||
input: UpdateTaskInput;
|
||||
};
|
||||
export type MeasureViewUpdateTaskStateMutation$data = {
|
||||
readonly updateTask: {
|
||||
readonly task: {
|
||||
readonly id: string;
|
||||
readonly state: TaskState;
|
||||
readonly timeEstimate: any | null | undefined;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MeasureViewUpdateTaskStateMutation = {
|
||||
response: MeasureViewUpdateTaskStateMutation$data;
|
||||
variables: MeasureViewUpdateTaskStateMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "UpdateTaskPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "updateTask",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Task",
|
||||
"kind": "LinkedField",
|
||||
"name": "task",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "state",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "timeEstimate",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MeasureViewUpdateTaskStateMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MeasureViewUpdateTaskStateMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "f545a0b12edb8f231a1a7a7c38b6e905",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MeasureViewUpdateTaskStateMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MeasureViewUpdateTaskStateMutation(\n $input: UpdateTaskInput!\n) {\n updateTask(input: $input) {\n task {\n id\n state\n timeEstimate\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "e1d67c030523e56d6bcd595c27fcb3dc";
|
||||
|
||||
export default node;
|
||||
@@ -9,33 +9,33 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type ImportMesureInput = {
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type ImportMeasureInput = {
|
||||
file: any;
|
||||
organizationId: string;
|
||||
};
|
||||
export type MesureListViewImportMesureMutation$variables = {
|
||||
export type MeasureListViewImportMeasureMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: ImportMesureInput;
|
||||
input: ImportMeasureInput;
|
||||
};
|
||||
export type MesureListViewImportMesureMutation$data = {
|
||||
readonly importMesure: {
|
||||
readonly mesureEdges: ReadonlyArray<{
|
||||
export type MeasureListViewImportMeasureMutation$data = {
|
||||
readonly importMeasure: {
|
||||
readonly measureEdges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly category: string;
|
||||
readonly createdAt: string;
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly state: MesureState;
|
||||
readonly state: MeasureState;
|
||||
readonly updatedAt: string;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
};
|
||||
export type MesureListViewImportMesureMutation = {
|
||||
response: MesureListViewImportMesureMutation$data;
|
||||
variables: MesureListViewImportMesureMutation$variables;
|
||||
export type MeasureListViewImportMeasureMutation = {
|
||||
response: MeasureListViewImportMeasureMutation$data;
|
||||
variables: MeasureListViewImportMeasureMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -59,15 +59,15 @@ v2 = [
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MesureEdge",
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesureEdges",
|
||||
"name": "measureEdges",
|
||||
"plural": true,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
@@ -135,14 +135,14 @@ return {
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureListViewImportMesureMutation",
|
||||
"name": "MeasureListViewImportMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "ImportMesurePayload",
|
||||
"concreteType": "ImportMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "importMesure",
|
||||
"name": "importMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
@@ -160,14 +160,14 @@ return {
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MesureListViewImportMesureMutation",
|
||||
"name": "MeasureListViewImportMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "ImportMesurePayload",
|
||||
"concreteType": "ImportMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "importMesure",
|
||||
"name": "importMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
@@ -178,7 +178,7 @@ return {
|
||||
"handle": "appendEdge",
|
||||
"key": "",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "mesureEdges",
|
||||
"name": "measureEdges",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
@@ -196,9 +196,9 @@ return {
|
||||
"cacheID": "8cf2772dcac48b487c892d2b68a3bb51",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureListViewImportMesureMutation",
|
||||
"name": "MeasureListViewImportMeasureMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureListViewImportMesureMutation(\n $input: ImportMesureInput!\n) {\n importMesure(input: $input) {\n mesureEdges {\n node {\n id\n name\n description\n category\n state\n createdAt\n updatedAt\n }\n }\n }\n}\n"
|
||||
"text": "mutation MeasureListViewImportMeasureMutation(\n $input: ImportMeasureInput!\n) {\n importMeasure(input: $input) {\n measureEdges {\n node {\n id\n name\n description\n category\n state\n createdAt\n updatedAt\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,15 +9,15 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type MesureListViewQuery$variables = {
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type MeasureListViewQuery$variables = {
|
||||
first?: number | null | undefined;
|
||||
organizationId: string;
|
||||
};
|
||||
export type MesureListViewQuery$data = {
|
||||
export type MeasureListViewQuery$data = {
|
||||
readonly organization: {
|
||||
readonly id: string;
|
||||
readonly mesures?: {
|
||||
readonly measures?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly category: string;
|
||||
@@ -25,16 +25,16 @@ export type MesureListViewQuery$data = {
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly state: MesureState;
|
||||
readonly state: MeasureState;
|
||||
readonly updatedAt: string;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureListViewQuery = {
|
||||
response: MesureListViewQuery$data;
|
||||
variables: MesureListViewQuery$variables;
|
||||
export type MeasureListViewQuery = {
|
||||
response: MeasureListViewQuery$data;
|
||||
variables: MeasureListViewQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -73,7 +73,7 @@ v5 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MesureEdge",
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
@@ -81,7 +81,7 @@ v5 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
@@ -184,7 +184,7 @@ return {
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureListViewQuery",
|
||||
"name": "MeasureListViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
@@ -199,11 +199,11 @@ return {
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesures",
|
||||
"alias": "measures",
|
||||
"args": null,
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MesureListView_mesures_connection",
|
||||
"name": "__MeasureListView_measures_connection",
|
||||
"plural": false,
|
||||
"selections": (v5/*: any*/),
|
||||
"storageKey": null
|
||||
@@ -226,7 +226,7 @@ return {
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MesureListViewQuery",
|
||||
"name": "MeasureListViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
@@ -244,9 +244,9 @@ return {
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v6/*: any*/),
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesures",
|
||||
"name": "measures",
|
||||
"plural": false,
|
||||
"selections": (v5/*: any*/),
|
||||
"storageKey": null
|
||||
@@ -256,9 +256,9 @@ return {
|
||||
"args": (v6/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "MesureListView_mesures",
|
||||
"key": "MeasureListView_measures",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "mesures"
|
||||
"name": "measures"
|
||||
}
|
||||
],
|
||||
"type": "Organization",
|
||||
@@ -280,14 +280,14 @@ return {
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"organization",
|
||||
"mesures"
|
||||
"measures"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MesureListViewQuery",
|
||||
"name": "MeasureListViewQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MesureListViewQuery(\n $organizationId: ID!\n $first: Int\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n mesures(first: $first) {\n edges {\n node {\n id\n name\n description\n category\n state\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
"text": "query MeasureListViewQuery(\n $organizationId: ID!\n $first: Int\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n measures(first: $first) {\n edges {\n node {\n id\n name\n description\n category\n state\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -13,10 +13,10 @@ export type AssignTaskInput = {
|
||||
assignedToId: string;
|
||||
taskId: string;
|
||||
};
|
||||
export type MesureViewAssignTaskMutation$variables = {
|
||||
export type MeasureViewAssignTaskMutation$variables = {
|
||||
input: AssignTaskInput;
|
||||
};
|
||||
export type MesureViewAssignTaskMutation$data = {
|
||||
export type MeasureViewAssignTaskMutation$data = {
|
||||
readonly assignTask: {
|
||||
readonly task: {
|
||||
readonly assignedTo: {
|
||||
@@ -28,9 +28,9 @@ export type MesureViewAssignTaskMutation$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewAssignTaskMutation = {
|
||||
response: MesureViewAssignTaskMutation$data;
|
||||
variables: MesureViewAssignTaskMutation$variables;
|
||||
export type MeasureViewAssignTaskMutation = {
|
||||
response: MeasureViewAssignTaskMutation$data;
|
||||
variables: MeasureViewAssignTaskMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -110,7 +110,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewAssignTaskMutation",
|
||||
"name": "MeasureViewAssignTaskMutation",
|
||||
"selections": (v2/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -119,16 +119,16 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewAssignTaskMutation",
|
||||
"name": "MeasureViewAssignTaskMutation",
|
||||
"selections": (v2/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "6d3f95b9e223f40d7e333b951193abcc",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewAssignTaskMutation",
|
||||
"name": "MeasureViewAssignTaskMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewAssignTaskMutation(\n $input: AssignTaskInput!\n) {\n assignTask(input: $input) {\n task {\n id\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n }\n }\n}\n"
|
||||
"text": "mutation MeasureViewAssignTaskMutation(\n $input: AssignTaskInput!\n) {\n assignTask(input: $input) {\n task {\n id\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,21 +9,21 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type CreateControlMesureMappingInput = {
|
||||
export type CreateControlMeasureMappingInput = {
|
||||
controlId: string;
|
||||
mesureId: string;
|
||||
measureId: string;
|
||||
};
|
||||
export type MesureViewCreateControlMappingMutation$variables = {
|
||||
input: CreateControlMesureMappingInput;
|
||||
export type MeasureViewCreateControlMappingMutation$variables = {
|
||||
input: CreateControlMeasureMappingInput;
|
||||
};
|
||||
export type MesureViewCreateControlMappingMutation$data = {
|
||||
readonly createControlMesureMapping: {
|
||||
export type MeasureViewCreateControlMappingMutation$data = {
|
||||
readonly createControlMeasureMapping: {
|
||||
readonly success: boolean;
|
||||
};
|
||||
};
|
||||
export type MesureViewCreateControlMappingMutation = {
|
||||
response: MesureViewCreateControlMappingMutation$data;
|
||||
variables: MesureViewCreateControlMappingMutation$variables;
|
||||
export type MeasureViewCreateControlMappingMutation = {
|
||||
response: MeasureViewCreateControlMappingMutation$data;
|
||||
variables: MeasureViewCreateControlMappingMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -44,9 +44,9 @@ v1 = [
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "CreateControlMesureMappingPayload",
|
||||
"concreteType": "CreateControlMeasureMappingPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createControlMesureMapping",
|
||||
"name": "createControlMeasureMapping",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
@@ -65,7 +65,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewCreateControlMappingMutation",
|
||||
"name": "MeasureViewCreateControlMappingMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -74,16 +74,16 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewCreateControlMappingMutation",
|
||||
"name": "MeasureViewCreateControlMappingMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "78c1205d1a787ee2cc4e1173e3ef463f",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewCreateControlMappingMutation",
|
||||
"name": "MeasureViewCreateControlMappingMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewCreateControlMappingMutation(\n $input: CreateControlMesureMappingInput!\n) {\n createControlMesureMapping(input: $input) {\n success\n }\n}\n"
|
||||
"text": "mutation MeasureViewCreateControlMappingMutation(\n $input: CreateControlMeasureMappingInput!\n) {\n createControlMeasureMapping(input: $input) {\n success\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -19,11 +19,11 @@ export type CreateEvidenceInput = {
|
||||
type: EvidenceType;
|
||||
url?: string | null | undefined;
|
||||
};
|
||||
export type MesureViewCreateEvidenceMutation$variables = {
|
||||
export type MeasureViewCreateEvidenceMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: CreateEvidenceInput;
|
||||
};
|
||||
export type MesureViewCreateEvidenceMutation$data = {
|
||||
export type MeasureViewCreateEvidenceMutation$data = {
|
||||
readonly createEvidence: {
|
||||
readonly evidenceEdge: {
|
||||
readonly node: {
|
||||
@@ -41,9 +41,9 @@ export type MesureViewCreateEvidenceMutation$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewCreateEvidenceMutation = {
|
||||
response: MesureViewCreateEvidenceMutation$data;
|
||||
variables: MesureViewCreateEvidenceMutation$variables;
|
||||
export type MeasureViewCreateEvidenceMutation = {
|
||||
response: MeasureViewCreateEvidenceMutation$data;
|
||||
variables: MeasureViewCreateEvidenceMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -164,7 +164,7 @@ return {
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewCreateEvidenceMutation",
|
||||
"name": "MeasureViewCreateEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -189,7 +189,7 @@ return {
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewCreateEvidenceMutation",
|
||||
"name": "MeasureViewCreateEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -225,9 +225,9 @@ return {
|
||||
"cacheID": "550cd90cddee628ec42ebd53ac749af0",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewCreateEvidenceMutation",
|
||||
"name": "MeasureViewCreateEvidenceMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewCreateEvidenceMutation(\n $input: CreateEvidenceInput!\n) {\n createEvidence(input: $input) {\n evidenceEdge {\n node {\n id\n filename\n fileUrl\n mimeType\n type\n url\n size\n state\n createdAt\n description\n }\n }\n }\n}\n"
|
||||
"text": "mutation MeasureViewCreateEvidenceMutation(\n $input: CreateEvidenceInput!\n) {\n createEvidence(input: $input) {\n evidenceEdge {\n node {\n id\n filename\n fileUrl\n mimeType\n type\n url\n size\n state\n createdAt\n description\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -13,15 +13,15 @@ export type TaskState = "DONE" | "TODO";
|
||||
export type CreateTaskInput = {
|
||||
assignedToId?: string | null | undefined;
|
||||
description: string;
|
||||
mesureId: string;
|
||||
measureId: string;
|
||||
name: string;
|
||||
timeEstimate?: any | null | undefined;
|
||||
};
|
||||
export type MesureViewCreateTaskMutation$variables = {
|
||||
export type MeasureViewCreateTaskMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: CreateTaskInput;
|
||||
};
|
||||
export type MesureViewCreateTaskMutation$data = {
|
||||
export type MeasureViewCreateTaskMutation$data = {
|
||||
readonly createTask: {
|
||||
readonly taskEdge: {
|
||||
readonly node: {
|
||||
@@ -39,9 +39,9 @@ export type MesureViewCreateTaskMutation$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewCreateTaskMutation = {
|
||||
response: MesureViewCreateTaskMutation$data;
|
||||
variables: MesureViewCreateTaskMutation$variables;
|
||||
export type MeasureViewCreateTaskMutation = {
|
||||
response: MeasureViewCreateTaskMutation$data;
|
||||
variables: MeasureViewCreateTaskMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -154,7 +154,7 @@ return {
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewCreateTaskMutation",
|
||||
"name": "MeasureViewCreateTaskMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -179,7 +179,7 @@ return {
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewCreateTaskMutation",
|
||||
"name": "MeasureViewCreateTaskMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -215,9 +215,9 @@ return {
|
||||
"cacheID": "453cd7da016798ce86c012c9d1cf29f1",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewCreateTaskMutation",
|
||||
"name": "MeasureViewCreateTaskMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewCreateTaskMutation(\n $input: CreateTaskInput!\n) {\n createTask(input: $input) {\n taskEdge {\n node {\n id\n name\n description\n timeEstimate\n state\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n }\n }\n }\n}\n"
|
||||
"text": "mutation MeasureViewCreateTaskMutation(\n $input: CreateTaskInput!\n) {\n createTask(input: $input) {\n taskEdge {\n node {\n id\n name\n description\n timeEstimate\n state\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,21 +9,21 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type DeleteControlMesureMappingInput = {
|
||||
export type DeleteControlMeasureMappingInput = {
|
||||
controlId: string;
|
||||
mesureId: string;
|
||||
measureId: string;
|
||||
};
|
||||
export type MesureViewDeleteControlMappingMutation$variables = {
|
||||
input: DeleteControlMesureMappingInput;
|
||||
export type MeasureViewDeleteControlMappingMutation$variables = {
|
||||
input: DeleteControlMeasureMappingInput;
|
||||
};
|
||||
export type MesureViewDeleteControlMappingMutation$data = {
|
||||
readonly deleteControlMesureMapping: {
|
||||
export type MeasureViewDeleteControlMappingMutation$data = {
|
||||
readonly deleteControlMeasureMapping: {
|
||||
readonly success: boolean;
|
||||
};
|
||||
};
|
||||
export type MesureViewDeleteControlMappingMutation = {
|
||||
response: MesureViewDeleteControlMappingMutation$data;
|
||||
variables: MesureViewDeleteControlMappingMutation$variables;
|
||||
export type MeasureViewDeleteControlMappingMutation = {
|
||||
response: MeasureViewDeleteControlMappingMutation$data;
|
||||
variables: MeasureViewDeleteControlMappingMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -44,9 +44,9 @@ v1 = [
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "DeleteControlMesureMappingPayload",
|
||||
"concreteType": "DeleteControlMeasureMappingPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteControlMesureMapping",
|
||||
"name": "deleteControlMeasureMapping",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
@@ -65,7 +65,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewDeleteControlMappingMutation",
|
||||
"name": "MeasureViewDeleteControlMappingMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -74,16 +74,16 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewDeleteControlMappingMutation",
|
||||
"name": "MeasureViewDeleteControlMappingMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "5293df3ec3b7a9c5dab1ae7c41177186",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewDeleteControlMappingMutation",
|
||||
"name": "MeasureViewDeleteControlMappingMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewDeleteControlMappingMutation(\n $input: DeleteControlMesureMappingInput!\n) {\n deleteControlMesureMapping(input: $input) {\n success\n }\n}\n"
|
||||
"text": "mutation MeasureViewDeleteControlMappingMutation(\n $input: DeleteControlMeasureMappingInput!\n) {\n deleteControlMeasureMapping(input: $input) {\n success\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -12,18 +12,18 @@ import { ConcreteRequest } from 'relay-runtime';
|
||||
export type DeleteEvidenceInput = {
|
||||
evidenceId: string;
|
||||
};
|
||||
export type MesureViewDeleteEvidenceMutation$variables = {
|
||||
export type MeasureViewDeleteEvidenceMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: DeleteEvidenceInput;
|
||||
};
|
||||
export type MesureViewDeleteEvidenceMutation$data = {
|
||||
export type MeasureViewDeleteEvidenceMutation$data = {
|
||||
readonly deleteEvidence: {
|
||||
readonly deletedEvidenceId: string;
|
||||
};
|
||||
};
|
||||
export type MesureViewDeleteEvidenceMutation = {
|
||||
response: MesureViewDeleteEvidenceMutation$data;
|
||||
variables: MesureViewDeleteEvidenceMutation$variables;
|
||||
export type MeasureViewDeleteEvidenceMutation = {
|
||||
response: MeasureViewDeleteEvidenceMutation$data;
|
||||
variables: MeasureViewDeleteEvidenceMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -59,7 +59,7 @@ return {
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewDeleteEvidenceMutation",
|
||||
"name": "MeasureViewDeleteEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -84,7 +84,7 @@ return {
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewDeleteEvidenceMutation",
|
||||
"name": "MeasureViewDeleteEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -120,9 +120,9 @@ return {
|
||||
"cacheID": "26fbd71aca06943318c6154a0079d6d7",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewDeleteEvidenceMutation",
|
||||
"name": "MeasureViewDeleteEvidenceMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewDeleteEvidenceMutation(\n $input: DeleteEvidenceInput!\n) {\n deleteEvidence(input: $input) {\n deletedEvidenceId\n }\n}\n"
|
||||
"text": "mutation MeasureViewDeleteEvidenceMutation(\n $input: DeleteEvidenceInput!\n) {\n deleteEvidence(input: $input) {\n deletedEvidenceId\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,21 +9,21 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type DeleteMesureInput = {
|
||||
mesureId: string;
|
||||
export type DeleteMeasureInput = {
|
||||
measureId: string;
|
||||
};
|
||||
export type MesureViewDeleteMesureMutation$variables = {
|
||||
export type MeasureViewDeleteMeasureMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: DeleteMesureInput;
|
||||
input: DeleteMeasureInput;
|
||||
};
|
||||
export type MesureViewDeleteMesureMutation$data = {
|
||||
readonly deleteMesure: {
|
||||
readonly deletedMesureId: string;
|
||||
export type MeasureViewDeleteMeasureMutation$data = {
|
||||
readonly deleteMeasure: {
|
||||
readonly deletedMeasureId: string;
|
||||
};
|
||||
};
|
||||
export type MesureViewDeleteMesureMutation = {
|
||||
response: MesureViewDeleteMesureMutation$data;
|
||||
variables: MesureViewDeleteMesureMutation$variables;
|
||||
export type MeasureViewDeleteMeasureMutation = {
|
||||
response: MeasureViewDeleteMeasureMutation$data;
|
||||
variables: MeasureViewDeleteMeasureMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -48,7 +48,7 @@ v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "deletedMesureId",
|
||||
"name": "deletedMeasureId",
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
@@ -59,14 +59,14 @@ return {
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewDeleteMesureMutation",
|
||||
"name": "MeasureViewDeleteMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "DeleteMesurePayload",
|
||||
"concreteType": "DeleteMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteMesure",
|
||||
"name": "deleteMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
@@ -84,14 +84,14 @@ return {
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewDeleteMesureMutation",
|
||||
"name": "MeasureViewDeleteMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "DeleteMesurePayload",
|
||||
"concreteType": "DeleteMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteMesure",
|
||||
"name": "deleteMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
@@ -102,7 +102,7 @@ return {
|
||||
"handle": "deleteEdge",
|
||||
"key": "",
|
||||
"kind": "ScalarHandle",
|
||||
"name": "deletedMesureId",
|
||||
"name": "deletedMeasureId",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
@@ -120,9 +120,9 @@ return {
|
||||
"cacheID": "075b3e2d23906985e70fa5ccd3b623c7",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewDeleteMesureMutation",
|
||||
"name": "MeasureViewDeleteMeasureMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewDeleteMesureMutation(\n $input: DeleteMesureInput!\n) {\n deleteMesure(input: $input) {\n deletedMesureId\n }\n}\n"
|
||||
"text": "mutation MeasureViewDeleteMeasureMutation(\n $input: DeleteMeasureInput!\n) {\n deleteMeasure(input: $input) {\n deletedMeasureId\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -12,18 +12,18 @@ import { ConcreteRequest } from 'relay-runtime';
|
||||
export type DeleteTaskInput = {
|
||||
taskId: string;
|
||||
};
|
||||
export type MesureViewDeleteTaskMutation$variables = {
|
||||
export type MeasureViewDeleteTaskMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: DeleteTaskInput;
|
||||
};
|
||||
export type MesureViewDeleteTaskMutation$data = {
|
||||
export type MeasureViewDeleteTaskMutation$data = {
|
||||
readonly deleteTask: {
|
||||
readonly deletedTaskId: string;
|
||||
};
|
||||
};
|
||||
export type MesureViewDeleteTaskMutation = {
|
||||
response: MesureViewDeleteTaskMutation$data;
|
||||
variables: MesureViewDeleteTaskMutation$variables;
|
||||
export type MeasureViewDeleteTaskMutation = {
|
||||
response: MeasureViewDeleteTaskMutation$data;
|
||||
variables: MeasureViewDeleteTaskMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -59,7 +59,7 @@ return {
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewDeleteTaskMutation",
|
||||
"name": "MeasureViewDeleteTaskMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -84,7 +84,7 @@ return {
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewDeleteTaskMutation",
|
||||
"name": "MeasureViewDeleteTaskMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -120,9 +120,9 @@ return {
|
||||
"cacheID": "a5096acddc7796fbc89521cc80b5538e",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewDeleteTaskMutation",
|
||||
"name": "MeasureViewDeleteTaskMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewDeleteTaskMutation(\n $input: DeleteTaskInput!\n) {\n deleteTask(input: $input) {\n deletedTaskId\n }\n}\n"
|
||||
"text": "mutation MeasureViewDeleteTaskMutation(\n $input: DeleteTaskInput!\n) {\n deleteTask(input: $input) {\n deletedTaskId\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,10 +9,10 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureViewFrameworksQuery$variables = {
|
||||
export type MeasureViewFrameworksQuery$variables = {
|
||||
organizationId: string;
|
||||
};
|
||||
export type MesureViewFrameworksQuery$data = {
|
||||
export type MeasureViewFrameworksQuery$data = {
|
||||
readonly organization: {
|
||||
readonly frameworks?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
@@ -35,9 +35,9 @@ export type MesureViewFrameworksQuery$data = {
|
||||
readonly id: string;
|
||||
};
|
||||
};
|
||||
export type MesureViewFrameworksQuery = {
|
||||
response: MesureViewFrameworksQuery$data;
|
||||
variables: MesureViewFrameworksQuery$variables;
|
||||
export type MeasureViewFrameworksQuery = {
|
||||
response: MeasureViewFrameworksQuery$data;
|
||||
variables: MeasureViewFrameworksQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -163,7 +163,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewFrameworksQuery",
|
||||
"name": "MeasureViewFrameworksQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
@@ -240,7 +240,7 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewFrameworksQuery",
|
||||
"name": "MeasureViewFrameworksQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
@@ -352,9 +352,9 @@ return {
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MesureViewFrameworksQuery",
|
||||
"name": "MeasureViewFrameworksQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MesureViewFrameworksQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n frameworks(first: 100) {\n edges {\n node {\n id\n name\n controls(first: 100) {\n edges {\n node {\n id\n referenceId\n name\n description\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
"text": "query MeasureViewFrameworksQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n frameworks(first: 100) {\n edges {\n node {\n id\n name\n controls(first: 100) {\n edges {\n node {\n id\n referenceId\n name\n description\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -17,11 +17,11 @@ export type FulfillEvidenceInput = {
|
||||
name?: string | null | undefined;
|
||||
url?: string | null | undefined;
|
||||
};
|
||||
export type MesureViewFulfillEvidenceMutation$variables = {
|
||||
export type MeasureViewFulfillEvidenceMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: FulfillEvidenceInput;
|
||||
};
|
||||
export type MesureViewFulfillEvidenceMutation$data = {
|
||||
export type MeasureViewFulfillEvidenceMutation$data = {
|
||||
readonly fulfillEvidence: {
|
||||
readonly evidenceEdge: {
|
||||
readonly node: {
|
||||
@@ -39,9 +39,9 @@ export type MesureViewFulfillEvidenceMutation$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewFulfillEvidenceMutation = {
|
||||
response: MesureViewFulfillEvidenceMutation$data;
|
||||
variables: MesureViewFulfillEvidenceMutation$variables;
|
||||
export type MeasureViewFulfillEvidenceMutation = {
|
||||
response: MeasureViewFulfillEvidenceMutation$data;
|
||||
variables: MeasureViewFulfillEvidenceMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -162,7 +162,7 @@ return {
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewFulfillEvidenceMutation",
|
||||
"name": "MeasureViewFulfillEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -187,7 +187,7 @@ return {
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewFulfillEvidenceMutation",
|
||||
"name": "MeasureViewFulfillEvidenceMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -223,9 +223,9 @@ return {
|
||||
"cacheID": "605c054b1e501d03ded168635513d859",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewFulfillEvidenceMutation",
|
||||
"name": "MeasureViewFulfillEvidenceMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewFulfillEvidenceMutation(\n $input: FulfillEvidenceInput!\n) {\n fulfillEvidence(input: $input) {\n evidenceEdge {\n node {\n id\n filename\n fileUrl\n mimeType\n type\n url\n size\n state\n createdAt\n description\n }\n }\n }\n}\n"
|
||||
"text": "mutation MeasureViewFulfillEvidenceMutation(\n $input: FulfillEvidenceInput!\n) {\n fulfillEvidence(input: $input) {\n evidenceEdge {\n node {\n id\n filename\n fileUrl\n mimeType\n type\n url\n size\n state\n createdAt\n description\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,18 +9,18 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureViewGetEvidenceFileUrlQuery$variables = {
|
||||
export type MeasureViewGetEvidenceFileUrlQuery$variables = {
|
||||
evidenceId: string;
|
||||
};
|
||||
export type MesureViewGetEvidenceFileUrlQuery$data = {
|
||||
export type MeasureViewGetEvidenceFileUrlQuery$data = {
|
||||
readonly node: {
|
||||
readonly fileUrl?: string | null | undefined;
|
||||
readonly id?: string;
|
||||
};
|
||||
};
|
||||
export type MesureViewGetEvidenceFileUrlQuery = {
|
||||
response: MesureViewGetEvidenceFileUrlQuery$data;
|
||||
variables: MesureViewGetEvidenceFileUrlQuery$variables;
|
||||
export type MeasureViewGetEvidenceFileUrlQuery = {
|
||||
response: MeasureViewGetEvidenceFileUrlQuery$data;
|
||||
variables: MeasureViewGetEvidenceFileUrlQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -57,7 +57,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewGetEvidenceFileUrlQuery",
|
||||
"name": "MeasureViewGetEvidenceFileUrlQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -87,7 +87,7 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewGetEvidenceFileUrlQuery",
|
||||
"name": "MeasureViewGetEvidenceFileUrlQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
@@ -122,9 +122,9 @@ return {
|
||||
"cacheID": "05edf89cc90a90e1a96bd02f8448b629",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewGetEvidenceFileUrlQuery",
|
||||
"name": "MeasureViewGetEvidenceFileUrlQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MesureViewGetEvidenceFileUrlQuery(\n $evidenceId: ID!\n) {\n node(id: $evidenceId) {\n __typename\n ... on Evidence {\n id\n fileUrl\n }\n id\n }\n}\n"
|
||||
"text": "query MeasureViewGetEvidenceFileUrlQuery(\n $evidenceId: ID!\n) {\n node(id: $evidenceId) {\n __typename\n ... on Evidence {\n id\n fileUrl\n }\n id\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,11 +9,11 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureViewLinkedControlsQuery$variables = {
|
||||
mesureId: string;
|
||||
export type MeasureViewLinkedControlsQuery$variables = {
|
||||
measureId: string;
|
||||
};
|
||||
export type MesureViewLinkedControlsQuery$data = {
|
||||
readonly mesure: {
|
||||
export type MeasureViewLinkedControlsQuery$data = {
|
||||
readonly measure: {
|
||||
readonly controls?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
@@ -27,9 +27,9 @@ export type MesureViewLinkedControlsQuery$data = {
|
||||
readonly id: string;
|
||||
};
|
||||
};
|
||||
export type MesureViewLinkedControlsQuery = {
|
||||
response: MesureViewLinkedControlsQuery$data;
|
||||
variables: MesureViewLinkedControlsQuery$variables;
|
||||
export type MeasureViewLinkedControlsQuery = {
|
||||
response: MeasureViewLinkedControlsQuery$data;
|
||||
variables: MeasureViewLinkedControlsQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -37,14 +37,14 @@ var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "mesureId"
|
||||
"name": "measureId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "mesureId"
|
||||
"variableName": "measureId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
@@ -152,10 +152,10 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewLinkedControlsQuery",
|
||||
"name": "MeasureViewLinkedControlsQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesure",
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
@@ -171,13 +171,13 @@ return {
|
||||
"args": null,
|
||||
"concreteType": "ControlConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MesureView_controls_connection",
|
||||
"name": "__MeasureView_controls_connection",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mesure",
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
@@ -191,10 +191,10 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewLinkedControlsQuery",
|
||||
"name": "MeasureViewLinkedControlsQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesure",
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
@@ -221,12 +221,12 @@ return {
|
||||
"args": (v5/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "MesureView_controls",
|
||||
"key": "MeasureView_controls",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "controls"
|
||||
}
|
||||
],
|
||||
"type": "Mesure",
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
@@ -244,15 +244,15 @@ return {
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"mesure",
|
||||
"measure",
|
||||
"controls"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MesureViewLinkedControlsQuery",
|
||||
"name": "MeasureViewLinkedControlsQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MesureViewLinkedControlsQuery(\n $mesureId: ID!\n) {\n mesure: node(id: $mesureId) {\n __typename\n id\n ... on Mesure {\n controls(first: 100) {\n edges {\n node {\n id\n referenceId\n name\n description\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
"text": "query MeasureViewLinkedControlsQuery(\n $measureId: ID!\n) {\n measure: node(id: $measureId) {\n __typename\n id\n ... on Measure {\n controls(first: 100) {\n edges {\n node {\n id\n referenceId\n name\n description\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,10 +9,10 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureViewOrganizationQuery$variables = {
|
||||
export type MeasureViewOrganizationQuery$variables = {
|
||||
organizationId: string;
|
||||
};
|
||||
export type MesureViewOrganizationQuery$data = {
|
||||
export type MeasureViewOrganizationQuery$data = {
|
||||
readonly organization: {
|
||||
readonly id: string;
|
||||
readonly peoples?: {
|
||||
@@ -26,9 +26,9 @@ export type MesureViewOrganizationQuery$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewOrganizationQuery = {
|
||||
response: MesureViewOrganizationQuery$data;
|
||||
variables: MesureViewOrganizationQuery$variables;
|
||||
export type MeasureViewOrganizationQuery = {
|
||||
response: MeasureViewOrganizationQuery$data;
|
||||
variables: MeasureViewOrganizationQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -153,7 +153,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewOrganizationQuery",
|
||||
"name": "MeasureViewOrganizationQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
@@ -174,10 +174,10 @@ return {
|
||||
],
|
||||
"concreteType": "PeopleConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MesureView_peoples_connection",
|
||||
"name": "__MeasureView_peoples_connection",
|
||||
"plural": false,
|
||||
"selections": (v5/*: any*/),
|
||||
"storageKey": "__MesureView_peoples_connection(orderBy:{\"direction\":\"ASC\",\"field\":\"FULL_NAME\"})"
|
||||
"storageKey": "__MeasureView_peoples_connection(orderBy:{\"direction\":\"ASC\",\"field\":\"FULL_NAME\"})"
|
||||
}
|
||||
],
|
||||
"type": "Organization",
|
||||
@@ -194,7 +194,7 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewOrganizationQuery",
|
||||
"name": "MeasureViewOrganizationQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
@@ -226,7 +226,7 @@ return {
|
||||
"orderBy"
|
||||
],
|
||||
"handle": "connection",
|
||||
"key": "MesureView_peoples",
|
||||
"key": "MeasureView_peoples",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "peoples"
|
||||
}
|
||||
@@ -255,9 +255,9 @@ return {
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MesureViewOrganizationQuery",
|
||||
"name": "MeasureViewOrganizationQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MesureViewOrganizationQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n peoples(first: 100, orderBy: {direction: ASC, field: FULL_NAME}) {\n edges {\n node {\n id\n fullName\n primaryEmailAddress\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
"text": "query MeasureViewOrganizationQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n peoples(first: 100, orderBy: {direction: ASC, field: FULL_NAME}) {\n edges {\n node {\n id\n fullName\n primaryEmailAddress\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -11,18 +11,18 @@
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type EvidenceState = "FULFILLED" | "REQUESTED";
|
||||
export type EvidenceType = "FILE" | "LINK";
|
||||
export type MesureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type TaskState = "DONE" | "TODO";
|
||||
export type MesureViewQuery$variables = {
|
||||
mesureId: string;
|
||||
export type MeasureViewQuery$variables = {
|
||||
measureId: string;
|
||||
};
|
||||
export type MesureViewQuery$data = {
|
||||
readonly mesure: {
|
||||
export type MeasureViewQuery$data = {
|
||||
readonly measure: {
|
||||
readonly category?: string;
|
||||
readonly description?: string;
|
||||
readonly id: string;
|
||||
readonly name?: string;
|
||||
readonly state?: MesureState;
|
||||
readonly state?: MeasureState;
|
||||
readonly tasks?: {
|
||||
readonly __id: string;
|
||||
readonly edges: ReadonlyArray<{
|
||||
@@ -58,9 +58,9 @@ export type MesureViewQuery$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewQuery = {
|
||||
response: MesureViewQuery$data;
|
||||
variables: MesureViewQuery$variables;
|
||||
export type MeasureViewQuery = {
|
||||
response: MeasureViewQuery$data;
|
||||
variables: MeasureViewQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -68,14 +68,14 @@ var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "mesureId"
|
||||
"name": "measureId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "mesureId"
|
||||
"variableName": "measureId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
@@ -289,10 +289,10 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewQuery",
|
||||
"name": "MeasureViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesure",
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
@@ -312,7 +312,7 @@ return {
|
||||
"args": null,
|
||||
"concreteType": "TaskConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MesureView_tasks_connection",
|
||||
"name": "__MeasureView_tasks_connection",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
@@ -342,7 +342,7 @@ return {
|
||||
"args": null,
|
||||
"concreteType": "EvidenceConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MesureView_evidences_connection",
|
||||
"name": "__MeasureView_evidences_connection",
|
||||
"plural": false,
|
||||
"selections": (v13/*: any*/),
|
||||
"storageKey": null
|
||||
@@ -361,7 +361,7 @@ return {
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mesure",
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
@@ -375,10 +375,10 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewQuery",
|
||||
"name": "MeasureViewQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesure",
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
@@ -439,7 +439,7 @@ return {
|
||||
"args": (v15/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "MesureView_evidences",
|
||||
"key": "MeasureView_evidences",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "evidences"
|
||||
},
|
||||
@@ -461,12 +461,12 @@ return {
|
||||
"args": (v14/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "MesureView_tasks",
|
||||
"key": "MeasureView_tasks",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "tasks"
|
||||
}
|
||||
],
|
||||
"type": "Mesure",
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
@@ -490,15 +490,15 @@ return {
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"mesure",
|
||||
"measure",
|
||||
"tasks"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MesureViewQuery",
|
||||
"name": "MeasureViewQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MesureViewQuery(\n $mesureId: ID!\n) {\n mesure: node(id: $mesureId) {\n __typename\n id\n ... on Mesure {\n name\n description\n state\n category\n tasks(first: 100) {\n edges {\n node {\n id\n name\n description\n state\n timeEstimate\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n evidences(first: 50) {\n edges {\n node {\n id\n mimeType\n filename\n size\n state\n type\n url\n createdAt\n description\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
"text": "query MeasureViewQuery(\n $measureId: ID!\n) {\n measure: node(id: $measureId) {\n __typename\n id\n ... on Measure {\n name\n description\n state\n category\n tasks(first: 100) {\n edges {\n node {\n id\n name\n description\n state\n timeEstimate\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n evidences(first: 50) {\n edges {\n node {\n id\n mimeType\n filename\n size\n state\n type\n url\n createdAt\n description\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,11 +9,11 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureViewRisksQuery$variables = {
|
||||
mesureId: string;
|
||||
export type MeasureViewRisksQuery$variables = {
|
||||
measureId: string;
|
||||
};
|
||||
export type MesureViewRisksQuery$data = {
|
||||
readonly mesure: {
|
||||
export type MeasureViewRisksQuery$data = {
|
||||
readonly measure: {
|
||||
readonly id: string;
|
||||
readonly risks?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
@@ -34,9 +34,9 @@ export type MesureViewRisksQuery$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewRisksQuery = {
|
||||
response: MesureViewRisksQuery$data;
|
||||
variables: MesureViewRisksQuery$variables;
|
||||
export type MeasureViewRisksQuery = {
|
||||
response: MeasureViewRisksQuery$data;
|
||||
variables: MeasureViewRisksQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -44,14 +44,14 @@ var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "mesureId"
|
||||
"name": "measureId"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "mesureId"
|
||||
"variableName": "measureId"
|
||||
}
|
||||
],
|
||||
v2 = {
|
||||
@@ -208,10 +208,10 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewRisksQuery",
|
||||
"name": "MeasureViewRisksQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesure",
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
@@ -227,13 +227,13 @@ return {
|
||||
"args": null,
|
||||
"concreteType": "RiskConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__MesureView_risks_connection",
|
||||
"name": "__MeasureView_risks_connection",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mesure",
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
@@ -247,10 +247,10 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewRisksQuery",
|
||||
"name": "MeasureViewRisksQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesure",
|
||||
"alias": "measure",
|
||||
"args": (v1/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
@@ -277,12 +277,12 @@ return {
|
||||
"args": (v5/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "MesureView_risks",
|
||||
"key": "MeasureView_risks",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "risks"
|
||||
}
|
||||
],
|
||||
"type": "Mesure",
|
||||
"type": "Measure",
|
||||
"abstractKey": null
|
||||
}
|
||||
],
|
||||
@@ -300,15 +300,15 @@ return {
|
||||
"cursor": null,
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"mesure",
|
||||
"measure",
|
||||
"risks"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "MesureViewRisksQuery",
|
||||
"name": "MeasureViewRisksQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query MesureViewRisksQuery(\n $mesureId: ID!\n) {\n mesure: node(id: $mesureId) {\n __typename\n id\n ... on Mesure {\n risks(first: 100) {\n edges {\n node {\n id\n name\n description\n inherentLikelihood\n inherentImpact\n inherentSeverity\n residualLikelihood\n residualImpact\n residualSeverity\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
"text": "query MeasureViewRisksQuery(\n $measureId: ID!\n) {\n measure: node(id: $measureId) {\n __typename\n id\n ... on Measure {\n risks(first: 100) {\n edges {\n node {\n id\n name\n description\n inherentLikelihood\n inherentImpact\n inherentSeverity\n residualLikelihood\n residualImpact\n residualSeverity\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -12,10 +12,10 @@ import { ConcreteRequest } from 'relay-runtime';
|
||||
export type UnassignTaskInput = {
|
||||
taskId: string;
|
||||
};
|
||||
export type MesureViewUnassignTaskMutation$variables = {
|
||||
export type MeasureViewUnassignTaskMutation$variables = {
|
||||
input: UnassignTaskInput;
|
||||
};
|
||||
export type MesureViewUnassignTaskMutation$data = {
|
||||
export type MeasureViewUnassignTaskMutation$data = {
|
||||
readonly unassignTask: {
|
||||
readonly task: {
|
||||
readonly assignedTo: {
|
||||
@@ -27,9 +27,9 @@ export type MesureViewUnassignTaskMutation$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewUnassignTaskMutation = {
|
||||
response: MesureViewUnassignTaskMutation$data;
|
||||
variables: MesureViewUnassignTaskMutation$variables;
|
||||
export type MeasureViewUnassignTaskMutation = {
|
||||
response: MeasureViewUnassignTaskMutation$data;
|
||||
variables: MeasureViewUnassignTaskMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -109,7 +109,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewUnassignTaskMutation",
|
||||
"name": "MeasureViewUnassignTaskMutation",
|
||||
"selections": (v2/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -118,16 +118,16 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewUnassignTaskMutation",
|
||||
"name": "MeasureViewUnassignTaskMutation",
|
||||
"selections": (v2/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "3f91f027e7a8a935f306386469bbac21",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewUnassignTaskMutation",
|
||||
"name": "MeasureViewUnassignTaskMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewUnassignTaskMutation(\n $input: UnassignTaskInput!\n) {\n unassignTask(input: $input) {\n task {\n id\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n }\n }\n}\n"
|
||||
"text": "mutation MeasureViewUnassignTaskMutation(\n $input: UnassignTaskInput!\n) {\n unassignTask(input: $input) {\n task {\n id\n assignedTo {\n id\n fullName\n primaryEmailAddress\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -9,28 +9,28 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type UpdateMesureInput = {
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type UpdateMeasureInput = {
|
||||
category?: string | null | undefined;
|
||||
description?: string | null | undefined;
|
||||
id: string;
|
||||
name?: string | null | undefined;
|
||||
state?: MesureState | null | undefined;
|
||||
state?: MeasureState | null | undefined;
|
||||
};
|
||||
export type MesureViewUpdateMesureStateMutation$variables = {
|
||||
input: UpdateMesureInput;
|
||||
export type MeasureViewUpdateMeasureStateMutation$variables = {
|
||||
input: UpdateMeasureInput;
|
||||
};
|
||||
export type MesureViewUpdateMesureStateMutation$data = {
|
||||
readonly updateMesure: {
|
||||
readonly mesure: {
|
||||
export type MeasureViewUpdateMeasureStateMutation$data = {
|
||||
readonly updateMeasure: {
|
||||
readonly measure: {
|
||||
readonly id: string;
|
||||
readonly state: MesureState;
|
||||
readonly state: MeasureState;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewUpdateMesureStateMutation = {
|
||||
response: MesureViewUpdateMesureStateMutation$data;
|
||||
variables: MesureViewUpdateMesureStateMutation$variables;
|
||||
export type MeasureViewUpdateMeasureStateMutation = {
|
||||
response: MeasureViewUpdateMeasureStateMutation$data;
|
||||
variables: MeasureViewUpdateMeasureStateMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -51,17 +51,17 @@ v1 = [
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "UpdateMesurePayload",
|
||||
"concreteType": "UpdateMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "updateMesure",
|
||||
"name": "updateMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesure",
|
||||
"name": "measure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
@@ -90,7 +90,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewUpdateMesureStateMutation",
|
||||
"name": "MeasureViewUpdateMeasureStateMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -99,16 +99,16 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewUpdateMesureStateMutation",
|
||||
"name": "MeasureViewUpdateMeasureStateMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "59db8143f555230677a401f5bed6a6c3",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewUpdateMesureStateMutation",
|
||||
"name": "MeasureViewUpdateMeasureStateMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewUpdateMesureStateMutation(\n $input: UpdateMesureInput!\n) {\n updateMesure(input: $input) {\n mesure {\n id\n state\n }\n }\n}\n"
|
||||
"text": "mutation MeasureViewUpdateMeasureStateMutation(\n $input: UpdateMeasureInput!\n) {\n updateMeasure(input: $input) {\n measure {\n id\n state\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -17,10 +17,10 @@ export type UpdateTaskInput = {
|
||||
taskId: string;
|
||||
timeEstimate?: any | null | undefined;
|
||||
};
|
||||
export type MesureViewUpdateTaskStateMutation$variables = {
|
||||
export type MeasureViewUpdateTaskStateMutation$variables = {
|
||||
input: UpdateTaskInput;
|
||||
};
|
||||
export type MesureViewUpdateTaskStateMutation$data = {
|
||||
export type MeasureViewUpdateTaskStateMutation$data = {
|
||||
readonly updateTask: {
|
||||
readonly task: {
|
||||
readonly id: string;
|
||||
@@ -29,9 +29,9 @@ export type MesureViewUpdateTaskStateMutation$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewUpdateTaskStateMutation = {
|
||||
response: MesureViewUpdateTaskStateMutation$data;
|
||||
variables: MesureViewUpdateTaskStateMutation$variables;
|
||||
export type MeasureViewUpdateTaskStateMutation = {
|
||||
response: MeasureViewUpdateTaskStateMutation$data;
|
||||
variables: MeasureViewUpdateTaskStateMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -98,7 +98,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "MesureViewUpdateTaskStateMutation",
|
||||
"name": "MeasureViewUpdateTaskStateMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
@@ -107,16 +107,16 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "MesureViewUpdateTaskStateMutation",
|
||||
"name": "MeasureViewUpdateTaskStateMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "3af3e26a5c5be4c129b6d1706d3d1b59",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "MesureViewUpdateTaskStateMutation",
|
||||
"name": "MeasureViewUpdateTaskStateMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation MesureViewUpdateTaskStateMutation(\n $input: UpdateTaskInput!\n) {\n updateTask(input: $input) {\n task {\n id\n state\n timeEstimate\n }\n }\n}\n"
|
||||
"text": "mutation MeasureViewUpdateTaskStateMutation(\n $input: UpdateTaskInput!\n) {\n updateTask(input: $input) {\n task {\n id\n state\n timeEstimate\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -19,11 +19,11 @@ export type UploadEvidenceInput = {
|
||||
type: EvidenceType;
|
||||
url?: string | null | undefined;
|
||||
};
|
||||
export type MesureViewUploadEvidenceMutation$variables = {
|
||||
export type MeasureViewUploadEvidenceMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: UploadEvidenceInput;
|
||||
};
|
||||
export type MesureViewUploadEvidenceMutation$data = {
|
||||
export type MeasureViewUploadEvidenceMutation$data = {
|
||||
readonly uploadEvidence: {
|
||||
readonly evidenceEdge: {
|
||||
readonly node: {
|
||||
@@ -40,9 +40,9 @@ export type MesureViewUploadEvidenceMutation$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type MesureViewUploadEvidenceMutation = {
|
||||
response: MesureViewUploadEvidenceMutation$data;
|
||||
variables: MesureViewUploadEvidenceMutation$variables;
|
||||
export type MeasureViewUploadEvidenceMutation = {
|
||||
response: MeasureViewUploadEvidenceMutation$data;
|
||||
variables: MeasureViewUploadEvidenceMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function () {
|
||||
@@ -153,7 +153,7 @@ const node: ConcreteRequest = (function () {
|
||||
argumentDefinitions: [v0 /*: any*/, v1 /*: any*/],
|
||||
kind: "Fragment",
|
||||
metadata: null,
|
||||
name: "MesureViewUploadEvidenceMutation",
|
||||
name: "MeasureViewUploadEvidenceMutation",
|
||||
selections: [
|
||||
{
|
||||
alias: null,
|
||||
@@ -173,7 +173,7 @@ const node: ConcreteRequest = (function () {
|
||||
operation: {
|
||||
argumentDefinitions: [v1 /*: any*/, v0 /*: any*/],
|
||||
kind: "Operation",
|
||||
name: "MesureViewUploadEvidenceMutation",
|
||||
name: "MeasureViewUploadEvidenceMutation",
|
||||
selections: [
|
||||
{
|
||||
alias: null,
|
||||
@@ -209,9 +209,9 @@ const node: ConcreteRequest = (function () {
|
||||
cacheID: "30a6915055d3f6b63d96836b26f05a45",
|
||||
id: null,
|
||||
metadata: {},
|
||||
name: "MesureViewUploadEvidenceMutation",
|
||||
name: "MeasureViewUploadEvidenceMutation",
|
||||
operationKind: "mutation",
|
||||
text: "mutation MesureViewUploadEvidenceMutation(\n $input: UploadEvidenceInput!\n) {\n uploadEvidence(input: $input) {\n evidenceEdge {\n node {\n id\n filename\n fileUrl\n mimeType\n type\n url\n size\n state\n createdAt\n }\n }\n }\n}\n",
|
||||
text: "mutation MeasureViewUploadEvidenceMutation(\n $input: UploadEvidenceInput!\n) {\n uploadEvidence(input: $input) {\n evidenceEdge {\n node {\n id\n filename\n fileUrl\n mimeType\n type\n url\n size\n state\n createdAt\n }\n }\n }\n}\n",
|
||||
},
|
||||
};
|
||||
})();
|
||||
@@ -0,0 +1,177 @@
|
||||
/**
|
||||
* @generated SignedSource<<5e6355327f3097f4e2081c313e93143a>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type CreateMeasureInput = {
|
||||
category: string;
|
||||
description: string;
|
||||
name: string;
|
||||
organizationId: string;
|
||||
};
|
||||
export type NewMeasureViewCreateMeasureMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: CreateMeasureInput;
|
||||
};
|
||||
export type NewMeasureViewCreateMeasureMutation$data = {
|
||||
readonly createMeasure: {
|
||||
readonly measureEdge: {
|
||||
readonly node: {
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
export type NewMeasureViewCreateMeasureMutation = {
|
||||
response: NewMeasureViewCreateMeasureMutation$data;
|
||||
variables: NewMeasureViewCreateMeasureMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "connections"
|
||||
},
|
||||
v1 = {
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
},
|
||||
v2 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "measureEdge",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "name",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "description",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
};
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": [
|
||||
(v0/*: any*/),
|
||||
(v1/*: any*/)
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "NewMeasureViewCreateMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "CreateMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": [
|
||||
(v1/*: any*/),
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "NewMeasureViewCreateMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "CreateMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"filters": null,
|
||||
"handle": "prependEdge",
|
||||
"key": "",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "measureEdge",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "connections",
|
||||
"variableName": "connections"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "653394b4ee4a38ca9a1ab16847969464",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "NewMeasureViewCreateMeasureMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation NewMeasureViewCreateMeasureMutation(\n $input: CreateMeasureInput!\n) {\n createMeasure(input: $input) {\n measureEdge {\n node {\n id\n name\n description\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "e75d982c8f9d92fcea1aef2de7b2ad47";
|
||||
|
||||
export default node;
|
||||
@@ -9,19 +9,19 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type CreateMesureInput = {
|
||||
export type CreateMeasureInput = {
|
||||
category: string;
|
||||
description: string;
|
||||
name: string;
|
||||
organizationId: string;
|
||||
};
|
||||
export type NewMesureViewCreateMesureMutation$variables = {
|
||||
export type NewMeasureViewCreateMeasureMutation$variables = {
|
||||
connections: ReadonlyArray<string>;
|
||||
input: CreateMesureInput;
|
||||
input: CreateMeasureInput;
|
||||
};
|
||||
export type NewMesureViewCreateMesureMutation$data = {
|
||||
readonly createMesure: {
|
||||
readonly mesureEdge: {
|
||||
export type NewMeasureViewCreateMeasureMutation$data = {
|
||||
readonly createMeasure: {
|
||||
readonly measureEdge: {
|
||||
readonly node: {
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
@@ -30,9 +30,9 @@ export type NewMesureViewCreateMesureMutation$data = {
|
||||
};
|
||||
};
|
||||
};
|
||||
export type NewMesureViewCreateMesureMutation = {
|
||||
response: NewMesureViewCreateMesureMutation$data;
|
||||
variables: NewMesureViewCreateMesureMutation$variables;
|
||||
export type NewMeasureViewCreateMeasureMutation = {
|
||||
response: NewMeasureViewCreateMeasureMutation$data;
|
||||
variables: NewMeasureViewCreateMeasureMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -56,15 +56,15 @@ v2 = [
|
||||
v3 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MesureEdge",
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesureEdge",
|
||||
"name": "measureEdge",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
@@ -104,14 +104,14 @@ return {
|
||||
],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "NewMesureViewCreateMesureMutation",
|
||||
"name": "NewMeasureViewCreateMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "CreateMesurePayload",
|
||||
"concreteType": "CreateMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createMesure",
|
||||
"name": "createMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/)
|
||||
@@ -129,14 +129,14 @@ return {
|
||||
(v0/*: any*/)
|
||||
],
|
||||
"kind": "Operation",
|
||||
"name": "NewMesureViewCreateMesureMutation",
|
||||
"name": "NewMeasureViewCreateMeasureMutation",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v2/*: any*/),
|
||||
"concreteType": "CreateMesurePayload",
|
||||
"concreteType": "CreateMeasurePayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createMesure",
|
||||
"name": "createMeasure",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
@@ -147,7 +147,7 @@ return {
|
||||
"handle": "prependEdge",
|
||||
"key": "",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "mesureEdge",
|
||||
"name": "measureEdge",
|
||||
"handleArgs": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
@@ -165,9 +165,9 @@ return {
|
||||
"cacheID": "de8b930c9628c62ae4272bd427076ebd",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "NewMesureViewCreateMesureMutation",
|
||||
"name": "NewMeasureViewCreateMeasureMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation NewMesureViewCreateMesureMutation(\n $input: CreateMesureInput!\n) {\n createMesure(input: $input) {\n mesureEdge {\n node {\n id\n name\n description\n }\n }\n }\n}\n"
|
||||
"text": "mutation NewMeasureViewCreateMeasureMutation(\n $input: CreateMeasureInput!\n) {\n createMeasure(input: $input) {\n measureEdge {\n node {\n id\n name\n description\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
@@ -114,7 +114,7 @@ function NewPeopleViewContent() {
|
||||
),
|
||||
ConnectionHandler.getConnectionID(
|
||||
organizationId!,
|
||||
"MesureView_peoples",
|
||||
"MeasureView_peoples",
|
||||
{
|
||||
orderBy: {
|
||||
direction: "ASC",
|
||||
|
||||
@@ -16,7 +16,7 @@ export function PolicyListViewSkeleton() {
|
||||
<div className="bg-subtle-bg animate-pulse h-9 w-1/6 rounded-lg" />
|
||||
}
|
||||
>
|
||||
{/* Search and filter mesures skeleton */}
|
||||
{/* Search and filter measures skeleton */}
|
||||
<div className="flex flex-col md:flex-row gap-4 mb-6">
|
||||
<div className="flex-1 h-10 bg-subtle-bg animate-pulse rounded" />
|
||||
<div className="flex gap-2">
|
||||
|
||||
@@ -106,7 +106,7 @@ const listRiskViewFragment = graphql`
|
||||
id
|
||||
fullName
|
||||
}
|
||||
mesures(first: 1) {
|
||||
measures(first: 1) {
|
||||
edges {
|
||||
node {
|
||||
category
|
||||
@@ -240,7 +240,7 @@ type RiskNode = {
|
||||
readonly id: string;
|
||||
readonly fullName: string;
|
||||
} | null;
|
||||
readonly mesures: {
|
||||
readonly measures: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly category: string;
|
||||
|
||||
@@ -54,11 +54,11 @@ import {
|
||||
TableRow,
|
||||
} from "@/components/ui/table";
|
||||
import {
|
||||
ShowRiskViewOrganizationMesuresQuery,
|
||||
ShowRiskViewOrganizationMesuresQuery$data,
|
||||
} from "./__generated__/ShowRiskViewOrganizationMesuresQuery.graphql";
|
||||
import { ShowRiskViewCreateRiskMesureMappingMutation } from "./__generated__/ShowRiskViewCreateRiskMesureMappingMutation.graphql";
|
||||
import { ShowRiskViewDeleteRiskMesureMappingMutation } from "./__generated__/ShowRiskViewDeleteRiskMesureMappingMutation.graphql";
|
||||
ShowRiskViewOrganizationMeasuresQuery,
|
||||
ShowRiskViewOrganizationMeasuresQuery$data,
|
||||
} from "./__generated__/ShowRiskViewOrganizationMeasuresQuery.graphql";
|
||||
import { ShowRiskViewCreateRiskMeasureMappingMutation } from "./__generated__/ShowRiskViewCreateRiskMeasureMappingMutation.graphql";
|
||||
import { ShowRiskViewDeleteRiskMeasureMappingMutation } from "./__generated__/ShowRiskViewDeleteRiskMeasureMappingMutation.graphql";
|
||||
import {
|
||||
ShowRiskViewOrganizationPoliciesQuery,
|
||||
ShowRiskViewOrganizationPoliciesQuery$data,
|
||||
@@ -85,7 +85,7 @@ const showRiskViewQuery = graphql`
|
||||
note
|
||||
createdAt
|
||||
updatedAt
|
||||
mesures(first: 100) @connection(key: "Risk__mesures") {
|
||||
measures(first: 100) @connection(key: "Risk__measures") {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -122,13 +122,13 @@ const showRiskViewQuery = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
// Add query to fetch all mesures for the organization
|
||||
const organizationMesuresQuery = graphql`
|
||||
query ShowRiskViewOrganizationMesuresQuery($organizationId: ID!) {
|
||||
// Add query to fetch all measures for the organization
|
||||
const organizationMeasuresQuery = graphql`
|
||||
query ShowRiskViewOrganizationMeasuresQuery($organizationId: ID!) {
|
||||
organization: node(id: $organizationId) {
|
||||
id
|
||||
... on Organization {
|
||||
mesures(first: 100) @connection(key: "Organization__mesures") {
|
||||
measures(first: 100) @connection(key: "Organization__measures") {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -163,23 +163,23 @@ const organizationPoliciesQuery = graphql`
|
||||
}
|
||||
`;
|
||||
|
||||
// Add mutation to create risk-mesure mapping
|
||||
const createRiskMesureMappingMutation = graphql`
|
||||
mutation ShowRiskViewCreateRiskMesureMappingMutation(
|
||||
$input: CreateRiskMesureMappingInput!
|
||||
// Add mutation to create risk-measure mapping
|
||||
const createRiskMeasureMappingMutation = graphql`
|
||||
mutation ShowRiskViewCreateRiskMeasureMappingMutation(
|
||||
$input: CreateRiskMeasureMappingInput!
|
||||
) {
|
||||
createRiskMesureMapping(input: $input) {
|
||||
createRiskMeasureMapping(input: $input) {
|
||||
success
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
// Add mutation to delete risk-mesure mapping
|
||||
const deleteRiskMesureMappingMutation = graphql`
|
||||
mutation ShowRiskViewDeleteRiskMesureMappingMutation(
|
||||
$input: DeleteRiskMesureMappingInput!
|
||||
// Add mutation to delete risk-measure mapping
|
||||
const deleteRiskMeasureMappingMutation = graphql`
|
||||
mutation ShowRiskViewDeleteRiskMeasureMappingMutation(
|
||||
$input: DeleteRiskMeasureMappingInput!
|
||||
) {
|
||||
deleteRiskMesureMapping(input: $input) {
|
||||
deleteRiskMeasureMapping(input: $input) {
|
||||
success
|
||||
}
|
||||
}
|
||||
@@ -329,8 +329,8 @@ function ShowRiskViewContent({
|
||||
risk.inherentImpact!
|
||||
);
|
||||
|
||||
// Fix typing for mesures
|
||||
const mesures = risk.mesures?.edges?.map((edge) => edge.node) || [];
|
||||
// Fix typing for measures
|
||||
const measures = risk.measures?.edges?.map((edge) => edge.node) || [];
|
||||
const residualSeverity = getRiskSeverity(
|
||||
risk.residualLikelihood!,
|
||||
risk.residualImpact!
|
||||
@@ -342,17 +342,17 @@ function ShowRiskViewContent({
|
||||
// Fix typing for controls
|
||||
const controls = risk.controls?.edges?.map((edge) => edge.node) || [];
|
||||
|
||||
// Add state for mesure mapping dialog
|
||||
const [isMesureDialogOpen, setIsMesureDialogOpen] = useState(false);
|
||||
const [organizationMesuresData, setOrganizationMesuresData] =
|
||||
useState<ShowRiskViewOrganizationMesuresQuery$data | null>(null);
|
||||
const [mesureSearchQuery, setMesureSearchQuery] = useState("");
|
||||
// Add state for measure mapping dialog
|
||||
const [isMeasureDialogOpen, setIsMeasureDialogOpen] = useState(false);
|
||||
const [organizationMeasuresData, setOrganizationMeasuresData] =
|
||||
useState<ShowRiskViewOrganizationMeasuresQuery$data | null>(null);
|
||||
const [measureSearchQuery, setMeasureSearchQuery] = useState("");
|
||||
const [categoryFilter, setCategoryFilter] = useState<string | null>(null);
|
||||
const [isLoadingMesures, setIsLoadingMesures] = useState(false);
|
||||
const [linkingMesures, setLinkingMesures] = useState<Record<string, boolean>>(
|
||||
const [isLoadingMeasures, setIsLoadingMeasures] = useState(false);
|
||||
const [linkingMeasures, setLinkingMeasures] = useState<Record<string, boolean>>(
|
||||
{}
|
||||
);
|
||||
const [unlinkingMesures, setUnlinkingMesures] = useState<
|
||||
const [unlinkingMeasures, setUnlinkingMeasures] = useState<
|
||||
Record<string, boolean>
|
||||
>({});
|
||||
|
||||
@@ -370,13 +370,13 @@ function ShowRiskViewContent({
|
||||
>({});
|
||||
|
||||
// Setup mutation hooks
|
||||
const [createRiskMesureMapping] =
|
||||
useMutation<ShowRiskViewCreateRiskMesureMappingMutation>(
|
||||
createRiskMesureMappingMutation
|
||||
const [createRiskMeasureMapping] =
|
||||
useMutation<ShowRiskViewCreateRiskMeasureMappingMutation>(
|
||||
createRiskMeasureMappingMutation
|
||||
);
|
||||
const [deleteRiskMesureMapping] =
|
||||
useMutation<ShowRiskViewDeleteRiskMesureMappingMutation>(
|
||||
deleteRiskMesureMappingMutation
|
||||
const [deleteRiskMeasureMapping] =
|
||||
useMutation<ShowRiskViewDeleteRiskMeasureMappingMutation>(
|
||||
deleteRiskMeasureMappingMutation
|
||||
);
|
||||
|
||||
// Setup policy mutation hooks
|
||||
@@ -391,13 +391,13 @@ function ShowRiskViewContent({
|
||||
|
||||
// Clear filters when dialog closes
|
||||
useEffect(() => {
|
||||
if (!isMesureDialogOpen) {
|
||||
setMesureSearchQuery("");
|
||||
if (!isMeasureDialogOpen) {
|
||||
setMeasureSearchQuery("");
|
||||
setCategoryFilter(null);
|
||||
setLinkingMesures({});
|
||||
setUnlinkingMesures({});
|
||||
setLinkingMeasures({});
|
||||
setUnlinkingMeasures({});
|
||||
}
|
||||
}, [isMesureDialogOpen]);
|
||||
}, [isMeasureDialogOpen]);
|
||||
|
||||
// Clear filters when policy dialog closes
|
||||
useEffect(() => {
|
||||
@@ -408,30 +408,30 @@ function ShowRiskViewContent({
|
||||
}
|
||||
}, [isPolicyDialogOpen]);
|
||||
|
||||
// Load mesures data when needed
|
||||
const loadMesuresData = useCallback(() => {
|
||||
// Load measures data when needed
|
||||
const loadMeasuresData = useCallback(() => {
|
||||
if (!organizationId || !risk.id) return;
|
||||
|
||||
setIsLoadingMesures(true);
|
||||
setIsLoadingMeasures(true);
|
||||
|
||||
// Fetch all mesures for the organization
|
||||
fetchQuery<ShowRiskViewOrganizationMesuresQuery>(
|
||||
// Fetch all measures for the organization
|
||||
fetchQuery<ShowRiskViewOrganizationMeasuresQuery>(
|
||||
environment,
|
||||
organizationMesuresQuery,
|
||||
organizationMeasuresQuery,
|
||||
{
|
||||
organizationId,
|
||||
}
|
||||
).subscribe({
|
||||
next: (data) => {
|
||||
setOrganizationMesuresData(data);
|
||||
setIsLoadingMesures(false);
|
||||
setOrganizationMeasuresData(data);
|
||||
setIsLoadingMeasures(false);
|
||||
},
|
||||
error: (error: Error) => {
|
||||
console.error("Error fetching organization mesures:", error);
|
||||
setIsLoadingMesures(false);
|
||||
console.error("Error fetching organization measures:", error);
|
||||
setIsLoadingMeasures(false);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to load mesures.",
|
||||
description: "Failed to load measures.",
|
||||
variant: "destructive",
|
||||
});
|
||||
},
|
||||
@@ -469,49 +469,49 @@ function ShowRiskViewContent({
|
||||
}, [risk.id, environment, organizationId, toast]);
|
||||
|
||||
// Helper functions
|
||||
const getMesures = useCallback(() => {
|
||||
if (!organizationMesuresData?.organization?.mesures?.edges) return [];
|
||||
return organizationMesuresData.organization.mesures.edges.map(
|
||||
const getMeasures = useCallback(() => {
|
||||
if (!organizationMeasuresData?.organization?.measures?.edges) return [];
|
||||
return organizationMeasuresData.organization.measures.edges.map(
|
||||
(edge) => edge.node
|
||||
);
|
||||
}, [organizationMesuresData]);
|
||||
}, [organizationMeasuresData]);
|
||||
|
||||
const getMesureCategories = useCallback(() => {
|
||||
const mesures = getMesures();
|
||||
const getMeasureCategories = useCallback(() => {
|
||||
const measures = getMeasures();
|
||||
const categories = new Set<string>();
|
||||
|
||||
mesures.forEach((mesure) => {
|
||||
if (mesure.category) {
|
||||
categories.add(mesure.category);
|
||||
measures.forEach((measure) => {
|
||||
if (measure.category) {
|
||||
categories.add(measure.category);
|
||||
}
|
||||
});
|
||||
|
||||
return Array.from(categories).sort();
|
||||
}, [getMesures]);
|
||||
}, [getMeasures]);
|
||||
|
||||
const filteredMesures = useCallback(() => {
|
||||
const mesures = getMesures();
|
||||
if (!mesureSearchQuery && !categoryFilter) return mesures;
|
||||
const filteredMeasures = useCallback(() => {
|
||||
const measures = getMeasures();
|
||||
if (!measureSearchQuery && !categoryFilter) return measures;
|
||||
|
||||
return mesures.filter((mesure) => {
|
||||
return measures.filter((measure) => {
|
||||
// Filter by search query
|
||||
const matchesSearch =
|
||||
!mesureSearchQuery ||
|
||||
mesure.name.toLowerCase().includes(mesureSearchQuery.toLowerCase()) ||
|
||||
(mesure.description &&
|
||||
mesure.description
|
||||
!measureSearchQuery ||
|
||||
measure.name.toLowerCase().includes(measureSearchQuery.toLowerCase()) ||
|
||||
(measure.description &&
|
||||
measure.description
|
||||
.toLowerCase()
|
||||
.includes(mesureSearchQuery.toLowerCase()));
|
||||
.includes(measureSearchQuery.toLowerCase()));
|
||||
|
||||
// Filter by category
|
||||
const matchesCategory =
|
||||
!categoryFilter ||
|
||||
categoryFilter === "all" ||
|
||||
mesure.category === categoryFilter;
|
||||
measure.category === categoryFilter;
|
||||
|
||||
return matchesSearch && matchesCategory;
|
||||
});
|
||||
}, [getMesures, mesureSearchQuery, categoryFilter]);
|
||||
}, [getMeasures, measureSearchQuery, categoryFilter]);
|
||||
|
||||
// Helper functions for policies
|
||||
const getPolicies = useCallback(() => {
|
||||
@@ -533,38 +533,38 @@ function ShowRiskViewContent({
|
||||
});
|
||||
}, [getPolicies, policySearchQuery]);
|
||||
|
||||
// Handle linking a mesure to this risk
|
||||
const handleLinkMesure = useCallback(
|
||||
// Handle linking a measure to this risk
|
||||
const handleLinkMeasure = useCallback(
|
||||
(
|
||||
mesure: NonNullable<
|
||||
measure: NonNullable<
|
||||
NonNullable<
|
||||
ShowRiskViewOrganizationMesuresQuery$data["organization"]
|
||||
>["mesures"]
|
||||
ShowRiskViewOrganizationMeasuresQuery$data["organization"]
|
||||
>["measures"]
|
||||
>["edges"][0]["node"]
|
||||
) => {
|
||||
if (!risk.id) return;
|
||||
|
||||
// Track this specific mesure as linking
|
||||
setLinkingMesures((prev) => ({ ...prev, [mesure.id]: true }));
|
||||
// Track this specific measure as linking
|
||||
setLinkingMeasures((prev) => ({ ...prev, [measure.id]: true }));
|
||||
|
||||
createRiskMesureMapping({
|
||||
createRiskMeasureMapping({
|
||||
variables: {
|
||||
input: {
|
||||
riskId: risk.id,
|
||||
mesureId: mesure.id,
|
||||
measureId: measure.id,
|
||||
},
|
||||
},
|
||||
onCompleted: (_, errors) => {
|
||||
setLinkingMesures((prev) => ({
|
||||
setLinkingMeasures((prev) => ({
|
||||
...prev,
|
||||
[mesure.id]: false,
|
||||
[measure.id]: false,
|
||||
}));
|
||||
|
||||
if (errors && errors.length > 0) {
|
||||
console.error("Error linking mesure:", errors);
|
||||
console.error("Error linking measure:", errors);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to link mesure. Please try again.",
|
||||
description: "Failed to link measure. Please try again.",
|
||||
variant: "destructive",
|
||||
});
|
||||
return;
|
||||
@@ -585,58 +585,58 @@ function ShowRiskViewContent({
|
||||
|
||||
toast({
|
||||
title: "Success",
|
||||
description: `Linked mesure "${mesure.name}" to this risk.`,
|
||||
description: `Linked measure "${measure.name}" to this risk.`,
|
||||
});
|
||||
},
|
||||
onError: (error) => {
|
||||
setLinkingMesures((prev) => ({
|
||||
setLinkingMeasures((prev) => ({
|
||||
...prev,
|
||||
[mesure.id]: false,
|
||||
[measure.id]: false,
|
||||
}));
|
||||
console.error("Error linking mesure:", error);
|
||||
console.error("Error linking measure:", error);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to link mesure. Please try again.",
|
||||
description: "Failed to link measure. Please try again.",
|
||||
variant: "destructive",
|
||||
});
|
||||
},
|
||||
});
|
||||
},
|
||||
[risk.id, createRiskMesureMapping, toast, environment, loadQuery]
|
||||
[risk.id, createRiskMeasureMapping, toast, environment, loadQuery]
|
||||
);
|
||||
|
||||
// Handle unlinking a mesure from this risk
|
||||
const handleUnlinkMesure = useCallback(
|
||||
// Handle unlinking a measure from this risk
|
||||
const handleUnlinkMeasure = useCallback(
|
||||
(
|
||||
mesure: NonNullable<
|
||||
measure: NonNullable<
|
||||
NonNullable<
|
||||
ShowRiskViewOrganizationMesuresQuery$data["organization"]
|
||||
>["mesures"]
|
||||
ShowRiskViewOrganizationMeasuresQuery$data["organization"]
|
||||
>["measures"]
|
||||
>["edges"][0]["node"]
|
||||
) => {
|
||||
if (!risk.id) return;
|
||||
|
||||
// Track this specific mesure as unlinking
|
||||
setUnlinkingMesures((prev) => ({ ...prev, [mesure.id]: true }));
|
||||
// Track this specific measure as unlinking
|
||||
setUnlinkingMeasures((prev) => ({ ...prev, [measure.id]: true }));
|
||||
|
||||
deleteRiskMesureMapping({
|
||||
deleteRiskMeasureMapping({
|
||||
variables: {
|
||||
input: {
|
||||
riskId: risk.id,
|
||||
mesureId: mesure.id,
|
||||
measureId: measure.id,
|
||||
},
|
||||
},
|
||||
onCompleted: (_, errors) => {
|
||||
setUnlinkingMesures((prev) => ({
|
||||
setUnlinkingMeasures((prev) => ({
|
||||
...prev,
|
||||
[mesure.id]: false,
|
||||
[measure.id]: false,
|
||||
}));
|
||||
|
||||
if (errors && errors.length > 0) {
|
||||
console.error("Error unlinking mesure:", errors);
|
||||
console.error("Error unlinking measure:", errors);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to unlink mesure. Please try again.",
|
||||
description: "Failed to unlink measure. Please try again.",
|
||||
variant: "destructive",
|
||||
});
|
||||
return;
|
||||
@@ -657,24 +657,24 @@ function ShowRiskViewContent({
|
||||
|
||||
toast({
|
||||
title: "Success",
|
||||
description: `Unlinked mesure "${mesure.name}" from this risk.`,
|
||||
description: `Unlinked measure "${measure.name}" from this risk.`,
|
||||
});
|
||||
},
|
||||
onError: (error) => {
|
||||
setUnlinkingMesures((prev) => ({
|
||||
setUnlinkingMeasures((prev) => ({
|
||||
...prev,
|
||||
[mesure.id]: false,
|
||||
[measure.id]: false,
|
||||
}));
|
||||
console.error("Error unlinking mesure:", error);
|
||||
console.error("Error unlinking measure:", error);
|
||||
toast({
|
||||
title: "Error",
|
||||
description: "Failed to unlink mesure. Please try again.",
|
||||
description: "Failed to unlink measure. Please try again.",
|
||||
variant: "destructive",
|
||||
});
|
||||
},
|
||||
});
|
||||
},
|
||||
[risk.id, deleteRiskMesureMapping, toast, environment, loadQuery]
|
||||
[risk.id, deleteRiskMeasureMapping, toast, environment, loadQuery]
|
||||
);
|
||||
|
||||
// Handle linking a policy to this risk
|
||||
@@ -994,10 +994,10 @@ function ShowRiskViewContent({
|
||||
{risk.residualLikelihood! * risk.residualImpact!})
|
||||
</span>
|
||||
{risk.treatment === "MITIGATED" &&
|
||||
risk.mesures?.edges &&
|
||||
risk.mesures.edges.length > 0 &&
|
||||
` with ${risk.mesures.edges.length} ${
|
||||
risk.mesures.edges.length === 1
|
||||
risk.measures?.edges &&
|
||||
risk.measures.edges.length > 0 &&
|
||||
` with ${risk.measures.edges.length} ${
|
||||
risk.measures.edges.length === 1
|
||||
? "measure"
|
||||
: "measures"
|
||||
}`}
|
||||
@@ -1022,53 +1022,53 @@ function ShowRiskViewContent({
|
||||
</Card>
|
||||
)}
|
||||
|
||||
<Tabs defaultValue="mesures" className="w-full">
|
||||
<Tabs defaultValue="measures" className="w-full">
|
||||
<TabsList>
|
||||
<TabsTrigger value="mesures">Mesures</TabsTrigger>
|
||||
<TabsTrigger value="measures">Measures</TabsTrigger>
|
||||
<TabsTrigger value="policies">Policies</TabsTrigger>
|
||||
<TabsTrigger value="controls">Controls</TabsTrigger>
|
||||
</TabsList>
|
||||
|
||||
<TabsContent value="mesures" className="space-y-4">
|
||||
<TabsContent value="measures" className="space-y-4">
|
||||
<div className="flex justify-between items-center mb-4">
|
||||
<h2 className="text-xl font-semibold">Risk Mesures</h2>
|
||||
<h2 className="text-xl font-semibold">Risk Measures</h2>
|
||||
<Button
|
||||
onClick={() => {
|
||||
setIsMesureDialogOpen(true);
|
||||
loadMesuresData();
|
||||
setIsMeasureDialogOpen(true);
|
||||
loadMeasuresData();
|
||||
}}
|
||||
>
|
||||
<Plus className="mr-2 h-4 w-4" />
|
||||
Link Mesure
|
||||
Link Measure
|
||||
</Button>
|
||||
</div>
|
||||
{risk.mesures?.edges && risk.mesures.edges.length > 0 ? (
|
||||
{risk.measures?.edges && risk.measures.edges.length > 0 ? (
|
||||
<div className="rounded-md border">
|
||||
<Table>
|
||||
<TableHeader>
|
||||
<TableRow>
|
||||
<TableHead className="w-full">Mesure</TableHead>
|
||||
<TableHead className="w-full">Measure</TableHead>
|
||||
<TableHead className="w-20">Actions</TableHead>
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
{risk.mesures?.edges.map(({ node: mesure }) => (
|
||||
<TableRow key={mesure.id}>
|
||||
{risk.measures?.edges.map(({ node: measure }) => (
|
||||
<TableRow key={measure.id}>
|
||||
<TableCell>
|
||||
<Link
|
||||
to={`/organizations/${organizationId}/mesures/${mesure.id}`}
|
||||
to={`/organizations/${organizationId}/measures/${measure.id}`}
|
||||
className="font-medium text-blue-600 hover:underline"
|
||||
>
|
||||
{mesure.name}
|
||||
{measure.name}
|
||||
</Link>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="icon"
|
||||
onClick={() => handleUnlinkMesure(mesure)}
|
||||
disabled={unlinkingMesures[mesure.id] || false}
|
||||
title="Unlink mesure"
|
||||
onClick={() => handleUnlinkMeasure(measure)}
|
||||
disabled={unlinkingMeasures[measure.id] || false}
|
||||
title="Unlink measure"
|
||||
>
|
||||
<Trash2 className="h-4 w-4 text-danger" />
|
||||
</Button>
|
||||
@@ -1080,7 +1080,7 @@ function ShowRiskViewContent({
|
||||
</div>
|
||||
) : (
|
||||
<div className="text-center py-10 text-secondary">
|
||||
<p>No mesures associated with this risk.</p>
|
||||
<p>No measures associated with this risk.</p>
|
||||
</div>
|
||||
)}
|
||||
</TabsContent>
|
||||
@@ -1189,15 +1189,15 @@ function ShowRiskViewContent({
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
|
||||
{/* Dialog for linking mesures */}
|
||||
<Dialog open={isMesureDialogOpen} onOpenChange={setIsMesureDialogOpen}>
|
||||
{/* Dialog for linking measures */}
|
||||
<Dialog open={isMeasureDialogOpen} onOpenChange={setIsMeasureDialogOpen}>
|
||||
<DialogContent className="max-w-3xl">
|
||||
<DialogHeader>
|
||||
<div className="flex justify-between items-center">
|
||||
<div>
|
||||
<DialogTitle>Manage Risk Mesures</DialogTitle>
|
||||
<DialogTitle>Manage Risk Measures</DialogTitle>
|
||||
<DialogDescription>
|
||||
Link or unlink mesures to manage this risk.
|
||||
Link or unlink measures to manage this risk.
|
||||
</DialogDescription>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1209,10 +1209,10 @@ function ShowRiskViewContent({
|
||||
<div className="relative">
|
||||
<Search className="absolute left-2 top-2.5 h-4 w-4 text-tertiary" />
|
||||
<Input
|
||||
placeholder="Search mesures..."
|
||||
placeholder="Search measures..."
|
||||
className="pl-8"
|
||||
value={mesureSearchQuery}
|
||||
onChange={(e) => setMesureSearchQuery(e.target.value)}
|
||||
value={measureSearchQuery}
|
||||
onChange={(e) => setMeasureSearchQuery(e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1227,7 +1227,7 @@ function ShowRiskViewContent({
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="all">All Categories</SelectItem>
|
||||
{getMesureCategories().map((category) => (
|
||||
{getMeasureCategories().map((category) => (
|
||||
<SelectItem key={category} value={category}>
|
||||
{category}
|
||||
</SelectItem>
|
||||
@@ -1237,35 +1237,35 @@ function ShowRiskViewContent({
|
||||
</div>
|
||||
|
||||
<div className="border rounded-md max-h-96 overflow-y-auto">
|
||||
{isLoadingMesures ? (
|
||||
<div className="p-4 text-center">Loading mesures...</div>
|
||||
) : filteredMesures().length === 0 ? (
|
||||
<div className="p-4 text-center">No mesures found.</div>
|
||||
{isLoadingMeasures ? (
|
||||
<div className="p-4 text-center">Loading measures...</div>
|
||||
) : filteredMeasures().length === 0 ? (
|
||||
<div className="p-4 text-center">No measures found.</div>
|
||||
) : (
|
||||
<div className="divide-y">
|
||||
{filteredMesures().map((mesure) => {
|
||||
{filteredMeasures().map((measure) => {
|
||||
// For each render, recalculate linked status directly against the current risk data
|
||||
const isLinked = risk.mesures?.edges?.some(
|
||||
(edge) => edge.node.id === mesure.id
|
||||
const isLinked = risk.measures?.edges?.some(
|
||||
(edge) => edge.node.id === measure.id
|
||||
);
|
||||
const isLinking = linkingMesures[mesure.id] || false;
|
||||
const isUnlinking = unlinkingMesures[mesure.id] || false;
|
||||
const isLinking = linkingMeasures[measure.id] || false;
|
||||
const isUnlinking = unlinkingMeasures[measure.id] || false;
|
||||
|
||||
return (
|
||||
<div
|
||||
key={mesure.id}
|
||||
key={measure.id}
|
||||
className="relative p-4 hover:bg-blue-50 transition-colors duration-150"
|
||||
>
|
||||
<div className="flex justify-between items-center">
|
||||
<div className="flex items-center gap-2">
|
||||
<h3 className="font-medium">{mesure.name}</h3>
|
||||
{mesure.category && (
|
||||
<h3 className="font-medium">{measure.name}</h3>
|
||||
{measure.category && (
|
||||
<Badge
|
||||
variant="outline"
|
||||
className="text-xs font-normal"
|
||||
>
|
||||
<Tag className="h-3 w-3 mr-1" />
|
||||
{mesure.category}
|
||||
{measure.category}
|
||||
</Badge>
|
||||
)}
|
||||
</div>
|
||||
@@ -1274,7 +1274,7 @@ function ShowRiskViewContent({
|
||||
size="sm"
|
||||
variant="outline"
|
||||
disabled={isUnlinking}
|
||||
onClick={() => handleUnlinkMesure(mesure)}
|
||||
onClick={() => handleUnlinkMeasure(measure)}
|
||||
className="text-red-600 border-red-200 hover:bg-red-50"
|
||||
>
|
||||
{isUnlinking ? "Unlinking..." : "Unlink"}
|
||||
@@ -1283,7 +1283,7 @@ function ShowRiskViewContent({
|
||||
<Button
|
||||
size="sm"
|
||||
disabled={isLinking}
|
||||
onClick={() => handleLinkMesure(mesure)}
|
||||
onClick={() => handleLinkMeasure(measure)}
|
||||
>
|
||||
{isLinking ? "Linking..." : "Link"}
|
||||
</Button>
|
||||
@@ -1300,7 +1300,7 @@ function ShowRiskViewContent({
|
||||
<DialogFooter>
|
||||
<Button
|
||||
variant="outline"
|
||||
onClick={() => setIsMesureDialogOpen(false)}
|
||||
onClick={() => setIsMeasureDialogOpen(false)}
|
||||
>
|
||||
Close
|
||||
</Button>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<f0234c8da839e9d7babc696edb1171aa>>
|
||||
* @generated SignedSource<<42dea43217da18c2c1c44893753af2a0>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -278,15 +278,15 @@ return {
|
||||
"value": 1
|
||||
}
|
||||
],
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesures",
|
||||
"name": "measures",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MesureEdge",
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
@@ -294,7 +294,7 @@ return {
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
@@ -308,7 +308,7 @@ return {
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": "mesures(first:1)"
|
||||
"storageKey": "measures(first:1)"
|
||||
},
|
||||
(v7/*: any*/)
|
||||
],
|
||||
@@ -397,16 +397,16 @@ return {
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "398efd65ce3f24d13b357e8cf32c4f6e",
|
||||
"cacheID": "2d35bb699b87877054e407eccb1c398b",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "ListRiskViewPaginationQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query ListRiskViewPaginationQuery(\n $after: CursorKey\n $before: CursorKey\n $first: Int\n $last: Int\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ListRiskView_risks_pbnwq\n id\n }\n}\n\nfragment ListRiskView_risks_pbnwq on Organization {\n risks(first: $first, after: $after, last: $last, before: $before) {\n edges {\n node {\n id\n name\n inherentLikelihood\n inherentImpact\n residualLikelihood\n residualImpact\n treatment\n description\n category\n createdAt\n updatedAt\n owner {\n id\n fullName\n }\n mesures(first: 1) {\n edges {\n node {\n category\n id\n }\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n id\n}\n"
|
||||
"text": "query ListRiskViewPaginationQuery(\n $after: CursorKey\n $before: CursorKey\n $first: Int\n $last: Int\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ListRiskView_risks_pbnwq\n id\n }\n}\n\nfragment ListRiskView_risks_pbnwq on Organization {\n risks(first: $first, after: $after, last: $last, before: $before) {\n edges {\n node {\n id\n name\n inherentLikelihood\n inherentImpact\n residualLikelihood\n residualImpact\n treatment\n description\n category\n createdAt\n updatedAt\n owner {\n id\n fullName\n }\n measures(first: 1) {\n edges {\n node {\n category\n id\n }\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n id\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "3fc46af4f252617f4547c988184bb168";
|
||||
(node as any).hash = "064cf25e6278fd29f1e474d9a65c6d18";
|
||||
|
||||
export default node;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<d4fc01f5c38bce1054b2198af7e021f2>>
|
||||
* @generated SignedSource<<c0daa0e600804b3750294c11acacec17>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -280,15 +280,15 @@ return {
|
||||
"value": 1
|
||||
}
|
||||
],
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesures",
|
||||
"name": "measures",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MesureEdge",
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
@@ -296,7 +296,7 @@ return {
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
@@ -310,7 +310,7 @@ return {
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": "mesures(first:1)"
|
||||
"storageKey": "measures(first:1)"
|
||||
},
|
||||
(v8/*: any*/)
|
||||
],
|
||||
@@ -399,12 +399,12 @@ return {
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "519139d7f492b8d719abf1b0e788853a",
|
||||
"cacheID": "3e7d8e722a266ae4e1892ad472d29e69",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "ListRiskViewQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query ListRiskViewQuery(\n $organizationId: ID!\n $first: Int\n $after: CursorKey\n $last: Int\n $before: CursorKey\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ...ListRiskView_risks_pbnwq\n }\n}\n\nfragment ListRiskView_risks_pbnwq on Organization {\n risks(first: $first, after: $after, last: $last, before: $before) {\n edges {\n node {\n id\n name\n inherentLikelihood\n inherentImpact\n residualLikelihood\n residualImpact\n treatment\n description\n category\n createdAt\n updatedAt\n owner {\n id\n fullName\n }\n mesures(first: 1) {\n edges {\n node {\n category\n id\n }\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n id\n}\n"
|
||||
"text": "query ListRiskViewQuery(\n $organizationId: ID!\n $first: Int\n $after: CursorKey\n $last: Int\n $before: CursorKey\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ...ListRiskView_risks_pbnwq\n }\n}\n\nfragment ListRiskView_risks_pbnwq on Organization {\n risks(first: $first, after: $after, last: $last, before: $before) {\n edges {\n node {\n id\n name\n inherentLikelihood\n inherentImpact\n residualLikelihood\n residualImpact\n treatment\n description\n category\n createdAt\n updatedAt\n owner {\n id\n fullName\n }\n measures(first: 1) {\n edges {\n node {\n category\n id\n }\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n id\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<1dd4443afe99bdd114d082b0d175776d>>
|
||||
* @generated SignedSource<<ff2ba5959c29398eb8e36b013c459b6b>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -23,7 +23,7 @@ export type ListRiskView_risks$data = {
|
||||
readonly id: string;
|
||||
readonly inherentImpact: number;
|
||||
readonly inherentLikelihood: number;
|
||||
readonly mesures: {
|
||||
readonly measures: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly category: string;
|
||||
@@ -247,15 +247,15 @@ return {
|
||||
"value": 1
|
||||
}
|
||||
],
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesures",
|
||||
"name": "measures",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MesureEdge",
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
@@ -263,7 +263,7 @@ return {
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
@@ -276,7 +276,7 @@ return {
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": "mesures(first:1)"
|
||||
"storageKey": "measures(first:1)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
@@ -359,6 +359,6 @@ return {
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "3fc46af4f252617f4547c988184bb168";
|
||||
(node as any).hash = "064cf25e6278fd29f1e474d9a65c6d18";
|
||||
|
||||
export default node;
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
/**
|
||||
* @generated SignedSource<<ac6b4af30ca3e03181512667a7ee6d76>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type CreateRiskMeasureMappingInput = {
|
||||
measureId: string;
|
||||
riskId: string;
|
||||
};
|
||||
export type ShowRiskViewCreateRiskMeasureMappingMutation$variables = {
|
||||
input: CreateRiskMeasureMappingInput;
|
||||
};
|
||||
export type ShowRiskViewCreateRiskMeasureMappingMutation$data = {
|
||||
readonly createRiskMeasureMapping: {
|
||||
readonly success: boolean;
|
||||
};
|
||||
};
|
||||
export type ShowRiskViewCreateRiskMeasureMappingMutation = {
|
||||
response: ShowRiskViewCreateRiskMeasureMappingMutation$data;
|
||||
variables: ShowRiskViewCreateRiskMeasureMappingMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "CreateRiskMeasureMappingPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "createRiskMeasureMapping",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "success",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "ShowRiskViewCreateRiskMeasureMappingMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "ShowRiskViewCreateRiskMeasureMappingMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "f9e85548eb6e6aeb601fc36f92803ab6",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "ShowRiskViewCreateRiskMeasureMappingMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation ShowRiskViewCreateRiskMeasureMappingMutation(\n $input: CreateRiskMeasureMappingInput!\n) {\n createRiskMeasureMapping(input: $input) {\n success\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "6246bbb8af3e7c1a2e968eb5482c91ce";
|
||||
|
||||
export default node;
|
||||
@@ -0,0 +1,93 @@
|
||||
/**
|
||||
* @generated SignedSource<<2cf110e09c6e34e64c013c6fc260e918>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type DeleteRiskMeasureMappingInput = {
|
||||
measureId: string;
|
||||
riskId: string;
|
||||
};
|
||||
export type ShowRiskViewDeleteRiskMeasureMappingMutation$variables = {
|
||||
input: DeleteRiskMeasureMappingInput;
|
||||
};
|
||||
export type ShowRiskViewDeleteRiskMeasureMappingMutation$data = {
|
||||
readonly deleteRiskMeasureMapping: {
|
||||
readonly success: boolean;
|
||||
};
|
||||
};
|
||||
export type ShowRiskViewDeleteRiskMeasureMappingMutation = {
|
||||
response: ShowRiskViewDeleteRiskMeasureMappingMutation$data;
|
||||
variables: ShowRiskViewDeleteRiskMeasureMappingMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "DeleteRiskMeasureMappingPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "deleteRiskMeasureMapping",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "success",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "ShowRiskViewDeleteRiskMeasureMappingMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "ShowRiskViewDeleteRiskMeasureMappingMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "76adf5d3867e6179bb11daeda4de9fc5",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "ShowRiskViewDeleteRiskMeasureMappingMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation ShowRiskViewDeleteRiskMeasureMappingMutation(\n $input: DeleteRiskMeasureMappingInput!\n) {\n deleteRiskMeasureMapping(input: $input) {\n success\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "c51d0282a2d54bab88d56d9f2fdc9e49";
|
||||
|
||||
export default node;
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<1fdd1781c11f4c88aeb14ba52fc3e884>>
|
||||
* @generated SignedSource<<55b3897717ff85153a57b02526644ab8>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,29 +9,29 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type ShowRiskViewOrganizationMesuresQuery$variables = {
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type ShowRiskViewOrganizationMeasuresQuery$variables = {
|
||||
organizationId: string;
|
||||
};
|
||||
export type ShowRiskViewOrganizationMesuresQuery$data = {
|
||||
export type ShowRiskViewOrganizationMeasuresQuery$data = {
|
||||
readonly organization: {
|
||||
readonly id: string;
|
||||
readonly mesures?: {
|
||||
readonly measures?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly category: string;
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly state: MesureState;
|
||||
readonly state: MeasureState;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type ShowRiskViewOrganizationMesuresQuery = {
|
||||
response: ShowRiskViewOrganizationMesuresQuery$data;
|
||||
variables: ShowRiskViewOrganizationMesuresQuery$variables;
|
||||
export type ShowRiskViewOrganizationMeasuresQuery = {
|
||||
response: ShowRiskViewOrganizationMeasuresQuery$data;
|
||||
variables: ShowRiskViewOrganizationMeasuresQuery$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
@@ -67,7 +67,7 @@ v4 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MesureEdge",
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
@@ -75,7 +75,7 @@ v4 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
@@ -161,7 +161,7 @@ return {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "ShowRiskViewOrganizationMesuresQuery",
|
||||
"name": "ShowRiskViewOrganizationMeasuresQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
@@ -176,11 +176,11 @@ return {
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "mesures",
|
||||
"alias": "measures",
|
||||
"args": null,
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__Organization__mesures_connection",
|
||||
"name": "__Organization__measures_connection",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": null
|
||||
@@ -200,7 +200,7 @@ return {
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "ShowRiskViewOrganizationMesuresQuery",
|
||||
"name": "ShowRiskViewOrganizationMeasuresQuery",
|
||||
"selections": [
|
||||
{
|
||||
"alias": "organization",
|
||||
@@ -218,21 +218,21 @@ return {
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v5/*: any*/),
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesures",
|
||||
"name": "measures",
|
||||
"plural": false,
|
||||
"selections": (v4/*: any*/),
|
||||
"storageKey": "mesures(first:100)"
|
||||
"storageKey": "measures(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v5/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "Organization__mesures",
|
||||
"key": "Organization__measures",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "mesures"
|
||||
"name": "measures"
|
||||
}
|
||||
],
|
||||
"type": "Organization",
|
||||
@@ -244,7 +244,7 @@ return {
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "af9a0c71ad20ea7e65e3c625e30b00d8",
|
||||
"cacheID": "8d3ef87f30b0db1a4805df59ff0703c8",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
@@ -254,18 +254,18 @@ return {
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"organization",
|
||||
"mesures"
|
||||
"measures"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "ShowRiskViewOrganizationMesuresQuery",
|
||||
"name": "ShowRiskViewOrganizationMeasuresQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query ShowRiskViewOrganizationMesuresQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n mesures(first: 100) {\n edges {\n node {\n id\n name\n description\n category\n state\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
"text": "query ShowRiskViewOrganizationMeasuresQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ... on Organization {\n measures(first: 100) {\n edges {\n node {\n id\n name\n description\n category\n state\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "addb9873294354cedf28bc3262cb736a";
|
||||
(node as any).hash = "23094414dbfa064d558c59163678d658";
|
||||
|
||||
export default node;
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<5d1745636bcff5f05d946bcd613463e5>>
|
||||
* @generated SignedSource<<48d940f6040fa9375ac915ce8851c658>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,7 +9,7 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type MesureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type MeasureState = "IMPLEMENTED" | "IN_PROGRESS" | "NOT_APPLICABLE" | "NOT_STARTED";
|
||||
export type RiskTreatment = "ACCEPTED" | "AVOIDED" | "MITIGATED" | "TRANSFERRED";
|
||||
export type ShowRiskViewQuery$variables = {
|
||||
riskId: string;
|
||||
@@ -32,7 +32,7 @@ export type ShowRiskViewQuery$data = {
|
||||
readonly id: string;
|
||||
readonly inherentImpact?: number;
|
||||
readonly inherentLikelihood?: number;
|
||||
readonly mesures?: {
|
||||
readonly measures?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
readonly node: {
|
||||
readonly category: string;
|
||||
@@ -40,7 +40,7 @@ export type ShowRiskViewQuery$data = {
|
||||
readonly description: string;
|
||||
readonly id: string;
|
||||
readonly name: string;
|
||||
readonly state: MesureState;
|
||||
readonly state: MeasureState;
|
||||
};
|
||||
}>;
|
||||
};
|
||||
@@ -224,7 +224,7 @@ v17 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "MesureEdge",
|
||||
"concreteType": "MeasureEdge",
|
||||
"kind": "LinkedField",
|
||||
"name": "edges",
|
||||
"plural": true,
|
||||
@@ -232,7 +232,7 @@ v17 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "Mesure",
|
||||
"concreteType": "Measure",
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
@@ -377,11 +377,11 @@ return {
|
||||
(v12/*: any*/),
|
||||
(v13/*: any*/),
|
||||
{
|
||||
"alias": "mesures",
|
||||
"alias": "measures",
|
||||
"args": null,
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "__Risk__mesures_connection",
|
||||
"name": "__Risk__measures_connection",
|
||||
"plural": false,
|
||||
"selections": (v17/*: any*/),
|
||||
"storageKey": null
|
||||
@@ -450,21 +450,21 @@ return {
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v20/*: any*/),
|
||||
"concreteType": "MesureConnection",
|
||||
"concreteType": "MeasureConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "mesures",
|
||||
"name": "measures",
|
||||
"plural": false,
|
||||
"selections": (v17/*: any*/),
|
||||
"storageKey": "mesures(first:100)"
|
||||
"storageKey": "measures(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v20/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "Risk__mesures",
|
||||
"key": "Risk__measures",
|
||||
"kind": "LinkedHandle",
|
||||
"name": "mesures"
|
||||
"name": "measures"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
@@ -514,7 +514,7 @@ return {
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "a88eba4c398c292d41deaddd1d77bb3b",
|
||||
"cacheID": "487765d92cad8c0915ad4fee24d7e702",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
@@ -524,7 +524,7 @@ return {
|
||||
"direction": "forward",
|
||||
"path": [
|
||||
"node",
|
||||
"mesures"
|
||||
"measures"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -549,11 +549,11 @@ return {
|
||||
},
|
||||
"name": "ShowRiskViewQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query ShowRiskViewQuery(\n $riskId: ID!\n) {\n node(id: $riskId) {\n __typename\n id\n ... on Risk {\n name\n description\n treatment\n owner {\n id\n fullName\n }\n inherentLikelihood\n inherentImpact\n residualLikelihood\n residualImpact\n note\n createdAt\n updatedAt\n mesures(first: 100) {\n edges {\n node {\n id\n name\n description\n category\n createdAt\n state\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n policies(first: 100) {\n edges {\n node {\n id\n title\n createdAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n controls(first: 100) {\n edges {\n node {\n id\n referenceId\n name\n description\n createdAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
"text": "query ShowRiskViewQuery(\n $riskId: ID!\n) {\n node(id: $riskId) {\n __typename\n id\n ... on Risk {\n name\n description\n treatment\n owner {\n id\n fullName\n }\n inherentLikelihood\n inherentImpact\n residualLikelihood\n residualImpact\n note\n createdAt\n updatedAt\n measures(first: 100) {\n edges {\n node {\n id\n name\n description\n category\n createdAt\n state\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n policies(first: 100) {\n edges {\n node {\n id\n title\n createdAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n controls(first: 100) {\n edges {\n node {\n id\n referenceId\n name\n description\n createdAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "96158658ecb7c406fc969e086917c03e";
|
||||
(node as any).hash = "b8506a3dd8980cd16b5344b990471533";
|
||||
|
||||
export default node;
|
||||
|
||||
Reference in New Issue
Block a user