Add request param presence callback to request accesses
Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
87
apps/trust/src/hooks/__generated__/useRequestAccessCallback_allMutation.graphql.ts
generated
Normal file
87
apps/trust/src/hooks/__generated__/useRequestAccessCallback_allMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,87 @@
|
||||
/**
|
||||
* @generated SignedSource<<71c76287347e6e819c625f5072b4fae4>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type useRequestAccessCallback_allMutation$variables = Record<PropertyKey, never>;
|
||||
export type useRequestAccessCallback_allMutation$data = {
|
||||
readonly requestAllAccesses: {
|
||||
readonly trustCenterAccess: {
|
||||
readonly id: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type useRequestAccessCallback_allMutation = {
|
||||
response: useRequestAccessCallback_allMutation$data;
|
||||
variables: useRequestAccessCallback_allMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "RequestAccessesPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "requestAllAccesses",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "TrustCenterAccess",
|
||||
"kind": "LinkedField",
|
||||
"name": "trustCenterAccess",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": [],
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "useRequestAccessCallback_allMutation",
|
||||
"selections": (v0/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": [],
|
||||
"kind": "Operation",
|
||||
"name": "useRequestAccessCallback_allMutation",
|
||||
"selections": (v0/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "dd26f85da037142a278f934f06c8c0a0",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "useRequestAccessCallback_allMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation useRequestAccessCallback_allMutation {\n requestAllAccesses {\n trustCenterAccess {\n id\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "7f32c58dba23b76a39950d08c25eaaa7";
|
||||
|
||||
export default node;
|
||||
105
apps/trust/src/hooks/__generated__/useRequestAccessCallback_documentMutation.graphql.ts
generated
Normal file
105
apps/trust/src/hooks/__generated__/useRequestAccessCallback_documentMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,105 @@
|
||||
/**
|
||||
* @generated SignedSource<<6b6304c9a22de890f171632f8c9dabe1>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type RequestDocumentAccessInput = {
|
||||
documentId: string;
|
||||
};
|
||||
export type useRequestAccessCallback_documentMutation$variables = {
|
||||
input: RequestDocumentAccessInput;
|
||||
};
|
||||
export type useRequestAccessCallback_documentMutation$data = {
|
||||
readonly requestDocumentAccess: {
|
||||
readonly trustCenterAccess: {
|
||||
readonly id: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type useRequestAccessCallback_documentMutation = {
|
||||
response: useRequestAccessCallback_documentMutation$data;
|
||||
variables: useRequestAccessCallback_documentMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "RequestAccessesPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "requestDocumentAccess",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "TrustCenterAccess",
|
||||
"kind": "LinkedField",
|
||||
"name": "trustCenterAccess",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "useRequestAccessCallback_documentMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "useRequestAccessCallback_documentMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "849ea6a746660bdee8ebf805baef7a33",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "useRequestAccessCallback_documentMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation useRequestAccessCallback_documentMutation(\n $input: RequestDocumentAccessInput!\n) {\n requestDocumentAccess(input: $input) {\n trustCenterAccess {\n id\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "1ff8b5f560d8c3024e6d5c11bb2ed889";
|
||||
|
||||
export default node;
|
||||
105
apps/trust/src/hooks/__generated__/useRequestAccessCallback_fileMutation.graphql.ts
generated
Normal file
105
apps/trust/src/hooks/__generated__/useRequestAccessCallback_fileMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,105 @@
|
||||
/**
|
||||
* @generated SignedSource<<6db2a4322199d638b3f1ac498ecd066b>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type RequestTrustCenterFileAccessInput = {
|
||||
trustCenterFileId: string;
|
||||
};
|
||||
export type useRequestAccessCallback_fileMutation$variables = {
|
||||
input: RequestTrustCenterFileAccessInput;
|
||||
};
|
||||
export type useRequestAccessCallback_fileMutation$data = {
|
||||
readonly requestTrustCenterFileAccess: {
|
||||
readonly trustCenterAccess: {
|
||||
readonly id: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type useRequestAccessCallback_fileMutation = {
|
||||
response: useRequestAccessCallback_fileMutation$data;
|
||||
variables: useRequestAccessCallback_fileMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "RequestAccessesPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "requestTrustCenterFileAccess",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "TrustCenterAccess",
|
||||
"kind": "LinkedField",
|
||||
"name": "trustCenterAccess",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "useRequestAccessCallback_fileMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "useRequestAccessCallback_fileMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "1ed0d9f8a3b3dc08c2af16101729d3a9",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "useRequestAccessCallback_fileMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation useRequestAccessCallback_fileMutation(\n $input: RequestTrustCenterFileAccessInput!\n) {\n requestTrustCenterFileAccess(input: $input) {\n trustCenterAccess {\n id\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "5105b60de987b135523ada9ee2777dea";
|
||||
|
||||
export default node;
|
||||
105
apps/trust/src/hooks/__generated__/useRequestAccessCallback_reportMutation.graphql.ts
generated
Normal file
105
apps/trust/src/hooks/__generated__/useRequestAccessCallback_reportMutation.graphql.ts
generated
Normal file
@@ -0,0 +1,105 @@
|
||||
/**
|
||||
* @generated SignedSource<<d36c3f435afa928b80d415bd53786d81>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type RequestReportAccessInput = {
|
||||
reportId: string;
|
||||
};
|
||||
export type useRequestAccessCallback_reportMutation$variables = {
|
||||
input: RequestReportAccessInput;
|
||||
};
|
||||
export type useRequestAccessCallback_reportMutation$data = {
|
||||
readonly requestReportAccess: {
|
||||
readonly trustCenterAccess: {
|
||||
readonly id: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
export type useRequestAccessCallback_reportMutation = {
|
||||
response: useRequestAccessCallback_reportMutation$data;
|
||||
variables: useRequestAccessCallback_reportMutation$variables;
|
||||
};
|
||||
|
||||
const node: ConcreteRequest = (function(){
|
||||
var v0 = [
|
||||
{
|
||||
"defaultValue": null,
|
||||
"kind": "LocalArgument",
|
||||
"name": "input"
|
||||
}
|
||||
],
|
||||
v1 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "input",
|
||||
"variableName": "input"
|
||||
}
|
||||
],
|
||||
"concreteType": "RequestAccessesPayload",
|
||||
"kind": "LinkedField",
|
||||
"name": "requestReportAccess",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "TrustCenterAccess",
|
||||
"kind": "LinkedField",
|
||||
"name": "trustCenterAccess",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "id",
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
];
|
||||
return {
|
||||
"fragment": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Fragment",
|
||||
"metadata": null,
|
||||
"name": "useRequestAccessCallback_reportMutation",
|
||||
"selections": (v1/*: any*/),
|
||||
"type": "Mutation",
|
||||
"abstractKey": null
|
||||
},
|
||||
"kind": "Request",
|
||||
"operation": {
|
||||
"argumentDefinitions": (v0/*: any*/),
|
||||
"kind": "Operation",
|
||||
"name": "useRequestAccessCallback_reportMutation",
|
||||
"selections": (v1/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "c859384ca219b8302245e0bed292e698",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "useRequestAccessCallback_reportMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation useRequestAccessCallback_reportMutation(\n $input: RequestReportAccessInput!\n) {\n requestReportAccess(input: $input) {\n trustCenterAccess {\n id\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "6ad61c2f6638f5d31c9c25b0044f080a";
|
||||
|
||||
export default node;
|
||||
198
apps/trust/src/hooks/useRequestAccessCallback.ts
Normal file
198
apps/trust/src/hooks/useRequestAccessCallback.ts
Normal file
@@ -0,0 +1,198 @@
|
||||
import { formatError, type GraphQLError } from "@probo/helpers";
|
||||
import { useTranslate } from "@probo/i18n";
|
||||
import { useToast } from "@probo/ui";
|
||||
import { useEffect } from "react";
|
||||
import { useMutation } from "react-relay";
|
||||
import { useSearchParams } from "react-router";
|
||||
import { graphql } from "relay-runtime";
|
||||
|
||||
import type { useRequestAccessCallback_allMutation } from "./__generated__/useRequestAccessCallback_allMutation.graphql";
|
||||
import type { useRequestAccessCallback_documentMutation } from "./__generated__/useRequestAccessCallback_documentMutation.graphql";
|
||||
import type { useRequestAccessCallback_fileMutation } from "./__generated__/useRequestAccessCallback_fileMutation.graphql";
|
||||
import type { useRequestAccessCallback_reportMutation } from "./__generated__/useRequestAccessCallback_reportMutation.graphql";
|
||||
|
||||
const documentMutation = graphql`
|
||||
mutation useRequestAccessCallback_documentMutation(
|
||||
$input: RequestDocumentAccessInput!
|
||||
) {
|
||||
requestDocumentAccess(input: $input) {
|
||||
trustCenterAccess {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const reportMutation = graphql`
|
||||
mutation useRequestAccessCallback_reportMutation(
|
||||
$input: RequestReportAccessInput!
|
||||
) {
|
||||
requestReportAccess(input: $input) {
|
||||
trustCenterAccess {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const fileMutation = graphql`
|
||||
mutation useRequestAccessCallback_fileMutation(
|
||||
$input: RequestTrustCenterFileAccessInput!
|
||||
) {
|
||||
requestTrustCenterFileAccess(input: $input) {
|
||||
trustCenterAccess {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const allMutation = graphql`
|
||||
mutation useRequestAccessCallback_allMutation {
|
||||
requestAllAccesses {
|
||||
trustCenterAccess {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
function errorToastArgs(__: (s: string) => string, error: GraphQLError | GraphQLError[]) {
|
||||
return {
|
||||
title: __("Error"),
|
||||
description: formatError(__("Cannot request access"), error),
|
||||
variant: "error" as const,
|
||||
};
|
||||
}
|
||||
|
||||
function successToastArgs(__: (s: string) => string) {
|
||||
return {
|
||||
title: __("Success"),
|
||||
description: __("Access request submitted successfully."),
|
||||
variant: "success" as const,
|
||||
};
|
||||
}
|
||||
|
||||
export function useRequestAccessCallback() {
|
||||
const [searchParams, setSearchParams] = useSearchParams();
|
||||
|
||||
const documentId = searchParams.get("request-document-id");
|
||||
const reportId = searchParams.get("request-report-id");
|
||||
const fileId = searchParams.get("request-file-id");
|
||||
const all = searchParams.get("request-all");
|
||||
|
||||
const { __ } = useTranslate();
|
||||
const { toast } = useToast();
|
||||
|
||||
const [requestDocumentAccess] = useMutation<useRequestAccessCallback_documentMutation>(documentMutation);
|
||||
const [requestReportAccess] = useMutation<useRequestAccessCallback_reportMutation>(reportMutation);
|
||||
const [requestFileAccess] = useMutation<useRequestAccessCallback_fileMutation>(fileMutation);
|
||||
const [requestAll] = useMutation<useRequestAccessCallback_allMutation>(allMutation);
|
||||
|
||||
useEffect(() => {
|
||||
if (documentId) {
|
||||
void requestDocumentAccess({
|
||||
variables: {
|
||||
input: { documentId },
|
||||
},
|
||||
onCompleted: (_, errors) => {
|
||||
if (errors?.length) {
|
||||
toast(errorToastArgs(__, errors));
|
||||
searchParams.delete("request-document-id");
|
||||
setSearchParams(searchParams);
|
||||
return;
|
||||
}
|
||||
|
||||
toast(successToastArgs(__));
|
||||
searchParams.delete("request-document-id");
|
||||
setSearchParams(searchParams);
|
||||
},
|
||||
onError: (error) => {
|
||||
toast(errorToastArgs(__, error));
|
||||
searchParams.delete("request-document-id");
|
||||
setSearchParams(searchParams);
|
||||
},
|
||||
});
|
||||
} else if (reportId) {
|
||||
void requestReportAccess({
|
||||
variables: {
|
||||
input: { reportId },
|
||||
},
|
||||
onCompleted: (_, errors) => {
|
||||
if (errors?.length) {
|
||||
toast(errorToastArgs(__, errors));
|
||||
searchParams.delete("request-report-id");
|
||||
setSearchParams(searchParams);
|
||||
return;
|
||||
}
|
||||
|
||||
toast(successToastArgs(__));
|
||||
searchParams.delete("request-report-id");
|
||||
setSearchParams(searchParams);
|
||||
},
|
||||
onError: (error) => {
|
||||
toast(errorToastArgs(__, error));
|
||||
searchParams.delete("request-report-id");
|
||||
setSearchParams(searchParams);
|
||||
},
|
||||
});
|
||||
} else if (fileId) {
|
||||
void requestFileAccess({
|
||||
variables: {
|
||||
input: { trustCenterFileId: fileId },
|
||||
},
|
||||
onCompleted: (_, errors) => {
|
||||
if (errors?.length) {
|
||||
toast(errorToastArgs(__, errors));
|
||||
searchParams.delete("request-file-id");
|
||||
setSearchParams(searchParams);
|
||||
return;
|
||||
}
|
||||
|
||||
toast(successToastArgs(__));
|
||||
searchParams.delete("request-file-id");
|
||||
setSearchParams(searchParams);
|
||||
},
|
||||
onError: (error) => {
|
||||
toast(errorToastArgs(__, error));
|
||||
searchParams.delete("request-file-id");
|
||||
setSearchParams(searchParams);
|
||||
},
|
||||
});
|
||||
} else if (all) {
|
||||
void requestAll({
|
||||
variables: {},
|
||||
onCompleted: (_, errors) => {
|
||||
if (errors?.length) {
|
||||
toast(errorToastArgs(__, errors));
|
||||
searchParams.delete("request-all");
|
||||
setSearchParams(searchParams);
|
||||
return;
|
||||
}
|
||||
|
||||
toast(successToastArgs(__));
|
||||
searchParams.delete("request-all");
|
||||
setSearchParams(searchParams);
|
||||
},
|
||||
onError: (error) => {
|
||||
toast(errorToastArgs(__, error));
|
||||
searchParams.delete("request-all");
|
||||
setSearchParams(searchParams);
|
||||
},
|
||||
});
|
||||
}
|
||||
}, [
|
||||
documentId,
|
||||
reportId,
|
||||
fileId,
|
||||
all,
|
||||
__,
|
||||
requestDocumentAccess,
|
||||
requestReportAccess,
|
||||
requestFileAccess,
|
||||
requestAll,
|
||||
searchParams,
|
||||
setSearchParams,
|
||||
toast,
|
||||
]);
|
||||
}
|
||||
Reference in New Issue
Block a user