Skip to content
This repository has been archived by the owner on Nov 1, 2024. It is now read-only.

Commit

Permalink
try reduce traffic
Browse files Browse the repository at this point in the history
  • Loading branch information
MengZhuNAV committed Nov 21, 2023
1 parent 840229f commit 55ef7ca
Show file tree
Hide file tree
Showing 28 changed files with 267 additions and 393 deletions.
6 changes: 3 additions & 3 deletions components/dataproducts/accessRequest/newAccessRequest.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {
NewAccessRequest,
useCreateAccessRequestMutation,
useDataproductQuery,
useDataproductSummaryQuery,
} from '../../../lib/schema/graphql'
import { useState } from 'react'
import AccessRequestForm from './accessRequestForm'
Expand All @@ -21,7 +21,7 @@ const NewAccessRequestForm = ({ dataset, setModal }: NewAccessRequestFormProps)
const [error, setError] = useState<Error | null>(null)
const router = useRouter()

const dp = useDataproductQuery({
const dp = useDataproductSummaryQuery({
variables: {
id: dataset.dataproductID,
},
Expand All @@ -41,7 +41,7 @@ const NewAccessRequestForm = ({ dataset, setModal }: NewAccessRequestFormProps)
},
refetchQueries: ['userInfoBasics'],
}).then(() => {
router.push(`/dataproduct/${dp?.data?.dataproduct.id}/${dataset.id}`)
router.push(`/dataproduct/${dp?.data?.dataproductSummary.id}/${dataset.id}`)
})
}

Expand Down
4 changes: 2 additions & 2 deletions components/dataproducts/dataproductSidebar.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import humanizeDate from '../../lib/humanizeDate'
import * as React from 'react'
import { ExternalLink } from '@navikt/ds-icons'
import { DataproductQuery } from '../../lib/schema/graphql'
import { DataproductSummaryQuery } from '../../lib/schema/graphql'
import { useRouter } from 'next/router'
import { Alert, Link } from '@navikt/ds-react'
import { Subject, SubjectHeader } from '../subject'
import { isEmail } from '../../lib/validators'

