Skip to content

Commit

Permalink
Update packages
Browse files Browse the repository at this point in the history
  • Loading branch information
Stefwint committed Oct 21, 2024
1 parent 8e96044 commit e4001bf
Show file tree
Hide file tree
Showing 6 changed files with 158 additions and 91 deletions.
32 changes: 16 additions & 16 deletions src/api/fetchers.msw.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18771,6 +18771,21 @@ export const getPublicationVersionsVersionUuidAttachmentsPostMockHandler = (
)
}

export const getPublicationVersionsVersionUuidPdfExportPostMockHandler = () => {
return http.post(
'*/publication-versions/:versionUuid/pdf_export',
async () => {
await delay(1000)
return new HttpResponse(null, {
status: 200,
headers: {
'Content-Type': 'application/json',
},
})
}
)
}

export const getPublicationVersionsVersionUuidPackagesPostMockHandler = (
overrideResponse?:
| PublicationPackageCreatedResponse
Expand Down Expand Up @@ -18803,21 +18818,6 @@ export const getPublicationVersionsVersionUuidPackagesPostMockHandler = (
)
}

export const getPublicationVersionsVersionUuidPdfExportPostMockHandler = () => {
return http.post(
'*/publication-versions/:versionUuid/pdf_export',
async () => {
await delay(1000)
return new HttpResponse(null, {
status: 200,
headers: {
'Content-Type': 'application/json',
},
})
}
)
}

