Split project structure, routing

Signed-off-by: Émile Ré <nemile.re@gmail.com>
This commit is contained in:
Émile Ré
2025-03-21 16:44:43 +04:00
parent 0a0fa1be3c
commit 2f2414d8bb
88 changed files with 616 additions and 471 deletions

View File

@@ -1,15 +1,13 @@
import { Outlet } from "react-router";
import { Toaster } from "@/components/ui/toaster";
import { ReactNode } from "react";
export default function AuthLayout() {
export default function AuthLayout({ children }: { children: ReactNode }) {
return (
<div className="flex min-h-screen flex-col">
<div className="flex flex-1">
<div className="flex flex-1 flex-col bg-muted/40">
<div className="flex flex-1 items-center justify-center">
<main className="w-full max-w-md p-6">
<Outlet />
</main>
<main className="w-full max-w-md p-6">{children}</main>
</div>
</div>
<div className="hidden flex-1 bg-linear-to-br from-gray-900 to-gray-950 lg:block">

View File

@@ -1,514 +0,0 @@
import { NavLink, Outlet, Route, Routes, To, useParams } from "react-router";
import { AppSidebar } from "@/components/AppSidebar";
import { ReactNode, Suspense } from "react";
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";
import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar";
import { Toaster } from "@/components/ui/toaster";
import { graphql, useLazyLoadQuery } from "react-relay";
import { ConsoleLayoutBreadcrumbFrameworkOverviewQuery } from "./__generated__/ConsoleLayoutBreadcrumbFrameworkOverviewQuery.graphql";
import { ConsoleLayoutBreadcrumbPeopleOverviewQuery } from "./__generated__/ConsoleLayoutBreadcrumbPeopleOverviewQuery.graphql";
import { ConsoleLayoutBreadcrumbVendorOverviewQuery } from "./__generated__/ConsoleLayoutBreadcrumbVendorOverviewQuery.graphql";
import { ConsoleLayoutBreadcrumbControlOverviewQuery } from "./__generated__/ConsoleLayoutBreadcrumbControlOverviewQuery.graphql";
import { ConsoleLayoutOrganizationQuery } from "./__generated__/ConsoleLayoutOrganizationQuery.graphql";
import { ConsoleLayoutBreadcrumbPolicyOverviewQuery } from "./__generated__/ConsoleLayoutBreadcrumbPolicyOverviewQuery.graphql";
import { cn } from "@/lib/utils";
const BreadCrumbNavLink = ({
to,
children,
className,
}: {
to: To;
children?: ReactNode;
className?: string;
}) => {
return (
<BreadcrumbLink asChild>
<NavLink to={to} end>
{({ isActive }) => (
<BreadcrumbPage
className={cn(
"text-gray-300",
isActive && "text-gray-700",
className
)}
>
{children}
</BreadcrumbPage>
)}
</NavLink>
</BreadcrumbLink>
);
};
function BreadcrumbHome() {
return (
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadCrumbNavLink to="/">Home</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</BreadcrumbList>
</Breadcrumb>
);
}
function BreadCrumbOrganization() {
const { organizationId } = useParams();
const data = useLazyLoadQuery<ConsoleLayoutOrganizationQuery>(
graphql`
query ConsoleLayoutOrganizationQuery($organizationId: ID!) {
organization: node(id: $organizationId) {
... on Organization {
name
}
}
}
`,
{ organizationId: organizationId! },
{ fetchPolicy: "store-or-network" }
);
return (
<Breadcrumb className="select-none">
<BreadcrumbList>
<BreadcrumbItem>
<BreadCrumbNavLink to={`/organizations/${organizationId}`}>
{data.organization?.name || "Home"}
</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</BreadcrumbList>
</Breadcrumb>
);
}
function BreadcrumbFrameworkList() {
const { organizationId } = useParams();
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadCrumbNavLink to={`/organizations/${organizationId}/frameworks`}>
Frameworks
</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</>
);
}
function BreadcrumbCreateFramework() {
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Create</BreadcrumbPage>
</BreadcrumbItem>
</>
);
}
function BreadcrumbFrameworkOverview() {
const { organizationId, frameworkId } = useParams();
const data = useLazyLoadQuery<ConsoleLayoutBreadcrumbFrameworkOverviewQuery>(
graphql`
query ConsoleLayoutBreadcrumbFrameworkOverviewQuery($frameworkId: ID!) {
framework: node(id: $frameworkId) {
id
... on Framework {
name
}
}
}
`,
{ frameworkId: frameworkId! }
);
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadCrumbNavLink
to={`/organizations/${organizationId}/frameworks/${frameworkId}`}
>
{data.framework?.name}
</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</>
);
}
function BreadcrumbUpdateFramework() {
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Update</BreadcrumbPage>
</BreadcrumbItem>
</>
);
}
function BreadcrumbVendorList() {
const { organizationId } = useParams();
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadCrumbNavLink to={`/organizations/${organizationId}/vendors`}>
Vendors
</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</>
);
}
function BreadcrumbVendorOverview() {
const { organizationId, vendorId } = useParams();
const data = useLazyLoadQuery<ConsoleLayoutBreadcrumbVendorOverviewQuery>(
graphql`
query ConsoleLayoutBreadcrumbVendorOverviewQuery($vendorId: ID!) {
vendor: node(id: $vendorId) {
id
... on Vendor {
name
}
}
}
`,
{ vendorId: vendorId! },
{ fetchPolicy: "store-or-network" }
);
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadCrumbNavLink
to={`/organizations/${organizationId}/vendors/${data.vendor.id}`}
>
{data.vendor.name}
</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</>
);
}
function BreadcrumbPeopleList() {
const { organizationId } = useParams();
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadCrumbNavLink to={`/organizations/${organizationId}/people`}>
People
</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</>
);
}
function BreadcrumbCreatePeople() {
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Create</BreadcrumbPage>
</BreadcrumbItem>
</>
);
}
function BreadcrumbPeopleOverview() {
const { organizationId, peopleId } = useParams();
const data = useLazyLoadQuery<ConsoleLayoutBreadcrumbPeopleOverviewQuery>(
graphql`
query ConsoleLayoutBreadcrumbPeopleOverviewQuery($peopleId: ID!) {
people: node(id: $peopleId) {
id
... on People {
fullName
}
}
}
`,
{ peopleId: peopleId! },
{ fetchPolicy: "store-or-network" }
);
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadCrumbNavLink
to={`/organizations/${organizationId}/people/${data.people.id}`}
>
{data.people.fullName}
</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</>
);
}
function BreadcrumbControlOverview() {
const { organizationId, frameworkId, controlId } = useParams();
const data = useLazyLoadQuery<ConsoleLayoutBreadcrumbControlOverviewQuery>(
graphql`
query ConsoleLayoutBreadcrumbControlOverviewQuery($controlId: ID!) {
control: node(id: $controlId) {
id
... on Control {
name
}
}
}
`,
{ controlId: controlId! }
);
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadCrumbNavLink
to={`/organizations/${organizationId}/frameworks/${frameworkId}/controls/${controlId}`}
>
{data.control?.name}
</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</>
);
}
function BreadcrumbCreateControl() {
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Create Control</BreadcrumbPage>
</BreadcrumbItem>
</>
);
}
function BreadcrumbUpdateControl() {
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Update Control</BreadcrumbPage>
</BreadcrumbItem>
</>
);
}
function BreadcrumbPolicyList() {
const { organizationId } = useParams();
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadCrumbNavLink to={`/organizations/${organizationId}/policies`}>
Policies
</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</>
);
}
function BreadcrumbCreatePolicy() {
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Create Policy</BreadcrumbPage>
</BreadcrumbItem>
</>
);
}
function BreadcrumbPolicyOverview() {
const { organizationId, policyId } = useParams();
const data = useLazyLoadQuery<ConsoleLayoutBreadcrumbPolicyOverviewQuery>(
graphql`
query ConsoleLayoutBreadcrumbPolicyOverviewQuery($policyId: ID!) {
policy: node(id: $policyId) {
id
... on Policy {
name
}
}
}
`,
{ policyId: policyId! },
{ fetchPolicy: "store-or-network" }
);
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadCrumbNavLink
to={`/organizations/${organizationId}/policies/${policyId}`}
>
{data.policy?.name}
</BreadCrumbNavLink>
</BreadcrumbItem>
<Outlet />
</>
);
}
function BreadcrumbUpdatePolicy() {
return (
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Update</BreadcrumbPage>
</BreadcrumbItem>
</>
);
}
export default function ConsoleLayout() {
return (
<SidebarProvider>
<Suspense>
<AppSidebar className="p-4" />
</Suspense>
<SidebarInset>
<div className="mx-auto w-lg md:w-xl lg:w-3xl xl:w-4xl 2xl:w-5xl p-8">
<header className="flex shrink-0 items-center gap-2">
<Routes>
<Route
path=":organizationsId"
element={
<Suspense>
<BreadCrumbOrganization />
</Suspense>
}
>
<Route path="frameworks" element={<BreadcrumbFrameworkList />}>
<Route
path=":frameworkId"
element={
<Suspense>
<BreadcrumbFrameworkOverview />
</Suspense>
}
>
<Route
path="controls/create"
element={<BreadcrumbCreateControl />}
/>
<Route
path="controls/:controlId"
element={
<Suspense>
<BreadcrumbControlOverview />
</Suspense>
}
>
<Route
path="update"
element={<BreadcrumbUpdateControl />}
/>
</Route>
<Route
path="update"
element={<BreadcrumbUpdateFramework />}
/>
</Route>
<Route
path="create"
element={<BreadcrumbCreateFramework />}
/>
</Route>
<Route path="people" element={<BreadcrumbPeopleList />}>
<Route
path=":peopleId"
element={
<Suspense>
<BreadcrumbPeopleOverview />
</Suspense>
}
/>
<Route path="create" element={<BreadcrumbCreatePeople />} />
</Route>
<Route path="vendors" element={<BreadcrumbVendorList />}>
<Route
path=":vendorId"
element={
<Suspense>
<BreadcrumbVendorOverview />
</Suspense>
}
/>
</Route>
<Route path="policies" element={<BreadcrumbPolicyList />}>
<Route
path=":policyId"
element={
<Suspense>
<BreadcrumbPolicyOverview />
</Suspense>
}
>
<Route path="update" element={<BreadcrumbUpdatePolicy />} />
</Route>
<Route path="create" element={<BreadcrumbCreatePolicy />} />
</Route>
<Route
path="settings"
element={
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Settings</BreadcrumbPage>
</BreadcrumbItem>
</>
}
/>
</Route>
<Route path="*" element={<BreadcrumbHome />}>
<Route
path="create"
element={
<>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Create Organization</BreadcrumbPage>
</BreadcrumbItem>
</>
}
/>
</Route>
</Routes>
</header>
<div className="mt-7 w-full">
<Outlet />
</div>
</div>
<Toaster />
</SidebarInset>
</SidebarProvider>
);
}

