diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f62f41d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# IDE +.idea \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..c68b9ec --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,2 @@ +cd ./cms && yarn config-sync export -y +cd ../client && yarn types && yarn lint --fix && yarn check-types && git add src/types/generated/ \ No newline at end of file diff --git a/client/.eslintignore b/client/.eslintignore index d85a799..f458037 100644 --- a/client/.eslintignore +++ b/client/.eslintignore @@ -1,3 +1,4 @@ /.next /node_modules -/public \ No newline at end of file +/public +/src/types/generated/ \ No newline at end of file diff --git a/client/.eslintrc.json b/client/.eslintrc.json index efff856..0d77ef9 100644 --- a/client/.eslintrc.json +++ b/client/.eslintrc.json @@ -3,6 +3,7 @@ "next/core-web-vitals", "plugin:prettier/recommended", "plugin:@typescript-eslint/recommended", + "plugin:@tanstack/query/recommended", "plugin:import/recommended", "plugin:import/typescript" ], diff --git a/client/.gitignore b/client/.gitignore index fd3dbb5..24c756b 100644 --- a/client/.gitignore +++ b/client/.gitignore @@ -34,3 +34,6 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts + +# IDE +.idea diff --git a/client/package.json b/client/package.json index 3736928..91cd124 100644 --- a/client/package.json +++ b/client/package.json @@ -3,10 +3,13 @@ "version": "0.1.0", "private": true, "scripts": { + "prepare": "cd .. && husky", "dev": "next dev", "build": "next build", "start": "next start", - "lint": "next lint" + "lint": "next lint", + "types": "orval --config ./src/orval.config.ts", + "check-types": "tsc" }, "dependencies": { "@artsy/fresnel": "7.1.4", @@ -18,7 +21,9 @@ "@radix-ui/react-slot": "1.1.0", "@radix-ui/react-tooltip": "1.1.3", "@t3-oss/env-nextjs": "0.11.1", + "@tanstack/react-query": "5.59.16", "@types/mapbox-gl": "3.4.0", + "axios": "1.7.7", "class-variance-authority": "0.7.0", "clsx": "2.1.1", "express": "4.21.1", @@ -36,6 +41,7 @@ }, "devDependencies": { "@svgr/webpack": "8.1.0", + "@tanstack/eslint-plugin-query": "5.59.7", "@types/node": "22.7.6", "@types/react": "18.3.1", "@types/react-dom": "18.3.1", @@ -47,7 +53,10 @@ "eslint-import-resolver-typescript": "3.6.3", "eslint-plugin-import": "2.31.0", "eslint-plugin-prettier": "5.2.1", + "husky": "9.1.6", "jiti": "1.21.6", + "orval": "7.2.0", + "pinst": "3.0.0", "postcss": "^8", "prettier": "3.3.3", "prettier-plugin-tailwindcss": "0.6.8", diff --git a/client/src/app/layout.tsx b/client/src/app/layout.tsx index 7f7934d..5910464 100644 --- a/client/src/app/layout.tsx +++ b/client/src/app/layout.tsx @@ -1,6 +1,7 @@ import { Jost, DM_Serif_Text } from "next/font/google"; import { NuqsAdapter } from "nuqs/adapters/next/app"; +import ReactQueryProvider from "@/app/react-query-provider"; import Head from "@/components/head"; import type { Metadata } from "next"; @@ -37,7 +38,9 @@ export default function RootLayout({ - {children} + + {children} + ); diff --git a/client/src/app/react-query-provider.tsx b/client/src/app/react-query-provider.tsx new file mode 100644 index 0000000..018c5e9 --- /dev/null +++ b/client/src/app/react-query-provider.tsx @@ -0,0 +1,43 @@ +"use client"; + +// Since QueryClientProvider relies on useContext under the hood, we have to put 'use client' on top +import { isServer, QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { PropsWithChildren } from "react"; + +function makeQueryClient() { + return new QueryClient({ + defaultOptions: { + queries: { + // With SSR, we usually want to set some default staleTime + // above 0 to avoid refetching immediately on the client + staleTime: 60 * 1000, + }, + }, + }); +} + +let browserQueryClient: QueryClient | undefined = undefined; + +function getQueryClient() { + if (isServer) { + // Server: always make a new query client + return makeQueryClient(); + } else { + // Browser: make a new query client if we don't already have one + // This is very important, so we don't re-make a new client if React + // suspends during the initial render. This may not be needed if we + // have a suspense boundary BELOW the creation of the query client + if (!browserQueryClient) browserQueryClient = makeQueryClient(); + return browserQueryClient; + } +} + +export default function ReactQueryProvider({ children }: PropsWithChildren) { + // NOTE: Avoid useState when initializing the query client if you don't + // have a suspense boundary between this and the code that may + // suspend because React will throw away the client on the initial + // render if it suspends and there is no boundary + const queryClient = getQueryClient(); + + return {children}; +} diff --git a/client/src/components/map/controls/contextual-layers.tsx b/client/src/components/map/controls/contextual-layers.tsx new file mode 100644 index 0000000..0f5f9a5 --- /dev/null +++ b/client/src/components/map/controls/contextual-layers.tsx @@ -0,0 +1,26 @@ +import ContextualLayersPanel from "@/components/panels/contextual-layers"; +import { Button } from "@/components/ui/button"; +import { Sheet, SheetContent, SheetTrigger } from "@/components/ui/sheet"; +import LayersIcon from "@/svgs/layers.svg"; + +const ContextualLayersControls = () => { + return ( + + + + + + + + + ); +}; + +export default ContextualLayersControls; diff --git a/client/src/components/map/controls/index.tsx b/client/src/components/map/controls/index.tsx index 96a0091..fa77efe 100644 --- a/client/src/components/map/controls/index.tsx +++ b/client/src/components/map/controls/index.tsx @@ -1,12 +1,18 @@ +import ContextualLayersControls from "./contextual-layers"; import MapSettingsControls from "./map-settings"; import ZoomControls from "./zoom"; const Controls = () => { return ( -
- - -
+ <> +
+ +
+
+ + +
+ ); }; diff --git a/client/src/components/map/controls/zoom.tsx b/client/src/components/map/controls/zoom.tsx index e0e2745..924ac07 100644 --- a/client/src/components/map/controls/zoom.tsx +++ b/client/src/components/map/controls/zoom.tsx @@ -12,24 +12,12 @@ const ZoomControls = () => { const onClickZoomOut = useCallback(() => map?.zoomOut(), [map]); return ( -
- - diff --git a/client/src/components/panels/contextual-layers/index.tsx b/client/src/components/panels/contextual-layers/index.tsx new file mode 100644 index 0000000..4dab797 --- /dev/null +++ b/client/src/components/panels/contextual-layers/index.tsx @@ -0,0 +1,81 @@ +"use client"; + +import { Button, buttonVariants } from "@/components/ui/button"; +import { SheetClose, SheetHeader, SheetTitle } from "@/components/ui/sheet"; +import { Skeleton } from "@/components/ui/skeleton"; +import useDatasetsBySubTopic from "@/hooks/use-datasets-by-sub-topic"; +import XMarkIcon from "@/svgs/xmark.svg"; + +import Item from "./item"; + +const ContextualLayersPanel = () => { + const { data, isLoading } = useDatasetsBySubTopic("contextual"); + + return ( + <> + + + Contextual layers + + + + + + +

+ Introduction lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit + amet, consectetu elit. +

+ + {isLoading && ( + <> + + + + + + + + + + + )} + + {!isLoading && data.length === 0 && ( +
Data not available
+ )} + + {!isLoading && data.length > 0 && ( +
+ {data.map(({ subTopic, datasets }) => ( + dataset.layers.length > 0) + .map((dataset) => ({ + // Assuming the dataset has just one layer, which is currently the case + id: dataset.layers[0].id!, + name: dataset.layers[0].attributes!.name!, + }))} + /> + ))} +
+ )} + + ); +}; + +export default ContextualLayersPanel; diff --git a/client/src/components/panels/contextual-layers/item.tsx b/client/src/components/panels/contextual-layers/item.tsx new file mode 100644 index 0000000..ee1468f --- /dev/null +++ b/client/src/components/panels/contextual-layers/item.tsx @@ -0,0 +1,23 @@ +import { Dataset, Layer } from "@/types/generated/strapi.schemas"; + +interface ItemProps { + name: Dataset["name"]; + layers: { id: number; name: Layer["name"] }[]; +} + +const Item = ({ name, layers }: ItemProps) => { + return ( +
+
{name}
+
    + {layers.map((layer) => ( +
  • + {layer.name} +
  • + ))} +
+
+ ); +}; + +export default Item; diff --git a/client/src/components/ui/button.tsx b/client/src/components/ui/button.tsx index 99cc045..696bfa6 100644 --- a/client/src/components/ui/button.tsx +++ b/client/src/components/ui/button.tsx @@ -17,7 +17,7 @@ const buttonVariants = cva( "bg-neutral-900 text-neutral-50 hover:bg-neutral-900/90 ring-offset-white focus-visible:ring-neutral-950", }, size: { - default: "h-10 px-4 py-2", + default: "h-8 w-auto xl:h-10 px-4 xl:py-2", icon: "h-8 w-8 xl:h-10 xl:w-10", auto: "", }, diff --git a/client/src/components/ui/sheet.tsx b/client/src/components/ui/sheet.tsx index 1bf5738..c5e2d45 100644 --- a/client/src/components/ui/sheet.tsx +++ b/client/src/components/ui/sheet.tsx @@ -30,20 +30,25 @@ const SheetOverlay = React.forwardRef< SheetOverlay.displayName = SheetPrimitive.Overlay.displayName; const sheetVariants = cva( - "fixed z-10 bg-rhino-blue-900 text-white p-5 transition ease-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-500 data-[state=open]:duration-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-950", + "group fixed z-10 p-5 transition ease-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-500 data-[state=open]:duration-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-950", { variants: { side: { top: "inset-x-0 top-0 border-t border-t-white/30 data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top", bottom: "inset-x-0 bottom-0 border-b border-b-white/30 data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom", - left: "inset-y-0 left-0 h-full w-3/4 border-l border-l-white/30 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm", + left: "inset-y-0 left-0 h-full w-full border-l border-l-white/30 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:w-[400px]", right: - "inset-y-0 right-0 h-full w-3/4 border-r border-r-white/30 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm", + "inset-y-0 right-0 h-full w-full border-r border-r-white/30 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:w-[400px]", + }, + variant: { + default: "bg-rhino-blue-900 text-white", + light: "bg-white text-rhino-blue-950", }, }, defaultVariants: { side: "right", + variant: "default", }, }, ); @@ -55,9 +60,13 @@ interface SheetContentProps const SheetContent = React.forwardRef< React.ElementRef, SheetContentProps ->(({ side = "right", className, children, ...props }, ref) => ( +>(({ side = "right", variant = "default", className, children, ...props }, ref) => ( - + {children} diff --git a/client/src/components/ui/skeleton.tsx b/client/src/components/ui/skeleton.tsx new file mode 100644 index 0000000..c9173e0 --- /dev/null +++ b/client/src/components/ui/skeleton.tsx @@ -0,0 +1,7 @@ +import { cn } from "@/lib/utils"; + +function Skeleton({ className, ...props }: React.HTMLAttributes) { + return
; +} + +export { Skeleton }; diff --git a/client/src/env.ts b/client/src/env.ts index a05251c..8bbe47b 100644 --- a/client/src/env.ts +++ b/client/src/env.ts @@ -24,6 +24,8 @@ export const env = createEnv({ NEXT_PUBLIC_MAPBOX_TOKEN: z.string(), /** Mapbox' style URL that contains the basemap */ NEXT_PUBLIC_MAPBOX_STYLE: z.string(), + /** Strapi's instance URL (without trailing slash) */ + NEXT_PUBLIC_API_URL: z.string(), }, /* * Due to how Next.js bundles environment variables on Edge and Client, @@ -35,5 +37,6 @@ export const env = createEnv({ NEXT_PUBLIC_MAPBOX_TOKEN: process.env.NEXT_PUBLIC_MAPBOX_TOKEN, NEXT_PUBLIC_MAPBOX_STYLE: process.env.NEXT_PUBLIC_MAPBOX_STYLE, NEXT_USE_RESTRICTIVE_ROBOTS_TXT: process.env.NEXT_USE_RESTRICTIVE_ROBOTS_TXT, + NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL, }, }); diff --git a/client/src/hooks/use-datasets-by-sub-topic.ts b/client/src/hooks/use-datasets-by-sub-topic.ts new file mode 100644 index 0000000..6a7a97c --- /dev/null +++ b/client/src/hooks/use-datasets-by-sub-topic.ts @@ -0,0 +1,72 @@ +import { useGetDatasets } from "@/types/generated/dataset"; +import { DatasetLayersDataItem } from "@/types/generated/strapi.schemas"; + +type DatasetsBySubTopic = { + subTopic: string; + datasets: { id: number; name: string; layers: DatasetLayersDataItem[] }[]; +}; + +export default function useDatasetsBySubTopic(topicSlug: string, layersFields = ["name"]) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore-error + const { data, isLoading } = useGetDatasets( + { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore-error + fields: ["name"], + populate: { + sub_topic: { + fields: ["name"], + }, + layers: { + fields: layersFields, + }, + }, + filters: { + topic: { + slug: { + $eq: topicSlug, + }, + }, + }, + sort: "sub_topic.name", + }, + { + query: { + placeholderData: { data: [] }, + select: (data) => { + const res: DatasetsBySubTopic[] = []; + + if (!data?.data) { + return res; + } + + let currentIndex = -1; + let currentSubTopic = null; + + for (const item of data.data) { + const subTopic = item.attributes!.sub_topic!.data!.attributes!.name!; + const dataset = item.attributes!.name; + const layers = item.attributes!.layers!.data!; + + if (currentSubTopic === null || currentSubTopic !== subTopic) { + currentSubTopic = subTopic; + currentIndex++; + res[currentIndex] = { subTopic: currentSubTopic, datasets: [] }; + } + + res[currentIndex].datasets.push({ + id: item.id!, + name: dataset, + layers, + }); + } + + return res; + }, + }, + }, + ); + + return { data, isLoading }; +} diff --git a/client/src/orval.config.ts b/client/src/orval.config.ts new file mode 100644 index 0000000..8f7e87d --- /dev/null +++ b/client/src/orval.config.ts @@ -0,0 +1,28 @@ +import { defineConfig } from "orval"; + +export default defineConfig({ + cms: { + input: { + target: "../../cms/src/extensions/documentation/documentation/1.0.0/full_documentation.json", + filters: { + tags: ["Topic", "Sub-topic", "Dataset", "Layer"], + }, + }, + output: { + target: "./types/generated/strapi.ts", + mode: "tags", + client: "react-query", + clean: true, + override: { + mutator: { + path: "./services/api.ts", + name: "API", + }, + query: { + useQuery: true, + signal: true, + }, + }, + }, + }, +}); diff --git a/client/src/services/api.ts b/client/src/services/api.ts new file mode 100644 index 0000000..59966ce --- /dev/null +++ b/client/src/services/api.ts @@ -0,0 +1,25 @@ +import Axios, { AxiosError, AxiosRequestConfig } from "axios"; + +export const AXIOS_INSTANCE = Axios.create({ baseURL: process.env.NEXT_PUBLIC_API_URL }); + +export const API = (config: AxiosRequestConfig, options?: AxiosRequestConfig): Promise => { + // eslint-disable-next-line import/no-named-as-default-member + const source = Axios.CancelToken.source(); + const promise = AXIOS_INSTANCE({ + ...config, + ...options, + cancelToken: source.token, + }).then(({ data }) => data); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + promise.cancel = () => { + source.cancel("Query was cancelled"); + }; + return promise; +}; + +export type BodyType = BodyData; + +export type ErrorType = AxiosError; + +export default API; diff --git a/client/src/svgs/layers.svg b/client/src/svgs/layers.svg new file mode 100644 index 0000000..5bb51c6 --- /dev/null +++ b/client/src/svgs/layers.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/client/src/svgs/xmark.svg b/client/src/svgs/xmark.svg new file mode 100644 index 0000000..537b4d8 --- /dev/null +++ b/client/src/svgs/xmark.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/client/src/types/generated/dataset.ts b/client/src/types/generated/dataset.ts new file mode 100644 index 0000000..3c5a806 --- /dev/null +++ b/client/src/types/generated/dataset.ts @@ -0,0 +1,353 @@ +/** + * Generated by orval v7.2.0 🍺 + * Do not edit manually. + * DOCUMENTATION + * OpenAPI spec version: 1.0.0 + */ +import { + useMutation, + useQuery +} from '@tanstack/react-query' +import type { + DefinedInitialDataOptions, + DefinedUseQueryResult, + MutationFunction, + QueryFunction, + QueryKey, + UndefinedInitialDataOptions, + UseMutationOptions, + UseMutationResult, + UseQueryOptions, + UseQueryResult +} from '@tanstack/react-query' +import type { + DatasetListResponse, + DatasetRequest, + DatasetResponse, + Error, + GetDatasetsParams +} from './strapi.schemas' +import { API } from '../../services/api'; +import type { ErrorType, BodyType } from '../../services/api'; + + + +type SecondParameter any> = Parameters[1]; + + +export const getDatasets = ( + params?: GetDatasetsParams, + options?: SecondParameter,signal?: AbortSignal +) => { + + + return API( + {url: `/datasets`, method: 'GET', + params, signal + }, + options); + } + + +export const getGetDatasetsQueryKey = (params?: GetDatasetsParams,) => { + return [`/datasets`, ...(params ? [params]: [])] as const; + } + + +export const getGetDatasetsQueryOptions = >, TError = ErrorType>(params?: GetDatasetsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} +) => { + +const {query: queryOptions, request: requestOptions} = options ?? {}; + + const queryKey = queryOptions?.queryKey ?? getGetDatasetsQueryKey(params); + + + + const queryFn: QueryFunction>> = ({ signal }) => getDatasets(params, requestOptions, signal); + + + + + + return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } +} + +export type GetDatasetsQueryResult = NonNullable>> +export type GetDatasetsQueryError = ErrorType + + +export function useGetDatasets>, TError = ErrorType>( + params: undefined | GetDatasetsParams, options: { query:Partial>, TError, TData>> & Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): DefinedUseQueryResult & { queryKey: QueryKey } +export function useGetDatasets>, TError = ErrorType>( + params?: GetDatasetsParams, options?: { query?:Partial>, TError, TData>> & Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } +export function useGetDatasets>, TError = ErrorType>( + params?: GetDatasetsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } + +export function useGetDatasets>, TError = ErrorType>( + params?: GetDatasetsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } { + + const queryOptions = getGetDatasetsQueryOptions(params,options) + + const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; + + query.queryKey = queryOptions.queryKey ; + + return query; +} + + + +export const postDatasets = ( + datasetRequest: BodyType, + options?: SecondParameter,) => { + + + return API( + {url: `/datasets`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: datasetRequest + }, + options); + } + + + +export const getPostDatasetsMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{data: BodyType}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {data: BodyType}> = (props) => { + const {data} = props ?? {}; + + return postDatasets(data,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type PostDatasetsMutationResult = NonNullable>> + export type PostDatasetsMutationBody = BodyType + export type PostDatasetsMutationError = ErrorType + + export const usePostDatasets = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {data: BodyType}, + TContext + > => { + + const mutationOptions = getPostDatasetsMutationOptions(options); + + return useMutation(mutationOptions); + } + export const getDatasetsId = ( + id: number, + options?: SecondParameter,signal?: AbortSignal +) => { + + + return API( + {url: `/datasets/${id}`, method: 'GET', signal + }, + options); + } + + +export const getGetDatasetsIdQueryKey = (id: number,) => { + return [`/datasets/${id}`] as const; + } + + +export const getGetDatasetsIdQueryOptions = >, TError = ErrorType>(id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} +) => { + +const {query: queryOptions, request: requestOptions} = options ?? {}; + + const queryKey = queryOptions?.queryKey ?? getGetDatasetsIdQueryKey(id); + + + + const queryFn: QueryFunction>> = ({ signal }) => getDatasetsId(id, requestOptions, signal); + + + + + + return { queryKey, queryFn, enabled: !!(id), ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } +} + +export type GetDatasetsIdQueryResult = NonNullable>> +export type GetDatasetsIdQueryError = ErrorType + + +export function useGetDatasetsId>, TError = ErrorType>( + id: number, options: { query:Partial>, TError, TData>> & Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): DefinedUseQueryResult & { queryKey: QueryKey } +export function useGetDatasetsId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>> & Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } +export function useGetDatasetsId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } + +export function useGetDatasetsId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } { + + const queryOptions = getGetDatasetsIdQueryOptions(id,options) + + const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; + + query.queryKey = queryOptions.queryKey ; + + return query; +} + + + +export const putDatasetsId = ( + id: number, + datasetRequest: BodyType, + options?: SecondParameter,) => { + + + return API( + {url: `/datasets/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: datasetRequest + }, + options); + } + + + +export const getPutDatasetsIdMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{id: number;data: BodyType}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {id: number;data: BodyType}> = (props) => { + const {id,data} = props ?? {}; + + return putDatasetsId(id,data,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type PutDatasetsIdMutationResult = NonNullable>> + export type PutDatasetsIdMutationBody = BodyType + export type PutDatasetsIdMutationError = ErrorType + + export const usePutDatasetsId = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {id: number;data: BodyType}, + TContext + > => { + + const mutationOptions = getPutDatasetsIdMutationOptions(options); + + return useMutation(mutationOptions); + } + export const deleteDatasetsId = ( + id: number, + options?: SecondParameter,) => { + + + return API( + {url: `/datasets/${id}`, method: 'DELETE' + }, + options); + } + + + +export const getDeleteDatasetsIdMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{id: number}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {id: number}> = (props) => { + const {id} = props ?? {}; + + return deleteDatasetsId(id,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type DeleteDatasetsIdMutationResult = NonNullable>> + + export type DeleteDatasetsIdMutationError = ErrorType + + export const useDeleteDatasetsId = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {id: number}, + TContext + > => { + + const mutationOptions = getDeleteDatasetsIdMutationOptions(options); + + return useMutation(mutationOptions); + } + \ No newline at end of file diff --git a/client/src/types/generated/layer.ts b/client/src/types/generated/layer.ts new file mode 100644 index 0000000..d89ee35 --- /dev/null +++ b/client/src/types/generated/layer.ts @@ -0,0 +1,353 @@ +/** + * Generated by orval v7.2.0 🍺 + * Do not edit manually. + * DOCUMENTATION + * OpenAPI spec version: 1.0.0 + */ +import { + useMutation, + useQuery +} from '@tanstack/react-query' +import type { + DefinedInitialDataOptions, + DefinedUseQueryResult, + MutationFunction, + QueryFunction, + QueryKey, + UndefinedInitialDataOptions, + UseMutationOptions, + UseMutationResult, + UseQueryOptions, + UseQueryResult +} from '@tanstack/react-query' +import type { + Error, + GetLayersParams, + LayerListResponse, + LayerRequest, + LayerResponse +} from './strapi.schemas' +import { API } from '../../services/api'; +import type { ErrorType, BodyType } from '../../services/api'; + + + +type SecondParameter any> = Parameters[1]; + + +export const getLayers = ( + params?: GetLayersParams, + options?: SecondParameter,signal?: AbortSignal +) => { + + + return API( + {url: `/layers`, method: 'GET', + params, signal + }, + options); + } + + +export const getGetLayersQueryKey = (params?: GetLayersParams,) => { + return [`/layers`, ...(params ? [params]: [])] as const; + } + + +export const getGetLayersQueryOptions = >, TError = ErrorType>(params?: GetLayersParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} +) => { + +const {query: queryOptions, request: requestOptions} = options ?? {}; + + const queryKey = queryOptions?.queryKey ?? getGetLayersQueryKey(params); + + + + const queryFn: QueryFunction>> = ({ signal }) => getLayers(params, requestOptions, signal); + + + + + + return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } +} + +export type GetLayersQueryResult = NonNullable>> +export type GetLayersQueryError = ErrorType + + +export function useGetLayers>, TError = ErrorType>( + params: undefined | GetLayersParams, options: { query:Partial>, TError, TData>> & Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): DefinedUseQueryResult & { queryKey: QueryKey } +export function useGetLayers>, TError = ErrorType>( + params?: GetLayersParams, options?: { query?:Partial>, TError, TData>> & Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } +export function useGetLayers>, TError = ErrorType>( + params?: GetLayersParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } + +export function useGetLayers>, TError = ErrorType>( + params?: GetLayersParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } { + + const queryOptions = getGetLayersQueryOptions(params,options) + + const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; + + query.queryKey = queryOptions.queryKey ; + + return query; +} + + + +export const postLayers = ( + layerRequest: BodyType, + options?: SecondParameter,) => { + + + return API( + {url: `/layers`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: layerRequest + }, + options); + } + + + +export const getPostLayersMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{data: BodyType}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {data: BodyType}> = (props) => { + const {data} = props ?? {}; + + return postLayers(data,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type PostLayersMutationResult = NonNullable>> + export type PostLayersMutationBody = BodyType + export type PostLayersMutationError = ErrorType + + export const usePostLayers = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {data: BodyType}, + TContext + > => { + + const mutationOptions = getPostLayersMutationOptions(options); + + return useMutation(mutationOptions); + } + export const getLayersId = ( + id: number, + options?: SecondParameter,signal?: AbortSignal +) => { + + + return API( + {url: `/layers/${id}`, method: 'GET', signal + }, + options); + } + + +export const getGetLayersIdQueryKey = (id: number,) => { + return [`/layers/${id}`] as const; + } + + +export const getGetLayersIdQueryOptions = >, TError = ErrorType>(id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} +) => { + +const {query: queryOptions, request: requestOptions} = options ?? {}; + + const queryKey = queryOptions?.queryKey ?? getGetLayersIdQueryKey(id); + + + + const queryFn: QueryFunction>> = ({ signal }) => getLayersId(id, requestOptions, signal); + + + + + + return { queryKey, queryFn, enabled: !!(id), ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } +} + +export type GetLayersIdQueryResult = NonNullable>> +export type GetLayersIdQueryError = ErrorType + + +export function useGetLayersId>, TError = ErrorType>( + id: number, options: { query:Partial>, TError, TData>> & Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): DefinedUseQueryResult & { queryKey: QueryKey } +export function useGetLayersId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>> & Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } +export function useGetLayersId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } + +export function useGetLayersId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } { + + const queryOptions = getGetLayersIdQueryOptions(id,options) + + const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; + + query.queryKey = queryOptions.queryKey ; + + return query; +} + + + +export const putLayersId = ( + id: number, + layerRequest: BodyType, + options?: SecondParameter,) => { + + + return API( + {url: `/layers/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: layerRequest + }, + options); + } + + + +export const getPutLayersIdMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{id: number;data: BodyType}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {id: number;data: BodyType}> = (props) => { + const {id,data} = props ?? {}; + + return putLayersId(id,data,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type PutLayersIdMutationResult = NonNullable>> + export type PutLayersIdMutationBody = BodyType + export type PutLayersIdMutationError = ErrorType + + export const usePutLayersId = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {id: number;data: BodyType}, + TContext + > => { + + const mutationOptions = getPutLayersIdMutationOptions(options); + + return useMutation(mutationOptions); + } + export const deleteLayersId = ( + id: number, + options?: SecondParameter,) => { + + + return API( + {url: `/layers/${id}`, method: 'DELETE' + }, + options); + } + + + +export const getDeleteLayersIdMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{id: number}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {id: number}> = (props) => { + const {id} = props ?? {}; + + return deleteLayersId(id,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type DeleteLayersIdMutationResult = NonNullable>> + + export type DeleteLayersIdMutationError = ErrorType + + export const useDeleteLayersId = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {id: number}, + TContext + > => { + + const mutationOptions = getDeleteLayersIdMutationOptions(options); + + return useMutation(mutationOptions); + } + \ No newline at end of file diff --git a/client/src/types/generated/strapi.schemas.ts b/client/src/types/generated/strapi.schemas.ts new file mode 100644 index 0000000..8160826 --- /dev/null +++ b/client/src/types/generated/strapi.schemas.ts @@ -0,0 +1,1375 @@ +/** + * Generated by orval v7.2.0 🍺 + * Do not edit manually. + * DOCUMENTATION + * OpenAPI spec version: 1.0.0 + */ +export type GetTopicsParams = { +/** + * Sort by attributes ascending (asc) or descending (desc) + */ +sort?: string; +/** + * Return page/pageSize (default: true) + */ +'pagination[withCount]'?: boolean; +/** + * Page number (default: 0) + */ +'pagination[page]'?: number; +/** + * Page size (default: 25) + */ +'pagination[pageSize]'?: number; +/** + * Offset value (default: 0) + */ +'pagination[start]'?: number; +/** + * Number of entities to return (default: 25) + */ +'pagination[limit]'?: number; +/** + * Fields to return (ex: title,author) + */ +fields?: string; +/** + * Relations to return + */ +populate?: string; +/** + * Filters to apply + */ +filters?: { [key: string]: unknown }; +/** + * Locale to apply + */ +locale?: string; +}; + +export type GetSubTopicsParams = { +/** + * Sort by attributes ascending (asc) or descending (desc) + */ +sort?: string; +/** + * Return page/pageSize (default: true) + */ +'pagination[withCount]'?: boolean; +/** + * Page number (default: 0) + */ +'pagination[page]'?: number; +/** + * Page size (default: 25) + */ +'pagination[pageSize]'?: number; +/** + * Offset value (default: 0) + */ +'pagination[start]'?: number; +/** + * Number of entities to return (default: 25) + */ +'pagination[limit]'?: number; +/** + * Fields to return (ex: title,author) + */ +fields?: string; +/** + * Relations to return + */ +populate?: string; +/** + * Filters to apply + */ +filters?: { [key: string]: unknown }; +/** + * Locale to apply + */ +locale?: string; +}; + +export type GetLayersParams = { +/** + * Sort by attributes ascending (asc) or descending (desc) + */ +sort?: string; +/** + * Return page/pageSize (default: true) + */ +'pagination[withCount]'?: boolean; +/** + * Page number (default: 0) + */ +'pagination[page]'?: number; +/** + * Page size (default: 25) + */ +'pagination[pageSize]'?: number; +/** + * Offset value (default: 0) + */ +'pagination[start]'?: number; +/** + * Number of entities to return (default: 25) + */ +'pagination[limit]'?: number; +/** + * Fields to return (ex: title,author) + */ +fields?: string; +/** + * Relations to return + */ +populate?: string; +/** + * Filters to apply + */ +filters?: { [key: string]: unknown }; +/** + * Locale to apply + */ +locale?: string; +}; + +export type GetDatasetsParams = { +/** + * Sort by attributes ascending (asc) or descending (desc) + */ +sort?: string; +/** + * Return page/pageSize (default: true) + */ +'pagination[withCount]'?: boolean; +/** + * Page number (default: 0) + */ +'pagination[page]'?: number; +/** + * Page size (default: 25) + */ +'pagination[pageSize]'?: number; +/** + * Offset value (default: 0) + */ +'pagination[start]'?: number; +/** + * Number of entities to return (default: 25) + */ +'pagination[limit]'?: number; +/** + * Fields to return (ex: title,author) + */ +fields?: string; +/** + * Relations to return + */ +populate?: string; +/** + * Filters to apply + */ +filters?: { [key: string]: unknown }; +/** + * Locale to apply + */ +locale?: string; +}; + +/** + * every controller of the api + */ +export type UsersPermissionsPermissionsTreeControllers = {[key: string]: {[key: string]: { + enabled?: boolean; + policy?: string; +}}}; + +export interface UsersPermissionsPermissionsTree {[key: string]: { + /** every controller of the api */ + controllers?: UsersPermissionsPermissionsTreeControllers; +}} + +export type UsersPermissionsRoleRequestBody = { + description?: string; + name?: string; + permissions?: UsersPermissionsPermissionsTree; + type?: string; +}; + +export interface UsersPermissionsUser { + blocked?: boolean; + confirmed?: boolean; + createdAt?: string; + email?: string; + id?: number; + provider?: string; + updatedAt?: string; + username?: string; +} + +export interface UsersPermissionsUserRegistration { + jwt?: string; + user?: UsersPermissionsUser; +} + +export interface UsersPermissionsRole { + createdAt?: string; + description?: string; + id?: number; + name?: string; + type?: string; + updatedAt?: string; +} + +export type UploadFileProviderMetadata = { [key: string]: unknown }; + +export interface UploadFile { + alternativeText?: string; + caption?: string; + createdAt?: string; + ext?: string; + formats?: number; + hash?: string; + height?: number; + id?: number; + mime?: string; + name?: string; + previewUrl?: string; + provider?: string; + provider_metadata?: UploadFileProviderMetadata; + size?: number; + updatedAt?: string; + url?: string; + width?: number; +} + +export type TopicResponseMeta = { [key: string]: unknown }; + +export interface TopicResponseDataObject { + attributes?: Topic; + id?: number; +} + +export interface TopicResponse { + data?: TopicResponseDataObject; + meta?: TopicResponseMeta; +} + +export type TopicUpdatedByDataAttributes = { [key: string]: unknown }; + +export type TopicUpdatedByData = { + attributes?: TopicUpdatedByDataAttributes; + id?: number; +}; + +export type TopicUpdatedBy = { + data?: TopicUpdatedByData; +}; + +export type TopicCreatedBy = { + data?: TopicCreatedByData; +}; + +export interface Topic { + createdAt?: string; + createdBy?: TopicCreatedBy; + name: string; + slug: string; + updatedAt?: string; + updatedBy?: TopicUpdatedBy; +} + +export type TopicCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type TopicCreatedByDataAttributesUpdatedByData = { + attributes?: TopicCreatedByDataAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesUpdatedBy = { + data?: TopicCreatedByDataAttributesUpdatedByData; +}; + +export type TopicCreatedByDataAttributesRoles = { + data?: TopicCreatedByDataAttributesRolesDataItem[]; +}; + +export type TopicCreatedByDataAttributes = { + blocked?: boolean; + createdAt?: string; + createdBy?: TopicCreatedByDataAttributesCreatedBy; + email?: string; + firstname?: string; + isActive?: boolean; + lastname?: string; + preferedLanguage?: string; + registrationToken?: string; + resetPasswordToken?: string; + roles?: TopicCreatedByDataAttributesRoles; + updatedAt?: string; + updatedBy?: TopicCreatedByDataAttributesUpdatedBy; + username?: string; +}; + +export type TopicCreatedByData = { + attributes?: TopicCreatedByDataAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: unknown }; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { + attributes?: TopicCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesUsers = { + data?: TopicCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { + attributes?: TopicCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { + data?: TopicCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { + attributes?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissions = { + data?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributes = { + code?: string; + createdAt?: string; + createdBy?: TopicCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + description?: string; + name?: string; + permissions?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissions; + updatedAt?: string; + updatedBy?: TopicCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + users?: TopicCreatedByDataAttributesRolesDataItemAttributesUsers; +}; + +export type TopicCreatedByDataAttributesRolesDataItem = { + attributes?: TopicCreatedByDataAttributesRolesDataItemAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = { + attributes?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = { + data?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: unknown }; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = { + attributes?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { + data?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = { + attributes?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = { + data?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { + action?: string; + actionParameters?: unknown; + conditions?: unknown; + createdAt?: string; + createdBy?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + properties?: unknown; + role?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + subject?: string; + updatedAt?: string; + updatedBy?: TopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { + attributes?: TopicCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { + data?: TopicCreatedByDataAttributesRolesDataItemAttributesCreatedByData; +}; + +export type TopicCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type TopicCreatedByDataAttributesCreatedByData = { + attributes?: TopicCreatedByDataAttributesCreatedByDataAttributes; + id?: number; +}; + +export type TopicCreatedByDataAttributesCreatedBy = { + data?: TopicCreatedByDataAttributesCreatedByData; +}; + +export type TopicListResponseMetaPagination = { + page?: number; + /** @maximum 1 */ + pageCount?: number; + /** @minimum 25 */ + pageSize?: number; + total?: number; +}; + +export type TopicListResponseMeta = { + pagination?: TopicListResponseMetaPagination; +}; + +export interface TopicListResponseDataItem { + attributes?: Topic; + id?: number; +} + +export interface TopicListResponse { + data?: TopicListResponseDataItem[]; + meta?: TopicListResponseMeta; +} + +export type TopicRequestData = { + name: string; + slug: string; +}; + +export interface TopicRequest { + data: TopicRequestData; +} + +export type SubTopicResponseMeta = { [key: string]: unknown }; + +export interface SubTopic { + createdAt?: string; + createdBy?: SubTopicCreatedBy; + name: string; + updatedAt?: string; + updatedBy?: SubTopicUpdatedBy; +} + +export interface SubTopicResponseDataObject { + attributes?: SubTopic; + id?: number; +} + +export interface SubTopicResponse { + data?: SubTopicResponseDataObject; + meta?: SubTopicResponseMeta; +} + +export type SubTopicUpdatedByDataAttributes = { [key: string]: unknown }; + +export type SubTopicUpdatedByData = { + attributes?: SubTopicUpdatedByDataAttributes; + id?: number; +}; + +export type SubTopicUpdatedBy = { + data?: SubTopicUpdatedByData; +}; + +export type SubTopicCreatedByDataAttributes = { + blocked?: boolean; + createdAt?: string; + createdBy?: SubTopicCreatedByDataAttributesCreatedBy; + email?: string; + firstname?: string; + isActive?: boolean; + lastname?: string; + preferedLanguage?: string; + registrationToken?: string; + resetPasswordToken?: string; + roles?: SubTopicCreatedByDataAttributesRoles; + updatedAt?: string; + updatedBy?: SubTopicCreatedByDataAttributesUpdatedBy; + username?: string; +}; + +export type SubTopicCreatedByData = { + attributes?: SubTopicCreatedByDataAttributes; + id?: number; +}; + +export type SubTopicCreatedBy = { + data?: SubTopicCreatedByData; +}; + +export type SubTopicCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type SubTopicCreatedByDataAttributesUpdatedByData = { + attributes?: SubTopicCreatedByDataAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type SubTopicCreatedByDataAttributesUpdatedBy = { + data?: SubTopicCreatedByDataAttributesUpdatedByData; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItem = { + attributes?: SubTopicCreatedByDataAttributesRolesDataItemAttributes; + id?: number; +}; + +export type SubTopicCreatedByDataAttributesRoles = { + data?: SubTopicCreatedByDataAttributesRolesDataItem[]; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: unknown }; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { + attributes?: SubTopicCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + id?: number; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesUsers = { + data?: SubTopicCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { + attributes?: SubTopicCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { + data?: SubTopicCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { + attributes?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + id?: number; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissions = { + data?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributes = { + code?: string; + createdAt?: string; + createdBy?: SubTopicCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + description?: string; + name?: string; + permissions?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissions; + updatedAt?: string; + updatedBy?: SubTopicCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + users?: SubTopicCreatedByDataAttributesRolesDataItemAttributesUsers; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = { + attributes?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = { + data?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { + action?: string; + actionParameters?: unknown; + conditions?: unknown; + createdAt?: string; + createdBy?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + properties?: unknown; + role?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + subject?: string; + updatedAt?: string; + updatedBy?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: unknown }; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = { + attributes?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + id?: number; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { + data?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = { + attributes?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + id?: number; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = { + data?: SubTopicCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { + attributes?: SubTopicCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + id?: number; +}; + +export type SubTopicCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { + data?: SubTopicCreatedByDataAttributesRolesDataItemAttributesCreatedByData; +}; + +export type SubTopicCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type SubTopicCreatedByDataAttributesCreatedByData = { + attributes?: SubTopicCreatedByDataAttributesCreatedByDataAttributes; + id?: number; +}; + +export type SubTopicCreatedByDataAttributesCreatedBy = { + data?: SubTopicCreatedByDataAttributesCreatedByData; +}; + +export type SubTopicListResponseMetaPagination = { + page?: number; + /** @maximum 1 */ + pageCount?: number; + /** @minimum 25 */ + pageSize?: number; + total?: number; +}; + +export type SubTopicListResponseMeta = { + pagination?: SubTopicListResponseMetaPagination; +}; + +export interface SubTopicListResponseDataItem { + attributes?: SubTopic; + id?: number; +} + +export interface SubTopicListResponse { + data?: SubTopicListResponseDataItem[]; + meta?: SubTopicListResponseMeta; +} + +export type SubTopicRequestData = { + name: string; +}; + +export interface SubTopicRequest { + data: SubTopicRequestData; +} + +export type LegendLegendConfigComponentType = typeof LegendLegendConfigComponentType[keyof typeof LegendLegendConfigComponentType]; + + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const LegendLegendConfigComponentType = { + basic: 'basic', + choropleth: 'choropleth', + gradient: 'gradient', +} as const; + +export type LegendLegendConfigComponentItemsItem = { + color?: string; + id?: number; + value?: string; +}; + +export interface LegendLegendConfigComponent { + id?: number; + items?: LegendLegendConfigComponentItemsItem[]; + type?: LegendLegendConfigComponentType; +} + +export type LayerResponseMeta = { [key: string]: unknown }; + +export interface LayerResponseDataObject { + attributes?: Layer; + id?: number; +} + +export interface LayerResponse { + data?: LayerResponseDataObject; + meta?: LayerResponseMeta; +} + +export type LayerUpdatedByDataAttributes = { [key: string]: unknown }; + +export type LayerUpdatedByData = { + attributes?: LayerUpdatedByDataAttributes; + id?: number; +}; + +export type LayerUpdatedBy = { + data?: LayerUpdatedByData; +}; + +export type LayerType = typeof LayerType[keyof typeof LayerType]; + + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const LayerType = { + static: 'static', + animated: 'animated', +} as const; + +export interface Layer { + createdAt?: string; + createdBy?: LayerCreatedBy; + legend_config: LegendLegendConfigComponent; + mapbox_config: unknown; + name: string; + params_config: unknown; + type: LayerType; + updatedAt?: string; + updatedBy?: LayerUpdatedBy; +} + +export type LayerCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type LayerCreatedByDataAttributesUpdatedByData = { + attributes?: LayerCreatedByDataAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type LayerCreatedByDataAttributesUpdatedBy = { + data?: LayerCreatedByDataAttributesUpdatedByData; +}; + +export type LayerCreatedByDataAttributes = { + blocked?: boolean; + createdAt?: string; + createdBy?: LayerCreatedByDataAttributesCreatedBy; + email?: string; + firstname?: string; + isActive?: boolean; + lastname?: string; + preferedLanguage?: string; + registrationToken?: string; + resetPasswordToken?: string; + roles?: LayerCreatedByDataAttributesRoles; + updatedAt?: string; + updatedBy?: LayerCreatedByDataAttributesUpdatedBy; + username?: string; +}; + +export type LayerCreatedByData = { + attributes?: LayerCreatedByDataAttributes; + id?: number; +}; + +export type LayerCreatedBy = { + data?: LayerCreatedByData; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributes = { + code?: string; + createdAt?: string; + createdBy?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + description?: string; + name?: string; + permissions?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissions; + updatedAt?: string; + updatedBy?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + users?: LayerCreatedByDataAttributesRolesDataItemAttributesUsers; +}; + +export type LayerCreatedByDataAttributesRolesDataItem = { + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributes; + id?: number; +}; + +export type LayerCreatedByDataAttributesRoles = { + data?: LayerCreatedByDataAttributesRolesDataItem[]; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: unknown }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + id?: number; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUsers = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { + action?: string; + actionParameters?: unknown; + conditions?: unknown; + createdAt?: string; + createdBy?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + properties?: unknown; + role?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + subject?: string; + updatedAt?: string; + updatedBy?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + id?: number; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissions = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = { + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: unknown }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = { + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + id?: number; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = { + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + id?: number; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { + attributes?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + id?: number; +}; + +export type LayerCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { + data?: LayerCreatedByDataAttributesRolesDataItemAttributesCreatedByData; +}; + +export type LayerCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type LayerCreatedByDataAttributesCreatedByData = { + attributes?: LayerCreatedByDataAttributesCreatedByDataAttributes; + id?: number; +}; + +export type LayerCreatedByDataAttributesCreatedBy = { + data?: LayerCreatedByDataAttributesCreatedByData; +}; + +export type LayerListResponseMetaPagination = { + page?: number; + /** @maximum 1 */ + pageCount?: number; + /** @minimum 25 */ + pageSize?: number; + total?: number; +}; + +export type LayerListResponseMeta = { + pagination?: LayerListResponseMetaPagination; +}; + +export interface LayerListResponseDataItem { + attributes?: Layer; + id?: number; +} + +export interface LayerListResponse { + data?: LayerListResponseDataItem[]; + meta?: LayerListResponseMeta; +} + +export type LayerRequestDataType = typeof LayerRequestDataType[keyof typeof LayerRequestDataType]; + + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const LayerRequestDataType = { + static: 'static', + animated: 'animated', +} as const; + +export type LayerRequestData = { + legend_config: LegendLegendConfigComponent; + mapbox_config: unknown; + name: string; + params_config: unknown; + type: LayerRequestDataType; +}; + +export interface LayerRequest { + data: LayerRequestData; +} + +export type DatasetResponseMeta = { [key: string]: unknown }; + +export interface DatasetResponse { + data?: DatasetResponseDataObject; + meta?: DatasetResponseMeta; +} + +export interface Dataset { + createdAt?: string; + createdBy?: DatasetCreatedBy; + default_layer?: DatasetDefaultLayer; + layers?: DatasetLayers; + name: string; + sub_topic?: DatasetSubTopic; + topic?: DatasetTopic; + updatedAt?: string; + updatedBy?: DatasetUpdatedBy; +} + +export interface DatasetResponseDataObject { + attributes?: Dataset; + id?: number; +} + +export type DatasetUpdatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetUpdatedByData = { + attributes?: DatasetUpdatedByDataAttributes; + id?: number; +}; + +export type DatasetUpdatedBy = { + data?: DatasetUpdatedByData; +}; + +export type DatasetTopicData = { + attributes?: DatasetTopicDataAttributes; + id?: number; +}; + +export type DatasetTopic = { + data?: DatasetTopicData; +}; + +export type DatasetTopicDataAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetTopicDataAttributesUpdatedByData = { + attributes?: DatasetTopicDataAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type DatasetTopicDataAttributesUpdatedBy = { + data?: DatasetTopicDataAttributesUpdatedByData; +}; + +export type DatasetTopicDataAttributes = { + createdAt?: string; + createdBy?: DatasetTopicDataAttributesCreatedBy; + name?: string; + slug?: string; + updatedAt?: string; + updatedBy?: DatasetTopicDataAttributesUpdatedBy; +}; + +export type DatasetTopicDataAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetTopicDataAttributesCreatedByData = { + attributes?: DatasetTopicDataAttributesCreatedByDataAttributes; + id?: number; +}; + +export type DatasetTopicDataAttributesCreatedBy = { + data?: DatasetTopicDataAttributesCreatedByData; +}; + +export type DatasetSubTopicData = { + attributes?: DatasetSubTopicDataAttributes; + id?: number; +}; + +export type DatasetSubTopic = { + data?: DatasetSubTopicData; +}; + +export type DatasetSubTopicDataAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetSubTopicDataAttributesUpdatedByData = { + attributes?: DatasetSubTopicDataAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type DatasetSubTopicDataAttributesUpdatedBy = { + data?: DatasetSubTopicDataAttributesUpdatedByData; +}; + +export type DatasetSubTopicDataAttributes = { + createdAt?: string; + createdBy?: DatasetSubTopicDataAttributesCreatedBy; + name?: string; + updatedAt?: string; + updatedBy?: DatasetSubTopicDataAttributesUpdatedBy; +}; + +export type DatasetSubTopicDataAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetSubTopicDataAttributesCreatedByData = { + attributes?: DatasetSubTopicDataAttributesCreatedByDataAttributes; + id?: number; +}; + +export type DatasetSubTopicDataAttributesCreatedBy = { + data?: DatasetSubTopicDataAttributesCreatedByData; +}; + +export type DatasetLayersDataItemAttributes = { + createdAt?: string; + createdBy?: DatasetLayersDataItemAttributesCreatedBy; + legend_config?: DatasetLayersDataItemAttributesLegendConfig; + mapbox_config?: unknown; + name?: string; + params_config?: unknown; + type?: DatasetLayersDataItemAttributesType; + updatedAt?: string; + updatedBy?: DatasetLayersDataItemAttributesUpdatedBy; +}; + +export type DatasetLayersDataItem = { + attributes?: DatasetLayersDataItemAttributes; + id?: number; +}; + +export type DatasetLayers = { + data?: DatasetLayersDataItem[]; +}; + +export type DatasetLayersDataItemAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetLayersDataItemAttributesUpdatedByData = { + attributes?: DatasetLayersDataItemAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesUpdatedBy = { + data?: DatasetLayersDataItemAttributesUpdatedByData; +}; + +export type DatasetLayersDataItemAttributesType = typeof DatasetLayersDataItemAttributesType[keyof typeof DatasetLayersDataItemAttributesType]; + + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const DatasetLayersDataItemAttributesType = { + static: 'static', + animated: 'animated', +} as const; + +export type DatasetLayersDataItemAttributesLegendConfigType = typeof DatasetLayersDataItemAttributesLegendConfigType[keyof typeof DatasetLayersDataItemAttributesLegendConfigType]; + + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const DatasetLayersDataItemAttributesLegendConfigType = { + basic: 'basic', + choropleth: 'choropleth', + gradient: 'gradient', +} as const; + +export type DatasetLayersDataItemAttributesLegendConfigItemsItem = { + color?: string; + id?: number; + value?: string; +}; + +export type DatasetLayersDataItemAttributesLegendConfig = { + id?: number; + items?: DatasetLayersDataItemAttributesLegendConfigItemsItem[]; + type?: DatasetLayersDataItemAttributesLegendConfigType; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributes = { + blocked?: boolean; + createdAt?: string; + createdBy?: DatasetLayersDataItemAttributesCreatedByDataAttributesCreatedBy; + email?: string; + firstname?: string; + isActive?: boolean; + lastname?: string; + preferedLanguage?: string; + registrationToken?: string; + resetPasswordToken?: string; + roles?: DatasetLayersDataItemAttributesCreatedByDataAttributesRoles; + updatedAt?: string; + updatedBy?: DatasetLayersDataItemAttributesCreatedByDataAttributesUpdatedBy; + username?: string; +}; + +export type DatasetLayersDataItemAttributesCreatedByData = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedBy = { + data?: DatasetLayersDataItemAttributesCreatedByData; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesUpdatedByData = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesUpdatedBy = { + data?: DatasetLayersDataItemAttributesCreatedByDataAttributesUpdatedByData; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItem = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRoles = { + data?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItem[]; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes = { [key: string]: unknown }; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItemAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsers = { + data?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsersDataItem[]; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy = { + data?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedByData; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions = { + data?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItem[]; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributes = { + code?: string; + createdAt?: string; + createdBy?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy; + description?: string; + name?: string; + permissions?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissions; + updatedAt?: string; + updatedBy?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUpdatedBy; + users?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesUsers; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByDataAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy = { + data?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedByData; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributes = { + action?: string; + actionParameters?: unknown; + conditions?: unknown; + createdAt?: string; + createdBy?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy; + properties?: unknown; + role?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole; + subject?: string; + updatedAt?: string; + updatedBy?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesUpdatedBy; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes = { [key: string]: unknown }; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleDataAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRole = { + data?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesRoleData; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByDataAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedBy = { + data?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesPermissionsDataItemAttributesCreatedByData; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByDataAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedBy = { + data?: DatasetLayersDataItemAttributesCreatedByDataAttributesRolesDataItemAttributesCreatedByData; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesCreatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesCreatedByData = { + attributes?: DatasetLayersDataItemAttributesCreatedByDataAttributesCreatedByDataAttributes; + id?: number; +}; + +export type DatasetLayersDataItemAttributesCreatedByDataAttributesCreatedBy = { + data?: DatasetLayersDataItemAttributesCreatedByDataAttributesCreatedByData; +}; + +export type DatasetDefaultLayerDataAttributes = { [key: string]: unknown }; + +export type DatasetDefaultLayerData = { + attributes?: DatasetDefaultLayerDataAttributes; + id?: number; +}; + +export type DatasetDefaultLayer = { + data?: DatasetDefaultLayerData; +}; + +export type DatasetCreatedByDataAttributes = { [key: string]: unknown }; + +export type DatasetCreatedByData = { + attributes?: DatasetCreatedByDataAttributes; + id?: number; +}; + +export type DatasetCreatedBy = { + data?: DatasetCreatedByData; +}; + +export type DatasetListResponseMetaPagination = { + page?: number; + /** @maximum 1 */ + pageCount?: number; + /** @minimum 25 */ + pageSize?: number; + total?: number; +}; + +export type DatasetListResponseMeta = { + pagination?: DatasetListResponseMetaPagination; +}; + +export interface DatasetListResponseDataItem { + attributes?: Dataset; + id?: number; +} + +export interface DatasetListResponse { + data?: DatasetListResponseDataItem[]; + meta?: DatasetListResponseMeta; +} + +export interface DatasetRequest { + data: DatasetRequestData; +} + +export type DatasetRequestDataTopic = number | string; + +export type DatasetRequestDataSubTopic = number | string; + +export type DatasetRequestDataLayersItem = number | string; + +export type DatasetRequestDataDefaultLayer = number | string; + +export type DatasetRequestData = { + default_layer?: DatasetRequestDataDefaultLayer; + layers?: DatasetRequestDataLayersItem[]; + name: string; + sub_topic?: DatasetRequestDataSubTopic; + topic?: DatasetRequestDataTopic; +}; + +export type ErrorErrorDetails = { [key: string]: unknown }; + +export type ErrorError = { + details?: ErrorErrorDetails; + message?: string; + name?: string; + status?: number; +}; + +export interface Error { + /** @nullable */ + data?: ErrorData; + error: ErrorError; +} + +export type ErrorDataOneOfTwoItem = { [key: string]: unknown }; + +export type ErrorDataOneOf = { [key: string]: unknown }; + +/** + * @nullable + */ +export type ErrorData = ErrorDataOneOf | ErrorDataOneOfTwoItem[] | null; + diff --git a/client/src/types/generated/sub-topic.ts b/client/src/types/generated/sub-topic.ts new file mode 100644 index 0000000..f27f548 --- /dev/null +++ b/client/src/types/generated/sub-topic.ts @@ -0,0 +1,353 @@ +/** + * Generated by orval v7.2.0 🍺 + * Do not edit manually. + * DOCUMENTATION + * OpenAPI spec version: 1.0.0 + */ +import { + useMutation, + useQuery +} from '@tanstack/react-query' +import type { + DefinedInitialDataOptions, + DefinedUseQueryResult, + MutationFunction, + QueryFunction, + QueryKey, + UndefinedInitialDataOptions, + UseMutationOptions, + UseMutationResult, + UseQueryOptions, + UseQueryResult +} from '@tanstack/react-query' +import type { + Error, + GetSubTopicsParams, + SubTopicListResponse, + SubTopicRequest, + SubTopicResponse +} from './strapi.schemas' +import { API } from '../../services/api'; +import type { ErrorType, BodyType } from '../../services/api'; + + + +type SecondParameter any> = Parameters[1]; + + +export const getSubTopics = ( + params?: GetSubTopicsParams, + options?: SecondParameter,signal?: AbortSignal +) => { + + + return API( + {url: `/sub-topics`, method: 'GET', + params, signal + }, + options); + } + + +export const getGetSubTopicsQueryKey = (params?: GetSubTopicsParams,) => { + return [`/sub-topics`, ...(params ? [params]: [])] as const; + } + + +export const getGetSubTopicsQueryOptions = >, TError = ErrorType>(params?: GetSubTopicsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} +) => { + +const {query: queryOptions, request: requestOptions} = options ?? {}; + + const queryKey = queryOptions?.queryKey ?? getGetSubTopicsQueryKey(params); + + + + const queryFn: QueryFunction>> = ({ signal }) => getSubTopics(params, requestOptions, signal); + + + + + + return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } +} + +export type GetSubTopicsQueryResult = NonNullable>> +export type GetSubTopicsQueryError = ErrorType + + +export function useGetSubTopics>, TError = ErrorType>( + params: undefined | GetSubTopicsParams, options: { query:Partial>, TError, TData>> & Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): DefinedUseQueryResult & { queryKey: QueryKey } +export function useGetSubTopics>, TError = ErrorType>( + params?: GetSubTopicsParams, options?: { query?:Partial>, TError, TData>> & Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } +export function useGetSubTopics>, TError = ErrorType>( + params?: GetSubTopicsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } + +export function useGetSubTopics>, TError = ErrorType>( + params?: GetSubTopicsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } { + + const queryOptions = getGetSubTopicsQueryOptions(params,options) + + const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; + + query.queryKey = queryOptions.queryKey ; + + return query; +} + + + +export const postSubTopics = ( + subTopicRequest: BodyType, + options?: SecondParameter,) => { + + + return API( + {url: `/sub-topics`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: subTopicRequest + }, + options); + } + + + +export const getPostSubTopicsMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{data: BodyType}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {data: BodyType}> = (props) => { + const {data} = props ?? {}; + + return postSubTopics(data,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type PostSubTopicsMutationResult = NonNullable>> + export type PostSubTopicsMutationBody = BodyType + export type PostSubTopicsMutationError = ErrorType + + export const usePostSubTopics = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {data: BodyType}, + TContext + > => { + + const mutationOptions = getPostSubTopicsMutationOptions(options); + + return useMutation(mutationOptions); + } + export const getSubTopicsId = ( + id: number, + options?: SecondParameter,signal?: AbortSignal +) => { + + + return API( + {url: `/sub-topics/${id}`, method: 'GET', signal + }, + options); + } + + +export const getGetSubTopicsIdQueryKey = (id: number,) => { + return [`/sub-topics/${id}`] as const; + } + + +export const getGetSubTopicsIdQueryOptions = >, TError = ErrorType>(id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} +) => { + +const {query: queryOptions, request: requestOptions} = options ?? {}; + + const queryKey = queryOptions?.queryKey ?? getGetSubTopicsIdQueryKey(id); + + + + const queryFn: QueryFunction>> = ({ signal }) => getSubTopicsId(id, requestOptions, signal); + + + + + + return { queryKey, queryFn, enabled: !!(id), ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } +} + +export type GetSubTopicsIdQueryResult = NonNullable>> +export type GetSubTopicsIdQueryError = ErrorType + + +export function useGetSubTopicsId>, TError = ErrorType>( + id: number, options: { query:Partial>, TError, TData>> & Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): DefinedUseQueryResult & { queryKey: QueryKey } +export function useGetSubTopicsId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>> & Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } +export function useGetSubTopicsId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } + +export function useGetSubTopicsId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } { + + const queryOptions = getGetSubTopicsIdQueryOptions(id,options) + + const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; + + query.queryKey = queryOptions.queryKey ; + + return query; +} + + + +export const putSubTopicsId = ( + id: number, + subTopicRequest: BodyType, + options?: SecondParameter,) => { + + + return API( + {url: `/sub-topics/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: subTopicRequest + }, + options); + } + + + +export const getPutSubTopicsIdMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{id: number;data: BodyType}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {id: number;data: BodyType}> = (props) => { + const {id,data} = props ?? {}; + + return putSubTopicsId(id,data,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type PutSubTopicsIdMutationResult = NonNullable>> + export type PutSubTopicsIdMutationBody = BodyType + export type PutSubTopicsIdMutationError = ErrorType + + export const usePutSubTopicsId = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {id: number;data: BodyType}, + TContext + > => { + + const mutationOptions = getPutSubTopicsIdMutationOptions(options); + + return useMutation(mutationOptions); + } + export const deleteSubTopicsId = ( + id: number, + options?: SecondParameter,) => { + + + return API( + {url: `/sub-topics/${id}`, method: 'DELETE' + }, + options); + } + + + +export const getDeleteSubTopicsIdMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{id: number}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {id: number}> = (props) => { + const {id} = props ?? {}; + + return deleteSubTopicsId(id,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type DeleteSubTopicsIdMutationResult = NonNullable>> + + export type DeleteSubTopicsIdMutationError = ErrorType + + export const useDeleteSubTopicsId = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {id: number}, + TContext + > => { + + const mutationOptions = getDeleteSubTopicsIdMutationOptions(options); + + return useMutation(mutationOptions); + } + \ No newline at end of file diff --git a/client/src/types/generated/topic.ts b/client/src/types/generated/topic.ts new file mode 100644 index 0000000..28daca3 --- /dev/null +++ b/client/src/types/generated/topic.ts @@ -0,0 +1,353 @@ +/** + * Generated by orval v7.2.0 🍺 + * Do not edit manually. + * DOCUMENTATION + * OpenAPI spec version: 1.0.0 + */ +import { + useMutation, + useQuery +} from '@tanstack/react-query' +import type { + DefinedInitialDataOptions, + DefinedUseQueryResult, + MutationFunction, + QueryFunction, + QueryKey, + UndefinedInitialDataOptions, + UseMutationOptions, + UseMutationResult, + UseQueryOptions, + UseQueryResult +} from '@tanstack/react-query' +import type { + Error, + GetTopicsParams, + TopicListResponse, + TopicRequest, + TopicResponse +} from './strapi.schemas' +import { API } from '../../services/api'; +import type { ErrorType, BodyType } from '../../services/api'; + + + +type SecondParameter any> = Parameters[1]; + + +export const getTopics = ( + params?: GetTopicsParams, + options?: SecondParameter,signal?: AbortSignal +) => { + + + return API( + {url: `/topics`, method: 'GET', + params, signal + }, + options); + } + + +export const getGetTopicsQueryKey = (params?: GetTopicsParams,) => { + return [`/topics`, ...(params ? [params]: [])] as const; + } + + +export const getGetTopicsQueryOptions = >, TError = ErrorType>(params?: GetTopicsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} +) => { + +const {query: queryOptions, request: requestOptions} = options ?? {}; + + const queryKey = queryOptions?.queryKey ?? getGetTopicsQueryKey(params); + + + + const queryFn: QueryFunction>> = ({ signal }) => getTopics(params, requestOptions, signal); + + + + + + return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } +} + +export type GetTopicsQueryResult = NonNullable>> +export type GetTopicsQueryError = ErrorType + + +export function useGetTopics>, TError = ErrorType>( + params: undefined | GetTopicsParams, options: { query:Partial>, TError, TData>> & Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): DefinedUseQueryResult & { queryKey: QueryKey } +export function useGetTopics>, TError = ErrorType>( + params?: GetTopicsParams, options?: { query?:Partial>, TError, TData>> & Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } +export function useGetTopics>, TError = ErrorType>( + params?: GetTopicsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } + +export function useGetTopics>, TError = ErrorType>( + params?: GetTopicsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } { + + const queryOptions = getGetTopicsQueryOptions(params,options) + + const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; + + query.queryKey = queryOptions.queryKey ; + + return query; +} + + + +export const postTopics = ( + topicRequest: BodyType, + options?: SecondParameter,) => { + + + return API( + {url: `/topics`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: topicRequest + }, + options); + } + + + +export const getPostTopicsMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{data: BodyType}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {data: BodyType}> = (props) => { + const {data} = props ?? {}; + + return postTopics(data,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type PostTopicsMutationResult = NonNullable>> + export type PostTopicsMutationBody = BodyType + export type PostTopicsMutationError = ErrorType + + export const usePostTopics = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {data: BodyType}, + TContext + > => { + + const mutationOptions = getPostTopicsMutationOptions(options); + + return useMutation(mutationOptions); + } + export const getTopicsId = ( + id: number, + options?: SecondParameter,signal?: AbortSignal +) => { + + + return API( + {url: `/topics/${id}`, method: 'GET', signal + }, + options); + } + + +export const getGetTopicsIdQueryKey = (id: number,) => { + return [`/topics/${id}`] as const; + } + + +export const getGetTopicsIdQueryOptions = >, TError = ErrorType>(id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} +) => { + +const {query: queryOptions, request: requestOptions} = options ?? {}; + + const queryKey = queryOptions?.queryKey ?? getGetTopicsIdQueryKey(id); + + + + const queryFn: QueryFunction>> = ({ signal }) => getTopicsId(id, requestOptions, signal); + + + + + + return { queryKey, queryFn, enabled: !!(id), ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } +} + +export type GetTopicsIdQueryResult = NonNullable>> +export type GetTopicsIdQueryError = ErrorType + + +export function useGetTopicsId>, TError = ErrorType>( + id: number, options: { query:Partial>, TError, TData>> & Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): DefinedUseQueryResult & { queryKey: QueryKey } +export function useGetTopicsId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>> & Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + TData + > , 'initialData' + >, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } +export function useGetTopicsId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } + +export function useGetTopicsId>, TError = ErrorType>( + id: number, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} + + ): UseQueryResult & { queryKey: QueryKey } { + + const queryOptions = getGetTopicsIdQueryOptions(id,options) + + const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; + + query.queryKey = queryOptions.queryKey ; + + return query; +} + + + +export const putTopicsId = ( + id: number, + topicRequest: BodyType, + options?: SecondParameter,) => { + + + return API( + {url: `/topics/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: topicRequest + }, + options); + } + + + +export const getPutTopicsIdMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{id: number;data: BodyType}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {id: number;data: BodyType}> = (props) => { + const {id,data} = props ?? {}; + + return putTopicsId(id,data,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type PutTopicsIdMutationResult = NonNullable>> + export type PutTopicsIdMutationBody = BodyType + export type PutTopicsIdMutationError = ErrorType + + export const usePutTopicsId = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {id: number;data: BodyType}, + TContext + > => { + + const mutationOptions = getPutTopicsIdMutationOptions(options); + + return useMutation(mutationOptions); + } + export const deleteTopicsId = ( + id: number, + options?: SecondParameter,) => { + + + return API( + {url: `/topics/${id}`, method: 'DELETE' + }, + options); + } + + + +export const getDeleteTopicsIdMutationOptions = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} +): UseMutationOptions>, TError,{id: number}, TContext> => { +const {mutation: mutationOptions, request: requestOptions} = options ?? {}; + + + + + const mutationFn: MutationFunction>, {id: number}> = (props) => { + const {id} = props ?? {}; + + return deleteTopicsId(id,requestOptions) + } + + + + + return { mutationFn, ...mutationOptions }} + + export type DeleteTopicsIdMutationResult = NonNullable>> + + export type DeleteTopicsIdMutationError = ErrorType + + export const useDeleteTopicsId = , + TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} +): UseMutationResult< + Awaited>, + TError, + {id: number}, + TContext + > => { + + const mutationOptions = getDeleteTopicsIdMutationOptions(options); + + return useMutation(mutationOptions); + } + \ No newline at end of file diff --git a/client/yarn.lock b/client/yarn.lock index 5bc0c03..b2161de 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -22,6 +22,48 @@ __metadata: languageName: node linkType: hard +"@apidevtools/json-schema-ref-parser@npm:9.0.6": + version: 9.0.6 + resolution: "@apidevtools/json-schema-ref-parser@npm:9.0.6" + dependencies: + "@jsdevtools/ono": "npm:^7.1.3" + call-me-maybe: "npm:^1.0.1" + js-yaml: "npm:^3.13.1" + checksum: 10c0/fc2cde5d8f99480bce78d9578d8c691f4a24fe1360aa52c22015d69ebb71c9caf27f9baa64239b69224ddc0d3c34792fc368a1a7fa3c55e26902cbbcd2f7ae53 + languageName: node + linkType: hard + +"@apidevtools/openapi-schemas@npm:^2.1.0": + version: 2.1.0 + resolution: "@apidevtools/openapi-schemas@npm:2.1.0" + checksum: 10c0/f4aa0f9df32e474d166c84ef91bceb18fa1c4f44b5593879529154ef340846811ea57dc2921560f157f692262827d28d988dd6e19fb21f00320e9961964176b4 + languageName: node + linkType: hard + +"@apidevtools/swagger-methods@npm:^3.0.2": + version: 3.0.2 + resolution: "@apidevtools/swagger-methods@npm:3.0.2" + checksum: 10c0/8c390e8e50c0be7787ba0ba4c3758488bde7c66c2d995209b4b48c1f8bc988faf393cbb24a4bd1cd2d42ce5167c26538e8adea5c85eb922761b927e4dab9fa1c + languageName: node + linkType: hard + +"@apidevtools/swagger-parser@npm:^10.1.0": + version: 10.1.0 + resolution: "@apidevtools/swagger-parser@npm:10.1.0" + dependencies: + "@apidevtools/json-schema-ref-parser": "npm:9.0.6" + "@apidevtools/openapi-schemas": "npm:^2.1.0" + "@apidevtools/swagger-methods": "npm:^3.0.2" + "@jsdevtools/ono": "npm:^7.1.3" + ajv: "npm:^8.6.3" + ajv-draft-04: "npm:^1.0.0" + call-me-maybe: "npm:^1.0.1" + peerDependencies: + openapi-types: ">=7" + checksum: 10c0/9a81529af6498a26e1d981bbbaccc02d1c7513ec4fdaa56c5f8fd048a73c171f6f92e55e85befa6fafc1bc4901be93c8af476fedc969cbf71b264c4f69cece84 + languageName: node + linkType: hard + "@artsy/fresnel@npm:7.1.4": version: 7.1.4 resolution: "@artsy/fresnel@npm:7.1.4" @@ -31,6 +73,15 @@ __metadata: languageName: node linkType: hard +"@asyncapi/specs@npm:^4.1.0": + version: 4.3.1 + resolution: "@asyncapi/specs@npm:4.3.1" + dependencies: + "@types/json-schema": "npm:^7.0.11" + checksum: 10c0/6f5c3958cdfa6fa91f072fc6d9e0d727a9c0bff9f583612a1d8d9a5c58804864dd250ff48f8e0c806e18e3f2066fe70d5026103b0630a125db866fc9571ce82f + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.25.7": version: 7.25.7 resolution: "@babel/code-frame@npm:7.25.7" @@ -1265,6 +1316,174 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/aix-ppc64@npm:0.24.0" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-arm64@npm:0.24.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-arm@npm:0.24.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-x64@npm:0.24.0" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/darwin-arm64@npm:0.24.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/darwin-x64@npm:0.24.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/freebsd-arm64@npm:0.24.0" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/freebsd-x64@npm:0.24.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-arm64@npm:0.24.0" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-arm@npm:0.24.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-ia32@npm:0.24.0" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-loong64@npm:0.24.0" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-mips64el@npm:0.24.0" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-ppc64@npm:0.24.0" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-riscv64@npm:0.24.0" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-s390x@npm:0.24.0" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-x64@npm:0.24.0" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/netbsd-x64@npm:0.24.0" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/openbsd-arm64@npm:0.24.0" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/openbsd-x64@npm:0.24.0" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/sunos-x64@npm:0.24.0" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/win32-arm64@npm:0.24.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/win32-ia32@npm:0.24.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/win32-x64@npm:0.24.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -1307,6 +1526,13 @@ __metadata: languageName: node linkType: hard +"@exodus/schemasafe@npm:^1.0.0-rc.2": + version: 1.3.0 + resolution: "@exodus/schemasafe@npm:1.3.0" + checksum: 10c0/e19397c14db76342154c32a9088536149babfd9b18ecae815add0b2f911d9aa292aa51c6ab33b857b4b6bb371a74ebde845e6f17b2824e73b4e307230f23f86a + languageName: node + linkType: hard + "@floating-ui/core@npm:^1.6.0": version: 1.6.8 resolution: "@floating-ui/core@npm:1.6.8" @@ -1370,6 +1596,31 @@ __metadata: languageName: node linkType: hard +"@ibm-cloud/openapi-ruleset-utilities@npm:1.4.0": + version: 1.4.0 + resolution: "@ibm-cloud/openapi-ruleset-utilities@npm:1.4.0" + checksum: 10c0/c7bdd2c60c9712671e60aa9c2f282d620d215e2bbf74ba36854498d23f2671af1ee952abb21a19aa07f024e9370529f30ba11533eea5a0dad1ab0cff1af2c005 + languageName: node + linkType: hard + +"@ibm-cloud/openapi-ruleset@npm:^1.14.2": + version: 1.23.2 + resolution: "@ibm-cloud/openapi-ruleset@npm:1.23.2" + dependencies: + "@ibm-cloud/openapi-ruleset-utilities": "npm:1.4.0" + "@stoplight/spectral-formats": "npm:^1.7.0" + "@stoplight/spectral-functions": "npm:^1.9.0" + "@stoplight/spectral-rulesets": "npm:^1.20.2" + chalk: "npm:^4.1.2" + lodash: "npm:^4.17.21" + loglevel: "npm:^1.9.2" + loglevel-plugin-prefix: "npm:0.8.4" + minimatch: "npm:^6.2.0" + validator: "npm:^13.11.0" + checksum: 10c0/2bf40a3aec72d0ffa4ef5afe2590073221a2eba4b804314df6f202ce23bd597a7dd42144a40f7cbc4d559f2acf1b35a51fea191f8d856097e4a407abc62a3335 + languageName: node + linkType: hard + "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -1426,6 +1677,31 @@ __metadata: languageName: node linkType: hard +"@jsdevtools/ono@npm:^7.1.3": + version: 7.1.3 + resolution: "@jsdevtools/ono@npm:7.1.3" + checksum: 10c0/a9f7e3e8e3bc315a34959934a5e2f874c423cf4eae64377d3fc9de0400ed9f36cb5fd5ebce3300d2e8f4085f557c4a8b591427a583729a87841fda46e6c216b9 + languageName: node + linkType: hard + +"@jsep-plugin/regex@npm:^1.0.1": + version: 1.0.3 + resolution: "@jsep-plugin/regex@npm:1.0.3" + peerDependencies: + jsep: ^0.4.0||^1.0.0 + checksum: 10c0/1e69028ae4a269c912936f6408206c34c4bd582a593a7cda0ba1434ea8d3c32e5fd708fa79d1f94bda293f94b51ea880ff7f976da00f18e39aae45b9971d9bd3 + languageName: node + linkType: hard + +"@jsep-plugin/ternary@npm:^1.0.2": + version: 1.1.3 + resolution: "@jsep-plugin/ternary@npm:1.1.3" + peerDependencies: + jsep: ^0.4.0||^1.0.0 + checksum: 10c0/cf2f4b036fa0646d9c777baa92dd662eb498a0f567046d76c8f2441f51d6c86c4ba67279fd74b6ed7f3a39ea2db43d552eb5c23318b86dd393505f0ab8b1df2a + languageName: node + linkType: hard + "@mapbox/jsonlint-lines-primitives@npm:^2.0.2, @mapbox/jsonlint-lines-primitives@npm:~2.0.2": version: 2.0.2 resolution: "@mapbox/jsonlint-lines-primitives@npm:2.0.2" @@ -1630,6 +1906,115 @@ __metadata: languageName: node linkType: hard +"@orval/angular@npm:7.2.0": + version: 7.2.0 + resolution: "@orval/angular@npm:7.2.0" + dependencies: + "@orval/core": "npm:7.2.0" + checksum: 10c0/9121b14cba2b6532bd549dd44ada843b15630b01b179534f09f78a426ce177c2f50fdc98a2a44f6bfa2133aae3057b65b417d48196300dfe3263caf77bb2bdfe + languageName: node + linkType: hard + +"@orval/axios@npm:7.2.0": + version: 7.2.0 + resolution: "@orval/axios@npm:7.2.0" + dependencies: + "@orval/core": "npm:7.2.0" + checksum: 10c0/9df63f12dcfe15f2c5c2aac59d020b48fa926e4d2a5a5291cea1a18faea1b6d3fe1ce743ad3bc7550f8641101a6ef8d7df2f5e9c5bfe989e1477f28d906266be + languageName: node + linkType: hard + +"@orval/core@npm:7.2.0": + version: 7.2.0 + resolution: "@orval/core@npm:7.2.0" + dependencies: + "@apidevtools/swagger-parser": "npm:^10.1.0" + "@ibm-cloud/openapi-ruleset": "npm:^1.14.2" + acorn: "npm:^8.11.2" + ajv: "npm:^8.12.0" + chalk: "npm:^4.1.2" + compare-versions: "npm:^6.1.0" + debug: "npm:^4.3.4" + esbuild: "npm:^0.24.0" + esutils: "npm:2.0.3" + fs-extra: "npm:^11.2.0" + globby: "npm:11.1.0" + lodash.get: "npm:^4.4.2" + lodash.isempty: "npm:^4.4.0" + lodash.omit: "npm:^4.5.0" + lodash.uniq: "npm:^4.5.0" + lodash.uniqby: "npm:^4.7.0" + lodash.uniqwith: "npm:^4.5.0" + micromatch: "npm:^4.0.5" + openapi3-ts: "npm:4.2.2" + swagger2openapi: "npm:^7.0.8" + checksum: 10c0/a5a70118219bef1b6922bfce77d172ddc85f9d93120ea7569222b627ea75c717a878b5ed2ab3e7842cfbb8301e8dca5ad4411c73b37fd40011c2a5675531160a + languageName: node + linkType: hard + +"@orval/fetch@npm:7.2.0": + version: 7.2.0 + resolution: "@orval/fetch@npm:7.2.0" + dependencies: + "@orval/core": "npm:7.2.0" + checksum: 10c0/80174ed73d8872b5d59650cea3b32bd3f8f9a3cf8a121602fa6059d99d07ada2c7afd0bd6b9f18f7501ff0ab3c699197e8fdcb341125f51ab6ca5133192d1187 + languageName: node + linkType: hard + +"@orval/hono@npm:7.2.0": + version: 7.2.0 + resolution: "@orval/hono@npm:7.2.0" + dependencies: + "@orval/core": "npm:7.2.0" + "@orval/zod": "npm:7.2.0" + lodash.uniq: "npm:^4.5.0" + checksum: 10c0/21bd1f14fe55c6edb68d01644cec0552dc03aefcf2a18ce86b8d15e4afbbc2e9b11e85cd85402a15a0489f99e9dfb1ac47d7ee419ad4a1ceebe48872ab3d384e + languageName: node + linkType: hard + +"@orval/mock@npm:7.2.0": + version: 7.2.0 + resolution: "@orval/mock@npm:7.2.0" + dependencies: + "@orval/core": "npm:7.2.0" + lodash.get: "npm:^4.4.2" + lodash.omit: "npm:^4.5.0" + openapi3-ts: "npm:^4.2.2" + checksum: 10c0/94e15ec5a952e1b08f32bfa56cde7f244ab6117aa89142e7801e5b2ee0f2a17fdd3180841e9a3e5362101cfc30524191b9b5631b95a97a464e175c8a0c715258 + languageName: node + linkType: hard + +"@orval/query@npm:7.2.0": + version: 7.2.0 + resolution: "@orval/query@npm:7.2.0" + dependencies: + "@orval/core": "npm:7.2.0" + "@orval/fetch": "npm:7.2.0" + lodash.omitby: "npm:^4.6.0" + checksum: 10c0/5eda8de4f26fa5764e5c2a7bdbd4460430fbd3b2a070969ff7e6e79ca9d0119cdd3d49ad87617f373030588a182d3d27ce62125870dad4788b5df3f1c318de4c + languageName: node + linkType: hard + +"@orval/swr@npm:7.2.0": + version: 7.2.0 + resolution: "@orval/swr@npm:7.2.0" + dependencies: + "@orval/core": "npm:7.2.0" + "@orval/fetch": "npm:7.2.0" + checksum: 10c0/a64f3cf579904c8f8816a98290a34c77f8403aad88631a256fb005214bca8d26512f734bebc76bb546954c6fe7882a8832e3ae14f6ccd9a7514dedf03e19b7b1 + languageName: node + linkType: hard + +"@orval/zod@npm:7.2.0": + version: 7.2.0 + resolution: "@orval/zod@npm:7.2.0" + dependencies: + "@orval/core": "npm:7.2.0" + lodash.uniq: "npm:^4.5.0" + checksum: 10c0/a87321f66e3f077f3e7880923784c2f94c8feea08f966174f18ccd61771fcda0104b5b1bce9199bfb683cda66e2e4241874d7b9a80ce2521ea2d50fdad967228 + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -2245,6 +2630,256 @@ __metadata: languageName: node linkType: hard +"@stoplight/better-ajv-errors@npm:1.0.3": + version: 1.0.3 + resolution: "@stoplight/better-ajv-errors@npm:1.0.3" + dependencies: + jsonpointer: "npm:^5.0.0" + leven: "npm:^3.1.0" + peerDependencies: + ajv: ">=8" + checksum: 10c0/0021c1a17fcc514d1922c0456bb976283c3282ebd63ca3d1816295d1fb3d8517442262fa7eafa83fb0a62c433abcac6c16c985258f6fb55116df8ce88b23cbed + languageName: node + linkType: hard + +"@stoplight/json-ref-readers@npm:1.2.2": + version: 1.2.2 + resolution: "@stoplight/json-ref-readers@npm:1.2.2" + dependencies: + node-fetch: "npm:^2.6.0" + tslib: "npm:^1.14.1" + checksum: 10c0/c7b9b18a842b4d4c1d39daf7280e1e7bdd1dbaf770d25f6cdff99cba3c857d3c22d608c0a1c00fbb3f3a0bfe0ca7d1ed4ec62e4130ac0346ad882e379a9c9a22 + languageName: node + linkType: hard + +"@stoplight/json-ref-resolver@npm:~3.1.6": + version: 3.1.6 + resolution: "@stoplight/json-ref-resolver@npm:3.1.6" + dependencies: + "@stoplight/json": "npm:^3.21.0" + "@stoplight/path": "npm:^1.3.2" + "@stoplight/types": "npm:^12.3.0 || ^13.0.0" + "@types/urijs": "npm:^1.19.19" + dependency-graph: "npm:~0.11.0" + fast-memoize: "npm:^2.5.2" + immer: "npm:^9.0.6" + lodash: "npm:^4.17.21" + tslib: "npm:^2.6.0" + urijs: "npm:^1.19.11" + checksum: 10c0/ebacb3cc3d1b7e6de9559b1ebc6c199aabb06311e81863829f1d2ea0be8d677b297fd32a016c81626cf733a256ad99a7bd8d24f7d9144d872e42db58c80eab9a + languageName: node + linkType: hard + +"@stoplight/json@npm:^3.17.0, @stoplight/json@npm:^3.17.1, @stoplight/json@npm:^3.21.0, @stoplight/json@npm:~3.21.0": + version: 3.21.7 + resolution: "@stoplight/json@npm:3.21.7" + dependencies: + "@stoplight/ordered-object-literal": "npm:^1.0.3" + "@stoplight/path": "npm:^1.3.2" + "@stoplight/types": "npm:^13.6.0" + jsonc-parser: "npm:~2.2.1" + lodash: "npm:^4.17.21" + safe-stable-stringify: "npm:^1.1" + checksum: 10c0/7a60acbbf8d2c34d8812d988bab4e4687da80d45e0a11e05731a6e83586548421d5901713dcbb17b749ef32128eca2029a66f1e2e417578e5a3504b89db5c807 + languageName: node + linkType: hard + +"@stoplight/ordered-object-literal@npm:^1.0.3, @stoplight/ordered-object-literal@npm:^1.0.5": + version: 1.0.5 + resolution: "@stoplight/ordered-object-literal@npm:1.0.5" + checksum: 10c0/e14402990f66f48478fb0871c14fd3c034f1bf9c56161921c354ccaa6dfb2639408fe9a8c77275119d6b734ee5513258f51a0ee2459d1cc6d9068b67eeb48862 + languageName: node + linkType: hard + +"@stoplight/path@npm:1.3.2, @stoplight/path@npm:^1.3.2": + version: 1.3.2 + resolution: "@stoplight/path@npm:1.3.2" + checksum: 10c0/c26ebbd123f1ad0a44485a63763802133080b0455578fa52d01a8ae85230497a561d0073344d00cc73494328489575fe9fadad3ad4d67b015866b6ef01aaad84 + languageName: node + linkType: hard + +"@stoplight/spectral-core@npm:^1.7.0, @stoplight/spectral-core@npm:^1.8.0, @stoplight/spectral-core@npm:^1.8.1": + version: 1.19.1 + resolution: "@stoplight/spectral-core@npm:1.19.1" + dependencies: + "@stoplight/better-ajv-errors": "npm:1.0.3" + "@stoplight/json": "npm:~3.21.0" + "@stoplight/path": "npm:1.3.2" + "@stoplight/spectral-parsers": "npm:^1.0.0" + "@stoplight/spectral-ref-resolver": "npm:^1.0.4" + "@stoplight/spectral-runtime": "npm:^1.0.0" + "@stoplight/types": "npm:~13.6.0" + "@types/es-aggregate-error": "npm:^1.0.2" + "@types/json-schema": "npm:^7.0.11" + ajv: "npm:^8.17.1" + ajv-errors: "npm:~3.0.0" + ajv-formats: "npm:~2.1.0" + es-aggregate-error: "npm:^1.0.7" + jsonpath-plus: "npm:7.1.0" + lodash: "npm:~4.17.21" + lodash.topath: "npm:^4.5.2" + minimatch: "npm:3.1.2" + nimma: "npm:0.2.2" + pony-cause: "npm:^1.0.0" + simple-eval: "npm:1.0.0" + tslib: "npm:^2.3.0" + checksum: 10c0/e5734afeb2ed88ee90da905b9696251358ba8c55eb02537607dda2d49649f6c7bea1f00996a674b0f48c8d3f081a8c1a835a68a787a4c4e927c37ec7a045199c + languageName: node + linkType: hard + +"@stoplight/spectral-formats@npm:^1.7.0": + version: 1.7.0 + resolution: "@stoplight/spectral-formats@npm:1.7.0" + dependencies: + "@stoplight/json": "npm:^3.17.0" + "@stoplight/spectral-core": "npm:^1.8.0" + "@types/json-schema": "npm:^7.0.7" + tslib: "npm:^2.3.1" + checksum: 10c0/b241b1c87071441c9626cffd8a842388b83775eb273152fde1949975934ef445123b118e9f81d178bb44c123bb43a78826dc4a9cc9bd729524e712eb2444ae53 + languageName: node + linkType: hard + +"@stoplight/spectral-functions@npm:^1.5.1, @stoplight/spectral-functions@npm:^1.9.0": + version: 1.9.0 + resolution: "@stoplight/spectral-functions@npm:1.9.0" + dependencies: + "@stoplight/better-ajv-errors": "npm:1.0.3" + "@stoplight/json": "npm:^3.17.1" + "@stoplight/spectral-core": "npm:^1.7.0" + "@stoplight/spectral-formats": "npm:^1.7.0" + "@stoplight/spectral-runtime": "npm:^1.1.0" + ajv: "npm:^8.17.1" + ajv-draft-04: "npm:~1.0.0" + ajv-errors: "npm:~3.0.0" + ajv-formats: "npm:~2.1.0" + lodash: "npm:~4.17.21" + tslib: "npm:^2.3.0" + checksum: 10c0/7b79058881823cf77527bb9bac0484a783ba5d947a426a1c6f988f83b6154f1c7dcb186d1a2e912ad2df5a70583ba8814a22d62d0a2d2105b92aaf0729071128 + languageName: node + linkType: hard + +"@stoplight/spectral-parsers@npm:^1.0.0": + version: 1.0.4 + resolution: "@stoplight/spectral-parsers@npm:1.0.4" + dependencies: + "@stoplight/json": "npm:~3.21.0" + "@stoplight/types": "npm:^14.1.1" + "@stoplight/yaml": "npm:~4.3.0" + tslib: "npm:^2.3.1" + checksum: 10c0/03f6258cf2f61e5729c840a0ee4da5f6fb226816e681ca7de09a595ccde5b9fe4b76a0646f9782dab3aa8093111e52be5821478718a03413ed43beefaa5ecdcc + languageName: node + linkType: hard + +"@stoplight/spectral-ref-resolver@npm:^1.0.4": + version: 1.0.4 + resolution: "@stoplight/spectral-ref-resolver@npm:1.0.4" + dependencies: + "@stoplight/json-ref-readers": "npm:1.2.2" + "@stoplight/json-ref-resolver": "npm:~3.1.6" + "@stoplight/spectral-runtime": "npm:^1.1.2" + dependency-graph: "npm:0.11.0" + tslib: "npm:^2.3.1" + checksum: 10c0/e68400ea198e380b4d6e20e08319d1939151db1b4d18c834d85ccca2a98cf6c2010ec7701a111f9b8560b4817984da2307ca0a75ff6ad9f7a924b72bd4a59e32 + languageName: node + linkType: hard + +"@stoplight/spectral-rulesets@npm:^1.20.2": + version: 1.20.2 + resolution: "@stoplight/spectral-rulesets@npm:1.20.2" + dependencies: + "@asyncapi/specs": "npm:^4.1.0" + "@stoplight/better-ajv-errors": "npm:1.0.3" + "@stoplight/json": "npm:^3.17.0" + "@stoplight/spectral-core": "npm:^1.8.1" + "@stoplight/spectral-formats": "npm:^1.7.0" + "@stoplight/spectral-functions": "npm:^1.5.1" + "@stoplight/spectral-runtime": "npm:^1.1.1" + "@stoplight/types": "npm:^13.6.0" + "@types/json-schema": "npm:^7.0.7" + ajv: "npm:^8.17.1" + ajv-formats: "npm:~2.1.0" + json-schema-traverse: "npm:^1.0.0" + leven: "npm:3.1.0" + lodash: "npm:~4.17.21" + tslib: "npm:^2.3.0" + checksum: 10c0/bd48384447cf4d809e98cdfb06e98b2d6d020565d059c5e3bdcdfedbe48013d147e77537e7975521617ee34186e60e1d38a9a14c60f70a7eb8faf8363bb4e9e2 + languageName: node + linkType: hard + +"@stoplight/spectral-runtime@npm:^1.0.0, @stoplight/spectral-runtime@npm:^1.1.0, @stoplight/spectral-runtime@npm:^1.1.1, @stoplight/spectral-runtime@npm:^1.1.2": + version: 1.1.2 + resolution: "@stoplight/spectral-runtime@npm:1.1.2" + dependencies: + "@stoplight/json": "npm:^3.17.0" + "@stoplight/path": "npm:^1.3.2" + "@stoplight/types": "npm:^12.3.0" + abort-controller: "npm:^3.0.0" + lodash: "npm:^4.17.21" + node-fetch: "npm:^2.6.7" + tslib: "npm:^2.3.1" + checksum: 10c0/f35fc282c3544557928a64c90258697c410b4c63b9269e3912c3288358ba1068758fde86462cfb38e1a7c840e0936660261ee91e1ed4e2d8b506cff5849e0a79 + languageName: node + linkType: hard + +"@stoplight/types@npm:^12.3.0": + version: 12.5.0 + resolution: "@stoplight/types@npm:12.5.0" + dependencies: + "@types/json-schema": "npm:^7.0.4" + utility-types: "npm:^3.10.0" + checksum: 10c0/0045a8a33364502cf946c715441406f21e19515228f0ce2c67252ba4a8997a05f998545b414e931077caa9755280b26562a31323bd390155332b525088eb8a36 + languageName: node + linkType: hard + +"@stoplight/types@npm:^12.3.0 || ^13.0.0, @stoplight/types@npm:^13.6.0": + version: 13.20.0 + resolution: "@stoplight/types@npm:13.20.0" + dependencies: + "@types/json-schema": "npm:^7.0.4" + utility-types: "npm:^3.10.0" + checksum: 10c0/11d741bd71c6a286cef946b10e003b9b13b031f512d576ed1274c194540f0ee928332108d2b4d1bc87a8e5ba9703d1266951e6a53b8eb0a8db4dc68b1a798cab + languageName: node + linkType: hard + +"@stoplight/types@npm:^14.1.1": + version: 14.1.1 + resolution: "@stoplight/types@npm:14.1.1" + dependencies: + "@types/json-schema": "npm:^7.0.4" + utility-types: "npm:^3.10.0" + checksum: 10c0/1573d842fee99a7f1eea1f2b17c28dcbfb1be51b72f2ef794e07d265b2fb8900654b5848f608952cd1e3dedf6c7ec157c82c65d4d95728d6309f4b1722a11450 + languageName: node + linkType: hard + +"@stoplight/types@npm:~13.6.0": + version: 13.6.0 + resolution: "@stoplight/types@npm:13.6.0" + dependencies: + "@types/json-schema": "npm:^7.0.4" + utility-types: "npm:^3.10.0" + checksum: 10c0/64de299a1d1fbe819b601d72192e44f63c665f13e7a39a9c80930a2bdd54a6361ce9e7d60992ccc42ac8e4ac3b9c9d88a026deea59fe3f6e96a791c169c7a458 + languageName: node + linkType: hard + +"@stoplight/yaml-ast-parser@npm:0.0.50": + version: 0.0.50 + resolution: "@stoplight/yaml-ast-parser@npm:0.0.50" + checksum: 10c0/44d83c7081888402bee88ad0c1e90cd191478005773d8f9767015e109f8499c17da57eb790cca30ba1c02d2f1b74f82992f01ca8ffa272085d17b5f4b5a618cf + languageName: node + linkType: hard + +"@stoplight/yaml@npm:~4.3.0": + version: 4.3.0 + resolution: "@stoplight/yaml@npm:4.3.0" + dependencies: + "@stoplight/ordered-object-literal": "npm:^1.0.5" + "@stoplight/types": "npm:^14.1.1" + "@stoplight/yaml-ast-parser": "npm:0.0.50" + tslib: "npm:^2.2.0" + checksum: 10c0/d72b26e05a9cf96cb8321ea14bd03ba85aae023d48484d038e1f231ebdd7b8abcda496f55676944c5d138b177294991c25a3ae49cb5182f16c7eaa4660bc9928 + languageName: node + linkType: hard + "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": version: 8.0.0 resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" @@ -2446,6 +3081,35 @@ __metadata: languageName: node linkType: hard +"@tanstack/eslint-plugin-query@npm:5.59.7": + version: 5.59.7 + resolution: "@tanstack/eslint-plugin-query@npm:5.59.7" + dependencies: + "@typescript-eslint/utils": "npm:^8.3.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10c0/83ab51531b613d5f1015e1d0483b05fb27c654a8b6f40ed5dd1a6dcc48b221dd987c0bb9d9c64b6dd4632819599d93d5a85b431fc91d7846fdb1483551bda460 + languageName: node + linkType: hard + +"@tanstack/query-core@npm:5.59.16": + version: 5.59.16 + resolution: "@tanstack/query-core@npm:5.59.16" + checksum: 10c0/487a1ac0df5e02ca4ea5bf3b9ee0010ac7fe0856a36fa7bd10947598d3f0ba356c91aa21b123729b26f2116f05b8b69cd8fb17681c24cdd586de17b6fe021521 + languageName: node + linkType: hard + +"@tanstack/react-query@npm:5.59.16": + version: 5.59.16 + resolution: "@tanstack/react-query@npm:5.59.16" + dependencies: + "@tanstack/query-core": "npm:5.59.16" + peerDependencies: + react: ^18 || ^19 + checksum: 10c0/82acf170d2d169ad18081e4dc52bdcec3b92bd1b134bb704ab6949937a59fd4d7d4ddb1172dd7fdbd1667a2d2e0ffa118e68bde5f53972649b8e55bd0e87244c + languageName: node + linkType: hard + "@trysound/sax@npm:0.2.0": version: 0.2.0 resolution: "@trysound/sax@npm:0.2.0" @@ -2453,6 +3117,15 @@ __metadata: languageName: node linkType: hard +"@types/es-aggregate-error@npm:^1.0.2": + version: 1.0.6 + resolution: "@types/es-aggregate-error@npm:1.0.6" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/2a86724ba34495b3a86329b86f71ac83695086be9407afc60d104af5ce2b9ae549f6d19aa48741357ab03c6fe605c1653fdd35ac743541fb0419f8d7188f4b4f + languageName: node + linkType: hard + "@types/geojson-vt@npm:^3.2.5": version: 3.2.5 resolution: "@types/geojson-vt@npm:3.2.5" @@ -2469,6 +3142,13 @@ __metadata: languageName: node linkType: hard +"@types/json-schema@npm:^7.0.11, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.7": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + "@types/json5@npm:^0.0.29": version: 0.0.29 resolution: "@types/json5@npm:0.0.29" @@ -2503,6 +3183,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:*": + version: 22.7.9 + resolution: "@types/node@npm:22.7.9" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10c0/2d1917702b9d9ede8e4d8151cd8b1af8bc147d543486474ffbe0742e38764ea73105939e6a767addf7a4c39e842e16eae762bff90617d7b7f9ee3fbbb2d23bfa + languageName: node + linkType: hard + "@types/node@npm:22.7.6": version: 22.7.6 resolution: "@types/node@npm:22.7.6" @@ -2564,6 +3253,13 @@ __metadata: languageName: node linkType: hard +"@types/urijs@npm:^1.19.19": + version: 1.19.25 + resolution: "@types/urijs@npm:1.19.25" + checksum: 10c0/462464294f0cd5f2271e1ab760a45abe252a946559444188a4ad0edba39b1a8bff41b140b79596a5e3c44a5d0d29f78c9ab97b5e82efb1e8617093a549c22bf6 + languageName: node + linkType: hard + "@typescript-eslint/eslint-plugin@npm:8.9.0, @typescript-eslint/eslint-plugin@npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": version: 8.9.0 resolution: "@typescript-eslint/eslint-plugin@npm:8.9.0" @@ -2605,6 +3301,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/scope-manager@npm:8.11.0" + dependencies: + "@typescript-eslint/types": "npm:8.11.0" + "@typescript-eslint/visitor-keys": "npm:8.11.0" + checksum: 10c0/0910da62d8ae261711dd9f89d5c7d8e96ff13c50054436256e5a661309229cb49e3b8189c9468d36b6c4d3f7cddd121519ea78f9b18c9b869a808834b079b2ea + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:8.9.0": version: 8.9.0 resolution: "@typescript-eslint/scope-manager@npm:8.9.0" @@ -2630,6 +3336,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/types@npm:8.11.0" + checksum: 10c0/5ccdd3eeee077a6fc8e7f4bc0e0cbc9327b1205a845253ec5c0c6c49ff915e853161df00c24a0ffb4b8ec745d3f153dd0e066400a021c844c026e31121f46699 + languageName: node + linkType: hard + "@typescript-eslint/types@npm:8.9.0": version: 8.9.0 resolution: "@typescript-eslint/types@npm:8.9.0" @@ -2637,6 +3350,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.11.0" + dependencies: + "@typescript-eslint/types": "npm:8.11.0" + "@typescript-eslint/visitor-keys": "npm:8.11.0" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/b629ad3cd32b005d5c1d67c36958a418f8672efebea869399834f4f201ebf90b942165eebb5c9d9799dcabdc2cc26e5fabb00629f76b158847f42e1a491a75a6 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:8.9.0": version: 8.9.0 resolution: "@typescript-eslint/typescript-estree@npm:8.9.0" @@ -2670,6 +3402,30 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:^8.3.0": + version: 8.11.0 + resolution: "@typescript-eslint/utils@npm:8.11.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.11.0" + "@typescript-eslint/types": "npm:8.11.0" + "@typescript-eslint/typescript-estree": "npm:8.11.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10c0/bb5bcc8d928a55b22298e76f834ea6a9fe125a9ffeb6ac23bee0258b3ed32f41e281888a3d0be226a05e1011bb3b70e42a71a40366acdefea6779131c46bc522 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.11.0" + dependencies: + "@typescript-eslint/types": "npm:8.11.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/7a5a49609fdc47e114fe59eee56393c90b122ec8e9520f90b0c5e189635ae1ccfa8e00108f641342c2c8f4637fe9d40c77927cf7c8248a3a660812cb4b7d0c08 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:8.9.0": version: 8.9.0 resolution: "@typescript-eslint/visitor-keys@npm:8.9.0" @@ -2722,7 +3478,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.9.0": +"acorn@npm:^8.11.2, acorn@npm:^8.9.0": version: 8.13.0 resolution: "acorn@npm:8.13.0" bin: @@ -2750,6 +3506,41 @@ __metadata: languageName: node linkType: hard +"ajv-draft-04@npm:^1.0.0, ajv-draft-04@npm:~1.0.0": + version: 1.0.0 + resolution: "ajv-draft-04@npm:1.0.0" + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10c0/6044310bd38c17d77549fd326bd40ce1506fa10b0794540aa130180808bf94117fac8c9b448c621512bea60e4a947278f6a978e87f10d342950c15b33ddd9271 + languageName: node + linkType: hard + +"ajv-errors@npm:~3.0.0": + version: 3.0.0 + resolution: "ajv-errors@npm:3.0.0" + peerDependencies: + ajv: ^8.0.1 + checksum: 10c0/f3d864ebd4bc0b51ad622b5a889cc8903000295eaa058d59c2102f293fe126c3d901419da143eaa817b863cac2e92ae2ef6f55e6c31d07bf272099afe73961ae + languageName: node + linkType: hard + +"ajv-formats@npm:~2.1.0": + version: 2.1.1 + resolution: "ajv-formats@npm:2.1.1" + dependencies: + ajv: "npm:^8.0.0" + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 + languageName: node + linkType: hard + "ajv@npm:^6.12.4": version: 6.12.6 resolution: "ajv@npm:6.12.6" @@ -2762,6 +3553,25 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^8.0.0, ajv@npm:^8.12.0, ajv@npm:^8.17.1, ajv@npm:^8.6.3": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 + languageName: node + linkType: hard + +"ansi-colors@npm:^4.1.1": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 + languageName: node + linkType: hard + "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -2825,6 +3635,15 @@ __metadata: languageName: node linkType: hard +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -2888,6 +3707,13 @@ __metadata: languageName: node linkType: hard +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + "array.prototype.findlast@npm:^1.2.5": version: 1.2.5 resolution: "array.prototype.findlast@npm:1.2.5" @@ -2983,6 +3809,22 @@ __metadata: languageName: node linkType: hard +"astring@npm:^1.8.1": + version: 1.9.0 + resolution: "astring@npm:1.9.0" + bin: + astring: bin/astring + checksum: 10c0/e7519544d9824494e80ef0e722bb3a0c543a31440d59691c13aeaceb75b14502af536b23f08db50aa6c632dafaade54caa25f0788aa7550b6b2d6e2df89e0830 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + "atomic-sleep@npm:^1.0.0": version: 1.0.0 resolution: "atomic-sleep@npm:1.0.0" @@ -3006,6 +3848,17 @@ __metadata: languageName: node linkType: hard +"axios@npm:1.7.7": + version: 1.7.7 + resolution: "axios@npm:1.7.7" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/4499efc89e86b0b49ffddc018798de05fab26e3bf57913818266be73279a6418c3ce8f9e934c7d2d707ab8c095e837fc6c90608fb7715b94d357720b5f568af7 + languageName: node + linkType: hard + "axobject-query@npm:~3.1.1": version: 3.1.1 resolution: "axobject-query@npm:3.1.1" @@ -3186,6 +4039,13 @@ __metadata: languageName: node linkType: hard +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + "cacache@npm:^18.0.0": version: 18.0.4 resolution: "cacache@npm:18.0.4" @@ -3219,6 +4079,13 @@ __metadata: languageName: node linkType: hard +"call-me-maybe@npm:^1.0.1": + version: 1.0.2 + resolution: "call-me-maybe@npm:1.0.2" + checksum: 10c0/8eff5dbb61141ebb236ed71b4e9549e488bcb5451c48c11e5667d5c75b0532303788a1101e6978cafa2d0c8c1a727805599c2741e3e0982855c9f1d78cd06c9f + languageName: node + linkType: hard + "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -3265,7 +4132,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0": +"chalk@npm:^4.0.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -3301,6 +4168,15 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^4.0.1": + version: 4.0.1 + resolution: "chokidar@npm:4.0.1" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10c0/4bb7a3adc304059810bb6c420c43261a15bb44f610d77c35547addc84faa0374265c3adc67f25d06f363d9a4571962b02679268c40de07676d260de1986efea9 + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -3345,12 +4221,15 @@ __metadata: "@radix-ui/react-tooltip": "npm:1.1.3" "@svgr/webpack": "npm:8.1.0" "@t3-oss/env-nextjs": "npm:0.11.1" + "@tanstack/eslint-plugin-query": "npm:5.59.7" + "@tanstack/react-query": "npm:5.59.16" "@types/mapbox-gl": "npm:3.4.0" "@types/node": "npm:22.7.6" "@types/react": "npm:18.3.1" "@types/react-dom": "npm:18.3.1" "@typescript-eslint/eslint-plugin": "npm:8.9.0" "@typescript-eslint/parser": "npm:8.9.0" + axios: "npm:1.7.7" class-variance-authority: "npm:0.7.0" clsx: "npm:2.1.1" eslint: "npm:8.57.0" @@ -3360,11 +4239,14 @@ __metadata: eslint-plugin-import: "npm:2.31.0" eslint-plugin-prettier: "npm:5.2.1" express: "npm:4.21.1" + husky: "npm:9.1.6" jiti: "npm:1.21.6" mapbox-gl: "npm:3.7.0" next: "npm:14.2.15" nuqs: "npm:2.0.3" + orval: "npm:7.2.0" pino-http: "npm:10.3.0" + pinst: "npm:3.0.0" postcss: "npm:^8" prettier: "npm:3.3.3" prettier-plugin-tailwindcss: "npm:0.6.8" @@ -3380,6 +4262,17 @@ __metadata: languageName: unknown linkType: soft +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + "clsx@npm:2.0.0": version: 2.0.0 resolution: "clsx@npm:2.0.0" @@ -3426,6 +4319,15 @@ __metadata: languageName: node linkType: hard +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + "commander@npm:^4.0.0": version: 4.1.1 resolution: "commander@npm:4.1.1" @@ -3440,6 +4342,13 @@ __metadata: languageName: node linkType: hard +"compare-versions@npm:^6.1.0": + version: 6.1.1 + resolution: "compare-versions@npm:6.1.1" + checksum: 10c0/415205c7627f9e4f358f571266422980c9fe2d99086be0c9a48008ef7c771f32b0fbe8e97a441ffedc3910872f917a0675fe0fe3c3b6d331cda6d8690be06338 + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -3510,7 +4419,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -3737,6 +4646,13 @@ __metadata: languageName: node linkType: hard +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + "depd@npm:2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" @@ -3744,6 +4660,13 @@ __metadata: languageName: node linkType: hard +"dependency-graph@npm:0.11.0, dependency-graph@npm:~0.11.0": + version: 0.11.0 + resolution: "dependency-graph@npm:0.11.0" + checksum: 10c0/9e6968d1534fdb502f7f3a25a3819b499f9d60f8389193950ed0b4d1618f1341b36b5d039f2cee256cfe10c9e8198ace16b271e370df06a93fac206e81602e7c + languageName: node + linkType: hard + "destroy@npm:1.2.0": version: 1.2.0 resolution: "destroy@npm:1.2.0" @@ -3765,6 +4688,15 @@ __metadata: languageName: node linkType: hard +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + "dlv@npm:^1.1.3": version: 1.1.3 resolution: "dlv@npm:1.1.3" @@ -3913,6 +4845,16 @@ __metadata: languageName: node linkType: hard +"enquirer@npm:^2.4.1": + version: 2.4.1 + resolution: "enquirer@npm:2.4.1" + dependencies: + ansi-colors: "npm:^4.1.1" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 + languageName: node + linkType: hard + "entities@npm:^4.2.0, entities@npm:^4.4.0": version: 4.5.0 resolution: "entities@npm:4.5.0" @@ -3997,6 +4939,22 @@ __metadata: languageName: node linkType: hard +"es-aggregate-error@npm:^1.0.7": + version: 1.0.13 + resolution: "es-aggregate-error@npm:1.0.13" + dependencies: + define-data-property: "npm:^1.1.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + globalthis: "npm:^1.0.3" + has-property-descriptors: "npm:^1.0.2" + set-function-name: "npm:^2.0.2" + checksum: 10c0/4cbf777c46991b527bbdb97668eaa5a663c764a0886a62d9a30836451c47162d01364733489543a0521ccd3cb318432d12f9b915d82442aae8974ed18abaa5ba + languageName: node + linkType: hard + "es-define-property@npm:^1.0.0": version: 1.0.0 resolution: "es-define-property@npm:1.0.0" @@ -4092,7 +5050,97 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.2.0": +"es6-promise@npm:^3.2.1": + version: 3.3.1 + resolution: "es6-promise@npm:3.3.1" + checksum: 10c0/b4fc87cb8509c001f62f860f97b05d1fd3f87220c8b832578e6a483c719ca272b73a77f2231cb26395fa865e1cab2fd4298ab67786b69e97b8d757b938f4fc1f + languageName: node + linkType: hard + +"esbuild@npm:^0.24.0": + version: 0.24.0 + resolution: "esbuild@npm:0.24.0" + dependencies: + "@esbuild/aix-ppc64": "npm:0.24.0" + "@esbuild/android-arm": "npm:0.24.0" + "@esbuild/android-arm64": "npm:0.24.0" + "@esbuild/android-x64": "npm:0.24.0" + "@esbuild/darwin-arm64": "npm:0.24.0" + "@esbuild/darwin-x64": "npm:0.24.0" + "@esbuild/freebsd-arm64": "npm:0.24.0" + "@esbuild/freebsd-x64": "npm:0.24.0" + "@esbuild/linux-arm": "npm:0.24.0" + "@esbuild/linux-arm64": "npm:0.24.0" + "@esbuild/linux-ia32": "npm:0.24.0" + "@esbuild/linux-loong64": "npm:0.24.0" + "@esbuild/linux-mips64el": "npm:0.24.0" + "@esbuild/linux-ppc64": "npm:0.24.0" + "@esbuild/linux-riscv64": "npm:0.24.0" + "@esbuild/linux-s390x": "npm:0.24.0" + "@esbuild/linux-x64": "npm:0.24.0" + "@esbuild/netbsd-x64": "npm:0.24.0" + "@esbuild/openbsd-arm64": "npm:0.24.0" + "@esbuild/openbsd-x64": "npm:0.24.0" + "@esbuild/sunos-x64": "npm:0.24.0" + "@esbuild/win32-arm64": "npm:0.24.0" + "@esbuild/win32-ia32": "npm:0.24.0" + "@esbuild/win32-x64": "npm:0.24.0" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/9f1aadd8d64f3bff422ae78387e66e51a5e09de6935a6f987b6e4e189ed00fdc2d1bc03d2e33633b094008529c8b6e06c7ad1a9782fb09fec223bf95998c0683 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 @@ -4448,6 +5496,16 @@ __metadata: languageName: node linkType: hard +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + "esquery@npm:^1.4.2": version: 1.6.0 resolution: "esquery@npm:1.6.0" @@ -4473,7 +5531,7 @@ __metadata: languageName: node linkType: hard -"esutils@npm:^2.0.2": +"esutils@npm:2.0.3, esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 @@ -4501,6 +5559,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^5.1.1": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.1 resolution: "exponential-backoff@npm:3.1.1" @@ -4580,7 +5655,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -4607,6 +5682,13 @@ __metadata: languageName: node linkType: hard +"fast-memoize@npm:^2.5.2": + version: 2.5.2 + resolution: "fast-memoize@npm:2.5.2" + checksum: 10c0/6f658f182f6eaf25a8ecdaf49affee4cac20df4e61e7ef3f04145fb86e887e7a0bd9975740ce88a9015da99459d7386eaf1342ac15be820f72f4be1ecf934d95 + languageName: node + linkType: hard + "fast-redact@npm:^3.1.1": version: 3.5.0 resolution: "fast-redact@npm:3.5.0" @@ -4614,6 +5696,20 @@ __metadata: languageName: node linkType: hard +"fast-safe-stringify@npm:^2.0.7": + version: 2.1.1 + resolution: "fast-safe-stringify@npm:2.1.1" + checksum: 10c0/d90ec1c963394919828872f21edaa3ad6f1dddd288d2bd4e977027afff09f5db40f94e39536d4646f7e01761d704d72d51dce5af1b93717f3489ef808f5f4e4d + languageName: node + linkType: hard + +"fast-uri@npm:^3.0.1": + version: 3.0.3 + resolution: "fast-uri@npm:3.0.3" + checksum: 10c0/4b2c5ce681a062425eae4f15cdc8fc151fd310b2f69b1f96680677820a8b49c3cd6e80661a406e19d50f0c40a3f8bffdd458791baf66f4a879d80be28e10a320 + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.17.1 resolution: "fastq@npm:1.17.1" @@ -4656,7 +5752,7 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^5.0.0": +"find-up@npm:5.0.0, find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" dependencies: @@ -4684,6 +5780,16 @@ __metadata: languageName: node linkType: hard +"follow-redirects@npm:^1.15.6": + version: 1.15.9 + resolution: "follow-redirects@npm:1.15.9" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f + languageName: node + linkType: hard + "for-each@npm:^0.3.3": version: 0.3.3 resolution: "for-each@npm:0.3.3" @@ -4703,6 +5809,17 @@ __metadata: languageName: node linkType: hard +"form-data@npm:^4.0.0": + version: 4.0.1 + resolution: "form-data@npm:4.0.1" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10c0/bb102d570be8592c23f4ea72d7df9daa50c7792eb0cf1c5d7e506c1706e7426a4e4ae48a35b109e91c85f1c0ec63774a21ae252b66f4eb981cb8efef7d0463c8 + languageName: node + linkType: hard + "forwarded@npm:0.2.0": version: 0.2.0 resolution: "forwarded@npm:0.2.0" @@ -4717,6 +5834,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^11.2.0": + version: 11.2.0 + resolution: "fs-extra@npm:11.2.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 + languageName: node + linkType: hard + "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -4828,6 +5956,13 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.2": version: 1.0.2 resolution: "get-symbol-description@npm:1.0.2" @@ -4960,6 +6095,20 @@ __metadata: languageName: node linkType: hard +"globby@npm:11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -4969,7 +6118,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -5082,6 +6231,13 @@ __metadata: languageName: node linkType: hard +"http2-client@npm:^1.2.5": + version: 1.3.5 + resolution: "http2-client@npm:1.3.5" + checksum: 10c0/4974f10f5c8b5b7b9e23771190471d02690e9a22c22e028d84715b7ecdcda05017fc9e565476558da3bdf0ba642d24186a94818d0b9afee706ccf9874034be73 + languageName: node + linkType: hard + "https-proxy-agent@npm:^7.0.1": version: 7.0.5 resolution: "https-proxy-agent@npm:7.0.5" @@ -5092,6 +6248,22 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"husky@npm:9.1.6": + version: 9.1.6 + resolution: "husky@npm:9.1.6" + bin: + husky: bin.js + checksum: 10c0/705673db4a247c1febd9c5df5f6a3519106cf0335845027bb50a15fba9b1f542cb2610932ede96fd08008f6d9f49db0f15560509861808b0031cdc0e7c798bac + languageName: node + linkType: hard + "iconv-lite@npm:0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -5131,6 +6303,13 @@ __metadata: languageName: node linkType: hard +"immer@npm:^9.0.6": + version: 9.0.21 + resolution: "immer@npm:9.0.21" + checksum: 10c0/03ea3ed5d4d72e8bd428df4a38ad7e483ea8308e9a113d3b42e0ea2cc0cc38340eb0a6aca69592abbbf047c685dbda04e3d34bf2ff438ab57339ed0a34cc0a05 + languageName: node + linkType: hard + "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" @@ -5461,6 +6640,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -5597,6 +6783,18 @@ __metadata: languageName: node linkType: hard +"js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + languageName: node + linkType: hard + "js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" @@ -5615,6 +6813,13 @@ __metadata: languageName: node linkType: hard +"jsep@npm:^1.1.2, jsep@npm:^1.2.0": + version: 1.3.9 + resolution: "jsep@npm:1.3.9" + checksum: 10c0/7c57727c98de797a319d00f74c19fa96f4760fbced428b00a86a01124412815c07ec1757806c09b9576f35461ecd04f717fa2a64954ff22f1d93d152bc5ecf16 + languageName: node + linkType: hard + "jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": version: 3.0.2 resolution: "jsesc@npm:3.0.2" @@ -5645,6 +6850,13 @@ __metadata: languageName: node linkType: hard +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -5679,6 +6891,47 @@ __metadata: languageName: node linkType: hard +"jsonc-parser@npm:~2.2.1": + version: 2.2.1 + resolution: "jsonc-parser@npm:2.2.1" + checksum: 10c0/cfb4e9d0050355f6c30602ed2330e5a6d5bac9b1bc98426cf83f624d43e6306c069db0ab1532c49383337303188e9db2f28625d1b147d6927594071dc605e792 + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"jsonpath-plus@npm:7.1.0": + version: 7.1.0 + resolution: "jsonpath-plus@npm:7.1.0" + checksum: 10c0/3a74b39f434c6496191eaa2820331407d89868b59cfbb9458c0f665e6877a67125b506d68c887746420660e7a3c4f279367182bec38093f3a0129f3757c85c48 + languageName: node + linkType: hard + +"jsonpath-plus@npm:^6.0.1": + version: 6.0.1 + resolution: "jsonpath-plus@npm:6.0.1" + checksum: 10c0/ecbe5caad723a42e1cc4a28058ca837eba00d36075766a7f3cf828491648e3b64d9fa0d5a64dd868e7c3180b1f9fcec565c32a1c05b34bef9f88c3c0c7acd1a2 + languageName: node + linkType: hard + +"jsonpointer@npm:^5.0.0": + version: 5.0.1 + resolution: "jsonpointer@npm:5.0.1" + checksum: 10c0/89929e58b400fcb96928c0504fcf4fc3f919d81e9543ceb055df125538470ee25290bb4984251e172e6ef8fcc55761eb998c118da763a82051ad89d4cb073fe7 + languageName: node + linkType: hard + "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" @@ -5723,6 +6976,13 @@ __metadata: languageName: node linkType: hard +"leven@npm:3.1.0, leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df + languageName: node + linkType: hard + "levn@npm:^0.4.1": version: 0.4.1 resolution: "levn@npm:0.4.1" @@ -5740,40 +7000,117 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^3.0.0": - version: 3.1.2 - resolution: "lilconfig@npm:3.1.2" - checksum: 10c0/f059630b1a9bddaeba83059db00c672b64dc14074e9f232adce32b38ca1b5686ab737eb665c5ba3c32f147f0002b4bee7311ad0386a9b98547b5623e87071fbe +"lilconfig@npm:^3.0.0": + version: 3.1.2 + resolution: "lilconfig@npm:3.1.2" + checksum: 10c0/f059630b1a9bddaeba83059db00c672b64dc14074e9f232adce32b38ca1b5686ab737eb665c5ba3c32f147f0002b4bee7311ad0386a9b98547b5623e87071fbe + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 + languageName: node + linkType: hard + +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: 10c0/48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e + languageName: node + linkType: hard + +"lodash.isempty@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.isempty@npm:4.4.0" + checksum: 10c0/6c7eaa0802398736809b9e8aed8b8ac1abca9be71788fd719ba9d7f5b4c23e8dc63b7f049df4131713dda30a2fdedc2f655268e9deb8cd5a985dfc934afca194 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash.omit@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.omit@npm:4.5.0" + checksum: 10c0/3808b9b6faae35177174b6ab327f1177e29c91f1e98dcbccf13a72a6767bba337306449d537a4e0d8a33d2673f10d39bc732e30c4b803274ea0c1168ea60e549 + languageName: node + linkType: hard + +"lodash.omitby@npm:^4.6.0": + version: 4.6.0 + resolution: "lodash.omitby@npm:4.6.0" + checksum: 10c0/4608b1d8c4063b63349a3462852465fbe74781d737fbb26a0a7f00b0e65f6ccbc13fa490a38f9380103d93fc398e3873983038efadfafc67ccafbb25d9bc7bf4 + languageName: node + linkType: hard + +"lodash.topath@npm:^4.5.2": + version: 4.5.2 + resolution: "lodash.topath@npm:4.5.2" + checksum: 10c0/f555a1459c11c807517be6c3a3e8030a9e92a291b2d6b598511e0bddbe99297e870b20e097019b613a3035d061bac63cb42621386c0b9dc22fd3d85e58459653 + languageName: node + linkType: hard + +"lodash.uniq@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.uniq@npm:4.5.0" + checksum: 10c0/262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e + languageName: node + linkType: hard + +"lodash.uniqby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.uniqby@npm:4.7.0" + checksum: 10c0/c505c0de20ca759599a2ba38710e8fb95ff2d2028e24d86c901ef2c74be8056518571b9b754bfb75053b2818d30dd02243e4a4621a6940c206bbb3f7626db656 languageName: node linkType: hard -"lines-and-columns@npm:^1.1.6": - version: 1.2.4 - resolution: "lines-and-columns@npm:1.2.4" - checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d +"lodash.uniqwith@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.uniqwith@npm:4.5.0" + checksum: 10c0/3db1748302f5903cd2e4c361eb084bcfc48fe4062e37be4860363a0be643bf6617c1f115d61189b69623056a55acbcd451a52b3042b4864d5acc86a3b0ac83df languageName: node linkType: hard -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 +"lodash@npm:^4.17.21, lodash@npm:~4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c languageName: node linkType: hard -"lodash.debounce@npm:^4.0.8": - version: 4.0.8 - resolution: "lodash.debounce@npm:4.0.8" - checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 +"loglevel-plugin-prefix@npm:0.8.4": + version: 0.8.4 + resolution: "loglevel-plugin-prefix@npm:0.8.4" + checksum: 10c0/357524eec4c165ff823b5bbf72e8373ff529e5cb95c1f4b20749847bd5b5b16ab328d6d33d1a9019f1a2dc52e28fca5d595e52f2ee20e24986182a6f9552a9ec languageName: node linkType: hard -"lodash.merge@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.merge@npm:4.6.2" - checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 +"loglevel@npm:^1.9.2": + version: 1.9.2 + resolution: "loglevel@npm:1.9.2" + checksum: 10c0/1e317fa4648fe0b4a4cffef6de037340592cee8547b07d4ce97a487abe9153e704b98451100c799b032c72bb89c9366d71c9fb8192ada8703269263ae77acdc7 languageName: node linkType: hard @@ -5897,7 +7234,14 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0": +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb @@ -5928,7 +7272,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -5946,7 +7290,14 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"minimatch@npm:3.1.2, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -5955,6 +7306,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^6.2.0": + version: 6.2.0 + resolution: "minimatch@npm:6.2.0" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/0884fcf2dd6d3cb5b76e21c33e1797f32c6d4bdd3cefe693ea4f8bb829734b2ca0eee94f0a4f622e9f9fa305f838d2b4f5251df38fcbf98bf1a03a0d07d4ce2d + languageName: node + linkType: hard + "minimatch@npm:^9.0.1, minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" @@ -6191,6 +7551,25 @@ __metadata: languageName: node linkType: hard +"nimma@npm:0.2.2": + version: 0.2.2 + resolution: "nimma@npm:0.2.2" + dependencies: + "@jsep-plugin/regex": "npm:^1.0.1" + "@jsep-plugin/ternary": "npm:^1.0.2" + astring: "npm:^1.8.1" + jsep: "npm:^1.2.0" + jsonpath-plus: "npm:^6.0.1" + lodash.topath: "npm:^4.5.2" + dependenciesMeta: + jsonpath-plus: + optional: true + lodash.topath: + optional: true + checksum: 10c0/d273788965d721715ae5a18e8460e97854e56386d162cd72955dcd07449dfbd091d5b5779119be06ee831eb9d1c6be568e22593a050390d0a39de7525cea0955 + languageName: node + linkType: hard + "no-case@npm:^3.0.4": version: 3.0.4 resolution: "no-case@npm:3.0.4" @@ -6201,6 +7580,29 @@ __metadata: languageName: node linkType: hard +"node-fetch-h2@npm:^2.3.0": + version: 2.3.0 + resolution: "node-fetch-h2@npm:2.3.0" + dependencies: + http2-client: "npm:^1.2.5" + checksum: 10c0/10f117c5aa1d475fff05028dddd617a61606083e4d6c4195dd5f5b03c973182e0d125e804771e6888d04f7d92b5c9c27a6149d1beedd6af1e0744f163e8a02d9 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 10.2.0 resolution: "node-gyp@npm:10.2.0" @@ -6221,6 +7623,15 @@ __metadata: languageName: node linkType: hard +"node-readfiles@npm:^0.2.0": + version: 0.2.0 + resolution: "node-readfiles@npm:0.2.0" + dependencies: + es6-promise: "npm:^3.2.1" + checksum: 10c0/9de2f741baae29f2422b22ef4399b5f7cb6c20372d4e88447a98d00a92cf1a35efdf942d24eee153a87d885aa7e7442b4bc6de33d4b91c47ba9da501780c76a1 + languageName: node + linkType: hard + "node-releases@npm:^2.0.18": version: 2.0.18 resolution: "node-releases@npm:2.0.18" @@ -6246,6 +7657,15 @@ __metadata: languageName: node linkType: hard +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + "nth-check@npm:^2.0.1": version: 2.1.1 resolution: "nth-check@npm:2.1.1" @@ -6276,6 +7696,64 @@ __metadata: languageName: node linkType: hard +"oas-kit-common@npm:^1.0.8": + version: 1.0.8 + resolution: "oas-kit-common@npm:1.0.8" + dependencies: + fast-safe-stringify: "npm:^2.0.7" + checksum: 10c0/5619a0bd19a07b52af1afeff26e44601002c0fd558d0020fdb720cb3723b60c83b80efede3a62110ce315f15b971751fb46396760e0e507fb8fd412cdc3808dd + languageName: node + linkType: hard + +"oas-linter@npm:^3.2.2": + version: 3.2.2 + resolution: "oas-linter@npm:3.2.2" + dependencies: + "@exodus/schemasafe": "npm:^1.0.0-rc.2" + should: "npm:^13.2.1" + yaml: "npm:^1.10.0" + checksum: 10c0/5a8ea3d8a0bf185b676659d1e1c0b9b50695aeff53ccd5c264c8e99b4a7c0021f802b937913d76f0bc1a6a2b8ae151df764d95302b0829063b9b26f8c436871c + languageName: node + linkType: hard + +"oas-resolver@npm:^2.5.6": + version: 2.5.6 + resolution: "oas-resolver@npm:2.5.6" + dependencies: + node-fetch-h2: "npm:^2.3.0" + oas-kit-common: "npm:^1.0.8" + reftools: "npm:^1.1.9" + yaml: "npm:^1.10.0" + yargs: "npm:^17.0.1" + bin: + resolve: resolve.js + checksum: 10c0/cfba5ba3f7ea6673a840836cf194a80ba7f77e6d1ee005aa35cc838cad56d7e455fa53753ae7cc38810c96405b8606e675098ea7023639cf546cb10343f180f9 + languageName: node + linkType: hard + +"oas-schema-walker@npm:^1.1.5": + version: 1.1.5 + resolution: "oas-schema-walker@npm:1.1.5" + checksum: 10c0/8ba6bd2a9a8ede2c5574f217653a9e2b889a7c5be69c664a57e293591c58952e8510f4f9e2a82fd5f52491c859ce5c2b68342e9b971e9667f6b811e7fb56fd54 + languageName: node + linkType: hard + +"oas-validator@npm:^5.0.8": + version: 5.0.8 + resolution: "oas-validator@npm:5.0.8" + dependencies: + call-me-maybe: "npm:^1.0.1" + oas-kit-common: "npm:^1.0.8" + oas-linter: "npm:^3.2.2" + oas-resolver: "npm:^2.5.6" + oas-schema-walker: "npm:^1.1.5" + reftools: "npm:^1.1.9" + should: "npm:^13.2.1" + yaml: "npm:^1.10.0" + checksum: 10c0/16bb722042dcba93892c50db2201df6aeea9c3dd60e2f7bc18b36f23c610d136f52a5946908817f6fdd4139219fa4b177f952b9831039078b4c8730fa026b180 + languageName: node + linkType: hard + "object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -6396,6 +7874,33 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"openapi3-ts@npm:4.2.2": + version: 4.2.2 + resolution: "openapi3-ts@npm:4.2.2" + dependencies: + yaml: "npm:^2.3.4" + checksum: 10c0/8569c0cecf12353d57d7cebe28d495a2b33a06f6f9ebb1b9c808490f9ea87e7e480c62ffb9c3632f78647b09ca722bbc39b36804e73cea1f8fc7626785a23b99 + languageName: node + linkType: hard + +"openapi3-ts@npm:^4.2.2": + version: 4.4.0 + resolution: "openapi3-ts@npm:4.4.0" + dependencies: + yaml: "npm:^2.5.0" + checksum: 10c0/900b834279fc8a43c545728ad75ec7c26934ec5344225b60d1e1c0df44d742d7e7379aea18d9034e03031f079d3308ba5a68600682eece3ed41cdbdd10346a9e + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -6410,6 +7915,38 @@ __metadata: languageName: node linkType: hard +"orval@npm:7.2.0": + version: 7.2.0 + resolution: "orval@npm:7.2.0" + dependencies: + "@apidevtools/swagger-parser": "npm:^10.1.0" + "@orval/angular": "npm:7.2.0" + "@orval/axios": "npm:7.2.0" + "@orval/core": "npm:7.2.0" + "@orval/fetch": "npm:7.2.0" + "@orval/hono": "npm:7.2.0" + "@orval/mock": "npm:7.2.0" + "@orval/query": "npm:7.2.0" + "@orval/swr": "npm:7.2.0" + "@orval/zod": "npm:7.2.0" + ajv: "npm:^8.12.0" + cac: "npm:^6.7.14" + chalk: "npm:^4.1.2" + chokidar: "npm:^4.0.1" + enquirer: "npm:^2.4.1" + execa: "npm:^5.1.1" + find-up: "npm:5.0.0" + fs-extra: "npm:^11.2.0" + lodash.uniq: "npm:^4.5.0" + openapi3-ts: "npm:4.2.2" + string-argv: "npm:^0.3.2" + tsconfck: "npm:^2.0.1" + bin: + orval: dist/bin/orval.js + checksum: 10c0/fb7e6fcd8feefec5367b417d4a79d42b9a57b214582761cc3bea2803754587a5d6e73a448ca6cdf5f1fabb008426524cc5d062e9d794ec7228fb1a5282263fb2 + languageName: node + linkType: hard + "p-limit@npm:^3.0.2": version: 3.1.0 resolution: "p-limit@npm:3.1.0" @@ -6486,7 +8023,7 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^3.1.0": +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c @@ -6614,6 +8151,15 @@ __metadata: languageName: node linkType: hard +"pinst@npm:3.0.0": + version: 3.0.0 + resolution: "pinst@npm:3.0.0" + bin: + pinst: bin.js + checksum: 10c0/abb1ed62ea2acb2207a7a860715bdb26ecbde74ede8fad5f6200194f3e22db25e2b7a49af05e5cc7fc05384709c651e0000323f0077d7239060c4b68c8acd428 + languageName: node + linkType: hard + "pirates@npm:^4.0.1": version: 4.0.6 resolution: "pirates@npm:4.0.6" @@ -6621,6 +8167,13 @@ __metadata: languageName: node linkType: hard +"pony-cause@npm:^1.0.0": + version: 1.1.1 + resolution: "pony-cause@npm:1.1.1" + checksum: 10c0/63ee3e22c3a9ddda3aca17c2368657934b6c713a1af5b44b48aa6d06a1afc0f0c1f49e20b641be94f33f6c5bd2877977c4b6ca8de2514756b9351318ec4f14a5 + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.0.0 resolution: "possible-typed-array-names@npm:1.0.0" @@ -6869,6 +8422,13 @@ __metadata: languageName: node linkType: hard +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + "punycode@npm:^2.1.0": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -7047,6 +8607,13 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:^4.0.1": + version: 4.0.2 + resolution: "readdirp@npm:4.0.2" + checksum: 10c0/a16ecd8ef3286dcd90648c3b103e3826db2b766cdb4a988752c43a83f683d01c7059158d623cbcd8bdfb39e65d302d285be2d208e7d9f34d022d912b929217dd + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -7078,6 +8645,13 @@ __metadata: languageName: node linkType: hard +"reftools@npm:^1.1.9": + version: 1.1.9 + resolution: "reftools@npm:1.1.9" + checksum: 10c0/4b44c9e75d6e5328b43b974de08776ee1718a0b48f24e033b2699f872cc9a698234a4aa0553b9e1a766b828aeb9834e4aa988410f0279e86179edb33b270da6c + languageName: node + linkType: hard + "regenerate-unicode-properties@npm:^10.2.0": version: 10.2.0 resolution: "regenerate-unicode-properties@npm:10.2.0" @@ -7154,6 +8728,20 @@ __metadata: languageName: node linkType: hard +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -7300,6 +8888,13 @@ __metadata: languageName: node linkType: hard +"safe-stable-stringify@npm:^1.1": + version: 1.1.1 + resolution: "safe-stable-stringify@npm:1.1.1" + checksum: 10c0/03e36df1444fc52eacb069b1ca1289061b6ffe75b184ac7df22bc962ee7e7226a4371491be21574bc8df81e33fa5a11eb54a85b6a68bf25394ee4453fe0d9d81 + languageName: node + linkType: hard + "safe-stable-stringify@npm:^2.3.1": version: 2.4.3 resolution: "safe-stable-stringify@npm:2.4.3" @@ -7442,6 +9037,62 @@ __metadata: languageName: node linkType: hard +"should-equal@npm:^2.0.0": + version: 2.0.0 + resolution: "should-equal@npm:2.0.0" + dependencies: + should-type: "npm:^1.4.0" + checksum: 10c0/b375e1da2586671e2b9442ac5b700af508f56438af9923f69123b1fe4e02ccddc9a8a3eb803447a6df91e616cec236c41d6f28fdaa100467f9fdb81651089538 + languageName: node + linkType: hard + +"should-format@npm:^3.0.3": + version: 3.0.3 + resolution: "should-format@npm:3.0.3" + dependencies: + should-type: "npm:^1.3.0" + should-type-adaptors: "npm:^1.0.1" + checksum: 10c0/ef2a31148d79a3fabd0dc6c1c1b10f90d9e071ad8e1f99452bd01e8aceaca62985b43974cf8103185fa1a3ade85947c6f664e44ca9af253afd1ce93c223bd8e4 + languageName: node + linkType: hard + +"should-type-adaptors@npm:^1.0.1": + version: 1.1.0 + resolution: "should-type-adaptors@npm:1.1.0" + dependencies: + should-type: "npm:^1.3.0" + should-util: "npm:^1.0.0" + checksum: 10c0/cf127f8807f69ace9db04dbec3f274330a854405feef9821b5fa525748961da65747869cca36c813132b98757bd3e42d53541579cb16630ccf3c0dd9c0082320 + languageName: node + linkType: hard + +"should-type@npm:^1.3.0, should-type@npm:^1.4.0": + version: 1.4.0 + resolution: "should-type@npm:1.4.0" + checksum: 10c0/50cb50d776ee117b151068367c09ec12ac8e6f5fe2bd4d167413972813f06e930fe8624232a56c335846d3afcb784455f9a9690baa4350b3919bd001f0c4c94b + languageName: node + linkType: hard + +"should-util@npm:^1.0.0": + version: 1.0.1 + resolution: "should-util@npm:1.0.1" + checksum: 10c0/1790719e05eae9edae86e44cbbad98529bd333df3f7cdfd63ea80acb6af718990e70abbc173aa9ccb93fff5ab6ee08d38412d707ff4003840be2256a278a61f3 + languageName: node + linkType: hard + +"should@npm:^13.2.1": + version: 13.2.3 + resolution: "should@npm:13.2.3" + dependencies: + should-equal: "npm:^2.0.0" + should-format: "npm:^3.0.3" + should-type: "npm:^1.4.0" + should-type-adaptors: "npm:^1.0.1" + should-util: "npm:^1.0.0" + checksum: 10c0/99581d8615f6fb27cd23c9f431cfacef58d118a90d0cccf58775b90631a47441397cfbdcbe6379e2718e9e60f293e3dfc0e87857f4b5a36fe962814e46ab05fa + languageName: node + linkType: hard + "side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" @@ -7454,6 +9105,13 @@ __metadata: languageName: node linkType: hard +"signal-exit@npm:^3.0.3": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + "signal-exit@npm:^4.0.1": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" @@ -7461,6 +9119,22 @@ __metadata: languageName: node linkType: hard +"simple-eval@npm:1.0.0": + version: 1.0.0 + resolution: "simple-eval@npm:1.0.0" + dependencies: + jsep: "npm:^1.1.2" + checksum: 10c0/23aa719bce9ad2d0fad0de9f5320d5cd08f6cefc4833ae53e97b5f25e0712cb3018a361c528247853697d4b8c6e1ca1d7a33020f9056edfdfa1e967c090535e2 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + "smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" @@ -7573,6 +9247,13 @@ __metadata: languageName: node linkType: hard +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + "ssri@npm:^10.0.0": version: 10.0.6 resolution: "ssri@npm:10.0.6" @@ -7605,7 +9286,14 @@ __metadata: languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": +"string-argv@npm:^0.3.2": + version: 0.3.2 + resolution: "string-argv@npm:0.3.2" + checksum: 10c0/75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -7735,6 +9423,13 @@ __metadata: languageName: node linkType: hard +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -7834,6 +9529,29 @@ __metadata: languageName: node linkType: hard +"swagger2openapi@npm:^7.0.8": + version: 7.0.8 + resolution: "swagger2openapi@npm:7.0.8" + dependencies: + call-me-maybe: "npm:^1.0.1" + node-fetch: "npm:^2.6.1" + node-fetch-h2: "npm:^2.3.0" + node-readfiles: "npm:^0.2.0" + oas-kit-common: "npm:^1.0.8" + oas-resolver: "npm:^2.5.6" + oas-schema-walker: "npm:^1.1.5" + oas-validator: "npm:^5.0.8" + reftools: "npm:^1.1.9" + yaml: "npm:^1.10.0" + yargs: "npm:^17.0.1" + bin: + boast: boast.js + oas-validate: oas-validate.js + swagger2openapi: swagger2openapi.js + checksum: 10c0/441a4d3a7d353f99395b14a0c8d6124be6390f2f8aa53336905e7314a7f80b66f5f2a40ac0dc2dbe2f7bc01f52a223a94f54a2ece345095fd3ad8ae8b03d688b + languageName: node + linkType: hard + "synckit@npm:^0.9.1": version: 0.9.2 resolution: "synckit@npm:0.9.2" @@ -7978,6 +9696,13 @@ __metadata: languageName: node linkType: hard +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 + languageName: node + linkType: hard + "ts-api-utils@npm:^1.3.0": version: 1.3.0 resolution: "ts-api-utils@npm:1.3.0" @@ -7994,6 +9719,20 @@ __metadata: languageName: node linkType: hard +"tsconfck@npm:^2.0.1": + version: 2.1.2 + resolution: "tsconfck@npm:2.1.2" + peerDependencies: + typescript: ^4.3.5 || ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + bin: + tsconfck: bin/tsconfck.js + checksum: 10c0/6efc9cbbccdbbcafc86a744a1804fcd8438097c2beaac370444cc413fa1582a019a74002a111e3005b89ca0b0169ace730161864628fc751754e29b335c3c79f + languageName: node + linkType: hard + "tsconfig-paths@npm:^3.15.0": version: 3.15.0 resolution: "tsconfig-paths@npm:3.15.0" @@ -8006,7 +9745,14 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.6.2": +"tslib@npm:^1.14.1": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 + languageName: node + linkType: hard + +"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.6.0, tslib@npm:^2.6.2": version: 2.8.0 resolution: "tslib@npm:2.8.0" checksum: 10c0/31e4d14dc1355e9b89e4d3c893a18abb7f90b6886b089c2da91224d0a7752c79f3ddc41bc1aa0a588ac895bd97bb99c5bc2bfdb2f86de849f31caeb3ba79bbe5 @@ -8228,6 +9974,13 @@ __metadata: languageName: node linkType: hard +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + "unpipe@npm:1.0.0, unpipe@npm:~1.0.0": version: 1.0.0 resolution: "unpipe@npm:1.0.0" @@ -8258,6 +10011,13 @@ __metadata: languageName: node linkType: hard +"urijs@npm:^1.19.11": + version: 1.19.11 + resolution: "urijs@npm:1.19.11" + checksum: 10c0/96e15eea5b41a99361d506e4d8fcc64dc43f334bd5fd34e08261467b6954b97a6b45929a8d6c79e2dc76aadfd6ca950e0f4bd7f3c0757a08978429634d07eda1 + languageName: node + linkType: hard + "use-callback-ref@npm:^1.3.0": version: 1.3.2 resolution: "use-callback-ref@npm:1.3.2" @@ -8296,6 +10056,13 @@ __metadata: languageName: node linkType: hard +"utility-types@npm:^3.10.0": + version: 3.11.0 + resolution: "utility-types@npm:3.11.0" + checksum: 10c0/2f1580137b0c3e6cf5405f37aaa8f5249961a76d26f1ca8efc0ff49a2fc0e0b2db56de8e521a174d075758e0c7eb3e590edec0832eb44478b958f09914920f19 + languageName: node + linkType: hard + "utils-merge@npm:1.0.1": version: 1.0.1 resolution: "utils-merge@npm:1.0.1" @@ -8303,6 +10070,13 @@ __metadata: languageName: node linkType: hard +"validator@npm:^13.11.0": + version: 13.12.0 + resolution: "validator@npm:13.12.0" + checksum: 10c0/21d48a7947c9e8498790550f56cd7971e0e3d724c73388226b109c1bac2728f4f88caddfc2f7ed4b076f9b0d004316263ac786a17e9c4edf075741200718cd32 + languageName: node + linkType: hard + "vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" @@ -8321,6 +10095,23 @@ __metadata: languageName: node linkType: hard +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: "npm:~0.0.3" + webidl-conversions: "npm:^3.0.0" + checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + languageName: node + linkType: hard + "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -8408,7 +10199,7 @@ __metadata: languageName: node linkType: hard -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" dependencies: @@ -8437,6 +10228,13 @@ __metadata: languageName: node linkType: hard +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -8451,6 +10249,13 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^1.10.0": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f + languageName: node + linkType: hard + "yaml@npm:^2.3.4": version: 2.5.0 resolution: "yaml@npm:2.5.0" @@ -8460,6 +10265,37 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^2.5.0": + version: 2.6.0 + resolution: "yaml@npm:2.6.0" + bin: + yaml: bin.mjs + checksum: 10c0/9e74cdb91cc35512a1c41f5ce509b0e93cc1d00eff0901e4ba831ee75a71ddf0845702adcd6f4ee6c811319eb9b59653248462ab94fa021ab855543a75396ceb + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs@npm:^17.0.1": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" diff --git a/cms/config/sync/admin-role.strapi-author.json b/cms/config/sync/admin-role.strapi-author.json index 5e96e80..156dbc5 100644 --- a/cms/config/sync/admin-role.strapi-author.json +++ b/cms/config/sync/admin-role.strapi-author.json @@ -3,6 +3,216 @@ "code": "strapi-author", "description": "Authors can manage the content they have created.", "permissions": [ + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::dataset.dataset", + "properties": { + "fields": [ + "layers", + "name" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::dataset.dataset", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::dataset.dataset", + "properties": { + "fields": [ + "layers", + "name" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::dataset.dataset", + "properties": { + "fields": [ + "layers", + "name" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": { + "fields": [ + "name", + "type", + "mapbox_config", + "params_config", + "legend_config.type" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": { + "fields": [ + "name", + "type", + "mapbox_config", + "params_config", + "legend_config.type" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": { + "fields": [ + "name", + "type", + "mapbox_config", + "params_config", + "legend_config.type" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::sub-topic.sub-topic", + "properties": { + "fields": [ + "name" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::sub-topic.sub-topic", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::sub-topic.sub-topic", + "properties": { + "fields": [ + "name" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::sub-topic.sub-topic", + "properties": { + "fields": [ + "name" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::topic.topic", + "properties": { + "fields": [ + "name", + "slug" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::topic.topic", + "properties": {}, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::topic.topic", + "properties": { + "fields": [ + "name", + "slug" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::topic.topic", + "properties": { + "fields": [ + "name", + "slug" + ] + }, + "conditions": [ + "admin::is-creator" + ] + }, { "action": "plugin::upload.assets.copy-link", "actionParameters": {}, diff --git a/cms/config/sync/admin-role.strapi-editor.json b/cms/config/sync/admin-role.strapi-editor.json index 30b6d5e..7b68af3 100644 --- a/cms/config/sync/admin-role.strapi-editor.json +++ b/cms/config/sync/admin-role.strapi-editor.json @@ -3,6 +3,184 @@ "code": "strapi-editor", "description": "Editors can manage and publish contents including those of other users.", "permissions": [ + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::dataset.dataset", + "properties": { + "fields": [ + "layers", + "name" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::dataset.dataset", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::dataset.dataset", + "properties": { + "fields": [ + "layers", + "name" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::dataset.dataset", + "properties": { + "fields": [ + "layers", + "name" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": { + "fields": [ + "name", + "type", + "mapbox_config", + "params_config", + "legend_config.type" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": { + "fields": [ + "name", + "type", + "mapbox_config", + "params_config", + "legend_config.type" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::layer.layer", + "properties": { + "fields": [ + "name", + "type", + "mapbox_config", + "params_config", + "legend_config.type" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::sub-topic.sub-topic", + "properties": { + "fields": [ + "name" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::sub-topic.sub-topic", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::sub-topic.sub-topic", + "properties": { + "fields": [ + "name" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::sub-topic.sub-topic", + "properties": { + "fields": [ + "name" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.create", + "actionParameters": {}, + "subject": "api::topic.topic", + "properties": { + "fields": [ + "name", + "slug" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.delete", + "actionParameters": {}, + "subject": "api::topic.topic", + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.read", + "actionParameters": {}, + "subject": "api::topic.topic", + "properties": { + "fields": [ + "name", + "slug" + ] + }, + "conditions": [] + }, + { + "action": "plugin::content-manager.explorer.update", + "actionParameters": {}, + "subject": "api::topic.topic", + "properties": { + "fields": [ + "name", + "slug" + ] + }, + "conditions": [] + }, { "action": "plugin::upload.assets.copy-link", "actionParameters": {}, diff --git a/cms/config/sync/admin-role.strapi-super-admin.json b/cms/config/sync/admin-role.strapi-super-admin.json index 6605bf3..6800a5e 100644 --- a/cms/config/sync/admin-role.strapi-super-admin.json +++ b/cms/config/sync/admin-role.strapi-super-admin.json @@ -9,18 +9,11 @@ "subject": "api::dataset.dataset", "properties": { "fields": [ - "Name", - "Description", - "Sources", - "License", - "Citations", - "Spatial_coverage", - "Spatial_resolution", - "Temporal_coverage", - "Temporal_resolution", - "Unit", + "name", "layers", - "Default_layer" + "default_layer", + "topic", + "sub_topic" ] }, "conditions": [] @@ -32,31 +25,17 @@ "properties": {}, "conditions": [] }, - { - "action": "plugin::content-manager.explorer.publish", - "actionParameters": {}, - "subject": "api::dataset.dataset", - "properties": {}, - "conditions": [] - }, { "action": "plugin::content-manager.explorer.read", "actionParameters": {}, "subject": "api::dataset.dataset", "properties": { "fields": [ - "Name", - "Description", - "Sources", - "License", - "Citations", - "Spatial_coverage", - "Spatial_resolution", - "Temporal_coverage", - "Temporal_resolution", - "Unit", + "name", "layers", - "Default_layer" + "default_layer", + "topic", + "sub_topic" ] }, "conditions": [] @@ -67,18 +46,11 @@ "subject": "api::dataset.dataset", "properties": { "fields": [ - "Name", - "Description", - "Sources", - "License", - "Citations", - "Spatial_coverage", - "Spatial_resolution", - "Temporal_coverage", - "Temporal_resolution", - "Unit", + "name", "layers", - "Default_layer" + "default_layer", + "topic", + "sub_topic" ] }, "conditions": [] @@ -89,17 +61,13 @@ "subject": "api::layer.layer", "properties": { "fields": [ - "Name", - "Slug", - "Type", - "Config", - "Params_config", - "Legend_config", - "Interaction_config", - "Temporal_step", - "Temporal_step_unit", - "Temporal_start_date", - "Temporal_end_date" + "name", + "type", + "mapbox_config", + "params_config", + "legend_config.type", + "legend_config.items.color", + "legend_config.items.value" ] }, "conditions": [] @@ -111,30 +79,19 @@ "properties": {}, "conditions": [] }, - { - "action": "plugin::content-manager.explorer.publish", - "actionParameters": {}, - "subject": "api::layer.layer", - "properties": {}, - "conditions": [] - }, { "action": "plugin::content-manager.explorer.read", "actionParameters": {}, "subject": "api::layer.layer", "properties": { "fields": [ - "Name", - "Slug", - "Type", - "Config", - "Params_config", - "Legend_config", - "Interaction_config", - "Temporal_step", - "Temporal_step_unit", - "Temporal_start_date", - "Temporal_end_date" + "name", + "type", + "mapbox_config", + "params_config", + "legend_config.type", + "legend_config.items.color", + "legend_config.items.value" ] }, "conditions": [] @@ -145,17 +102,13 @@ "subject": "api::layer.layer", "properties": { "fields": [ - "Name", - "Slug", - "Type", - "Config", - "Params_config", - "Legend_config", - "Interaction_config", - "Temporal_step", - "Temporal_step_unit", - "Temporal_start_date", - "Temporal_end_date" + "name", + "type", + "mapbox_config", + "params_config", + "legend_config.type", + "legend_config.items.color", + "legend_config.items.value" ] }, "conditions": [] @@ -166,9 +119,7 @@ "subject": "api::sub-topic.sub-topic", "properties": { "fields": [ - "Name", - "Description", - "datasets" + "name" ] }, "conditions": [] @@ -180,22 +131,13 @@ "properties": {}, "conditions": [] }, - { - "action": "plugin::content-manager.explorer.publish", - "actionParameters": {}, - "subject": "api::sub-topic.sub-topic", - "properties": {}, - "conditions": [] - }, { "action": "plugin::content-manager.explorer.read", "actionParameters": {}, "subject": "api::sub-topic.sub-topic", "properties": { "fields": [ - "Name", - "Description", - "datasets" + "name" ] }, "conditions": [] @@ -206,9 +148,7 @@ "subject": "api::sub-topic.sub-topic", "properties": { "fields": [ - "Name", - "Description", - "datasets" + "name" ] }, "conditions": [] @@ -219,9 +159,8 @@ "subject": "api::topic.topic", "properties": { "fields": [ - "Name", - "Slug", - "sub_topics" + "name", + "slug" ] }, "conditions": [] @@ -233,22 +172,14 @@ "properties": {}, "conditions": [] }, - { - "action": "plugin::content-manager.explorer.publish", - "actionParameters": {}, - "subject": "api::topic.topic", - "properties": {}, - "conditions": [] - }, { "action": "plugin::content-manager.explorer.read", "actionParameters": {}, "subject": "api::topic.topic", "properties": { "fields": [ - "Name", - "Slug", - "sub_topics" + "name", + "slug" ] }, "conditions": [] @@ -259,9 +190,8 @@ "subject": "api::topic.topic", "properties": { "fields": [ - "Name", - "Slug", - "sub_topics" + "name", + "slug" ] }, "conditions": [] @@ -561,6 +491,34 @@ "properties": {}, "conditions": [] }, + { + "action": "plugin::documentation.read", + "actionParameters": {}, + "subject": null, + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::documentation.settings.read", + "actionParameters": {}, + "subject": null, + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::documentation.settings.regenerate", + "actionParameters": {}, + "subject": null, + "properties": {}, + "conditions": [] + }, + { + "action": "plugin::documentation.settings.update", + "actionParameters": {}, + "subject": null, + "properties": {}, + "conditions": [] + }, { "action": "plugin::email.settings.read", "actionParameters": {}, diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_components##legend.items.json b/cms/config/sync/core-store.plugin_content_manager_configuration_components##legend.items.json new file mode 100644 index 0000000..da6a0a2 --- /dev/null +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_components##legend.items.json @@ -0,0 +1,76 @@ +{ + "key": "plugin_content_manager_configuration_components::legend.items", + "value": { + "settings": { + "bulkable": true, + "filterable": true, + "searchable": true, + "pageSize": 10, + "mainField": "color", + "defaultSortBy": "color", + "defaultSortOrder": "ASC" + }, + "metadatas": { + "id": { + "edit": {}, + "list": { + "label": "id", + "searchable": false, + "sortable": false + } + }, + "color": { + "edit": { + "label": "color", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "color", + "searchable": true, + "sortable": true + } + }, + "value": { + "edit": { + "label": "value", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "value", + "searchable": true, + "sortable": true + } + } + }, + "layouts": { + "list": [ + "id", + "color", + "value" + ], + "edit": [ + [ + { + "name": "color", + "size": 6 + }, + { + "name": "value", + "size": 6 + } + ] + ] + }, + "uid": "legend.items", + "isComponent": true + }, + "type": "object", + "environment": null, + "tag": null +} \ No newline at end of file diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_components##legend.legend-config.json b/cms/config/sync/core-store.plugin_content_manager_configuration_components##legend.legend-config.json new file mode 100644 index 0000000..7d5a9d2 --- /dev/null +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_components##legend.legend-config.json @@ -0,0 +1,78 @@ +{ + "key": "plugin_content_manager_configuration_components::legend.legend-config", + "value": { + "settings": { + "bulkable": true, + "filterable": true, + "searchable": true, + "pageSize": 10, + "mainField": "id", + "defaultSortBy": "id", + "defaultSortOrder": "ASC" + }, + "metadatas": { + "id": { + "edit": {}, + "list": { + "label": "id", + "searchable": false, + "sortable": false + } + }, + "type": { + "edit": { + "label": "type", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "type", + "searchable": true, + "sortable": true + } + }, + "items": { + "edit": { + "label": "items", + "description": "", + "placeholder": "", + "visible": true, + "editable": true + }, + "list": { + "label": "items", + "searchable": false, + "sortable": false + } + } + }, + "layouts": { + "list": [ + "id", + "type", + "items" + ], + "edit": [ + [ + { + "name": "type", + "size": 6 + } + ], + [ + { + "name": "items", + "size": 12 + } + ] + ] + }, + "uid": "legend.legend-config", + "isComponent": true + }, + "type": "object", + "environment": null, + "tag": null +} \ No newline at end of file diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##dataset.dataset.json b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##dataset.dataset.json index ded084a..d7c6c17 100644 --- a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##dataset.dataset.json +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##dataset.dataset.json @@ -5,9 +5,9 @@ "bulkable": true, "filterable": true, "searchable": true, - "pageSize": 10, - "mainField": "Name", - "defaultSortBy": "Name", + "pageSize": 100, + "mainField": "name", + "defaultSortBy": "name", "defaultSortOrder": "ASC" }, "metadatas": { @@ -19,172 +19,76 @@ "sortable": true } }, - "Name": { + "name": { "edit": { - "label": "Name", + "label": "name", "description": "", "placeholder": "", "visible": true, "editable": true }, "list": { - "label": "Name", + "label": "name", "searchable": true, "sortable": true } }, - "Description": { - "edit": { - "label": "Description", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Description", - "searchable": true, - "sortable": true - } - }, - "Sources": { - "edit": { - "label": "Sources", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Sources", - "searchable": true, - "sortable": true - } - }, - "License": { - "edit": { - "label": "License", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "License", - "searchable": true, - "sortable": true - } - }, - "Citations": { - "edit": { - "label": "Citations", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Citations", - "searchable": true, - "sortable": true - } - }, - "Spatial_coverage": { - "edit": { - "label": "Spatial_coverage", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Spatial_coverage", - "searchable": true, - "sortable": true - } - }, - "Spatial_resolution": { - "edit": { - "label": "Spatial_resolution", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Spatial_resolution", - "searchable": true, - "sortable": true - } - }, - "Temporal_coverage": { + "layers": { "edit": { - "label": "Temporal_coverage", + "label": "layers", "description": "", "placeholder": "", "visible": true, - "editable": true + "editable": true, + "mainField": "name" }, "list": { - "label": "Temporal_coverage", - "searchable": true, - "sortable": true + "label": "layers", + "searchable": false, + "sortable": false } }, - "Temporal_resolution": { + "default_layer": { "edit": { - "label": "Temporal_resolution", + "label": "default_layer", "description": "", "placeholder": "", "visible": true, - "editable": true + "editable": true, + "mainField": "name" }, "list": { - "label": "Temporal_resolution", + "label": "default_layer", "searchable": true, "sortable": true } }, - "Unit": { + "topic": { "edit": { - "label": "Unit", + "label": "topic", "description": "", "placeholder": "", "visible": true, - "editable": true + "editable": true, + "mainField": "name" }, "list": { - "label": "Unit", + "label": "topic", "searchable": true, "sortable": true } }, - "layers": { - "edit": { - "label": "layers", - "description": "", - "placeholder": "", - "visible": true, - "editable": true, - "mainField": "Name" - }, - "list": { - "label": "layers", - "searchable": false, - "sortable": false - } - }, - "Default_layer": { + "sub_topic": { "edit": { - "label": "Default_layer", + "label": "sub_topic", "description": "", "placeholder": "", "visible": true, "editable": true, - "mainField": "Name" + "mainField": "name" }, "list": { - "label": "Default_layer", + "label": "sub_topic", "searchable": true, "sortable": true } @@ -249,60 +153,20 @@ } }, "layouts": { - "list": [ - "id", - "Name", - "Description", - "Sources" - ], "edit": [ [ { - "name": "Name", - "size": 6 - }, - { - "name": "Description", - "size": 6 - } - ], - [ - { - "name": "Sources", - "size": 6 - }, - { - "name": "License", + "name": "name", "size": 6 } ], [ { - "name": "Citations", + "name": "topic", "size": 6 }, { - "name": "Spatial_coverage", - "size": 6 - } - ], - [ - { - "name": "Spatial_resolution", - "size": 6 - }, - { - "name": "Temporal_coverage", - "size": 6 - } - ], - [ - { - "name": "Temporal_resolution", - "size": 6 - }, - { - "name": "Unit", + "name": "sub_topic", "size": 6 } ], @@ -312,10 +176,16 @@ "size": 6 }, { - "name": "Default_layer", + "name": "default_layer", "size": 6 } ] + ], + "list": [ + "id", + "topic", + "sub_topic", + "name" ] }, "uid": "api::dataset.dataset" diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##layer.layer.json b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##layer.layer.json index 3c62e9b..5e4473e 100644 --- a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##layer.layer.json +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##layer.layer.json @@ -5,9 +5,9 @@ "bulkable": true, "filterable": true, "searchable": true, - "pageSize": 10, - "mainField": "Name", - "defaultSortBy": "Name", + "pageSize": 100, + "mainField": "name", + "defaultSortBy": "name", "defaultSortOrder": "ASC" }, "metadatas": { @@ -19,160 +19,76 @@ "sortable": true } }, - "Name": { + "name": { "edit": { - "label": "Name", + "label": "name", "description": "", "placeholder": "", "visible": true, "editable": true }, "list": { - "label": "Name", + "label": "name", "searchable": true, "sortable": true } }, - "Slug": { + "type": { "edit": { - "label": "Slug", + "label": "type", "description": "", "placeholder": "", "visible": true, "editable": true }, "list": { - "label": "Slug", + "label": "type", "searchable": true, "sortable": true } }, - "Type": { + "mapbox_config": { "edit": { - "label": "Type", + "label": "mapbox_config", "description": "", "placeholder": "", "visible": true, "editable": true }, "list": { - "label": "Type", - "searchable": true, - "sortable": true - } - }, - "Config": { - "edit": { - "label": "Config", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Config", - "searchable": false, - "sortable": false - } - }, - "Params_config": { - "edit": { - "label": "Params_config", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Params_config", + "label": "mapbox_config", "searchable": false, "sortable": false } }, - "Legend_config": { + "params_config": { "edit": { - "label": "Legend_config", + "label": "params_config", "description": "", "placeholder": "", "visible": true, "editable": true }, "list": { - "label": "Legend_config", + "label": "params_config", "searchable": false, "sortable": false } }, - "Interaction_config": { + "legend_config": { "edit": { - "label": "Interaction_config", + "label": "legend_config", "description": "", "placeholder": "", "visible": true, "editable": true }, "list": { - "label": "Interaction_config", + "label": "legend_config", "searchable": false, "sortable": false } }, - "Temporal_step": { - "edit": { - "label": "Temporal_step", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Temporal_step", - "searchable": true, - "sortable": true - } - }, - "Temporal_step_unit": { - "edit": { - "label": "Temporal_step_unit", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Temporal_step_unit", - "searchable": true, - "sortable": true - } - }, - "Temporal_start_date": { - "edit": { - "label": "Temporal_start_date", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Temporal_start_date", - "searchable": true, - "sortable": true - } - }, - "Temporal_end_date": { - "edit": { - "label": "Temporal_end_date", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Temporal_end_date", - "searchable": true, - "sortable": true - } - }, "createdAt": { "edit": { "label": "createdAt", @@ -233,73 +149,40 @@ } }, "layouts": { - "list": [ - "id", - "Name", - "Slug", - "Type" - ], "edit": [ [ { - "name": "Name", + "name": "name", "size": 6 }, { - "name": "Slug", + "name": "type", "size": 6 } ], [ { - "name": "Type", - "size": 6 - } - ], - [ - { - "name": "Config", - "size": 12 - } - ], - [ - { - "name": "Params_config", + "name": "mapbox_config", "size": 12 } ], [ { - "name": "Legend_config", + "name": "params_config", "size": 12 } ], [ { - "name": "Interaction_config", + "name": "legend_config", "size": 12 } - ], - [ - { - "name": "Temporal_step", - "size": 4 - }, - { - "name": "Temporal_step_unit", - "size": 6 - } - ], - [ - { - "name": "Temporal_start_date", - "size": 4 - }, - { - "name": "Temporal_end_date", - "size": 4 - } ] + ], + "list": [ + "id", + "type", + "name" ] }, "uid": "api::layer.layer" diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##sub-topic.sub-topic.json b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##sub-topic.sub-topic.json index 5c7dede..d286400 100644 --- a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##sub-topic.sub-topic.json +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##sub-topic.sub-topic.json @@ -6,8 +6,8 @@ "filterable": true, "searchable": true, "pageSize": 10, - "mainField": "Name", - "defaultSortBy": "Name", + "mainField": "name", + "defaultSortBy": "name", "defaultSortOrder": "ASC" }, "metadatas": { @@ -19,49 +19,20 @@ "sortable": true } }, - "Name": { + "name": { "edit": { - "label": "Name", + "label": "name", "description": "", "placeholder": "", "visible": true, "editable": true }, "list": { - "label": "Name", + "label": "name", "searchable": true, "sortable": true } }, - "Description": { - "edit": { - "label": "Description", - "description": "", - "placeholder": "", - "visible": true, - "editable": true - }, - "list": { - "label": "Description", - "searchable": true, - "sortable": true - } - }, - "datasets": { - "edit": { - "label": "datasets", - "description": "", - "placeholder": "", - "visible": true, - "editable": true, - "mainField": "Name" - }, - "list": { - "label": "datasets", - "searchable": false, - "sortable": false - } - }, "createdAt": { "edit": { "label": "createdAt", @@ -124,24 +95,12 @@ "layouts": { "list": [ "id", - "Name", - "Description", - "datasets" + "name" ], "edit": [ [ { - "name": "Name", - "size": 6 - }, - { - "name": "Description", - "size": 6 - } - ], - [ - { - "name": "datasets", + "name": "name", "size": 6 } ] diff --git a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##topic.topic.json b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##topic.topic.json index 642f237..0e944c4 100644 --- a/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##topic.topic.json +++ b/cms/config/sync/core-store.plugin_content_manager_configuration_content_types##api##topic.topic.json @@ -6,8 +6,8 @@ "filterable": true, "searchable": true, "pageSize": 10, - "mainField": "Name", - "defaultSortBy": "Name", + "mainField": "name", + "defaultSortBy": "name", "defaultSortOrder": "ASC" }, "metadatas": { @@ -19,49 +19,34 @@ "sortable": true } }, - "Name": { + "name": { "edit": { - "label": "Name", + "label": "name", "description": "", "placeholder": "", "visible": true, "editable": true }, "list": { - "label": "Name", + "label": "name", "searchable": true, "sortable": true } }, - "Slug": { + "slug": { "edit": { - "label": "Slug", + "label": "slug", "description": "", "placeholder": "", "visible": true, "editable": true }, "list": { - "label": "Slug", + "label": "slug", "searchable": true, "sortable": true } }, - "sub_topics": { - "edit": { - "label": "sub_topics", - "description": "", - "placeholder": "", - "visible": true, - "editable": true, - "mainField": "Name" - }, - "list": { - "label": "sub_topics", - "searchable": false, - "sortable": false - } - }, "createdAt": { "edit": { "label": "createdAt", @@ -122,29 +107,22 @@ } }, "layouts": { - "list": [ - "id", - "Name", - "Slug", - "createdAt" - ], "edit": [ [ { - "name": "Name", + "name": "slug", "size": 6 }, { - "name": "Slug", - "size": 6 - } - ], - [ - { - "name": "sub_topics", + "name": "name", "size": 6 } ] + ], + "list": [ + "id", + "slug", + "name" ] }, "uid": "api::topic.topic" diff --git a/cms/config/sync/core-store.plugin_documentation_config.json b/cms/config/sync/core-store.plugin_documentation_config.json new file mode 100644 index 0000000..4183820 --- /dev/null +++ b/cms/config/sync/core-store.plugin_documentation_config.json @@ -0,0 +1,9 @@ +{ + "key": "plugin_documentation_config", + "value": { + "restrictedAccess": false + }, + "type": "object", + "environment": null, + "tag": null +} \ No newline at end of file diff --git a/cms/config/sync/user-role.public.json b/cms/config/sync/user-role.public.json index 57b76cd..71daf74 100644 --- a/cms/config/sync/user-role.public.json +++ b/cms/config/sync/user-role.public.json @@ -3,6 +3,30 @@ "description": "Default role given to unauthenticated user.", "type": "public", "permissions": [ + { + "action": "api::dataset.dataset.find" + }, + { + "action": "api::dataset.dataset.findOne" + }, + { + "action": "api::layer.layer.find" + }, + { + "action": "api::layer.layer.findOne" + }, + { + "action": "api::sub-topic.sub-topic.find" + }, + { + "action": "api::sub-topic.sub-topic.findOne" + }, + { + "action": "api::topic.topic.find" + }, + { + "action": "api::topic.topic.findOne" + }, { "action": "plugin::users-permissions.auth.callback" }, diff --git a/cms/package.json b/cms/package.json index a2b78d3..a8e533e 100644 --- a/cms/package.json +++ b/cms/package.json @@ -12,6 +12,7 @@ }, "dependencies": { "@strapi/plugin-cloud": "4.25.13", + "@strapi/plugin-documentation": "4.25.13", "@strapi/plugin-i18n": "4.25.13", "@strapi/plugin-users-permissions": "4.25.13", "@strapi/strapi": "4.25.13", diff --git a/cms/src/api/dataset/content-types/dataset/schema.json b/cms/src/api/dataset/content-types/dataset/schema.json index d407c64..0696b6f 100644 --- a/cms/src/api/dataset/content-types/dataset/schema.json +++ b/cms/src/api/dataset/content-types/dataset/schema.json @@ -4,52 +4,37 @@ "info": { "singularName": "dataset", "pluralName": "datasets", - "displayName": "Dataset" + "displayName": "Dataset", + "description": "" }, "options": { - "draftAndPublish": true + "draftAndPublish": false }, "pluginOptions": {}, "attributes": { - "Name": { - "type": "string" - }, - "Description": { - "type": "text" - }, - "Sources": { - "type": "text" - }, - "License": { - "type": "string" - }, - "Citations": { - "type": "text" - }, - "Spatial_coverage": { - "type": "string" - }, - "Spatial_resolution": { - "type": "string" - }, - "Temporal_coverage": { - "type": "string" - }, - "Temporal_resolution": { - "type": "string" - }, - "Unit": { - "type": "string" + "name": { + "type": "string", + "required": true }, "layers": { "type": "relation", "relation": "oneToMany", "target": "api::layer.layer" }, - "Default_layer": { + "default_layer": { "type": "relation", "relation": "oneToOne", "target": "api::layer.layer" + }, + "topic": { + "type": "relation", + "relation": "oneToOne", + "target": "api::topic.topic" + }, + "sub_topic": { + "type": "relation", + "relation": "oneToOne", + "target": "api::sub-topic.sub-topic" } } } diff --git a/cms/src/api/dataset/documentation/1.0.0/dataset.json b/cms/src/api/dataset/documentation/1.0.0/dataset.json new file mode 100644 index 0000000..e637da7 --- /dev/null +++ b/cms/src/api/dataset/documentation/1.0.0/dataset.json @@ -0,0 +1,508 @@ +{ + "/datasets": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Dataset" + ], + "parameters": [ + { + "name": "sort", + "in": "query", + "description": "Sort by attributes ascending (asc) or descending (desc)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pagination[withCount]", + "in": "query", + "description": "Return page/pageSize (default: true)", + "deprecated": false, + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "pagination[page]", + "in": "query", + "description": "Page number (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[pageSize]", + "in": "query", + "description": "Page size (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[start]", + "in": "query", + "description": "Offset value (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[limit]", + "in": "query", + "description": "Number of entities to return (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "fields", + "in": "query", + "description": "Fields to return (ex: title,author)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "populate", + "in": "query", + "description": "Relations to return", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "filters", + "in": "query", + "description": "Filters to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "style": "deepObject" + }, + { + "name": "locale", + "in": "query", + "description": "Locale to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + } + ], + "operationId": "get/datasets" + }, + "post": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Dataset" + ], + "parameters": [], + "operationId": "post/datasets", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetRequest" + } + } + } + } + } + }, + "/datasets/{id}": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Dataset" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "get/datasets/{id}" + }, + "put": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Dataset" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "put/datasets/{id}", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetRequest" + } + } + } + } + }, + "delete": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Dataset" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "delete/datasets/{id}" + } + } +} diff --git a/cms/src/api/layer/content-types/layer/schema.json b/cms/src/api/layer/content-types/layer/schema.json index df5e0cd..0027721 100644 --- a/cms/src/api/layer/content-types/layer/schema.json +++ b/cms/src/api/layer/content-types/layer/schema.json @@ -4,55 +4,39 @@ "info": { "singularName": "layer", "pluralName": "layers", - "displayName": "Layer" + "displayName": "Layer", + "description": "" }, "options": { - "draftAndPublish": true + "draftAndPublish": false }, "pluginOptions": {}, "attributes": { - "Name": { - "type": "string" + "name": { + "type": "string", + "required": true }, - "Slug": { - "type": "string" - }, - "Type": { + "type": { "type": "enumeration", "enum": [ - "raster", - "vector", + "static", "animated" - ] - }, - "Config": { - "type": "json" - }, - "Params_config": { - "type": "json" - }, - "Legend_config": { - "type": "json" - }, - "Interaction_config": { - "type": "json" - }, - "Temporal_step": { - "type": "integer" - }, - "Temporal_step_unit": { - "type": "enumeration", - "enum": [ - "day", - "month", - "year" - ] - }, - "Temporal_start_date": { - "type": "date" - }, - "Temporal_end_date": { - "type": "date" + ], + "required": true + }, + "mapbox_config": { + "type": "json", + "required": true + }, + "params_config": { + "type": "json", + "required": true + }, + "legend_config": { + "type": "component", + "repeatable": false, + "component": "legend.legend-config", + "required": true } } } diff --git a/cms/src/api/layer/documentation/1.0.0/layer.json b/cms/src/api/layer/documentation/1.0.0/layer.json new file mode 100644 index 0000000..c873f22 --- /dev/null +++ b/cms/src/api/layer/documentation/1.0.0/layer.json @@ -0,0 +1,508 @@ +{ + "/layers": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "sort", + "in": "query", + "description": "Sort by attributes ascending (asc) or descending (desc)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pagination[withCount]", + "in": "query", + "description": "Return page/pageSize (default: true)", + "deprecated": false, + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "pagination[page]", + "in": "query", + "description": "Page number (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[pageSize]", + "in": "query", + "description": "Page size (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[start]", + "in": "query", + "description": "Offset value (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[limit]", + "in": "query", + "description": "Number of entities to return (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "fields", + "in": "query", + "description": "Fields to return (ex: title,author)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "populate", + "in": "query", + "description": "Relations to return", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "filters", + "in": "query", + "description": "Filters to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "style": "deepObject" + }, + { + "name": "locale", + "in": "query", + "description": "Locale to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + } + ], + "operationId": "get/layers" + }, + "post": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [], + "operationId": "post/layers", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerRequest" + } + } + } + } + } + }, + "/layers/{id}": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "get/layers/{id}" + }, + "put": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "put/layers/{id}", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerRequest" + } + } + } + } + }, + "delete": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "delete/layers/{id}" + } + } +} diff --git a/cms/src/api/sub-topic/content-types/sub-topic/schema.json b/cms/src/api/sub-topic/content-types/sub-topic/schema.json index 7dcb754..800c45d 100644 --- a/cms/src/api/sub-topic/content-types/sub-topic/schema.json +++ b/cms/src/api/sub-topic/content-types/sub-topic/schema.json @@ -4,23 +4,17 @@ "info": { "singularName": "sub-topic", "pluralName": "sub-topics", - "displayName": "Sub-Topic" + "displayName": "Sub-Topic", + "description": "" }, "options": { - "draftAndPublish": true + "draftAndPublish": false }, "pluginOptions": {}, "attributes": { - "Name": { - "type": "string" - }, - "Description": { - "type": "text" - }, - "datasets": { - "type": "relation", - "relation": "oneToMany", - "target": "api::dataset.dataset" + "name": { + "type": "string", + "required": true } } } diff --git a/cms/src/api/sub-topic/documentation/1.0.0/sub-topic.json b/cms/src/api/sub-topic/documentation/1.0.0/sub-topic.json new file mode 100644 index 0000000..cf649f4 --- /dev/null +++ b/cms/src/api/sub-topic/documentation/1.0.0/sub-topic.json @@ -0,0 +1,508 @@ +{ + "/sub-topics": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Sub-topic" + ], + "parameters": [ + { + "name": "sort", + "in": "query", + "description": "Sort by attributes ascending (asc) or descending (desc)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pagination[withCount]", + "in": "query", + "description": "Return page/pageSize (default: true)", + "deprecated": false, + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "pagination[page]", + "in": "query", + "description": "Page number (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[pageSize]", + "in": "query", + "description": "Page size (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[start]", + "in": "query", + "description": "Offset value (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[limit]", + "in": "query", + "description": "Number of entities to return (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "fields", + "in": "query", + "description": "Fields to return (ex: title,author)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "populate", + "in": "query", + "description": "Relations to return", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "filters", + "in": "query", + "description": "Filters to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "style": "deepObject" + }, + { + "name": "locale", + "in": "query", + "description": "Locale to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + } + ], + "operationId": "get/sub-topics" + }, + "post": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Sub-topic" + ], + "parameters": [], + "operationId": "post/sub-topics", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicRequest" + } + } + } + } + } + }, + "/sub-topics/{id}": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Sub-topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "get/sub-topics/{id}" + }, + "put": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Sub-topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "put/sub-topics/{id}", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicRequest" + } + } + } + } + }, + "delete": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Sub-topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "delete/sub-topics/{id}" + } + } +} diff --git a/cms/src/api/topic/content-types/topic/schema.json b/cms/src/api/topic/content-types/topic/schema.json index 252fd42..b745458 100644 --- a/cms/src/api/topic/content-types/topic/schema.json +++ b/cms/src/api/topic/content-types/topic/schema.json @@ -8,20 +8,18 @@ "description": "" }, "options": { - "draftAndPublish": true + "draftAndPublish": false }, "pluginOptions": {}, "attributes": { - "Name": { - "type": "string" + "name": { + "type": "string", + "required": true }, - "Slug": { - "type": "string" - }, - "sub_topics": { - "type": "relation", - "relation": "oneToMany", - "target": "api::sub-topic.sub-topic" + "slug": { + "type": "string", + "required": true, + "unique": false } } } diff --git a/cms/src/api/topic/documentation/1.0.0/topic.json b/cms/src/api/topic/documentation/1.0.0/topic.json new file mode 100644 index 0000000..9c53b76 --- /dev/null +++ b/cms/src/api/topic/documentation/1.0.0/topic.json @@ -0,0 +1,508 @@ +{ + "/topics": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Topic" + ], + "parameters": [ + { + "name": "sort", + "in": "query", + "description": "Sort by attributes ascending (asc) or descending (desc)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pagination[withCount]", + "in": "query", + "description": "Return page/pageSize (default: true)", + "deprecated": false, + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "pagination[page]", + "in": "query", + "description": "Page number (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[pageSize]", + "in": "query", + "description": "Page size (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[start]", + "in": "query", + "description": "Offset value (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[limit]", + "in": "query", + "description": "Number of entities to return (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "fields", + "in": "query", + "description": "Fields to return (ex: title,author)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "populate", + "in": "query", + "description": "Relations to return", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "filters", + "in": "query", + "description": "Filters to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "style": "deepObject" + }, + { + "name": "locale", + "in": "query", + "description": "Locale to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + } + ], + "operationId": "get/topics" + }, + "post": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Topic" + ], + "parameters": [], + "operationId": "post/topics", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicRequest" + } + } + } + } + } + }, + "/topics/{id}": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "get/topics/{id}" + }, + "put": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "put/topics/{id}", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicRequest" + } + } + } + } + }, + "delete": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "delete/topics/{id}" + } + } +} diff --git a/cms/src/components/legend/items.json b/cms/src/components/legend/items.json new file mode 100644 index 0000000..ff10b5f --- /dev/null +++ b/cms/src/components/legend/items.json @@ -0,0 +1,18 @@ +{ + "collectionName": "components_legend_item_items", + "info": { + "displayName": "item", + "description": "" + }, + "options": {}, + "attributes": { + "color": { + "type": "string", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": true + }, + "value": { + "type": "string" + } + } +} diff --git a/cms/src/components/legend/legend-config.json b/cms/src/components/legend/legend-config.json new file mode 100644 index 0000000..ea49e15 --- /dev/null +++ b/cms/src/components/legend/legend-config.json @@ -0,0 +1,25 @@ +{ + "collectionName": "components_legend_legend_configs", + "info": { + "displayName": "config", + "description": "" + }, + "options": {}, + "attributes": { + "type": { + "type": "enumeration", + "enum": [ + "basic", + "choropleth", + "gradient" + ], + "required": true + }, + "items": { + "displayName": "items", + "type": "component", + "repeatable": true, + "component": "legend.items" + } + } +} diff --git a/cms/src/extensions/documentation/documentation/1.0.0/full_documentation.json b/cms/src/extensions/documentation/documentation/1.0.0/full_documentation.json new file mode 100644 index 0000000..3cbe0a7 --- /dev/null +++ b/cms/src/extensions/documentation/documentation/1.0.0/full_documentation.json @@ -0,0 +1,5685 @@ +{ + "openapi": "3.0.0", + "info": { + "version": "1.0.0", + "title": "DOCUMENTATION", + "description": "", + "termsOfService": "YOUR_TERMS_OF_SERVICE_URL", + "contact": { + "name": "TEAM", + "email": "contact-email@something.io", + "url": "mywebsite.io" + }, + "license": { + "name": "Apache 2.0", + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" + }, + "x-generation-date": "2024-10-25T12:41:08.123Z" + }, + "x-strapi-config": { + "path": "/documentation", + "plugins": [ + "upload", + "users-permissions" + ] + }, + "servers": [ + { + "url": "http://localhost:1337/api", + "description": "Development server" + } + ], + "externalDocs": { + "description": "Find out more", + "url": "https://docs.strapi.io/developer-docs/latest/getting-started/introduction.html" + }, + "security": [ + { + "bearerAuth": [] + } + ], + "components": { + "securitySchemes": { + "bearerAuth": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + }, + "schemas": { + "Error": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "data": { + "nullable": true, + "oneOf": [ + { + "type": "object" + }, + { + "type": "array", + "items": { + "type": "object" + } + } + ] + }, + "error": { + "type": "object", + "properties": { + "status": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "message": { + "type": "string" + }, + "details": { + "type": "object" + } + } + } + } + }, + "DatasetRequest": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "layers": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], + "example": "string or id" + } + }, + "default_layer": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], + "example": "string or id" + }, + "topic": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], + "example": "string or id" + }, + "sub_topic": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], + "example": "string or id" + } + } + } + } + }, + "DatasetListResponseDataItem": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "$ref": "#/components/schemas/Dataset" + } + } + }, + "DatasetListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DatasetListResponseDataItem" + } + }, + "meta": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer", + "minimum": 25 + }, + "pageCount": { + "type": "integer", + "maximum": 1 + }, + "total": { + "type": "integer" + } + } + } + } + } + } + }, + "Dataset": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "layers": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "static", + "animated" + ] + }, + "mapbox_config": {}, + "params_config": {}, + "legend_config": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "basic", + "choropleth", + "gradient" + ] + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "color": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "firstname": { + "type": "string" + }, + "lastname": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string", + "format": "email" + }, + "resetPasswordToken": { + "type": "string" + }, + "registrationToken": { + "type": "string" + }, + "isActive": { + "type": "boolean" + }, + "roles": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "code": { + "type": "string" + }, + "description": { + "type": "string" + }, + "users": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "permissions": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "actionParameters": {}, + "subject": { + "type": "string" + }, + "properties": {}, + "conditions": {}, + "role": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "blocked": { + "type": "boolean" + }, + "preferedLanguage": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "default_layer": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "topic": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + }, + "sub_topic": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + }, + "DatasetResponseDataObject": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "$ref": "#/components/schemas/Dataset" + } + } + }, + "DatasetResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/DatasetResponseDataObject" + }, + "meta": { + "type": "object" + } + } + }, + "LayerRequest": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "required": [ + "name", + "type", + "mapbox_config", + "params_config", + "legend_config" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "static", + "animated" + ] + }, + "mapbox_config": {}, + "params_config": {}, + "legend_config": { + "$ref": "#/components/schemas/LegendLegendConfigComponent" + } + } + } + } + }, + "LayerListResponseDataItem": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "$ref": "#/components/schemas/Layer" + } + } + }, + "LayerListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LayerListResponseDataItem" + } + }, + "meta": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer", + "minimum": 25 + }, + "pageCount": { + "type": "integer", + "maximum": 1 + }, + "total": { + "type": "integer" + } + } + } + } + } + } + }, + "Layer": { + "type": "object", + "required": [ + "name", + "type", + "mapbox_config", + "params_config", + "legend_config" + ], + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "static", + "animated" + ] + }, + "mapbox_config": {}, + "params_config": {}, + "legend_config": { + "$ref": "#/components/schemas/LegendLegendConfigComponent" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "firstname": { + "type": "string" + }, + "lastname": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string", + "format": "email" + }, + "resetPasswordToken": { + "type": "string" + }, + "registrationToken": { + "type": "string" + }, + "isActive": { + "type": "boolean" + }, + "roles": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "code": { + "type": "string" + }, + "description": { + "type": "string" + }, + "users": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "permissions": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "actionParameters": {}, + "subject": { + "type": "string" + }, + "properties": {}, + "conditions": {}, + "role": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "blocked": { + "type": "boolean" + }, + "preferedLanguage": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + }, + "LayerResponseDataObject": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "$ref": "#/components/schemas/Layer" + } + } + }, + "LayerResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/LayerResponseDataObject" + }, + "meta": { + "type": "object" + } + } + }, + "LegendLegendConfigComponent": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "basic", + "choropleth", + "gradient" + ] + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "color": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + } + } + }, + "SubTopicRequest": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + } + }, + "SubTopicListResponseDataItem": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "$ref": "#/components/schemas/SubTopic" + } + } + }, + "SubTopicListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SubTopicListResponseDataItem" + } + }, + "meta": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer", + "minimum": 25 + }, + "pageCount": { + "type": "integer", + "maximum": 1 + }, + "total": { + "type": "integer" + } + } + } + } + } + } + }, + "SubTopic": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "firstname": { + "type": "string" + }, + "lastname": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string", + "format": "email" + }, + "resetPasswordToken": { + "type": "string" + }, + "registrationToken": { + "type": "string" + }, + "isActive": { + "type": "boolean" + }, + "roles": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "code": { + "type": "string" + }, + "description": { + "type": "string" + }, + "users": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "permissions": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "actionParameters": {}, + "subject": { + "type": "string" + }, + "properties": {}, + "conditions": {}, + "role": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "blocked": { + "type": "boolean" + }, + "preferedLanguage": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + }, + "SubTopicResponseDataObject": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "$ref": "#/components/schemas/SubTopic" + } + } + }, + "SubTopicResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/SubTopicResponseDataObject" + }, + "meta": { + "type": "object" + } + } + }, + "TopicRequest": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "required": [ + "name", + "slug" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "slug": { + "type": "string" + } + } + } + } + }, + "TopicListResponseDataItem": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "$ref": "#/components/schemas/Topic" + } + } + }, + "TopicListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TopicListResponseDataItem" + } + }, + "meta": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer", + "minimum": 25 + }, + "pageCount": { + "type": "integer", + "maximum": 1 + }, + "total": { + "type": "integer" + } + } + } + } + } + } + }, + "Topic": { + "type": "object", + "required": [ + "name", + "slug" + ], + "properties": { + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "firstname": { + "type": "string" + }, + "lastname": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string", + "format": "email" + }, + "resetPasswordToken": { + "type": "string" + }, + "registrationToken": { + "type": "string" + }, + "isActive": { + "type": "boolean" + }, + "roles": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "code": { + "type": "string" + }, + "description": { + "type": "string" + }, + "users": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + }, + "permissions": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "actionParameters": {}, + "subject": { + "type": "string" + }, + "properties": {}, + "conditions": {}, + "role": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + } + }, + "blocked": { + "type": "boolean" + }, + "preferedLanguage": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + } + } + } + } + }, + "updatedBy": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "type": "object", + "properties": {} + } + } + } + } + } + } + }, + "TopicResponseDataObject": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "attributes": { + "$ref": "#/components/schemas/Topic" + } + } + }, + "TopicResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/TopicResponseDataObject" + }, + "meta": { + "type": "object" + } + } + }, + "UploadFile": { + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "alternativeText": { + "type": "string" + }, + "caption": { + "type": "string" + }, + "width": { + "type": "number", + "format": "integer" + }, + "height": { + "type": "number", + "format": "integer" + }, + "formats": { + "type": "number" + }, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number", + "format": "double" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + }, + "Users-Permissions-Role": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + }, + "Users-Permissions-User": { + "type": "object", + "properties": { + "id": { + "type": "number", + "example": 1 + }, + "username": { + "type": "string", + "example": "foo.bar" + }, + "email": { + "type": "string", + "example": "foo.bar@strapi.io" + }, + "provider": { + "type": "string", + "example": "local" + }, + "confirmed": { + "type": "boolean", + "example": true + }, + "blocked": { + "type": "boolean", + "example": false + }, + "createdAt": { + "type": "string", + "format": "date-time", + "example": "2022-06-02T08:32:06.258Z" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "example": "2022-06-02T08:32:06.267Z" + } + } + }, + "Users-Permissions-UserRegistration": { + "type": "object", + "properties": { + "jwt": { + "type": "string", + "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" + }, + "user": { + "$ref": "#/components/schemas/Users-Permissions-User" + } + } + }, + "Users-Permissions-PermissionsTree": { + "type": "object", + "additionalProperties": { + "type": "object", + "description": "every api", + "properties": { + "controllers": { + "description": "every controller of the api", + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "description": "every action of every controller", + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "policy": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "requestBodies": { + "Users-Permissions-RoleRequest": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "type": { + "type": "string" + }, + "permissions": { + "$ref": "#/components/schemas/Users-Permissions-PermissionsTree" + } + } + }, + "example": { + "name": "foo", + "description": "role foo", + "permissions": { + "api::content-type.content-type": { + "controllers": { + "controllerA": { + "find": { + "enabled": true + } + } + } + } + } + } + } + } + } + } + }, + "paths": { + "/datasets": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Dataset" + ], + "parameters": [ + { + "name": "sort", + "in": "query", + "description": "Sort by attributes ascending (asc) or descending (desc)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pagination[withCount]", + "in": "query", + "description": "Return page/pageSize (default: true)", + "deprecated": false, + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "pagination[page]", + "in": "query", + "description": "Page number (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[pageSize]", + "in": "query", + "description": "Page size (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[start]", + "in": "query", + "description": "Offset value (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[limit]", + "in": "query", + "description": "Number of entities to return (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "fields", + "in": "query", + "description": "Fields to return (ex: title,author)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "populate", + "in": "query", + "description": "Relations to return", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "filters", + "in": "query", + "description": "Filters to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "style": "deepObject" + }, + { + "name": "locale", + "in": "query", + "description": "Locale to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + } + ], + "operationId": "get/datasets" + }, + "post": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Dataset" + ], + "parameters": [], + "operationId": "post/datasets", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetRequest" + } + } + } + } + } + }, + "/datasets/{id}": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Dataset" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "get/datasets/{id}" + }, + "put": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Dataset" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "put/datasets/{id}", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetRequest" + } + } + } + } + }, + "delete": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Dataset" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "delete/datasets/{id}" + } + }, + "/layers": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "sort", + "in": "query", + "description": "Sort by attributes ascending (asc) or descending (desc)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pagination[withCount]", + "in": "query", + "description": "Return page/pageSize (default: true)", + "deprecated": false, + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "pagination[page]", + "in": "query", + "description": "Page number (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[pageSize]", + "in": "query", + "description": "Page size (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[start]", + "in": "query", + "description": "Offset value (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[limit]", + "in": "query", + "description": "Number of entities to return (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "fields", + "in": "query", + "description": "Fields to return (ex: title,author)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "populate", + "in": "query", + "description": "Relations to return", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "filters", + "in": "query", + "description": "Filters to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "style": "deepObject" + }, + { + "name": "locale", + "in": "query", + "description": "Locale to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + } + ], + "operationId": "get/layers" + }, + "post": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [], + "operationId": "post/layers", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerRequest" + } + } + } + } + } + }, + "/layers/{id}": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "get/layers/{id}" + }, + "put": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "put/layers/{id}", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerRequest" + } + } + } + } + }, + "delete": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Layer" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "delete/layers/{id}" + } + }, + "/sub-topics": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Sub-topic" + ], + "parameters": [ + { + "name": "sort", + "in": "query", + "description": "Sort by attributes ascending (asc) or descending (desc)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pagination[withCount]", + "in": "query", + "description": "Return page/pageSize (default: true)", + "deprecated": false, + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "pagination[page]", + "in": "query", + "description": "Page number (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[pageSize]", + "in": "query", + "description": "Page size (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[start]", + "in": "query", + "description": "Offset value (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[limit]", + "in": "query", + "description": "Number of entities to return (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "fields", + "in": "query", + "description": "Fields to return (ex: title,author)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "populate", + "in": "query", + "description": "Relations to return", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "filters", + "in": "query", + "description": "Filters to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "style": "deepObject" + }, + { + "name": "locale", + "in": "query", + "description": "Locale to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + } + ], + "operationId": "get/sub-topics" + }, + "post": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Sub-topic" + ], + "parameters": [], + "operationId": "post/sub-topics", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicRequest" + } + } + } + } + } + }, + "/sub-topics/{id}": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Sub-topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "get/sub-topics/{id}" + }, + "put": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Sub-topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "put/sub-topics/{id}", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubTopicRequest" + } + } + } + } + }, + "delete": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Sub-topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "delete/sub-topics/{id}" + } + }, + "/topics": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Topic" + ], + "parameters": [ + { + "name": "sort", + "in": "query", + "description": "Sort by attributes ascending (asc) or descending (desc)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pagination[withCount]", + "in": "query", + "description": "Return page/pageSize (default: true)", + "deprecated": false, + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "pagination[page]", + "in": "query", + "description": "Page number (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[pageSize]", + "in": "query", + "description": "Page size (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[start]", + "in": "query", + "description": "Offset value (default: 0)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pagination[limit]", + "in": "query", + "description": "Number of entities to return (default: 25)", + "deprecated": false, + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "fields", + "in": "query", + "description": "Fields to return (ex: title,author)", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "populate", + "in": "query", + "description": "Relations to return", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "filters", + "in": "query", + "description": "Filters to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "style": "deepObject" + }, + { + "name": "locale", + "in": "query", + "description": "Locale to apply", + "deprecated": false, + "required": false, + "schema": { + "type": "string" + } + } + ], + "operationId": "get/topics" + }, + "post": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Topic" + ], + "parameters": [], + "operationId": "post/topics", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicRequest" + } + } + } + } + } + }, + "/topics/{id}": { + "get": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "get/topics/{id}" + }, + "put": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "put/topics/{id}", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopicRequest" + } + } + } + } + }, + "delete": { + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "tags": [ + "Topic" + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "number" + } + } + ], + "operationId": "delete/topics/{id}" + } + }, + "/upload": { + "post": { + "description": "Upload files", + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UploadFile" + } + } + } + } + } + }, + "summary": "", + "tags": [ + "Upload - File" + ], + "requestBody": { + "description": "Upload files", + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "files" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The folder where the file(s) will be uploaded to (only supported on strapi-provider-upload-aws-s3)." + }, + "refId": { + "type": "string", + "description": "The ID of the entry which the file(s) will be linked to" + }, + "ref": { + "type": "string", + "description": "The unique ID (uid) of the model which the file(s) will be linked to (api::restaurant.restaurant)." + }, + "field": { + "type": "string", + "description": "The field of the entry which the file(s) will be precisely linked to." + }, + "files": { + "type": "array", + "items": { + "type": "string", + "format": "binary" + } + } + } + } + } + } + } + } + }, + "/upload?id={id}": { + "post": { + "parameters": [ + { + "name": "id", + "in": "query", + "description": "File id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "description": "Upload file information", + "responses": { + "200": { + "description": "response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UploadFile" + } + } + } + } + } + }, + "summary": "", + "tags": [ + "Upload - File" + ], + "requestBody": { + "description": "Upload files", + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "fileInfo": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "alternativeText": { + "type": "string" + }, + "caption": { + "type": "string" + } + } + }, + "files": { + "type": "string", + "format": "binary" + } + } + } + } + } + } + } + }, + "/upload/files": { + "get": { + "tags": [ + "Upload - File" + ], + "responses": { + "200": { + "description": "Get a list of files", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UploadFile" + } + } + } + } + } + } + } + }, + "/upload/files/{id}": { + "get": { + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "string" + } + } + ], + "tags": [ + "Upload - File" + ], + "responses": { + "200": { + "description": "Get a specific file", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadFile" + } + } + } + } + } + }, + "delete": { + "parameters": [ + { + "name": "id", + "in": "path", + "description": "", + "deprecated": false, + "required": true, + "schema": { + "type": "string" + } + } + ], + "tags": [ + "Upload - File" + ], + "responses": { + "200": { + "description": "Delete a file", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadFile" + } + } + } + } + } + } + }, + "/connect/{provider}": { + "get": { + "parameters": [ + { + "name": "provider", + "in": "path", + "required": true, + "description": "Provider name", + "schema": { + "type": "string", + "pattern": ".*" + } + } + ], + "tags": [ + "Users-Permissions - Auth" + ], + "summary": "Login with a provider", + "description": "Redirects to provider login before being redirect to /auth/{provider}/callback", + "responses": { + "301": { + "description": "Redirect response" + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/auth/local": { + "post": { + "tags": [ + "Users-Permissions - Auth" + ], + "summary": "Local login", + "description": "Returns a jwt token and user info", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "identifier": { + "type": "string" + }, + "password": { + "type": "string" + } + } + }, + "example": { + "identifier": "foobar", + "password": "Test1234" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Connection", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users-Permissions-UserRegistration" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/auth/local/register": { + "post": { + "tags": [ + "Users-Permissions - Auth" + ], + "summary": "Register a user", + "description": "Returns a jwt token and user info", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "password": { + "type": "string" + } + } + }, + "example": { + "username": "foobar", + "email": "foo.bar@strapi.io", + "password": "Test1234" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful registration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users-Permissions-UserRegistration" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/auth/{provider}/callback": { + "get": { + "tags": [ + "Users-Permissions - Auth" + ], + "summary": "Default Callback from provider auth", + "parameters": [ + { + "name": "provider", + "in": "path", + "required": true, + "description": "Provider name", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Returns a jwt token and user info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users-Permissions-UserRegistration" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/auth/forgot-password": { + "post": { + "tags": [ + "Users-Permissions - Auth" + ], + "summary": "Send rest password email", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "email": { + "type": "string" + } + } + }, + "example": { + "email": "foo.bar@strapi.io" + } + } + } + }, + "responses": { + "200": { + "description": "Returns ok", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ok": { + "type": "string", + "enum": [ + true + ] + } + } + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/auth/reset-password": { + "post": { + "tags": [ + "Users-Permissions - Auth" + ], + "summary": "Rest user password", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "password": { + "type": "string" + }, + "passwordConfirmation": { + "type": "string" + }, + "code": { + "type": "string" + } + } + }, + "example": { + "password": "Test1234", + "passwordConfirmation": "Test1234", + "code": "zertyoaizndoianzodianzdonaizdoinaozdnia" + } + } + } + }, + "responses": { + "200": { + "description": "Returns a jwt token and user info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users-Permissions-UserRegistration" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/auth/change-password": { + "post": { + "tags": [ + "Users-Permissions - Auth" + ], + "summary": "Update user's own password", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "password", + "currentPassword", + "passwordConfirmation" + ], + "properties": { + "password": { + "type": "string" + }, + "currentPassword": { + "type": "string" + }, + "passwordConfirmation": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Returns a jwt token and user info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users-Permissions-UserRegistration" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/auth/email-confirmation": { + "get": { + "tags": [ + "Users-Permissions - Auth" + ], + "summary": "Confirm user email", + "parameters": [ + { + "in": "query", + "name": "confirmation", + "schema": { + "type": "string" + }, + "description": "confirmation token received by email" + } + ], + "responses": { + "301": { + "description": "Redirects to the configure email confirmation redirect url" + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/auth/send-email-confirmation": { + "post": { + "tags": [ + "Users-Permissions - Auth" + ], + "summary": "Send confirmation email", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "email": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Returns email and boolean to confirm email was sent", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "sent": { + "type": "string", + "enum": [ + true + ] + } + } + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/users-permissions/permissions": { + "get": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Get default generated permissions", + "responses": { + "200": { + "description": "Returns the permissions tree", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "permissions": { + "$ref": "#/components/schemas/Users-Permissions-PermissionsTree" + } + } + }, + "example": { + "permissions": { + "api::content-type.content-type": { + "controllers": { + "controllerA": { + "find": { + "enabled": false, + "policy": "" + }, + "findOne": { + "enabled": false, + "policy": "" + }, + "create": { + "enabled": false, + "policy": "" + } + }, + "controllerB": { + "find": { + "enabled": false, + "policy": "" + }, + "findOne": { + "enabled": false, + "policy": "" + }, + "create": { + "enabled": false, + "policy": "" + } + } + } + } + } + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/users-permissions/roles": { + "get": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "List roles", + "responses": { + "200": { + "description": "Returns list of roles", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "roles": { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/Users-Permissions-Role" + }, + { + "type": "object", + "properties": { + "nb_users": { + "type": "number" + } + } + } + ] + } + } + } + }, + "example": { + "roles": [ + { + "id": 1, + "name": "Public", + "description": "Default role given to unauthenticated user.", + "type": "public", + "createdAt": "2022-05-19T17:35:35.097Z", + "updatedAt": "2022-05-31T16:05:36.603Z", + "nb_users": 0 + } + ] + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "post": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Create a role", + "requestBody": { + "$ref": "#/components/requestBodies/Users-Permissions-RoleRequest" + }, + "responses": { + "200": { + "description": "Returns ok if the role was create", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ok": { + "type": "string", + "enum": [ + true + ] + } + } + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/users-permissions/roles/{id}": { + "get": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Get a role", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "description": "role Id" + } + ], + "responses": { + "200": { + "description": "Returns the role", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "role": { + "$ref": "#/components/schemas/Users-Permissions-Role" + } + } + }, + "example": { + "role": { + "id": 1, + "name": "Public", + "description": "Default role given to unauthenticated user.", + "type": "public", + "createdAt": "2022-05-19T17:35:35.097Z", + "updatedAt": "2022-05-31T16:05:36.603Z", + "permissions": { + "api::content-type.content-type": { + "controllers": { + "controllerA": { + "find": { + "enabled": true + } + } + } + } + } + } + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/users-permissions/roles/{role}": { + "put": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Update a role", + "parameters": [ + { + "in": "path", + "name": "role", + "required": true, + "schema": { + "type": "string" + }, + "description": "role Id" + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/Users-Permissions-RoleRequest" + }, + "responses": { + "200": { + "description": "Returns ok if the role was udpated", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ok": { + "type": "string", + "enum": [ + true + ] + } + } + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Delete a role", + "parameters": [ + { + "in": "path", + "name": "role", + "required": true, + "schema": { + "type": "string" + }, + "description": "role Id" + } + ], + "responses": { + "200": { + "description": "Returns ok if the role was delete", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ok": { + "type": "string", + "enum": [ + true + ] + } + } + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/users": { + "get": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Get list of users", + "responses": { + "200": { + "description": "Returns an array of users", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Users-Permissions-User" + } + }, + "example": [ + { + "id": 9, + "username": "foao@strapi.io", + "email": "foao@strapi.io", + "provider": "local", + "confirmed": false, + "blocked": false, + "createdAt": "2022-06-01T18:32:35.211Z", + "updatedAt": "2022-06-01T18:32:35.217Z" + } + ] + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "post": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Create a user", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "username", + "email", + "password" + ], + "properties": { + "email": { + "type": "string" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + } + }, + "example": { + "username": "foo", + "email": "foo@strapi.io", + "password": "foo-password" + } + } + } + }, + "responses": { + "201": { + "description": "Returns created user info", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Users-Permissions-User" + }, + { + "type": "object", + "properties": { + "role": { + "$ref": "#/components/schemas/Users-Permissions-Role" + } + } + } + ] + }, + "example": { + "id": 1, + "username": "foo", + "email": "foo@strapi.io", + "provider": "local", + "confirmed": false, + "blocked": false, + "createdAt": "2022-05-19T17:35:35.096Z", + "updatedAt": "2022-05-19T17:35:35.096Z", + "role": { + "id": 1, + "name": "X", + "description": "Default role given to authenticated user.", + "type": "authenticated", + "createdAt": "2022-05-19T17:35:35.096Z", + "updatedAt": "2022-06-04T07:11:59.551Z" + } + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/users/{id}": { + "get": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Get a user", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "description": "user Id" + } + ], + "responses": { + "200": { + "description": "Returns a user", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users-Permissions-User" + }, + "example": { + "id": 1, + "username": "foo", + "email": "foo@strapi.io", + "provider": "local", + "confirmed": false, + "blocked": false, + "createdAt": "2022-05-19T17:35:35.096Z", + "updatedAt": "2022-05-19T17:35:35.096Z" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "put": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Update a user", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "description": "user Id" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "username", + "email", + "password" + ], + "properties": { + "email": { + "type": "string" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + } + }, + "example": { + "username": "foo", + "email": "foo@strapi.io", + "password": "foo-password" + } + } + } + }, + "responses": { + "200": { + "description": "Returns updated user info", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Users-Permissions-User" + }, + { + "type": "object", + "properties": { + "role": { + "$ref": "#/components/schemas/Users-Permissions-Role" + } + } + } + ] + }, + "example": { + "id": 1, + "username": "foo", + "email": "foo@strapi.io", + "provider": "local", + "confirmed": false, + "blocked": false, + "createdAt": "2022-05-19T17:35:35.096Z", + "updatedAt": "2022-05-19T17:35:35.096Z", + "role": { + "id": 1, + "name": "X", + "description": "Default role given to authenticated user.", + "type": "authenticated", + "createdAt": "2022-05-19T17:35:35.096Z", + "updatedAt": "2022-06-04T07:11:59.551Z" + } + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Delete a user", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "description": "user Id" + } + ], + "responses": { + "200": { + "description": "Returns deleted user info", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Users-Permissions-User" + } + ] + }, + "example": { + "id": 1, + "username": "foo", + "email": "foo@strapi.io", + "provider": "local", + "confirmed": false, + "blocked": false, + "createdAt": "2022-05-19T17:35:35.096Z", + "updatedAt": "2022-05-19T17:35:35.096Z" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/users/me": { + "get": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Get authenticated user info", + "responses": { + "200": { + "description": "Returns user info", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users-Permissions-User" + }, + "example": { + "id": 1, + "username": "foo", + "email": "foo@strapi.io", + "provider": "local", + "confirmed": false, + "blocked": false, + "createdAt": "2022-05-19T17:35:35.096Z", + "updatedAt": "2022-05-19T17:35:35.096Z" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/users/count": { + "get": { + "tags": [ + "Users-Permissions - Users & Roles" + ], + "summary": "Get user count", + "responses": { + "200": { + "description": "Returns a number", + "content": { + "application/json": { + "schema": { + "type": "number" + }, + "example": 1 + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + } + }, + "tags": [ + { + "name": "Users-Permissions - Auth", + "description": "Authentication endpoints", + "externalDocs": { + "description": "Find out more", + "url": "https://docs.strapi.io/developer-docs/latest/plugins/users-permissions.html" + } + }, + { + "name": "Users-Permissions - Users & Roles", + "description": "Users, roles, and permissions endpoints", + "externalDocs": { + "description": "Find out more", + "url": "https://docs.strapi.io/developer-docs/latest/plugins/users-permissions.html" + } + } + ] +} diff --git a/cms/src/extensions/documentation/public/index.html b/cms/src/extensions/documentation/public/index.html new file mode 100644 index 0000000..f7fe78c --- /dev/null +++ b/cms/src/extensions/documentation/public/index.html @@ -0,0 +1,3288 @@ + + + + + Swagger UI + + + + + + + +
+ + + + + + diff --git a/cms/types/generated/components.d.ts b/cms/types/generated/components.d.ts index 0cd76b4..41ab908 100644 --- a/cms/types/generated/components.d.ts +++ b/cms/types/generated/components.d.ts @@ -1,5 +1,35 @@ import type { Schema, Attribute } from '@strapi/strapi'; +export interface LegendLegendConfig extends Schema.Component { + collectionName: 'components_legend_legend_configs'; + info: { + displayName: 'config'; + description: ''; + }; + attributes: { + type: Attribute.Enumeration<['basic', 'choropleth', 'gradient']> & + Attribute.Required; + items: Attribute.Component<'legend.items', true>; + }; +} + +export interface LegendItems extends Schema.Component { + collectionName: 'components_legend_item_items'; + info: { + displayName: 'item'; + description: ''; + }; + attributes: { + color: Attribute.String & Attribute.Required; + value: Attribute.String; + }; +} + declare module '@strapi/types' { - export module Shared {} + export module Shared { + export interface Components { + 'legend.legend-config': LegendLegendConfig; + 'legend.items': LegendItems; + } + } } diff --git a/cms/types/generated/contentTypes.d.ts b/cms/types/generated/contentTypes.d.ts index c3d8422..edbe339 100644 --- a/cms/types/generated/contentTypes.d.ts +++ b/cms/types/generated/contentTypes.d.ts @@ -794,34 +794,35 @@ export interface ApiDatasetDataset extends Schema.CollectionType { singularName: 'dataset'; pluralName: 'datasets'; displayName: 'Dataset'; + description: ''; }; options: { - draftAndPublish: true; + draftAndPublish: false; }; attributes: { - Name: Attribute.String; - Description: Attribute.Text; - Sources: Attribute.Text; - License: Attribute.String; - Citations: Attribute.Text; - Spatial_coverage: Attribute.String; - Spatial_resolution: Attribute.String; - Temporal_coverage: Attribute.String; - Temporal_resolution: Attribute.String; - Unit: Attribute.String; + name: Attribute.String & Attribute.Required; layers: Attribute.Relation< 'api::dataset.dataset', 'oneToMany', 'api::layer.layer' >; - Default_layer: Attribute.Relation< + default_layer: Attribute.Relation< 'api::dataset.dataset', 'oneToOne', 'api::layer.layer' >; + topic: Attribute.Relation< + 'api::dataset.dataset', + 'oneToOne', + 'api::topic.topic' + >; + sub_topic: Attribute.Relation< + 'api::dataset.dataset', + 'oneToOne', + 'api::sub-topic.sub-topic' + >; createdAt: Attribute.DateTime; updatedAt: Attribute.DateTime; - publishedAt: Attribute.DateTime; createdBy: Attribute.Relation< 'api::dataset.dataset', 'oneToOne', @@ -843,25 +844,20 @@ export interface ApiLayerLayer extends Schema.CollectionType { singularName: 'layer'; pluralName: 'layers'; displayName: 'Layer'; + description: ''; }; options: { - draftAndPublish: true; + draftAndPublish: false; }; attributes: { - Name: Attribute.String; - Slug: Attribute.String; - Type: Attribute.Enumeration<['raster', 'vector', 'animated']>; - Config: Attribute.JSON; - Params_config: Attribute.JSON; - Legend_config: Attribute.JSON; - Interaction_config: Attribute.JSON; - Temporal_step: Attribute.Integer; - Temporal_step_unit: Attribute.Enumeration<['day', 'month', 'year']>; - Temporal_start_date: Attribute.Date; - Temporal_end_date: Attribute.Date; + name: Attribute.String & Attribute.Required; + type: Attribute.Enumeration<['static', 'animated']> & Attribute.Required; + mapbox_config: Attribute.JSON & Attribute.Required; + params_config: Attribute.JSON & Attribute.Required; + legend_config: Attribute.Component<'legend.legend-config'> & + Attribute.Required; createdAt: Attribute.DateTime; updatedAt: Attribute.DateTime; - publishedAt: Attribute.DateTime; createdBy: Attribute.Relation< 'api::layer.layer', 'oneToOne', @@ -883,21 +879,15 @@ export interface ApiSubTopicSubTopic extends Schema.CollectionType { singularName: 'sub-topic'; pluralName: 'sub-topics'; displayName: 'Sub-Topic'; + description: ''; }; options: { - draftAndPublish: true; + draftAndPublish: false; }; attributes: { - Name: Attribute.String; - Description: Attribute.Text; - datasets: Attribute.Relation< - 'api::sub-topic.sub-topic', - 'oneToMany', - 'api::dataset.dataset' - >; + name: Attribute.String & Attribute.Required; createdAt: Attribute.DateTime; updatedAt: Attribute.DateTime; - publishedAt: Attribute.DateTime; createdBy: Attribute.Relation< 'api::sub-topic.sub-topic', 'oneToOne', @@ -922,19 +912,13 @@ export interface ApiTopicTopic extends Schema.CollectionType { description: ''; }; options: { - draftAndPublish: true; + draftAndPublish: false; }; attributes: { - Name: Attribute.String; - Slug: Attribute.String; - sub_topics: Attribute.Relation< - 'api::topic.topic', - 'oneToMany', - 'api::sub-topic.sub-topic' - >; + name: Attribute.String & Attribute.Required; + slug: Attribute.String & Attribute.Required; createdAt: Attribute.DateTime; updatedAt: Attribute.DateTime; - publishedAt: Attribute.DateTime; createdBy: Attribute.Relation< 'api::topic.topic', 'oneToOne', diff --git a/cms/yarn.lock b/cms/yarn.lock index 779c4b0..b00f75e 100644 --- a/cms/yarn.lock +++ b/cms/yarn.lock @@ -2970,6 +2970,38 @@ __metadata: languageName: node linkType: hard +"@strapi/plugin-documentation@npm:4.25.13": + version: 4.25.13 + resolution: "@strapi/plugin-documentation@npm:4.25.13" + dependencies: + "@strapi/design-system": "npm:1.19.0" + "@strapi/helper-plugin": "npm:4.25.13" + "@strapi/icons": "npm:1.19.0" + "@strapi/utils": "npm:4.25.13" + bcryptjs: "npm:2.4.3" + cheerio: "npm:^1.0.0-rc.12" + formik: "npm:2.4.0" + fs-extra: "npm:10.0.0" + immer: "npm:9.0.19" + koa-static: "npm:^5.0.0" + lodash: "npm:4.17.21" + path-to-regexp: "npm:6.3.0" + react-helmet: "npm:^6.1.0" + react-intl: "npm:6.4.1" + react-query: "npm:3.39.3" + swagger-ui-dist: "npm:4.19.0" + yaml: "npm:1.10.2" + yup: "npm:0.32.9" + peerDependencies: + "@strapi/strapi": ^4.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + react-router-dom: ^5.2.0 + styled-components: ^5.2.1 + checksum: 10/0e0bc8f8926c3e1c584a6aa887b87944e6b5a8d7cc81f52e21078f36bfc05e1163fc309bf3af00e1a3efebae01e3679bbc1d5e34ff9dc5a3ed01925df8ab7065 + languageName: node + linkType: hard + "@strapi/plugin-email@npm:4.25.13": version: 4.25.13 resolution: "@strapi/plugin-email@npm:4.25.13" @@ -4979,6 +5011,39 @@ __metadata: languageName: node linkType: hard +"cheerio-select@npm:^2.1.0": + version: 2.1.0 + resolution: "cheerio-select@npm:2.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-select: "npm:^5.1.0" + css-what: "npm:^6.1.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + checksum: 10/b5d89208c23468c3a32d1e04f88b9e8c6e332e3649650c5cd29255e2cebc215071ae18563f58c3dc3f6ef4c234488fc486035490fceb78755572288245e2931a + languageName: node + linkType: hard + +"cheerio@npm:^1.0.0-rc.12": + version: 1.0.0 + resolution: "cheerio@npm:1.0.0" + dependencies: + cheerio-select: "npm:^2.1.0" + dom-serializer: "npm:^2.0.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.1.0" + encoding-sniffer: "npm:^0.2.0" + htmlparser2: "npm:^9.1.0" + parse5: "npm:^7.1.2" + parse5-htmlparser2-tree-adapter: "npm:^7.0.0" + parse5-parser-stream: "npm:^7.1.2" + undici: "npm:^6.19.5" + whatwg-mimetype: "npm:^4.0.0" + checksum: 10/b535070add0f86b0a1f234274ad3ffb2c1c375c05b322d8057e89c3c797b3b4d2f05826c34a04df218bec9abf21b9f0d0bd71974a8dfe28b943fb87ab0170c38 + languageName: node + linkType: hard + "chokidar@npm:3.5.3": version: 3.5.3 resolution: "chokidar@npm:3.5.3" @@ -5193,6 +5258,7 @@ __metadata: resolution: "cms@workspace:." dependencies: "@strapi/plugin-cloud": "npm:4.25.13" + "@strapi/plugin-documentation": "npm:4.25.13" "@strapi/plugin-i18n": "npm:4.25.13" "@strapi/plugin-users-permissions": "npm:4.25.13" "@strapi/strapi": "npm:4.25.13" @@ -5733,6 +5799,19 @@ __metadata: languageName: node linkType: hard +"css-select@npm:^5.1.0": + version: 5.1.0 + resolution: "css-select@npm:5.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-what: "npm:^6.1.0" + domhandler: "npm:^5.0.2" + domutils: "npm:^3.0.1" + nth-check: "npm:^2.0.1" + checksum: 10/d486b1e7eb140468218a5ab5af53257e01f937d2173ac46981f6b7de9c5283d55427a36715dc8decfc0c079cf89259ac5b41ef58f6e1a422eee44ab8bfdc78da + languageName: node + linkType: hard + "css-to-react-native@npm:^3.0.0": version: 3.2.0 resolution: "css-to-react-native@npm:3.2.0" @@ -5744,7 +5823,7 @@ __metadata: languageName: node linkType: hard -"css-what@npm:^6.0.1": +"css-what@npm:^6.0.1, css-what@npm:^6.1.0": version: 6.1.0 resolution: "css-what@npm:6.1.0" checksum: 10/c67a3a2d0d81843af87f8bf0a4d0845b0f952377714abbb2884e48942409d57a2110eabee003609d02ee487b054614bdfcfc59ee265728ff105bd5aa221c1d0e @@ -6207,7 +6286,7 @@ __metadata: languageName: node linkType: hard -"domutils@npm:^3.0.1": +"domutils@npm:^3.0.1, domutils@npm:^3.1.0": version: 3.1.0 resolution: "domutils@npm:3.1.0" dependencies: @@ -6347,6 +6426,16 @@ __metadata: languageName: node linkType: hard +"encoding-sniffer@npm:^0.2.0": + version: 0.2.0 + resolution: "encoding-sniffer@npm:0.2.0" + dependencies: + iconv-lite: "npm:^0.6.3" + whatwg-encoding: "npm:^3.1.1" + checksum: 10/fe61a759dbef4d94ddc6f4fa645459897f4275eba04f0135d0459099b5f62fbba8a7ae57d23c9ec9b118c4c39ce056b51f1b8e62ad73a8ab365699448d655f4c + languageName: node + linkType: hard + "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -6382,7 +6471,7 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0, entities@npm:^4.4.0": +"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 10/ede2a35c9bce1aeccd055a1b445d41c75a14a2bb1cd22e242f20cf04d236cdcd7f9c859eb83f76885327bfae0c25bf03303665ee1ce3d47c5927b98b0e3e3d48 @@ -7987,6 +8076,18 @@ __metadata: languageName: node linkType: hard +"htmlparser2@npm:^9.1.0": + version: 9.1.0 + resolution: "htmlparser2@npm:9.1.0" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.1.0" + entities: "npm:^4.5.0" + checksum: 10/6352fa2a5495781fa9a02c9049908334cd068ff36d753870d30cd13b841e99c19646717567a2f9e9c44075bbe43d364e102f9d013a731ce962226d63746b794f + languageName: node + linkType: hard + "http-assert@npm:^1.3.0": version: 1.5.0 resolution: "http-assert@npm:1.5.0" @@ -8119,7 +8220,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.6.2": +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -9268,7 +9369,7 @@ __metadata: languageName: node linkType: hard -"koa-static@npm:5.0.0": +"koa-static@npm:5.0.0, koa-static@npm:^5.0.0": version: 5.0.0 resolution: "koa-static@npm:5.0.0" dependencies: @@ -10920,6 +11021,34 @@ __metadata: languageName: node linkType: hard +"parse5-htmlparser2-tree-adapter@npm:^7.0.0": + version: 7.1.0 + resolution: "parse5-htmlparser2-tree-adapter@npm:7.1.0" + dependencies: + domhandler: "npm:^5.0.3" + parse5: "npm:^7.0.0" + checksum: 10/75910af9137451e9c53e1e0d712f7393f484e89e592b1809ee62ad6cedd61b98daeaa5206ff5d9f06778002c91fac311afedde4880e1916fdb44fa71199dae73 + languageName: node + linkType: hard + +"parse5-parser-stream@npm:^7.1.2": + version: 7.1.2 + resolution: "parse5-parser-stream@npm:7.1.2" + dependencies: + parse5: "npm:^7.0.0" + checksum: 10/75b232d460bce6bd0e35012750a78ef034f40ccf550b7c6cec3122395af6b4553202ad3663ad468cf537ead5a2e13b6727670395fd0ff548faccad1dc2dc93cf + languageName: node + linkType: hard + +"parse5@npm:^7.0.0, parse5@npm:^7.1.2": + version: 7.2.0 + resolution: "parse5@npm:7.2.0" + dependencies: + entities: "npm:^4.5.0" + checksum: 10/49dabfe848f00e8cad8d9198a094d667fbdecbfa5143ddf8fb708e499b5ba76426c16135c8993b1d8e01827b92e8cfab0a9a248afa6ad7cc6f38aecf5bd017e6 + languageName: node + linkType: hard + "parseurl@npm:^1.3.2": version: 1.3.3 resolution: "parseurl@npm:1.3.3" @@ -11058,6 +11187,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:6.3.0": + version: 6.3.0 + resolution: "path-to-regexp@npm:6.3.0" + checksum: 10/6822f686f01556d99538b350722ef761541ec0ce95ca40ce4c29e20a5b492fe8361961f57993c71b2418de12e604478dcf7c430de34b2c31a688363a7a944d9c + languageName: node + linkType: hard + "path-to-regexp@npm:^1.7.0": version: 1.8.0 resolution: "path-to-regexp@npm:1.8.0" @@ -13469,6 +13605,13 @@ __metadata: languageName: node linkType: hard +"swagger-ui-dist@npm:4.19.0": + version: 4.19.0 + resolution: "swagger-ui-dist@npm:4.19.0" + checksum: 10/40c93be4e38a0e88f65a5ca6937b72d7c681f359bf523535da5bedcb899a85dc4bd9ebc5037360b075bda1b063c6415617e8805e5369df74be2d808ba9219479 + languageName: node + linkType: hard + "swap-case@npm:^1.1.0": version: 1.1.2 resolution: "swap-case@npm:1.1.2" @@ -13966,6 +14109,13 @@ __metadata: languageName: node linkType: hard +"undici@npm:^6.19.5": + version: 6.20.1 + resolution: "undici@npm:6.20.1" + checksum: 10/68604b53754a95ec89d52efc08fe3e70e333997300c9a5b69f2b6496f1f0f568b2e35adec6442985a7b1d2f7a5648ef5062d1736e4d68082d473cb82177674bc + languageName: node + linkType: hard + "union-value@npm:^1.0.0": version: 1.0.1 resolution: "union-value@npm:1.0.1" @@ -14455,6 +14605,22 @@ __metadata: languageName: node linkType: hard +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" + dependencies: + iconv-lite: "npm:0.6.3" + checksum: 10/bbef815eb67f91487c7f2ef96329743f5fd8357d7d62b1119237d25d41c7e452dff8197235b2d3c031365a17f61d3bb73ca49d0ed1582475aa4a670815e79534 + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: 10/894a618e2d90bf444b6f309f3ceb6e58cf21b2beaa00c8b333696958c4076f0c7b30b9d33413c9ffff7c5832a0a0c8569e5bb347ef44beded72aeefd0acd62e8 + languageName: node + linkType: hard + "whatwg-url@npm:^5.0.0": version: 5.0.0 resolution: "whatwg-url@npm:5.0.0" @@ -14698,7 +14864,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^1.10.0": +"yaml@npm:1.10.2, yaml@npm:^1.10.0": version: 1.10.2 resolution: "yaml@npm:1.10.2" checksum: 10/e088b37b4d4885b70b50c9fa1b7e54bd2e27f5c87205f9deaffd1fb293ab263d9c964feadb9817a7b129a5bf30a06582cb08750f810568ecc14f3cdbabb79cb3