export const getPublicationActPackagesGetMockHandler = (
overrideResponse?:
| PagedResponsePublicationPackage
Expand Down Expand Up @@ -19605,8 +19605,8 @@ export const getOmgevingsbeleidAPIMock = () => [
getPublicationVersionsVersionUuidGetMockHandler(),
getPublicationVersionsVersionUuidPostMockHandler(),
getPublicationVersionsVersionUuidAttachmentsPostMockHandler(),
getPublicationVersionsVersionUuidPackagesPostMockHandler(),
getPublicationVersionsVersionUuidPdfExportPostMockHandler(),
getPublicationVersionsVersionUuidPackagesPostMockHandler(),
getPublicationActPackagesGetMockHandler(),
getPublicationActPackagesActPackageUuidDownloadGetMockHandler(),
getPublicationActPackagesActPackageUuidReportPostMockHandler(),
Expand Down
1 change: 1 addition & 0 deletions src/api/fetchers.schemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3799,6 +3799,7 @@ export interface ActCreate {
Document_Type: DocumentType
Environment_UUID: string
Title: string
Work_Other?: string
}

export interface AcknowledgedRelationSide {
Expand Down
104 changes: 52 additions & 52 deletions src/api/fetchers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19423,159 +19423,159 @@ export const usePublicationVersionsVersionUuidAttachmentsPost = <
}

/**
* @summary Create new Publication Act Package
* @summary Download Publication Version as Pdf
*/
export const publicationVersionsVersionUuidPackagesPost = (
export const publicationVersionsVersionUuidPdfExportPost = (
versionUuid: string,
publicationPackageCreate: PublicationPackageCreate
publicationPackagePdf: PublicationPackagePdf
) => {
return customInstance<PublicationPackageCreatedResponse>({
url: `/publication-versions/${versionUuid}/packages`,
return customInstance<unknown>({
url: `/publication-versions/${versionUuid}/pdf_export`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: publicationPackageCreate,
data: publicationPackagePdf,
})
}

export const getPublicationVersionsVersionUuidPackagesPostMutationOptions = <
export const getPublicationVersionsVersionUuidPdfExportPostMutationOptions = <
TError = HTTPValidationError,
TContext = unknown
>(options?: {
mutation?: UseMutationOptions<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>,
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>,
TError,
{ versionUuid: string; data: PublicationPackageCreate },
{ versionUuid: string; data: PublicationPackagePdf },
TContext
>
}): UseMutationOptions<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>,
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>,
TError,
{ versionUuid: string; data: PublicationPackageCreate },
{ versionUuid: string; data: PublicationPackagePdf },
TContext
> => {
const { mutation: mutationOptions } = options ?? {}

const mutationFn: MutationFunction<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>,
{ versionUuid: string; data: PublicationPackageCreate }
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>,
{ versionUuid: string; data: PublicationPackagePdf }
> = props => {
const { versionUuid, data } = props ?? {}

return publicationVersionsVersionUuidPackagesPost(versionUuid, data)
return publicationVersionsVersionUuidPdfExportPost(versionUuid, data)
}

return { mutationFn, ...mutationOptions }
}

export type PublicationVersionsVersionUuidPackagesPostMutationResult =
export type PublicationVersionsVersionUuidPdfExportPostMutationResult =
NonNullable<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>
>
export type PublicationVersionsVersionUuidPackagesPostMutationBody =
PublicationPackageCreate
export type PublicationVersionsVersionUuidPackagesPostMutationError =
export type PublicationVersionsVersionUuidPdfExportPostMutationBody =
PublicationPackagePdf
export type PublicationVersionsVersionUuidPdfExportPostMutationError =
HTTPValidationError

/**
* @summary Create new Publication Act Package
* @summary Download Publication Version as Pdf
*/
export const usePublicationVersionsVersionUuidPackagesPost = <
export const usePublicationVersionsVersionUuidPdfExportPost = <
TError = HTTPValidationError,
TContext = unknown
>(options?: {
mutation?: UseMutationOptions<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>,
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>,
TError,
{ versionUuid: string; data: PublicationPackageCreate },
{ versionUuid: string; data: PublicationPackagePdf },
TContext
>
}): UseMutationResult<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>,
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>,
TError,
{ versionUuid: string; data: PublicationPackageCreate },
{ versionUuid: string; data: PublicationPackagePdf },
TContext
> => {
const mutationOptions =
getPublicationVersionsVersionUuidPackagesPostMutationOptions(options)
getPublicationVersionsVersionUuidPdfExportPostMutationOptions(options)

return useMutation(mutationOptions)
}

/**
* @summary Download Publication Act as Pdf
* @summary Create new Publication Act Package
*/
export const publicationVersionsVersionUuidPdfExportPost = (
export const publicationVersionsVersionUuidPackagesPost = (
versionUuid: string,
publicationPackagePdf: PublicationPackagePdf
publicationPackageCreate: PublicationPackageCreate
) => {
return customInstance<unknown>({
url: `/publication-versions/${versionUuid}/pdf_export`,
return customInstance<PublicationPackageCreatedResponse>({
url: `/publication-versions/${versionUuid}/packages`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: publicationPackagePdf,
data: publicationPackageCreate,
})
}

export const getPublicationVersionsVersionUuidPdfExportPostMutationOptions = <
export const getPublicationVersionsVersionUuidPackagesPostMutationOptions = <
TError = HTTPValidationError,
TContext = unknown
>(options?: {
mutation?: UseMutationOptions<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>,
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>,
TError,
{ versionUuid: string; data: PublicationPackagePdf },
{ versionUuid: string; data: PublicationPackageCreate },
TContext
>
}): UseMutationOptions<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>,
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>,
TError,
{ versionUuid: string; data: PublicationPackagePdf },
{ versionUuid: string; data: PublicationPackageCreate },
TContext
> => {
const { mutation: mutationOptions } = options ?? {}

const mutationFn: MutationFunction<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>,
{ versionUuid: string; data: PublicationPackagePdf }
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>,
{ versionUuid: string; data: PublicationPackageCreate }
> = props => {
const { versionUuid, data } = props ?? {}

return publicationVersionsVersionUuidPdfExportPost(versionUuid, data)
return publicationVersionsVersionUuidPackagesPost(versionUuid, data)
}

return { mutationFn, ...mutationOptions }
}

export type PublicationVersionsVersionUuidPdfExportPostMutationResult =
export type PublicationVersionsVersionUuidPackagesPostMutationResult =
NonNullable<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>
>
export type PublicationVersionsVersionUuidPdfExportPostMutationBody =
PublicationPackagePdf
export type PublicationVersionsVersionUuidPdfExportPostMutationError =
export type PublicationVersionsVersionUuidPackagesPostMutationBody =
PublicationPackageCreate
export type PublicationVersionsVersionUuidPackagesPostMutationError =
HTTPValidationError

/**
* @summary Download Publication Act as Pdf
* @summary Create new Publication Act Package
*/
export const usePublicationVersionsVersionUuidPdfExportPost = <
export const usePublicationVersionsVersionUuidPackagesPost = <
TError = HTTPValidationError,
TContext = unknown
>(options?: {
mutation?: UseMutationOptions<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>,
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>,
TError,
{ versionUuid: string; data: PublicationPackagePdf },
{ versionUuid: string; data: PublicationPackageCreate },
TContext
>
}): UseMutationResult<
Awaited<ReturnType<typeof publicationVersionsVersionUuidPdfExportPost>>,
Awaited<ReturnType<typeof publicationVersionsVersionUuidPackagesPost>>,
TError,
{ versionUuid: string; data: PublicationPackagePdf },
{ versionUuid: string; data: PublicationPackageCreate },
TContext
> => {
const mutationOptions =
getPublicationVersionsVersionUuidPdfExportPostMutationOptions(options)
getPublicationVersionsVersionUuidPackagesPostMutationOptions(options)

return useMutation(mutationOptions)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,34 @@
import {
Badge,
Button,
File,
formatBytes,
formatDate,
FormikFileUpload,
Text,
} from '@pzh-ui/components'
import { TrashCan } from '@pzh-ui/icons'
import { useQueryClient } from '@tanstack/react-query'
import { Form, Formik, FormikHelpers, FormikProps } from 'formik'
import { useMemo } from 'react'

import {
getPublicationActReportsGetQueryKey,
getPublicationAnnouncementReportsGetQueryKey,
usePublicationActReportsGet,
usePublicationAnnouncementReportsGet,
} from '@/api/fetchers'
import { LoaderSpinner } from '@/components/Loader'
import Modal from '@/components/Modal'
import { useActions } from '@/components/Publications/PublicationPackages/components/actions'
import { getStatus } from '@/components/Publications/PublicationPackages/components/utils'
import useModalStore from '@/store/modalStore'

import { ModalStateMap } from '../../types'

const PublicationPackageReportUploadModal = () => {
const queryClient = useQueryClient()

const setActiveModal = useModalStore(state => state.setActiveModal)
const modalState = useModalStore(
state => state.modalStates['publicationPackageReportUpload']
Expand All @@ -39,7 +47,13 @@ const PublicationPackageReportUploadModal = () => {
data: payload,
})
.then(() => {
helpers.setSubmitting(false)
queryClient.invalidateQueries({
queryKey:
modalState.publicationType === 'act'
? getPublicationActReportsGetQueryKey()
: getPublicationAnnouncementReportsGetQueryKey(),
})
helpers.resetForm()
})
}

Expand Down Expand Up @@ -96,8 +110,6 @@ const InnerForm = <TData extends { uploaded_files: File[] }>({
const reports =
modalState.publicationType === 'act' ? actReports : announcementReports

console.log(reports)

const removeFile = (file: File) => () => {
const newFiles = [...values.uploaded_files]
newFiles.splice(newFiles.indexOf(file), 1)
Expand Down Expand Up @@ -173,6 +185,54 @@ const InnerForm = <TData extends { uploaded_files: File[] }>({
</Button>
</div>
)}
{!!reports?.results.length && (
<div className="mt-6 rounded border border-pzh-gray-300 p-4">
<Text bold color="text-pzh-blue-500 mb-2">
Laatst geüploade rapporten
</Text>
<ul className="flex flex-col gap-2">
{reports.results.map(file => {
const status = getStatus(file.Report_Status)

return (
<li
key={file.UUID}
className="pzh-form-input overflow-hidden border-pzh-gray-200">
<div className="flex items-center justify-between gap-2 px-4">
<Text
bold
color="text-pzh-blue-500"
className="truncate">
{file.Filename}
</Text>
<div className="flex items-center gap-4">
<Text
as="span"
size="s"
color="text-pzh-gray-600"
className="whitespace-nowrap">
{formatDate(
new Date(
file.Created_Date + 'Z'
),
"dd-MM-yyyy 'om' kk:mm"
)}
</Text>
{status && (
<Badge
className="-mt-1"
upperCase={false}
{...status}
/>
)}
</div>
</div>
</li>
)
})}
</ul>
</div>
)}
</Form>
)
}
Expand Down
Loading

0 comments on commit e4001bf

Please sign in to comment.