View File

@@ -1,127 +0,0 @@
/**
* @generated SignedSource<<00ec8864c54512b021bdfa0f7b53cd43>>
* @lightSyntaxTransform
* @nogrep
*/
/* tslint:disable */
/* eslint-disable */
// @ts-nocheck
import { ConcreteRequest } from 'relay-runtime';
export type ConsoleLayoutBreadcrumbControlOverviewQuery$variables = {
controlId: string;
};
export type ConsoleLayoutBreadcrumbControlOverviewQuery$data = {
readonly control: {
readonly id: string;
readonly name?: string;
};
};
export type ConsoleLayoutBreadcrumbControlOverviewQuery = {
response: ConsoleLayoutBreadcrumbControlOverviewQuery$data;
variables: ConsoleLayoutBreadcrumbControlOverviewQuery$variables;
};
const node: ConcreteRequest = (function(){
var v0 = [
{
"defaultValue": null,
"kind": "LocalArgument",
"name": "controlId"
}
],
v1 = [
{
"kind": "Variable",
"name": "id",
"variableName": "controlId"
}
],
v2 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v3 = {
"kind": "InlineFragment",
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
}
],
"type": "Control",
"abstractKey": null
};
return {
"fragment": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Fragment",
"metadata": null,
"name": "ConsoleLayoutBreadcrumbControlOverviewQuery",
"selections": [
{
"alias": "control",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
(v2/*: any*/),
(v3/*: any*/)
],
"storageKey": null
}
],
"type": "Query",
"abstractKey": null
},
"kind": "Request",
"operation": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Operation",
"name": "ConsoleLayoutBreadcrumbControlOverviewQuery",
"selections": [
{
"alias": "control",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "__typename",
"storageKey": null
},
(v2/*: any*/),
(v3/*: any*/)
],
"storageKey": null
}
]
},
"params": {
"cacheID": "7ff42b211b319b1a413258ef2242b6e3",
"id": null,
"metadata": {},
"name": "ConsoleLayoutBreadcrumbControlOverviewQuery",
"operationKind": "query",
"text": "query ConsoleLayoutBreadcrumbControlOverviewQuery(\n $controlId: ID!\n) {\n control: node(id: $controlId) {\n __typename\n id\n ... on Control {\n name\n }\n }\n}\n"
}
};
})();
(node as any).hash = "089c9c977bce592f440e3503f62aee3a";
export default node;

