diff --git a/apps/console/src/__generated__/core/MeasureGraphListQuery.graphql.ts b/apps/console/src/__generated__/core/MeasureGraphListQuery.graphql.ts index 015ff1195..7a6d99dbe 100644 --- a/apps/console/src/__generated__/core/MeasureGraphListQuery.graphql.ts +++ b/apps/console/src/__generated__/core/MeasureGraphListQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<5dfe8149e11942df0913ea8ba61e7ee5>> + * @generated SignedSource<<587b1edc25e82b42dd300f9fe7424bc3>> * @lightSyntaxTransform * @nogrep */ @@ -15,8 +15,14 @@ export type MeasureGraphListQuery$variables = { }; export type MeasureGraphListQuery$data = { readonly organization: { + readonly __typename: "Organization"; + readonly canCreateMeasure: boolean; readonly id: string; readonly " $fragmentSpreads": FragmentRefs<"MeasuresPageFragment">; + } | { + // This will never be '%other', but we need some + // value in case none of the concrete values match. + readonly __typename: "%other"; }; }; export type MeasureGraphListQuery = { @@ -43,17 +49,30 @@ v2 = { "alias": null, "args": null, "kind": "ScalarField", - "name": "id", + "name": "__typename", "storageKey": null }, v3 = { "alias": null, "args": null, "kind": "ScalarField", - "name": "__typename", + "name": "id", "storageKey": null }, -v4 = [ +v4 = { + "alias": "canCreateMeasure", + "args": [ + { + "kind": "Literal", + "name": "action", + "value": "core:measure:create" + } + ], + "kind": "ScalarField", + "name": "permission", + "storageKey": "permission(action:\"core:measure:create\")" +}, +v5 = [ { "kind": "Literal", "name": "first", @@ -68,21 +87,34 @@ return { "name": "MeasureGraphListQuery", "selections": [ { - "alias": "organization", - "args": (v1/*: any*/), - "concreteType": null, - "kind": "LinkedField", - "name": "node", - "plural": false, - "selections": [ - (v2/*: any*/), - { - "args": null, - "kind": "FragmentSpread", - "name": "MeasuresPageFragment" - } - ], - "storageKey": null + "kind": "RequiredField", + "field": { + "alias": "organization", + "args": (v1/*: any*/), + "concreteType": null, + "kind": "LinkedField", + "name": "node", + "plural": false, + "selections": [ + (v2/*: any*/), + { + "kind": "InlineFragment", + "selections": [ + (v3/*: any*/), + (v4/*: any*/), + { + "args": null, + "kind": "FragmentSpread", + "name": "MeasuresPageFragment" + } + ], + "type": "Organization", + "abstractKey": null + } + ], + "storageKey": null + }, + "action": "THROW" } ], "type": "Query", @@ -102,14 +134,15 @@ return { "name": "node", "plural": false, "selections": [ - (v3/*: any*/), (v2/*: any*/), + (v3/*: any*/), { "kind": "InlineFragment", "selections": [ + (v4/*: any*/), { "alias": null, - "args": (v4/*: any*/), + "args": (v5/*: any*/), "concreteType": "MeasureConnection", "kind": "LinkedField", "name": "measures", @@ -131,7 +164,7 @@ return { "name": "node", "plural": false, "selections": [ - (v2/*: any*/), + (v3/*: any*/), { "alias": null, "args": null, @@ -153,6 +186,32 @@ return { "name": "state", "storageKey": null }, + { + "alias": "canUpdate", + "args": [ + { + "kind": "Literal", + "name": "action", + "value": "core:measure:update" + } + ], + "kind": "ScalarField", + "name": "permission", + "storageKey": "permission(action:\"core:measure:update\")" + }, + { + "alias": "canDelete", + "args": [ + { + "kind": "Literal", + "name": "action", + "value": "core:measure:delete" + } + ], + "kind": "ScalarField", + "name": "permission", + "storageKey": "permission(action:\"core:measure:delete\")" + }, { "alias": null, "args": null, @@ -160,7 +219,7 @@ return { "name": "description", "storageKey": null }, - (v3/*: any*/) + (v2/*: any*/) ], "storageKey": null }, @@ -216,7 +275,7 @@ return { }, { "alias": null, - "args": (v4/*: any*/), + "args": (v5/*: any*/), "filters": null, "handle": "connection", "key": "MeasuresGraphListQuery__measures", @@ -233,16 +292,16 @@ return { ] }, "params": { - "cacheID": "644632c32801939ffc06c8258b3060f3", + "cacheID": "28d1efc46af83ac0b77b4bbf254ead9f", "id": null, "metadata": {}, "name": "MeasureGraphListQuery", "operationKind": "query", - "text": "query MeasureGraphListQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ...MeasuresPageFragment\n }\n}\n\nfragment MeasureFormDialogMeasureFragment on Measure {\n id\n description\n name\n category\n state\n}\n\nfragment MeasuresPageFragment on Organization {\n measures(first: 500) {\n edges {\n node {\n id\n name\n category\n state\n ...MeasureFormDialogMeasureFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n" + "text": "query MeasureGraphListQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n ... on Organization {\n id\n canCreateMeasure: permission(action: \"core:measure:create\")\n ...MeasuresPageFragment\n }\n id\n }\n}\n\nfragment MeasureFormDialogMeasureFragment on Measure {\n id\n description\n name\n category\n state\n}\n\nfragment MeasuresPageFragment on Organization {\n measures(first: 500) {\n edges {\n node {\n id\n name\n category\n state\n canUpdate: permission(action: \"core:measure:update\")\n canDelete: permission(action: \"core:measure:delete\")\n ...MeasureFormDialogMeasureFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n" } }; })(); -(node as any).hash = "3014f5724257c0819ba6ef15d2b72d07"; +(node as any).hash = "291184a9b739da290f087db35714ba6b"; export default node; diff --git a/apps/console/src/__generated__/core/MeasureGraphNodeQuery.graphql.ts b/apps/console/src/__generated__/core/MeasureGraphNodeQuery.graphql.ts index 9e5afc130..46600b6d2 100644 --- a/apps/console/src/__generated__/core/MeasureGraphNodeQuery.graphql.ts +++ b/apps/console/src/__generated__/core/MeasureGraphNodeQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<<68d7a7680b2d8573d9f05e2c33e2e516>> * @lightSyntaxTransform * @nogrep */ @@ -16,6 +16,9 @@ export type MeasureGraphNodeQuery$variables = { }; export type MeasureGraphNodeQuery$data = { readonly node: { + readonly canDelete?: boolean; + readonly canListTasks?: boolean; + readonly canUpdate?: boolean; readonly category?: string; readonly controlsInfos?: { readonly totalCount: number; @@ -88,14 +91,53 @@ v6 = { "name": "category", "storageKey": null }, -v7 = [ +v7 = { + "alias": "canUpdate", + "args": [ + { + "kind": "Literal", + "name": "action", + "value": "core:measure:update" + } + ], + "kind": "ScalarField", + "name": "permission", + "storageKey": "permission(action:\"core:measure:update\")" +}, +v8 = { + "alias": "canDelete", + "args": [ + { + "kind": "Literal", + "name": "action", + "value": "core:measure:delete" + } + ], + "kind": "ScalarField", + "name": "permission", + "storageKey": "permission(action:\"core:measure:delete\")" +}, +v9 = { + "alias": "canListTasks", + "args": [ + { + "kind": "Literal", + "name": "action", + "value": "core:task:list" + } + ], + "kind": "ScalarField", + "name": "permission", + "storageKey": "permission(action:\"core:task:list\")" +}, +v10 = [ { "kind": "Literal", "name": "first", "value": 0 } ], -v8 = [ +v11 = [ { "alias": null, "args": null, @@ -104,72 +146,72 @@ v8 = [ "storageKey": null } ], -v9 = { +v12 = { "alias": "evidencesInfos", - "args": (v7/*: any*/), + "args": (v10/*: any*/), "concreteType": "EvidenceConnection", "kind": "LinkedField", "name": "evidences", "plural": false, - "selections": (v8/*: any*/), + "selections": (v11/*: any*/), "storageKey": "evidences(first:0)" }, -v10 = { +v13 = { "alias": "risksInfos", - "args": (v7/*: any*/), + "args": (v10/*: any*/), "concreteType": "RiskConnection", "kind": "LinkedField", "name": "risks", "plural": false, - "selections": (v8/*: any*/), + "selections": (v11/*: any*/), "storageKey": "risks(first:0)" }, -v11 = { +v14 = { "alias": "controlsInfos", - "args": (v7/*: any*/), + "args": (v10/*: any*/), "concreteType": "ControlConnection", "kind": "LinkedField", "name": "controls", "plural": false, - "selections": (v8/*: any*/), + "selections": (v11/*: any*/), "storageKey": "controls(first:0)" }, -v12 = { +v15 = { "alias": null, "args": null, "kind": "ScalarField", "name": "__typename", "storageKey": null }, -v13 = [ +v16 = [ { "kind": "Literal", "name": "first", "value": 100 } ], -v14 = { +v17 = { "alias": null, "args": null, "kind": "ScalarField", "name": "cursor", "storageKey": null }, -v15 = { +v18 = { "alias": null, "args": null, "kind": "ScalarField", "name": "endCursor", "storageKey": null }, -v16 = { +v19 = { "alias": null, "args": null, "kind": "ScalarField", "name": "hasNextPage", "storageKey": null }, -v17 = { +v20 = { "kind": "ClientExtension", "selections": [ { @@ -181,14 +223,14 @@ v17 = { } ] }, -v18 = [ +v21 = [ { "kind": "Literal", "name": "first", "value": 20 } ], -v19 = { +v22 = { "alias": null, "args": null, "concreteType": "PageInfo", @@ -196,8 +238,8 @@ v19 = { "name": "pageInfo", "plural": false, "selections": [ - (v15/*: any*/), - (v16/*: any*/), + (v18/*: any*/), + (v19/*: any*/), { "alias": null, "args": null, @@ -215,7 +257,7 @@ v19 = { ], "storageKey": null }, -v20 = [ +v23 = [ { "kind": "Literal", "name": "first", @@ -245,9 +287,12 @@ return { (v4/*: any*/), (v5/*: any*/), (v6/*: any*/), + (v7/*: any*/), + (v8/*: any*/), (v9/*: any*/), - (v10/*: any*/), - (v11/*: any*/), + (v12/*: any*/), + (v13/*: any*/), + (v14/*: any*/), { "args": null, "kind": "FragmentSpread", @@ -293,7 +338,7 @@ return { "name": "node", "plural": false, "selections": [ - (v12/*: any*/), + (v15/*: any*/), (v2/*: any*/), { "kind": "InlineFragment", @@ -302,12 +347,15 @@ return { (v4/*: any*/), (v5/*: any*/), (v6/*: any*/), + (v7/*: any*/), + (v8/*: any*/), (v9/*: any*/), - (v10/*: any*/), - (v11/*: any*/), + (v12/*: any*/), + (v13/*: any*/), + (v14/*: any*/), { "alias": null, - "args": (v13/*: any*/), + "args": (v16/*: any*/), "concreteType": "RiskConnection", "kind": "LinkedField", "name": "risks", @@ -345,11 +393,11 @@ return { "name": "residualRiskScore", "storageKey": null }, - (v12/*: any*/) + (v15/*: any*/) ], "storageKey": null }, - (v14/*: any*/) + (v17/*: any*/) ], "storageKey": null }, @@ -361,18 +409,18 @@ return { "name": "pageInfo", "plural": false, "selections": [ - (v15/*: any*/), - (v16/*: any*/) + (v18/*: any*/), + (v19/*: any*/) ], "storageKey": null }, - (v17/*: any*/) + (v20/*: any*/) ], "storageKey": "risks(first:100)" }, { "alias": null, - "args": (v13/*: any*/), + "args": (v16/*: any*/), "filters": null, "handle": "connection", "key": "Measure__risks", @@ -381,7 +429,7 @@ return { }, { "alias": null, - "args": (v18/*: any*/), + "args": (v21/*: any*/), "concreteType": "ControlConnection", "kind": "LinkedField", "name": "controls", @@ -425,22 +473,22 @@ return { ], "storageKey": null }, - (v12/*: any*/) + (v15/*: any*/) ], "storageKey": null }, - (v14/*: any*/) + (v17/*: any*/) ], "storageKey": null }, - (v19/*: any*/), - (v17/*: any*/) + (v22/*: any*/), + (v20/*: any*/) ], "storageKey": "controls(first:20)" }, { "alias": null, - "args": (v18/*: any*/), + "args": (v21/*: any*/), "filters": [ "orderBy", "filter" @@ -452,7 +500,7 @@ return { }, { "alias": null, - "args": (v20/*: any*/), + "args": (v23/*: any*/), "concreteType": "EvidenceConnection", "kind": "LinkedField", "name": "evidences", @@ -522,22 +570,22 @@ return { "name": "createdAt", "storageKey": null }, - (v12/*: any*/) + (v15/*: any*/) ], "storageKey": null }, - (v14/*: any*/) + (v17/*: any*/) ], "storageKey": null }, - (v19/*: any*/), - (v17/*: any*/) + (v22/*: any*/), + (v20/*: any*/) ], "storageKey": "evidences(first:50)" }, { "alias": null, - "args": (v20/*: any*/), + "args": (v23/*: any*/), "filters": [ "orderBy" ], @@ -556,16 +604,16 @@ return { ] }, "params": { - "cacheID": "fb510405c5934dbaf802c61c3ee8a547", + "cacheID": "e168532dd6888e5d7ddfaca1dc5f188e", "id": null, "metadata": {}, "name": "MeasureGraphNodeQuery", "operationKind": "query", - "text": "query MeasureGraphNodeQuery(\n $measureId: ID!\n) {\n node(id: $measureId) {\n __typename\n ... on Measure {\n id\n name\n description\n state\n category\n evidencesInfos: evidences(first: 0) {\n totalCount\n }\n risksInfos: risks(first: 0) {\n totalCount\n }\n controlsInfos: controls(first: 0) {\n totalCount\n }\n ...MeasureRisksTabFragment\n ...MeasureControlsTabFragment\n ...MeasureFormDialogMeasureFragment\n ...MeasureEvidencesTabFragment\n }\n id\n }\n}\n\nfragment LinkedControlsCardFragment on Control {\n id\n name\n sectionTitle\n framework {\n id\n name\n }\n}\n\nfragment LinkedRisksCardFragment on Risk {\n id\n name\n inherentRiskScore\n residualRiskScore\n}\n\nfragment MeasureControlsTabFragment on Measure {\n id\n controls(first: 20) {\n edges {\n node {\n id\n ...LinkedControlsCardFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment MeasureEvidencesTabFragment on Measure {\n id\n evidences(first: 50) {\n edges {\n node {\n id\n file {\n fileName\n mimeType\n size\n id\n }\n ...MeasureEvidencesTabFragment_evidence\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment MeasureEvidencesTabFragment_evidence on Evidence {\n id\n file {\n fileName\n mimeType\n size\n id\n }\n type\n createdAt\n}\n\nfragment MeasureFormDialogMeasureFragment on Measure {\n id\n description\n name\n category\n state\n}\n\nfragment MeasureRisksTabFragment on Measure {\n id\n risks(first: 100) {\n edges {\n node {\n id\n ...LinkedRisksCardFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n" + "text": "query MeasureGraphNodeQuery(\n $measureId: ID!\n) {\n node(id: $measureId) {\n __typename\n ... on Measure {\n id\n name\n description\n state\n category\n canUpdate: permission(action: \"core:measure:update\")\n canDelete: permission(action: \"core:measure:delete\")\n canListTasks: permission(action: \"core:task:list\")\n evidencesInfos: evidences(first: 0) {\n totalCount\n }\n risksInfos: risks(first: 0) {\n totalCount\n }\n controlsInfos: controls(first: 0) {\n totalCount\n }\n ...MeasureRisksTabFragment\n ...MeasureControlsTabFragment\n ...MeasureFormDialogMeasureFragment\n ...MeasureEvidencesTabFragment\n }\n id\n }\n}\n\nfragment LinkedControlsCardFragment on Control {\n id\n name\n sectionTitle\n framework {\n id\n name\n }\n}\n\nfragment LinkedRisksCardFragment on Risk {\n id\n name\n inherentRiskScore\n residualRiskScore\n}\n\nfragment MeasureControlsTabFragment on Measure {\n id\n controls(first: 20) {\n edges {\n node {\n id\n ...LinkedControlsCardFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment MeasureEvidencesTabFragment on Measure {\n id\n evidences(first: 50) {\n edges {\n node {\n id\n file {\n fileName\n mimeType\n size\n id\n }\n ...MeasureEvidencesTabFragment_evidence\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment MeasureEvidencesTabFragment_evidence on Evidence {\n id\n file {\n fileName\n mimeType\n size\n id\n }\n type\n createdAt\n}\n\nfragment MeasureFormDialogMeasureFragment on Measure {\n id\n description\n name\n category\n state\n}\n\nfragment MeasureRisksTabFragment on Measure {\n id\n risks(first: 100) {\n edges {\n node {\n id\n ...LinkedRisksCardFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n" } }; })(); -(node as any).hash = "fea0fb9de2bebb764995341906e0de58"; +(node as any).hash = "0d55da2c159f16130dd3aaf232103b0f"; export default node; diff --git a/apps/console/src/__generated__/core/MeasureTasksTabQuery.graphql.ts b/apps/console/src/__generated__/core/MeasureTasksTabQuery.graphql.ts index 6533250e9..3f643fd11 100644 --- a/apps/console/src/__generated__/core/MeasureTasksTabQuery.graphql.ts +++ b/apps/console/src/__generated__/core/MeasureTasksTabQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<1ee2176710f8c100a3d16e65be7a5f74>> + * @generated SignedSource<<07e722a4da8a25668cd0e49cc07598f9>> * @lightSyntaxTransform * @nogrep */ @@ -17,6 +17,7 @@ export type MeasureTasksTabQuery$variables = { export type MeasureTasksTabQuery$data = { readonly node: { readonly __typename: "Measure"; + readonly canCreateTask: boolean; readonly id: string; readonly tasks: { readonly __id: string; @@ -69,20 +70,33 @@ v3 = { "storageKey": null }, v4 = { + "alias": "canCreateTask", + "args": [ + { + "kind": "Literal", + "name": "action", + "value": "core:task:create" + } + ], + "kind": "ScalarField", + "name": "permission", + "storageKey": "permission(action:\"core:task:create\")" +}, +v5 = { "alias": null, "args": null, "kind": "ScalarField", "name": "state", "storageKey": null }, -v5 = { +v6 = { "alias": null, "args": null, "kind": "ScalarField", "name": "cursor", "storageKey": null }, -v6 = { +v7 = { "alias": null, "args": null, "concreteType": "PageInfo", @@ -107,7 +121,7 @@ v6 = { ], "storageKey": null }, -v7 = { +v8 = { "kind": "ClientExtension", "selections": [ { @@ -119,14 +133,14 @@ v7 = { } ] }, -v8 = [ +v9 = [ { "kind": "Literal", "name": "first", "value": 100 } ], -v9 = { +v10 = { "alias": null, "args": null, "kind": "ScalarField", @@ -155,6 +169,7 @@ return { "kind": "InlineFragment", "selections": [ (v3/*: any*/), + (v4/*: any*/), { "kind": "RequiredField", "field": { @@ -184,7 +199,7 @@ return { "plural": false, "selections": [ (v3/*: any*/), - (v4/*: any*/), + (v5/*: any*/), { "args": null, "kind": "FragmentSpread", @@ -199,14 +214,14 @@ return { ], "storageKey": null }, - (v5/*: any*/) + (v6/*: any*/) ], "storageKey": null }, "action": "THROW" }, - (v6/*: any*/), - (v7/*: any*/) + (v7/*: any*/), + (v8/*: any*/) ], "storageKey": null }, @@ -244,9 +259,10 @@ return { { "kind": "InlineFragment", "selections": [ + (v4/*: any*/), { "alias": null, - "args": (v8/*: any*/), + "args": (v9/*: any*/), "concreteType": "TaskConnection", "kind": "LinkedField", "name": "tasks", @@ -269,7 +285,7 @@ return { "plural": false, "selections": [ (v3/*: any*/), - (v4/*: any*/), + (v5/*: any*/), { "alias": null, "args": null, @@ -277,7 +293,7 @@ return { "name": "description", "storageKey": null }, - (v9/*: any*/), + (v10/*: any*/), { "alias": null, "args": null, @@ -320,7 +336,7 @@ return { "plural": false, "selections": [ (v3/*: any*/), - (v9/*: any*/) + (v10/*: any*/) ], "storageKey": null }, @@ -354,18 +370,18 @@ return { ], "storageKey": null }, - (v5/*: any*/) + (v6/*: any*/) ], "storageKey": null }, - (v6/*: any*/), - (v7/*: any*/) + (v7/*: any*/), + (v8/*: any*/) ], "storageKey": "tasks(first:100)" }, { "alias": null, - "args": (v8/*: any*/), + "args": (v9/*: any*/), "filters": null, "handle": "connection", "key": "Measure__tasks", @@ -382,7 +398,7 @@ return { ] }, "params": { - "cacheID": "81a89b0ac44d316e2e580dd536be2812", + "cacheID": "45dadcc414507aa7ccaab436cd5081c7", "id": null, "metadata": { "connection": [ @@ -399,11 +415,11 @@ return { }, "name": "MeasureTasksTabQuery", "operationKind": "query", - "text": "query MeasureTasksTabQuery(\n $measureId: ID!\n) {\n node(id: $measureId) {\n __typename\n ... on Measure {\n id\n tasks(first: 100) {\n edges {\n node {\n id\n state\n ...TaskFormDialogFragment\n ...TasksCard_TaskRowFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n id\n }\n}\n\nfragment TaskFormDialogFragment on Task {\n id\n description\n name\n state\n timeEstimate\n deadline\n assignedTo {\n id\n }\n measure {\n id\n }\n}\n\nfragment TasksCard_TaskRowFragment on Task {\n id\n name\n state\n description\n timeEstimate\n deadline\n canUpdate: permission(action: \"core:task:update\")\n canDelete: permission(action: \"core:task:delete\")\n assignedTo {\n id\n fullName\n }\n measure {\n id\n name\n }\n}\n" + "text": "query MeasureTasksTabQuery(\n $measureId: ID!\n) {\n node(id: $measureId) {\n __typename\n ... on Measure {\n id\n canCreateTask: permission(action: \"core:task:create\")\n tasks(first: 100) {\n edges {\n node {\n id\n state\n ...TaskFormDialogFragment\n ...TasksCard_TaskRowFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n id\n }\n}\n\nfragment TaskFormDialogFragment on Task {\n id\n description\n name\n state\n timeEstimate\n deadline\n assignedTo {\n id\n }\n measure {\n id\n }\n}\n\nfragment TasksCard_TaskRowFragment on Task {\n id\n name\n state\n description\n timeEstimate\n deadline\n canUpdate: permission(action: \"core:task:update\")\n canDelete: permission(action: \"core:task:delete\")\n assignedTo {\n id\n fullName\n }\n measure {\n id\n name\n }\n}\n" } }; })(); -(node as any).hash = "0e886bdfa0bcba6ec98758098e1ec0b5"; +(node as any).hash = "a2dcb46b0d6a1a26b4e23db5c44c5d65"; export default node; diff --git a/apps/console/src/__generated__/core/MeasuresPageFragment.graphql.ts b/apps/console/src/__generated__/core/MeasuresPageFragment.graphql.ts index 987bda358..4ac966c33 100644 --- a/apps/console/src/__generated__/core/MeasuresPageFragment.graphql.ts +++ b/apps/console/src/__generated__/core/MeasuresPageFragment.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<7b45de7513dda2166217b9bd76716ece>> + * @generated SignedSource<<2332fd6939942a5ee3d32511feffa42e>> * @lightSyntaxTransform * @nogrep */ @@ -16,6 +16,8 @@ export type MeasuresPageFragment$data = { readonly __id: string; readonly edges: ReadonlyArray<{ readonly node: { + readonly canDelete: boolean; + readonly canUpdate: boolean; readonly category: string; readonly id: string; readonly name: string; @@ -100,6 +102,32 @@ const node: ReaderFragment = { "name": "state", "storageKey": null }, + { + "alias": "canUpdate", + "args": [ + { + "kind": "Literal", + "name": "action", + "value": "core:measure:update" + } + ], + "kind": "ScalarField", + "name": "permission", + "storageKey": "permission(action:\"core:measure:update\")" + }, + { + "alias": "canDelete", + "args": [ + { + "kind": "Literal", + "name": "action", + "value": "core:measure:delete" + } + ], + "kind": "ScalarField", + "name": "permission", + "storageKey": "permission(action:\"core:measure:delete\")" + }, { "args": null, "kind": "FragmentSpread", @@ -170,6 +198,6 @@ const node: ReaderFragment = { "abstractKey": null }; -(node as any).hash = "31e13504f5bd52607fa81ac300e7303d"; +(node as any).hash = "e9d543c6f68f5c205ba55f6d77206091"; export default node; diff --git a/apps/console/src/components/tasks/TasksCard.tsx b/apps/console/src/components/tasks/TasksCard.tsx index d368485ec..09a39b7ab 100644 --- a/apps/console/src/components/tasks/TasksCard.tsx +++ b/apps/console/src/components/tasks/TasksCard.tsx @@ -17,7 +17,7 @@ import { useConfirm, useDialogRef, } from "@probo/ui"; -import { Fragment, use } from "react"; +import { Fragment } from "react"; import { graphql, useFragment, @@ -30,7 +30,6 @@ import TaskFormDialog, { } from "/components/tasks/TaskFormDialog"; import { updateStoreCounter } from "/hooks/useMutationWithIncrement"; import { useOrganizationId } from "/hooks/useOrganizationId"; -import { PermissionsContext } from "/providers/PermissionsContext"; import type { TasksCard_TaskRowFragment$key } from "/__generated__/core/TasksCard_TaskRowFragment.graphql"; import type { TasksPageFragment$data } from "/__generated__/core/TasksPageFragment.graphql"; import type { MeasureTasksTabQuery$data } from "/__generated__/core/MeasureTasksTabQuery.graphql"; @@ -162,7 +161,6 @@ function TaskRow(props: TaskRowProps) { const confirm = useConfirm(); const [deleteTask] = useMutation(deleteMutation); const params = useParams<{ measureId?: string }>(); - const { isAuthorized } = use(PermissionsContext); const relayEnv = useRelayEnvironment(); const { canUpdate, canDelete, ...task } = @@ -271,7 +269,7 @@ function TaskRow(props: TaskRowProps) { {isUpdating && } {(canUpdate || canDelete) && ( - {isAuthorized("Task", "updateTask") && ( + {canUpdate && ( dialogRef.current?.open()} @@ -279,7 +277,7 @@ function TaskRow(props: TaskRowProps) { {__("Edit")} )} - {isAuthorized("Task", "deleteTask") && ( + {canDelete && ( - {isAuthorized("Measure", "updateMeasure") && ( + {measure.canUpdate && ( <> - + {node.canCreateTask && ( + + + + )} ); }