interface DataproductDetailProps {
product: DataproductQuery['dataproduct']
product: DataproductSummaryQuery['dataproductSummary']
isOwner: boolean
menuItems: Array<{
title: string
Expand Down
33 changes: 22 additions & 11 deletions components/dataproducts/dataset/dataset.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
import { isAfter, parseISO } from 'date-fns'
import {
DataproductQuery,
DataproductSummaryQuery,
DatasetQuery,
UserInfoBasicsQuery,
useDatasetQuery,
} from '../../../lib/schema/graphql'
import * as React from 'react'
import { useState } from 'react'
import EditDataset from './editDataset'
import ViewDataset from './viewDataset'
import LoaderSpinner from '../../lib/spinner'
import { Alert } from '@navikt/ds-react'

const findAccessType = (
groups: UserInfoBasicsQuery['userInfo']['groups'] | undefined,
dataset: DatasetQuery['dataset'],
groups: UserInfoBasicsQuery['userInfoBasics']['groups'] | undefined,
dataset: DatasetQuery['dataset'] | undefined,
isOwner: boolean
) => {
if (!groups) return { type: 'utlogget' }
if (isOwner) return { type: 'owner' }
const activeAccess = dataset.access.filter(
const activeAccess = dataset?.access.filter(
(a) =>
!a.revoked && (!a.expires || isAfter(parseISO(a.expires), Date.now()))
)[0]
Expand All @@ -25,19 +28,27 @@ const findAccessType = (
}

interface EntryProps {
dataproduct: DataproductQuery['dataproduct']
dataset: DatasetQuery['dataset']
userInfo: UserInfoBasicsQuery['userInfo'] | undefined
dataproduct: DataproductSummaryQuery['dataproductSummary']
datasetID: string
userInfo: UserInfoBasicsQuery['userInfoBasics'] | undefined
isOwner: boolean
}

const Dataset = ({ dataset, userInfo, isOwner, dataproduct }: EntryProps) => {
const accessType = findAccessType(userInfo?.groups, dataset, isOwner)
const Dataset = ({ datasetID, userInfo, isOwner, dataproduct }: EntryProps) => {
const { data, loading, error } = useDatasetQuery({
variables: { id: datasetID, rawDesc: true },
fetchPolicy: "network-only"
})

const dataset = data?.dataset
const accessType = findAccessType(userInfo?.groups, data?.dataset, isOwner)
const [edit, setEdit] = useState(false)

return (
<>
{edit ? (
{loading && <LoaderSpinner></LoaderSpinner>}
{error && <Alert variant='error'>{error.message}</Alert>}
{dataset ? edit ? (
<EditDataset datasetID={dataset.id} setEdit={setEdit} />
) : (
<ViewDataset
Expand All @@ -48,7 +59,7 @@ const Dataset = ({ dataset, userInfo, isOwner, dataproduct }: EntryProps) => {
isOwner={isOwner}
setEdit={setEdit}
/>
)}
): <div></div>}
</>
)
}
Expand Down
8 changes: 4 additions & 4 deletions components/dataproducts/dataset/datasetOwnerMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@ import { Button } from '@navikt/ds-react'
import { Dropdown } from '@navikt/ds-react-internal'
import { useRouter } from 'next/router'
import { useState } from 'react'
import { GET_DATAPRODUCT } from '../../../lib/queries/dataproduct/dataproduct'
import {
DataproductQuery,
useDeleteDatasetMutation,
useUpdateDatasetMutation,
DatasetQuery,
DataproductSummaryQuery,
} from '../../../lib/schema/graphql'
import DeleteModal from '../../lib/deleteModal'
import MoveModal from '../../lib/MoveModal'
import { GET_DATAPRODUCT_SUMMARY } from '../../../lib/queries/dataproduct/dataproductSummary'

interface IDatasetOwnerMenuProps {
dataset: DatasetQuery['dataset']
dataproduct: DataproductQuery['dataproduct']
dataproduct: DataproductSummaryQuery['dataproductSummary']
setEdit: (value: boolean) => void
}

Expand All @@ -35,7 +35,7 @@ const DatasetOwnerMenu = ({
awaitRefetchQueries: true,
refetchQueries: [
{
query: GET_DATAPRODUCT,
query: GET_DATAPRODUCT_SUMMARY,
variables: {
id: dataproduct?.id,
},
Expand Down
4 changes: 2 additions & 2 deletions components/dataproducts/dataset/editDatasetForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ import {
} from '../../../lib/schema/graphql'
import { GET_DATASET } from '../../../lib/queries/dataset/dataset'
import DescriptionEditor from '../../lib/DescriptionEditor'
import { GET_DATAPRODUCT } from '../../../lib/queries/dataproduct/dataproduct'
import TagsSelector from '../../lib/tagsSelector';
import { useColumnTags } from './useColumnTags';
import AnnotateDatasetTable from './annotateDatasetTable';
import {Personopplysninger} from "./helptext";
import { GET_DATAPRODUCT_SUMMARY } from '../../../lib/queries/dataproduct/dataproductSummary';

interface EditDatasetFormProps {
dataset: DatasetQuery["dataset"]
Expand Down Expand Up @@ -144,7 +144,7 @@ const EditDatasetForm = ({ dataset, setEdit }: EditDatasetFormProps) => {
},
},
{
query: GET_DATAPRODUCT,
query: GET_DATAPRODUCT_SUMMARY,
variables: {
id: dataset.dataproductID,
},
Expand Down
12 changes: 6 additions & 6 deletions components/dataproducts/dataset/newDatasetForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { useRouter } from 'next/router'
import { Controller, FieldValues, useForm } from 'react-hook-form'
import * as yup from 'yup'
import { CREATE_DATASET } from '../../../lib/queries/dataset/createDataset'
import { DataproductQuery, PiiLevel } from '../../../lib/schema/graphql'
import { DataproductSummaryQuery, PiiLevel } from '../../../lib/schema/graphql'
import DescriptionEditor from '../../lib/DescriptionEditor'
import TagsSelector from '../../lib/tagsSelector'
import AnnotateDatasetTable from './annotateDatasetTable'
Expand All @@ -16,7 +16,7 @@ import { PiiForm } from './piiForm'
import { useState } from 'react'

interface NewDatasetFormProps {
dataproduct: DataproductQuery
dataproduct: DataproductSummaryQuery
}

const defaultValues: FieldValues = {
Expand Down Expand Up @@ -88,7 +88,7 @@ const NewDatasetForm = ({ dataproduct }: NewDatasetFormProps) => {
}

const keywords = watch('keywords')
const team = dataproduct.dataproduct.owner.group
const team = dataproduct.dataproductSummary.owner.group

const onAddKeyword = (keyword: string) => {
keywords
Expand All @@ -101,13 +101,13 @@ const NewDatasetForm = ({ dataproduct }: NewDatasetFormProps) => {
{
onCompleted: (data) =>
router.push(
`/dataproduct/${dataproduct.dataproduct.id}/${dataproduct.dataproduct.slug}/${data.createDataset.id}`
`/dataproduct/${dataproduct.dataproductSummary.id}/${dataproduct.dataproductSummary.slug}/${data.createDataset.id}`
),
}
)

const onSubmitForm = async (requestData: any) => {
requestData.dataproductID = dataproduct.dataproduct.id
requestData.dataproductID = dataproduct.dataproductSummary.id
requestData.bigquery.piiTags = JSON.stringify(Object.fromEntries(tags || new Map<string, string>()))
const pii = requestData.pii === "sensitive"
? PiiLevel.Sensitive
Expand Down Expand Up @@ -209,7 +209,7 @@ const NewDatasetForm = ({ dataproduct }: NewDatasetFormProps) => {
variant="secondary"
onClick={() => {
router.push(
`/dataproduct/${dataproduct.dataproduct.id}/${dataproduct.dataproduct.slug}/info`
`/dataproduct/${dataproduct.dataproductSummary.id}/${dataproduct.dataproductSummary.slug}/info`
)
}}
>
Expand Down
6 changes: 3 additions & 3 deletions components/dataproducts/dataset/viewDataset.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { useState } from 'react'
import ReactMarkdown from 'react-markdown'
import remarkGfm from 'remark-gfm'
import {
DataproductQuery,
DataproductSummaryQuery,
DatasetQuery,
PiiLevel,
UserInfoBasicsQuery,
Expand All @@ -23,12 +23,12 @@ import { Personopplysninger } from './helptext'

interface ViewDatasetProps {
dataset: DatasetQuery['dataset']
dataproduct: DataproductQuery['dataproduct']
dataproduct: DataproductSummaryQuery['dataproductSummary']
accessType: {
type: string
expires?: any
}
userInfo: UserInfoBasicsQuery['userInfo'] | undefined
userInfo: UserInfoBasicsQuery['userInfoBasics'] | undefined
isOwner: boolean
setEdit: (value: boolean) => void
}
Expand Down
8 changes: 4 additions & 4 deletions components/dataproducts/editDataproduct.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@ import { yupResolver } from '@hookform/resolvers/yup';
import { useState } from 'react'
import TeamkatalogenSelector from '../lib/teamkatalogenSelector'
import {
DataproductQuery,
DataproductSummaryQuery,
UpdateDataproduct,
useUpdateDataproductMutation,
} from '../../lib/schema/graphql'
import DescriptionEditor from '../lib/DescriptionEditor'
import { useRouter } from 'next/router'
import { GET_DATAPRODUCT } from '../../lib/queries/dataproduct/dataproduct'
import { ContactInput } from './contactInput';
import { GET_DATAPRODUCT_SUMMARY } from '../../lib/queries/dataproduct/dataproductSummary';

interface EditDatacollectionFormProps {
product: DataproductQuery['dataproduct']
product: DataproductSummaryQuery['dataproductSummary']
}

const EditDataproduct = ({ product }: EditDatacollectionFormProps) => {
Expand Down Expand Up @@ -45,7 +45,7 @@ const EditDataproduct = ({ product }: EditDatacollectionFormProps) => {
awaitRefetchQueries: true,
refetchQueries: [
{
query: GET_DATAPRODUCT,
query: GET_DATAPRODUCT_SUMMARY,
variables: {
id: product.id,
},
Expand Down
10 changes: 2 additions & 8 deletions components/dataproducts/explore.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import {
MappingService,
useDataproductQuery,
useUpdateMappingMutation,
} from '../../lib/schema/graphql'
import ExploreLink, { ItemType } from './exploreLink'
import { useState } from 'react'
import ErrorMessage from '../lib/error'
import { DatasetQuery } from '../../lib/schema/datasetQuery'
import { GET_DATAPRODUCT } from '../../lib/queries/dataproduct/dataproduct'
import { GET_DATAPRODUCT_SUMMARY } from '../../lib/queries/dataproduct/dataproductSummary'

interface ExploreProps {
dataproductId: string
Expand All @@ -18,11 +17,6 @@ interface ExploreProps {
const Explore = ({ dataproductId, dataset, isOwner }: ExploreProps) => {
const [formError, setFormError] = useState(undefined)
const [updateMapping] = useUpdateMappingMutation()
useDataproductQuery({
variables: { id: dataproductId },
ssr: true,
pollInterval: 30_000,
})

const addToMetabase = async () => {
try {
Expand All @@ -33,7 +27,7 @@ const Explore = ({ dataproductId, dataset, isOwner }: ExploreProps) => {
},
refetchQueries: [
{
query: GET_DATAPRODUCT,
query: GET_DATAPRODUCT_SUMMARY,
variables: {
id: dataproductId,
},
Expand Down
4 changes: 2 additions & 2 deletions components/insightProducts/editInsightProduct.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import TagsSelector from '../lib/tagsSelector'
import { UserState } from "../../lib/context";
import { UPDATE_INSIGHT_PRODUCT_METADATA } from '../../lib/queries/insightProducts/editInsightProduct'
import { useUpdateInsightProductMetadataMutation } from '../../lib/schema/graphql'
import { USER_INFO } from '../../lib/queries/userInfo/userInfo'
import { USER_INFO_BASICS } from '../../lib/queries/userInfo/userInfoBasics'

const schema = yup.object().shape({
name: yup.string().nullable().required('Skriv inn navnet på innsiktsproduktet'),
Expand Down Expand Up @@ -112,7 +112,7 @@ export const EditInsightProductMetadataForm = ({ id, name, description, type, li
},
refetchQueries: [
{
query: USER_INFO,
query: USER_INFO_BASICS,
}]
}

Expand Down
4 changes: 2 additions & 2 deletions components/lib/detailTypography.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import remarkGfm from 'remark-gfm'
import TagPill from './tagPill'
import { Accordion, Heading, Link, Button, Alert } from '@navikt/ds-react'
import { useRouter } from 'next/router'
import { DataproductQuery } from '../../lib/schema/graphql'
import { DataproductSummaryQuery } from '../../lib/schema/graphql'

export const Description = ({
dataproduct
}: {
dataproduct: DataproductQuery['dataproduct']
dataproduct: DataproductSummaryQuery['dataproductSummary']
}) => {
const router = useRouter()
const handleChange = (newSlug: string) => {
Expand Down
4 changes: 2 additions & 2 deletions components/search/resultList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import { Tabs } from '@navikt/ds-react'
import React, { useContext, useEffect, useState } from 'react'
import { SearchParam } from '../../pages/search'
import { useRouter } from 'next/router'
import { USER_INFO } from '../../lib/queries/userInfo/userInfo'
import { UserState } from '../../lib/context'
import { USER_INFO_BASICS } from '../../lib/queries/userInfo/userInfoBasics'

const Results = ({ children }: { children: React.ReactNode }) => (
<div className="results">{children}</div>
Expand Down Expand Up @@ -103,7 +103,7 @@ const ResultList = ({
},
refetchQueries:[
{
query: USER_INFO,
query: USER_INFO_BASICS,
}
]
})
Expand Down
4 changes: 2 additions & 2 deletions components/search/searchResultLink.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import humanizeDate from '../../lib/humanizeDate'
import DeleteModal from '../lib/deleteModal'
import { useState } from 'react'
import { useRouter } from 'next/router'
import { USER_INFO } from '../../lib/queries/userInfo/userInfo'
import { GET_PRODUCT_AREAS } from '../../lib/queries/productAreas/productAreas'
import { USER_INFO_BASICS } from '../../lib/queries/userInfo/userInfoBasics'

export interface SearchResultProps {
resourceType?: string
Expand Down Expand Up @@ -79,7 +79,7 @@ export const SearchResultLink = ({
query: GET_PRODUCT_AREAS,
},
{
query: USER_INFO,
query: USER_INFO_BASICS,
}
]
})
Expand Down
Loading

0 comments on commit 55ef7ca

Please sign in to comment.