View File

@@ -1,127 +0,0 @@
/**
* @generated SignedSource<<1706f11580339ff248a8fa9b53862829>>
* @lightSyntaxTransform
* @nogrep
*/
/* tslint:disable */
/* eslint-disable */
// @ts-nocheck
import { ConcreteRequest } from 'relay-runtime';
export type ConsoleLayoutBreadcrumbFrameworkOverviewQuery$variables = {
frameworkId: string;
};
export type ConsoleLayoutBreadcrumbFrameworkOverviewQuery$data = {
readonly framework: {
readonly id: string;
readonly name?: string;
};
};
export type ConsoleLayoutBreadcrumbFrameworkOverviewQuery = {
response: ConsoleLayoutBreadcrumbFrameworkOverviewQuery$data;
variables: ConsoleLayoutBreadcrumbFrameworkOverviewQuery$variables;
};
const node: ConcreteRequest = (function(){
var v0 = [
{
"defaultValue": null,
"kind": "LocalArgument",
"name": "frameworkId"
}
],
v1 = [
{
"kind": "Variable",
"name": "id",
"variableName": "frameworkId"
}
],
v2 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v3 = {
"kind": "InlineFragment",
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
}
],
"type": "Framework",
"abstractKey": null
};
return {
"fragment": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Fragment",
"metadata": null,
"name": "ConsoleLayoutBreadcrumbFrameworkOverviewQuery",
"selections": [
{
"alias": "framework",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
(v2/*: any*/),
(v3/*: any*/)
],
"storageKey": null
}
],
"type": "Query",
"abstractKey": null
},
"kind": "Request",
"operation": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Operation",
"name": "ConsoleLayoutBreadcrumbFrameworkOverviewQuery",
"selections": [
{
"alias": "framework",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "__typename",
"storageKey": null
},
(v2/*: any*/),
(v3/*: any*/)
],
"storageKey": null
}
]
},
"params": {
"cacheID": "287decd67859fe4c2248b6d6b0a3d56d",
"id": null,
"metadata": {},
"name": "ConsoleLayoutBreadcrumbFrameworkOverviewQuery",
"operationKind": "query",
"text": "query ConsoleLayoutBreadcrumbFrameworkOverviewQuery(\n $frameworkId: ID!\n) {\n framework: node(id: $frameworkId) {\n __typename\n id\n ... on Framework {\n name\n }\n }\n}\n"
}
};
})();
(node as any).hash = "a4c4f857eb13cf154a01f70874f0fd58";
export default node;

View File

@@ -1,127 +0,0 @@
/**
* @generated SignedSource<<6f086aeafe55fd91abdf75b5832f76e8>>
* @lightSyntaxTransform
* @nogrep
*/
/* tslint:disable */
/* eslint-disable */
// @ts-nocheck
import { ConcreteRequest } from 'relay-runtime';
export type ConsoleLayoutBreadcrumbPeopleOverviewQuery$variables = {
peopleId: string;
};
export type ConsoleLayoutBreadcrumbPeopleOverviewQuery$data = {
readonly people: {
readonly fullName?: string;
readonly id: string;
};
};
export type ConsoleLayoutBreadcrumbPeopleOverviewQuery = {
response: ConsoleLayoutBreadcrumbPeopleOverviewQuery$data;
variables: ConsoleLayoutBreadcrumbPeopleOverviewQuery$variables;
};
const node: ConcreteRequest = (function(){
var v0 = [
{
"defaultValue": null,
"kind": "LocalArgument",
"name": "peopleId"
}
],
v1 = [
{
"kind": "Variable",
"name": "id",
"variableName": "peopleId"
}
],
v2 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v3 = {
"kind": "InlineFragment",
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "fullName",
"storageKey": null
}
],
"type": "People",
"abstractKey": null
};
return {
"fragment": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Fragment",
"metadata": null,
"name": "ConsoleLayoutBreadcrumbPeopleOverviewQuery",
"selections": [
{
"alias": "people",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
(v2/*: any*/),
(v3/*: any*/)
],
"storageKey": null
}
],
"type": "Query",
"abstractKey": null
},
"kind": "Request",
"operation": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Operation",
"name": "ConsoleLayoutBreadcrumbPeopleOverviewQuery",
"selections": [
{
"alias": "people",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "__typename",
"storageKey": null
},
(v2/*: any*/),
(v3/*: any*/)
],
"storageKey": null
}
]
},
"params": {
"cacheID": "ae4480910071c40c530fabf42d140afd",
"id": null,
"metadata": {},
"name": "ConsoleLayoutBreadcrumbPeopleOverviewQuery",
"operationKind": "query",
"text": "query ConsoleLayoutBreadcrumbPeopleOverviewQuery(\n $peopleId: ID!\n) {\n people: node(id: $peopleId) {\n __typename\n id\n ... on People {\n fullName\n }\n }\n}\n"
}
};
})();
(node as any).hash = "ffd8d5be8b9b8a930c956c8d292715d8";
export default node;

View File

@@ -1,127 +0,0 @@
/**
* @generated SignedSource<<03812f2d66d34ef3636bc7890059f4cf>>
* @lightSyntaxTransform
* @nogrep
*/
/* tslint:disable */
/* eslint-disable */
// @ts-nocheck
import { ConcreteRequest } from 'relay-runtime';
export type ConsoleLayoutBreadcrumbPolicyOverviewQuery$variables = {
policyId: string;
};
export type ConsoleLayoutBreadcrumbPolicyOverviewQuery$data = {
readonly policy: {
readonly id: string;
readonly name?: string;
};
};
export type ConsoleLayoutBreadcrumbPolicyOverviewQuery = {
response: ConsoleLayoutBreadcrumbPolicyOverviewQuery$data;
variables: ConsoleLayoutBreadcrumbPolicyOverviewQuery$variables;
};
const node: ConcreteRequest = (function(){
var v0 = [
{
"defaultValue": null,
"kind": "LocalArgument",
"name": "policyId"
}
],
v1 = [
{
"kind": "Variable",
"name": "id",
"variableName": "policyId"
}
],
v2 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v3 = {
"kind": "InlineFragment",
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
}
],
"type": "Policy",
"abstractKey": null
};
return {
"fragment": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Fragment",
"metadata": null,
"name": "ConsoleLayoutBreadcrumbPolicyOverviewQuery",
"selections": [
{
"alias": "policy",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
(v2/*: any*/),
(v3/*: any*/)
],
"storageKey": null
}
],
"type": "Query",
"abstractKey": null
},
"kind": "Request",
"operation": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Operation",
"name": "ConsoleLayoutBreadcrumbPolicyOverviewQuery",
"selections": [
{
"alias": "policy",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "__typename",
"storageKey": null
},
(v2/*: any*/),
(v3/*: any*/)
],
"storageKey": null
}
]
},
"params": {
"cacheID": "2c38760f04efaf9b41d6b2abb17c2074",
"id": null,
"metadata": {},
"name": "ConsoleLayoutBreadcrumbPolicyOverviewQuery",
"operationKind": "query",
"text": "query ConsoleLayoutBreadcrumbPolicyOverviewQuery(\n $policyId: ID!\n) {\n policy: node(id: $policyId) {\n __typename\n id\n ... on Policy {\n name\n }\n }\n}\n"
}
};
})();
(node as any).hash = "f2a356a6aa9b98ca13dde3b82e2e868a";
export default node;

View File

@@ -1,127 +0,0 @@
/**
* @generated SignedSource<<266ca8730d2832be4d4c96d325c3e4ab>>
* @lightSyntaxTransform
* @nogrep
*/
/* tslint:disable */
/* eslint-disable */
// @ts-nocheck
import { ConcreteRequest } from 'relay-runtime';
export type ConsoleLayoutBreadcrumbVendorOverviewQuery$variables = {
vendorId: string;
};
export type ConsoleLayoutBreadcrumbVendorOverviewQuery$data = {
readonly vendor: {
readonly id: string;
readonly name?: string;
};
};
export type ConsoleLayoutBreadcrumbVendorOverviewQuery = {
response: ConsoleLayoutBreadcrumbVendorOverviewQuery$data;
variables: ConsoleLayoutBreadcrumbVendorOverviewQuery$variables;
};
const node: ConcreteRequest = (function(){
var v0 = [
{
"defaultValue": null,
"kind": "LocalArgument",
"name": "vendorId"
}
],
v1 = [
{
"kind": "Variable",
"name": "id",
"variableName": "vendorId"
}
],
v2 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"storageKey": null
},
v3 = {
"kind": "InlineFragment",
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
}
],
"type": "Vendor",
"abstractKey": null
};
return {
"fragment": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Fragment",
"metadata": null,
"name": "ConsoleLayoutBreadcrumbVendorOverviewQuery",
"selections": [
{
"alias": "vendor",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
(v2/*: any*/),
(v3/*: any*/)
],
"storageKey": null
}
],
"type": "Query",
"abstractKey": null
},
"kind": "Request",
"operation": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Operation",
"name": "ConsoleLayoutBreadcrumbVendorOverviewQuery",
"selections": [
{
"alias": "vendor",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "__typename",
"storageKey": null
},
(v2/*: any*/),
(v3/*: any*/)
],
"storageKey": null
}
]
},
"params": {
"cacheID": "d0b39b21eec610e1162705b7e2799468",
"id": null,
"metadata": {},
"name": "ConsoleLayoutBreadcrumbVendorOverviewQuery",
"operationKind": "query",
"text": "query ConsoleLayoutBreadcrumbVendorOverviewQuery(\n $vendorId: ID!\n) {\n vendor: node(id: $vendorId) {\n __typename\n id\n ... on Vendor {\n name\n }\n }\n}\n"
}
};
})();
(node as any).hash = "20bb1420f2d13cf7974591da5e6b654f";
export default node;

View File

@@ -1,124 +0,0 @@
/**
* @generated SignedSource<<93800eee21fa3f30cc45da37370359fd>>
* @lightSyntaxTransform
* @nogrep
*/
/* tslint:disable */
/* eslint-disable */
// @ts-nocheck
import { ConcreteRequest } from 'relay-runtime';
export type ConsoleLayoutOrganizationQuery$variables = {
organizationId: string;
};
export type ConsoleLayoutOrganizationQuery$data = {
readonly organization: {
readonly name?: string;
};
};
export type ConsoleLayoutOrganizationQuery = {
response: ConsoleLayoutOrganizationQuery$data;
variables: ConsoleLayoutOrganizationQuery$variables;
};
const node: ConcreteRequest = (function(){
var v0 = [
{
"defaultValue": null,
"kind": "LocalArgument",
"name": "organizationId"
}
],
v1 = [
{
"kind": "Variable",
"name": "id",
"variableName": "organizationId"
}
],
v2 = {
"kind": "InlineFragment",
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
}
],
"type": "Organization",
"abstractKey": null
};
return {
"fragment": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Fragment",
"metadata": null,
"name": "ConsoleLayoutOrganizationQuery",
"selections": [
{
"alias": "organization",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
(v2/*: any*/)
],
"storageKey": null
}
],
"type": "Query",
"abstractKey": null
},
"kind": "Request",
"operation": {
"argumentDefinitions": (v0/*: any*/),
"kind": "Operation",
"name": "ConsoleLayoutOrganizationQuery",
"selections": [
{
"alias": "organization",
"args": (v1/*: any*/),
"concreteType": null,
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "__typename",
"storageKey": null
},
(v2/*: any*/),
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"storageKey": null
}
],
"storageKey": null
}
]
},
"params": {
"cacheID": "e275faa366380b1b423251e6a06ab743",
"id": null,
"metadata": {},
"name": "ConsoleLayoutOrganizationQuery",
"operationKind": "query",
"text": "query ConsoleLayoutOrganizationQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n ... on Organization {\n name\n }\n id\n }\n}\n"
}
};
})();
(node as any).hash = "3310c40eb8f1e3874139c934fb08cbb1";
export default node;