diff --git a/.eslintrc.json b/.eslintrc.json
index b0d42baf..558f1506 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -17,7 +17,9 @@
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
- "ecmaFeatures": { "jsx": true },
+ "ecmaFeatures": {
+ "jsx": true
+ },
"ecmaVersion": "latest",
"sourceType": "module"
},
@@ -33,17 +35,32 @@
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "error",
"react/boolean-prop-naming": "warn",
- "prettier/prettier": "error",
+ "prettier/prettier": "warn",
"@tanstack/query/exhaustive-deps": "error",
"@typescript-eslint/no-unused-vars": "error",
"@typescript-eslint/ban-ts-comment": [
"error",
- { "ts-ignore": { "descriptionFormat": "^ because .+$" } }
+ {
+ "ts-ignore": {
+ "descriptionFormat": "^ because .+$"
+ }
+ }
+ ],
+ "camelcase": [
+ "error",
+ {
+ "ignoreImports": true
+ }
],
- "camelcase": ["error", { "ignoreImports": true }],
"max-depth": "warn",
"max-lines": "warn",
- "max-lines-per-function": ["warn", { "max": 60, "skipBlankLines": true }],
+ "max-lines-per-function": [
+ "warn",
+ {
+ "max": 60,
+ "skipBlankLines": true
+ }
+ ],
"no-console": "warn",
"no-duplicate-imports": "error",
"no-self-compare": "error",
@@ -51,8 +68,17 @@
"prefer-const": "error",
"sort-imports": [
"error",
- { "ignoreCase": true, "ignoreDeclarationSort": true }
+ {
+ "ignoreCase": true,
+ "ignoreDeclarationSort": true
+ }
],
- "spaced-comment": ["warn", "always", { "markers": ["/"] }]
+ "spaced-comment": [
+ "warn",
+ "always",
+ {
+ "markers": ["/"]
+ }
+ ]
}
}
diff --git a/.github/workflows/on-tag.yaml b/.github/workflows/on-tag.yaml
index 51e01fd6..d82aac3d 100644
--- a/.github/workflows/on-tag.yaml
+++ b/.github/workflows/on-tag.yaml
@@ -29,4 +29,4 @@ jobs:
needs: [set-tag-ref]
uses: ./.github/workflows/publish.yaml
with:
- IMAGE_TAG: ${{ needs.set-tag-ref.outputs.tag-ref }}
\ No newline at end of file
+ IMAGE_TAG: ${{ needs.set-tag-ref.outputs.tag-ref }}
diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
index 43e2f9ee..9de9497d 100644
--- a/.github/workflows/publish.yaml
+++ b/.github/workflows/publish.yaml
@@ -22,4 +22,3 @@ jobs:
- name: Publish Container Image
run: IMAGE_TAG=${{inputs.IMAGE_TAG}} docker compose push
-
diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml
index e6b1b34e..bdf318e0 100644
--- a/.github/workflows/tests.yaml
+++ b/.github/workflows/tests.yaml
@@ -1,4 +1,4 @@
-name: "CI"
+name: 'CI'
on:
push:
@@ -27,4 +27,4 @@ jobs:
yarn test
yarn build
env:
- CI: false
\ No newline at end of file
+ CI: false
diff --git a/.prettierrc.js b/.prettierrc.js
index 57aed2bf..a0a06fd5 100644
--- a/.prettierrc.js
+++ b/.prettierrc.js
@@ -1,8 +1,8 @@
// default config
module.exports = {
- trailingComma: 'es5',
+ trailingComma: 'all',
tabWidth: 2,
- semi: false,
+ semi: true,
singleQuote: true,
endOfLine: 'auto',
-}
\ No newline at end of file
+};
diff --git a/README.md b/README.md
index 323abeb7..008181d6 100644
--- a/README.md
+++ b/README.md
@@ -1,20 +1,25 @@
# PEPM-UI
+
User Interface for **Parameter Estimation from Process Models**.
## :zap: Getting started
+
Clone the repository. Make sure you have [Node](https://nodejs.org/en/) and [yarn](https://yarnpkg.com/) installed. In the root folder of the application, run available scripts:
### Install dependencies
Install third-party packages for local development.
+
```sh
yarn install
```
### Run locally
+
> **Note:** To run successfully, local overrides of `.env` must be defined, for instance in `.env.local`, or [see what other .env files can be used.](https://create-react-app.dev/docs/adding-custom-environment-variables/#what-other-env-files-can-be-used)
This will by default run the application in your standard web browser at `localhost:3000`.
+
```sh
yarn start
```
@@ -24,6 +29,7 @@ yarn start
> **Note:** This step requires a `.env.development.local` file, with local overrides of `.env` for your local environment.
Build and run docker image for local development.
+
```sh
docker compose -f compose-dev.yaml up --build
```
@@ -31,9 +37,11 @@ docker compose -f compose-dev.yaml up --build
### Husky pre-commit
We use [husky](https://typicode.github.io/husky/#/) to automatically run tests, linting and formatting on commits, but you can also use the command below to run pre-commit manually.
+
```sh
yarn pre-commit
```
## Authentication
-Authentication is implemented with [Microsoft Oauth2 for React](https://learn.microsoft.com/en-us/azure/active-directory/develop/single-page-app-tutorial-01-register-app)
\ No newline at end of file
+
+Authentication is implemented with [Microsoft Oauth2 for React](https://learn.microsoft.com/en-us/azure/active-directory/develop/single-page-app-tutorial-01-register-app)
diff --git a/package.json b/package.json
index 02047e8f..cc30b246 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
"@equinor/eds-icons": "^0.19.1",
"@equinor/eds-tokens": "^0.9.0",
"@tanstack/react-query": "^4.32.6",
+ "@tanstack/react-query-devtools": "^4.36.1",
"@tanstack/react-table": "^8.9.1",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^13.0.0",
@@ -20,6 +21,7 @@
"@types/react-dom": "^18.0.0",
"axios": "^1.5.0",
"openapi-fetch": "^0.7.2",
+ "openapi-typescript-codegen": "^0.25.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.8.0",
@@ -35,6 +37,7 @@
"test:ts": "tsc --noEmit",
"eject": "react-scripts eject",
"lint": "eslint --fix --ext .ts,.tsx .",
+ "prettier:fix": "prettier . --write",
"prepare": "husky install",
"pre-commit": "yarn test --watchAll=false && yarn lint-staged",
"generate-schema:radix": "npx openapi-typescript https://api-pepm-dev.radix.equinor.com/swagger/v1/swagger.yaml -o src/models/schema.d.ts"
@@ -67,4 +70,4 @@
"openapi-typescript": "^6.3.9",
"prettier": "^2.8.2"
}
-}
+}
\ No newline at end of file
diff --git a/public/index.html b/public/index.html
index 171bf0d7..1bafa9c6 100644
--- a/public/index.html
+++ b/public/index.html
@@ -2,13 +2,19 @@
-
+
-
+
PEPM
diff --git a/radixconfig.yaml b/radixconfig.yaml
index d7358957..b1f19dce 100644
--- a/radixconfig.yaml
+++ b/radixconfig.yaml
@@ -18,11 +18,11 @@ spec:
- name: http
port: 3000
variables:
- REACT_APP_AAD_TENANT_ID: ""
- REACT_APP_AAD_CLIENT_ID: ""
- REACT_APP_AAD_REDIRECT_URI: ""
- REACT_APP_BACKEND_URL: ""
- REACT_APP_BACKEND_API_SCOPE: ""
+ REACT_APP_AAD_TENANT_ID: ''
+ REACT_APP_AAD_CLIENT_ID: ''
+ REACT_APP_AAD_REDIRECT_URI: ''
+ REACT_APP_BACKEND_URL: ''
+ REACT_APP_BACKEND_API_SCOPE: ''
environmentConfig:
- environment: dev
- environment: test
@@ -42,30 +42,30 @@ spec:
- environment: dev
imageTagName: latest
variables:
- ASPNETCORE_ENVIRONMENT: "Development"
+ ASPNETCORE_ENVIRONMENT: 'Development'
- environment: test
imageTagName: latest
variables:
- ASPNETCORE_ENVIRONMENT: "Test"
+ ASPNETCORE_ENVIRONMENT: 'Test'
- environment: prod
imageTagName: latest
variables:
- ASPNETCORE_ENVIRONMENT: "Production"
+ ASPNETCORE_ENVIRONMENT: 'Production'
jobs:
- name: pepm-nrresqml
image: ghcr.io/equinor/pepm-worker-api/pepm-nrresqml:latest
schedulerPort: 8090
resources:
requests:
- memory: "2048Mi"
- cpu: "1000m"
+ memory: '2048Mi'
+ cpu: '1000m'
limits:
- memory: "4096Mi"
- cpu: "2000m"
+ memory: '4096Mi'
+ cpu: '2000m'
payload:
path: /app/args
variables:
- MODELS_PATH: "/mnt/azure-storage/models"
+ MODELS_PATH: '/mnt/azure-storage/models'
environmentConfig:
- environment: dev
volumeMounts:
@@ -86,15 +86,15 @@ spec:
schedulerPort: 8090
resources:
requests:
- memory: "4096Mi"
- cpu: "1000m"
+ memory: '4096Mi'
+ cpu: '1000m'
limits:
- memory: "8192Mi"
- cpu: "2000m"
+ memory: '8192Mi'
+ cpu: '2000m'
payload:
path: /app/args
variables:
- MODELS_PATH: "/mnt/azure-storage/models"
+ MODELS_PATH: '/mnt/azure-storage/models'
environmentConfig:
- environment: dev
volumeMounts:
@@ -113,4 +113,4 @@ spec:
privateImageHubs:
ghcr.io:
username: hakoneriksson
- email: hake@equinor.com
\ No newline at end of file
+ email: hake@equinor.com
diff --git a/src/App.styled.tsx b/src/App.styled.tsx
index fc9d37ba..1be2fe45 100644
--- a/src/App.styled.tsx
+++ b/src/App.styled.tsx
@@ -1,7 +1,7 @@
-import styled from 'styled-components'
+import styled from 'styled-components';
const StyledOutletWrapper = styled.section`
height: calc(100% - 128px);
overflow: scroll;
-`
-export { StyledOutletWrapper as OutletWrapper }
+`;
+export { StyledOutletWrapper as OutletWrapper };
diff --git a/src/App.test.tsx b/src/App.test.tsx
index 1e96f51c..a0d135cb 100644
--- a/src/App.test.tsx
+++ b/src/App.test.tsx
@@ -1,6 +1,6 @@
-import { render } from '@testing-library/react'
-import { App } from './App'
+import { render } from '@testing-library/react';
+import { App } from './App';
test('renders without crashing', () => {
- render()
-})
+ render();
+});
diff --git a/src/App.tsx b/src/App.tsx
index c7153fbe..966b588e 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,31 +1,25 @@
import {
AuthenticatedTemplate,
UnauthenticatedTemplate,
- useMsal,
-} from '@azure/msal-react'
-import { Outlet } from 'react-router-dom'
-import * as Styled from './App.styled'
-import AppBar from './features/AppBar/AppBar'
-import { Footer } from './features/Footer/Footer'
-import { NoAccess } from './pages/NoAccess/NoAccess'
+ useMsalAuthentication,
+} from '@azure/msal-react';
+import { InteractionType } from '@azure/msal-browser';
+import { Layout } from './pages/Layout';
+import { OpenAPI } from './api/generated';
+import { apiConfig } from './auth/authConfig';
export function App() {
- const { instance } = useMsal()
+ useMsalAuthentication(InteractionType.Redirect);
+ OpenAPI.BASE = apiConfig.baseUrl;
return (
<>
-
-
-
-
-
+
- Not authenticated
-
-
+ You are not authorized
>
- )
+ );
}
diff --git a/src/api/generated/core/ApiError.ts b/src/api/generated/core/ApiError.ts
new file mode 100644
index 00000000..2820b8d6
--- /dev/null
+++ b/src/api/generated/core/ApiError.ts
@@ -0,0 +1,29 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+import type { ApiRequestOptions } from './ApiRequestOptions';
+import type { ApiResult } from './ApiResult';
+
+export class ApiError extends Error {
+ public readonly url: string;
+ public readonly status: number;
+ public readonly statusText: string;
+ public readonly body: any;
+ public readonly request: ApiRequestOptions;
+
+ constructor(
+ request: ApiRequestOptions,
+ response: ApiResult,
+ message: string,
+ ) {
+ super(message);
+
+ this.name = 'ApiError';
+ this.url = response.url;
+ this.status = response.status;
+ this.statusText = response.statusText;
+ this.body = response.body;
+ this.request = request;
+ }
+}
diff --git a/src/api/generated/core/ApiRequestOptions.ts b/src/api/generated/core/ApiRequestOptions.ts
new file mode 100644
index 00000000..20cd2157
--- /dev/null
+++ b/src/api/generated/core/ApiRequestOptions.ts
@@ -0,0 +1,24 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+export type ApiRequestOptions = {
+ readonly method:
+ | 'GET'
+ | 'PUT'
+ | 'POST'
+ | 'DELETE'
+ | 'OPTIONS'
+ | 'HEAD'
+ | 'PATCH';
+ readonly url: string;
+ readonly path?: Record;
+ readonly cookies?: Record;
+ readonly headers?: Record;
+ readonly query?: Record;
+ readonly formData?: Record;
+ readonly body?: any;
+ readonly mediaType?: string;
+ readonly responseHeader?: string;
+ readonly errors?: Record;
+};
diff --git a/src/api/generated/core/ApiResult.ts b/src/api/generated/core/ApiResult.ts
new file mode 100644
index 00000000..63ed6c44
--- /dev/null
+++ b/src/api/generated/core/ApiResult.ts
@@ -0,0 +1,11 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+export type ApiResult = {
+ readonly url: string;
+ readonly ok: boolean;
+ readonly status: number;
+ readonly statusText: string;
+ readonly body: any;
+};
diff --git a/src/api/generated/core/CancelablePromise.ts b/src/api/generated/core/CancelablePromise.ts
new file mode 100644
index 00000000..24716774
--- /dev/null
+++ b/src/api/generated/core/CancelablePromise.ts
@@ -0,0 +1,130 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+export class CancelError extends Error {
+ constructor(message: string) {
+ super(message);
+ this.name = 'CancelError';
+ }
+
+ public get isCancelled(): boolean {
+ return true;
+ }
+}
+
+export interface OnCancel {
+ readonly isResolved: boolean;
+ readonly isRejected: boolean;
+ readonly isCancelled: boolean;
+
+ (cancelHandler: () => void): void;
+}
+
+export class CancelablePromise implements Promise {
+ #isResolved: boolean;
+ #isRejected: boolean;
+ #isCancelled: boolean;
+ readonly #cancelHandlers: (() => void)[];
+ readonly #promise: Promise;
+ #resolve?: (value: T | PromiseLike) => void;
+ #reject?: (reason?: any) => void;
+
+ constructor(
+ executor: (
+ resolve: (value: T | PromiseLike) => void,
+ reject: (reason?: any) => void,
+ onCancel: OnCancel,
+ ) => void,
+ ) {
+ this.#isResolved = false;
+ this.#isRejected = false;
+ this.#isCancelled = false;
+ this.#cancelHandlers = [];
+ this.#promise = new Promise((resolve, reject) => {
+ this.#resolve = resolve;
+ this.#reject = reject;
+
+ const onResolve = (value: T | PromiseLike): void => {
+ if (this.#isResolved || this.#isRejected || this.#isCancelled) {
+ return;
+ }
+ this.#isResolved = true;
+ this.#resolve?.(value);
+ };
+
+ const onReject = (reason?: any): void => {
+ if (this.#isResolved || this.#isRejected || this.#isCancelled) {
+ return;
+ }
+ this.#isRejected = true;
+ this.#reject?.(reason);
+ };
+
+ const onCancel = (cancelHandler: () => void): void => {
+ if (this.#isResolved || this.#isRejected || this.#isCancelled) {
+ return;
+ }
+ this.#cancelHandlers.push(cancelHandler);
+ };
+
+ Object.defineProperty(onCancel, 'isResolved', {
+ get: (): boolean => this.#isResolved,
+ });
+
+ Object.defineProperty(onCancel, 'isRejected', {
+ get: (): boolean => this.#isRejected,
+ });
+
+ Object.defineProperty(onCancel, 'isCancelled', {
+ get: (): boolean => this.#isCancelled,
+ });
+
+ return executor(onResolve, onReject, onCancel as OnCancel);
+ });
+ }
+
+ get [Symbol.toStringTag]() {
+ return 'Cancellable Promise';
+ }
+
+ public then(
+ onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null,
+ onRejected?: ((reason: any) => TResult2 | PromiseLike) | null,
+ ): Promise {
+ return this.#promise.then(onFulfilled, onRejected);
+ }
+
+ public catch(
+ onRejected?: ((reason: any) => TResult | PromiseLike) | null,
+ ): Promise {
+ return this.#promise.catch(onRejected);
+ }
+
+ public finally(onFinally?: (() => void) | null): Promise {
+ return this.#promise.finally(onFinally);
+ }
+
+ public cancel(): void {
+ if (this.#isResolved || this.#isRejected || this.#isCancelled) {
+ return;
+ }
+ this.#isCancelled = true;
+ if (this.#cancelHandlers.length) {
+ try {
+ for (const cancelHandler of this.#cancelHandlers) {
+ cancelHandler();
+ }
+ } catch (error) {
+ console.warn('Cancellation threw an error', error);
+ return;
+ }
+ }
+ this.#cancelHandlers.length = 0;
+ this.#reject?.(new CancelError('Request aborted'));
+ }
+
+ public get isCancelled(): boolean {
+ return this.#isCancelled;
+ }
+}
diff --git a/src/api/generated/core/OpenAPI.ts b/src/api/generated/core/OpenAPI.ts
new file mode 100644
index 00000000..21de30a6
--- /dev/null
+++ b/src/api/generated/core/OpenAPI.ts
@@ -0,0 +1,32 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+import type { ApiRequestOptions } from './ApiRequestOptions';
+
+type Resolver = (options: ApiRequestOptions) => Promise;
+type Headers = Record;
+
+export type OpenAPIConfig = {
+ BASE: string;
+ VERSION: string;
+ WITH_CREDENTIALS: boolean;
+ CREDENTIALS: 'include' | 'omit' | 'same-origin';
+ TOKEN?: string | Resolver | undefined;
+ USERNAME?: string | Resolver | undefined;
+ PASSWORD?: string | Resolver | undefined;
+ HEADERS?: Headers | Resolver | undefined;
+ ENCODE_PATH?: ((path: string) => string) | undefined;
+};
+
+export const OpenAPI: OpenAPIConfig = {
+ BASE: '',
+ VERSION: '1',
+ WITH_CREDENTIALS: false,
+ CREDENTIALS: 'include',
+ TOKEN: undefined,
+ USERNAME: undefined,
+ PASSWORD: undefined,
+ HEADERS: undefined,
+ ENCODE_PATH: undefined,
+};
diff --git a/src/api/generated/core/request.ts b/src/api/generated/core/request.ts
new file mode 100644
index 00000000..4601c08b
--- /dev/null
+++ b/src/api/generated/core/request.ts
@@ -0,0 +1,364 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+import axios from 'axios';
+import type {
+ AxiosError,
+ AxiosRequestConfig,
+ AxiosResponse,
+ AxiosInstance,
+} from 'axios';
+import FormData from 'form-data';
+
+import { ApiError } from './ApiError';
+import type { ApiRequestOptions } from './ApiRequestOptions';
+import type { ApiResult } from './ApiResult';
+import { CancelablePromise } from './CancelablePromise';
+import type { OnCancel } from './CancelablePromise';
+import type { OpenAPIConfig } from './OpenAPI';
+
+export const isDefined = (
+ value: T | null | undefined,
+): value is Exclude => {
+ return value !== undefined && value !== null;
+};
+
+export const isString = (value: any): value is string => {
+ return typeof value === 'string';
+};
+
+export const isStringWithValue = (value: any): value is string => {
+ return isString(value) && value !== '';
+};
+
+export const isBlob = (value: any): value is Blob => {
+ return (
+ typeof value === 'object' &&
+ typeof value.type === 'string' &&
+ typeof value.stream === 'function' &&
+ typeof value.arrayBuffer === 'function' &&
+ typeof value.constructor === 'function' &&
+ typeof value.constructor.name === 'string' &&
+ /^(Blob|File)$/.test(value.constructor.name) &&
+ /^(Blob|File)$/.test(value[Symbol.toStringTag])
+ );
+};
+
+export const isFormData = (value: any): value is FormData => {
+ return value instanceof FormData;
+};
+
+export const isSuccess = (status: number): boolean => {
+ return status >= 200 && status < 300;
+};
+
+export const base64 = (str: string): string => {
+ try {
+ return btoa(str);
+ } catch (err) {
+ // @ts-ignore
+ return Buffer.from(str).toString('base64');
+ }
+};
+
+export const getQueryString = (params: Record): string => {
+ const qs: string[] = [];
+
+ const append = (key: string, value: any) => {
+ qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
+ };
+
+ const process = (key: string, value: any) => {
+ if (isDefined(value)) {
+ if (Array.isArray(value)) {
+ value.forEach((v) => {
+ process(key, v);
+ });
+ } else if (typeof value === 'object') {
+ Object.entries(value).forEach(([k, v]) => {
+ process(`${key}[${k}]`, v);
+ });
+ } else {
+ append(key, value);
+ }
+ }
+ };
+
+ Object.entries(params).forEach(([key, value]) => {
+ process(key, value);
+ });
+
+ if (qs.length > 0) {
+ return `?${qs.join('&')}`;
+ }
+
+ return '';
+};
+
+const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {
+ const encoder = config.ENCODE_PATH || encodeURI;
+
+ const path = options.url
+ .replace('{api-version}', config.VERSION)
+ .replace(/{(.*?)}/g, (substring: string, group: string) => {
+ if (options.path?.hasOwnProperty(group)) {
+ return encoder(String(options.path[group]));
+ }
+ return substring;
+ });
+
+ const url = `${config.BASE}${path}`;
+ if (options.query) {
+ return `${url}${getQueryString(options.query)}`;
+ }
+ return url;
+};
+
+export const getFormData = (
+ options: ApiRequestOptions,
+): FormData | undefined => {
+ if (options.formData) {
+ const formData = new FormData();
+
+ const process = (key: string, value: any) => {
+ if (isString(value) || isBlob(value)) {
+ formData.append(key, value);
+ } else {
+ formData.append(key, JSON.stringify(value));
+ }
+ };
+
+ Object.entries(options.formData)
+ .filter(([_, value]) => isDefined(value))
+ .forEach(([key, value]) => {
+ if (Array.isArray(value)) {
+ value.forEach((v) => process(key, v));
+ } else {
+ process(key, value);
+ }
+ });
+
+ return formData;
+ }
+ return undefined;
+};
+
+type Resolver = (options: ApiRequestOptions) => Promise;
+
+export const resolve = async (
+ options: ApiRequestOptions,
+ resolver?: T | Resolver,
+): Promise => {
+ if (typeof resolver === 'function') {
+ return (resolver as Resolver)(options);
+ }
+ return resolver;
+};
+
+export const getHeaders = async (
+ config: OpenAPIConfig,
+ options: ApiRequestOptions,
+ formData?: FormData,
+): Promise> => {
+ const token = await resolve(options, config.TOKEN);
+ const username = await resolve(options, config.USERNAME);
+ const password = await resolve(options, config.PASSWORD);
+ const additionalHeaders = await resolve(options, config.HEADERS);
+ const formHeaders =
+ (typeof formData?.getHeaders === 'function' && formData?.getHeaders()) ||
+ {};
+
+ const headers = Object.entries({
+ Accept: 'application/json',
+ ...additionalHeaders,
+ ...options.headers,
+ ...formHeaders,
+ })
+ .filter(([_, value]) => isDefined(value))
+ .reduce(
+ (headers, [key, value]) => ({
+ ...headers,
+ [key]: String(value),
+ }),
+ {} as Record,
+ );
+
+ if (isStringWithValue(token)) {
+ headers['Authorization'] = `Bearer ${token}`;
+ }
+
+ if (isStringWithValue(username) && isStringWithValue(password)) {
+ const credentials = base64(`${username}:${password}`);
+ headers['Authorization'] = `Basic ${credentials}`;
+ }
+
+ if (options.body) {
+ if (options.mediaType) {
+ headers['Content-Type'] = options.mediaType;
+ } else if (isBlob(options.body)) {
+ headers['Content-Type'] = options.body.type || 'application/octet-stream';
+ } else if (isString(options.body)) {
+ headers['Content-Type'] = 'text/plain';
+ } else if (!isFormData(options.body)) {
+ headers['Content-Type'] = 'application/json';
+ }
+ }
+
+ return headers;
+};
+
+export const getRequestBody = (options: ApiRequestOptions): any => {
+ if (options.body) {
+ return options.body;
+ }
+ return undefined;
+};
+
+export const sendRequest = async (
+ config: OpenAPIConfig,
+ options: ApiRequestOptions,
+ url: string,
+ body: any,
+ formData: FormData | undefined,
+ headers: Record,
+ onCancel: OnCancel,
+ axiosClient: AxiosInstance,
+): Promise> => {
+ const source = axios.CancelToken.source();
+
+ const requestConfig: AxiosRequestConfig = {
+ url,
+ headers,
+ data: body ?? formData,
+ method: options.method,
+ withCredentials: config.WITH_CREDENTIALS,
+ cancelToken: source.token,
+ };
+
+ onCancel(() => source.cancel('The user aborted a request.'));
+
+ try {
+ return await axiosClient.request(requestConfig);
+ } catch (error) {
+ const axiosError = error as AxiosError;
+ if (axiosError.response) {
+ return axiosError.response;
+ }
+ throw error;
+ }
+};
+
+export const getResponseHeader = (
+ response: AxiosResponse,
+ responseHeader?: string,
+): string | undefined => {
+ if (responseHeader) {
+ const content = response.headers[responseHeader];
+ if (isString(content)) {
+ return content;
+ }
+ }
+ return undefined;
+};
+
+export const getResponseBody = (response: AxiosResponse): any => {
+ if (response.status !== 204) {
+ return response.data;
+ }
+ return undefined;
+};
+
+export const catchErrorCodes = (
+ options: ApiRequestOptions,
+ result: ApiResult,
+): void => {
+ const errors: Record = {
+ 400: 'Bad Request',
+ 401: 'Unauthorized',
+ 403: 'Forbidden',
+ 404: 'Not Found',
+ 500: 'Internal Server Error',
+ 502: 'Bad Gateway',
+ 503: 'Service Unavailable',
+ ...options.errors,
+ };
+
+ const error = errors[result.status];
+ if (error) {
+ throw new ApiError(options, result, error);
+ }
+
+ if (!result.ok) {
+ const errorStatus = result.status ?? 'unknown';
+ const errorStatusText = result.statusText ?? 'unknown';
+ const errorBody = (() => {
+ try {
+ return JSON.stringify(result.body, null, 2);
+ } catch (e) {
+ return undefined;
+ }
+ })();
+
+ throw new ApiError(
+ options,
+ result,
+ `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`,
+ );
+ }
+};
+
+/**
+ * Request method
+ * @param config The OpenAPI configuration object
+ * @param options The request options from the service
+ * @param axiosClient The axios client instance to use
+ * @returns CancelablePromise
+ * @throws ApiError
+ */
+export const request = (
+ config: OpenAPIConfig,
+ options: ApiRequestOptions,
+ axiosClient: AxiosInstance = axios,
+): CancelablePromise => {
+ return new CancelablePromise(async (resolve, reject, onCancel) => {
+ try {
+ const url = getUrl(config, options);
+ const formData = getFormData(options);
+ const body = getRequestBody(options);
+ const headers = await getHeaders(config, options, formData);
+
+ if (!onCancel.isCancelled) {
+ const response = await sendRequest(
+ config,
+ options,
+ url,
+ body,
+ formData,
+ headers,
+ onCancel,
+ axiosClient,
+ );
+ const responseBody = getResponseBody(response);
+ const responseHeader = getResponseHeader(
+ response,
+ options.responseHeader,
+ );
+
+ const result: ApiResult = {
+ url,
+ ok: isSuccess(response.status),
+ status: response.status,
+ statusText: response.statusText,
+ body: responseHeader ?? responseBody,
+ };
+
+ catchErrorCodes(options, result);
+
+ resolve(result.body);
+ }
+ } catch (error) {
+ reject(error);
+ }
+ });
+};
diff --git a/src/api/generated/index.ts b/src/api/generated/index.ts
new file mode 100644
index 00000000..940507d8
--- /dev/null
+++ b/src/api/generated/index.ts
@@ -0,0 +1,75 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+export { ApiError } from './core/ApiError';
+export { CancelablePromise, CancelError } from './core/CancelablePromise';
+export { OpenAPI } from './core/OpenAPI';
+export type { OpenAPIConfig } from './core/OpenAPI';
+
+export type { AddAnalogueModelParameterCommandForm } from './models/AddAnalogueModelParameterCommandForm';
+export type { AddAnalogueModelParameterCommandResponse } from './models/AddAnalogueModelParameterCommandResponse';
+export type { AddAnalogueModelParameterDto } from './models/AddAnalogueModelParameterDto';
+export type { AddParameterDto } from './models/AddParameterDto';
+export type { AnalogueList } from './models/AnalogueList';
+export type { AnalogueModelDetail } from './models/AnalogueModelDetail';
+export type { AnalogueModelList } from './models/AnalogueModelList';
+export { AnalogueModelSourceType } from './models/AnalogueModelSourceType';
+export type { ConvertAnalogueModelCommand } from './models/ConvertAnalogueModelCommand';
+export type { ConvertAnalogueModelCommandResponse } from './models/ConvertAnalogueModelCommandResponse';
+export type { ConvertAnalogueModelDto } from './models/ConvertAnalogueModelDto';
+export type { CreateAnalogueCommand } from './models/CreateAnalogueCommand';
+export type { CreateAnalogueCommandResponse } from './models/CreateAnalogueCommandResponse';
+export type { CreateAnalogueDto } from './models/CreateAnalogueDto';
+export type { CreateAnalogueModelCommand } from './models/CreateAnalogueModelCommand';
+export type { CreateAnalogueModelCommandResponse } from './models/CreateAnalogueModelCommandResponse';
+export type { CreateAnalogueModelDto } from './models/CreateAnalogueModelDto';
+export type { CreateParameterCommand } from './models/CreateParameterCommand';
+export type { ErrorResponse } from './models/ErrorResponse';
+export type { EstimateChannelCommand } from './models/EstimateChannelCommand';
+export type { GetAnalogueListQueryResponse } from './models/GetAnalogueListQueryResponse';
+export type { GetAnalogueModelListQueryResponse } from './models/GetAnalogueModelListQueryResponse';
+export type { GetAnalogueModelQueryResponse } from './models/GetAnalogueModelQueryResponse';
+export type { GetCurrentJobStatusCommandResponse } from './models/GetCurrentJobStatusCommandResponse';
+export type { GetCurrentJobStatusDto } from './models/GetCurrentJobStatusDto';
+export type { GetCurrentJobStatusListCommand } from './models/GetCurrentJobStatusListCommand';
+export type { GetJobDetailQueryResponse } from './models/GetJobDetailQueryResponse';
+export type { GetJobListQueryResponse } from './models/GetJobListQueryResponse';
+export type { GetParameterDetailQueryResponse } from './models/GetParameterDetailQueryResponse';
+export type { GetParameterListQueryResponse } from './models/GetParameterListQueryResponse';
+export type { GetUploadDetailQueryResponse } from './models/GetUploadDetailQueryResponse';
+export type { GetUploadListQueryResponse } from './models/GetUploadListQueryResponse';
+export type { JobDetail } from './models/JobDetail';
+export type { JobList } from './models/JobList';
+export type { JobListUploadsDto } from './models/JobListUploadsDto';
+export { JobStatus } from './models/JobStatus';
+export { JobType } from './models/JobType';
+export type { Operation } from './models/Operation';
+export { OperationType } from './models/OperationType';
+export type { ParameterDetail } from './models/ParameterDetail';
+export type { ParameterList } from './models/ParameterList';
+export type { PatchAnalogueModelCommandResponse } from './models/PatchAnalogueModelCommandResponse';
+export type { PatchAnalogueModelDto } from './models/PatchAnalogueModelDto';
+export type { PatchParameterCommandResponse } from './models/PatchParameterCommandResponse';
+export type { PatchParameterDto } from './models/PatchParameterDto';
+export type { UpdateAnalogueModelCommandBody } from './models/UpdateAnalogueModelCommandBody';
+export type { UpdateAnalogueModelCommandResponse } from './models/UpdateAnalogueModelCommandResponse';
+export type { UpdateAnalogueModelDto } from './models/UpdateAnalogueModelDto';
+export type { UpdateJobStatusCommand } from './models/UpdateJobStatusCommand';
+export type { UpdateParameterCommandBody } from './models/UpdateParameterCommandBody';
+export type { UpdateParameterCommandResponse } from './models/UpdateParameterCommandResponse';
+export type { UpdateParameterDto } from './models/UpdateParameterDto';
+export type { UploadAnalogueModelCommandResponse } from './models/UploadAnalogueModelCommandResponse';
+export type { UploadAnalogueModelDto } from './models/UploadAnalogueModelDto';
+export type { UploadDetail } from './models/UploadDetail';
+export { UploadFileCategory } from './models/UploadFileCategory';
+export { UploadFileType } from './models/UploadFileType';
+export type { UploadList } from './models/UploadList';
+export { UploadStatus } from './models/UploadStatus';
+
+export { AnalogueModelParametersService } from './services/AnalogueModelParametersService';
+export { AnalogueModelsService } from './services/AnalogueModelsService';
+export { AnaloguesService } from './services/AnaloguesService';
+export { JobsService } from './services/JobsService';
+export { ParametersService } from './services/ParametersService';
+export { UploadsService } from './services/UploadsService';
diff --git a/src/api/generated/models/AddAnalogueModelParameterCommandForm.ts b/src/api/generated/models/AddAnalogueModelParameterCommandForm.ts
new file mode 100644
index 00000000..951572d4
--- /dev/null
+++ b/src/api/generated/models/AddAnalogueModelParameterCommandForm.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { AddParameterDto } from './AddParameterDto';
+
+export type AddAnalogueModelParameterCommandForm = {
+ parameters?: Array | null;
+};
diff --git a/src/api/generated/models/AddAnalogueModelParameterCommandResponse.ts b/src/api/generated/models/AddAnalogueModelParameterCommandResponse.ts
new file mode 100644
index 00000000..d94e3490
--- /dev/null
+++ b/src/api/generated/models/AddAnalogueModelParameterCommandResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { AddAnalogueModelParameterDto } from './AddAnalogueModelParameterDto';
+
+export type AddAnalogueModelParameterCommandResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: AddAnalogueModelParameterDto;
+};
diff --git a/src/api/generated/models/AddAnalogueModelParameterDto.ts b/src/api/generated/models/AddAnalogueModelParameterDto.ts
new file mode 100644
index 00000000..b94b0909
--- /dev/null
+++ b/src/api/generated/models/AddAnalogueModelParameterDto.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { AddParameterDto } from './AddParameterDto';
+
+export type AddAnalogueModelParameterDto = {
+ analogueModelId?: string;
+ name?: string | null;
+ description?: string | null;
+ sourceType?: string | null;
+ parameters?: Array | null;
+};
diff --git a/src/api/generated/models/AddParameterDto.ts b/src/api/generated/models/AddParameterDto.ts
new file mode 100644
index 00000000..f98889da
--- /dev/null
+++ b/src/api/generated/models/AddParameterDto.ts
@@ -0,0 +1,9 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type AddParameterDto = {
+ parameterId?: string;
+ parameterValue?: string | null;
+};
diff --git a/src/api/generated/models/AnalogueList.ts b/src/api/generated/models/AnalogueList.ts
new file mode 100644
index 00000000..92bfd0bb
--- /dev/null
+++ b/src/api/generated/models/AnalogueList.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type AnalogueList = {
+ analogueId?: string;
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/AnalogueModelDetail.ts b/src/api/generated/models/AnalogueModelDetail.ts
new file mode 100644
index 00000000..05c3530d
--- /dev/null
+++ b/src/api/generated/models/AnalogueModelDetail.ts
@@ -0,0 +1,18 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { AnalogueList } from './AnalogueList';
+import type { AnalogueModelSourceType } from './AnalogueModelSourceType';
+import type { UploadList } from './UploadList';
+
+export type AnalogueModelDetail = {
+ analogueModelId?: string;
+ name?: string | null;
+ description?: string | null;
+ isProcessed?: boolean;
+ sourceType?: AnalogueModelSourceType;
+ analogues?: Array | null;
+ fileUploads?: Array | null;
+};
diff --git a/src/api/generated/models/AnalogueModelList.ts b/src/api/generated/models/AnalogueModelList.ts
new file mode 100644
index 00000000..3235a3a3
--- /dev/null
+++ b/src/api/generated/models/AnalogueModelList.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { AnalogueModelSourceType } from './AnalogueModelSourceType';
+
+export type AnalogueModelList = {
+ analogueModelId?: string;
+ name?: string | null;
+ description?: string | null;
+ isProcessed?: boolean;
+ sourceType?: AnalogueModelSourceType;
+};
diff --git a/src/api/generated/models/AnalogueModelSourceType.ts b/src/api/generated/models/AnalogueModelSourceType.ts
new file mode 100644
index 00000000..f6aab801
--- /dev/null
+++ b/src/api/generated/models/AnalogueModelSourceType.ts
@@ -0,0 +1,9 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export enum AnalogueModelSourceType {
+ DELTARES = 'Deltares',
+ RES_QML = 'ResQML',
+}
diff --git a/src/api/generated/models/ConvertAnalogueModelCommand.ts b/src/api/generated/models/ConvertAnalogueModelCommand.ts
new file mode 100644
index 00000000..44366348
--- /dev/null
+++ b/src/api/generated/models/ConvertAnalogueModelCommand.ts
@@ -0,0 +1,8 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type ConvertAnalogueModelCommand = {
+ modelId?: string;
+};
diff --git a/src/api/generated/models/ConvertAnalogueModelCommandResponse.ts b/src/api/generated/models/ConvertAnalogueModelCommandResponse.ts
new file mode 100644
index 00000000..daf8090b
--- /dev/null
+++ b/src/api/generated/models/ConvertAnalogueModelCommandResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { ConvertAnalogueModelDto } from './ConvertAnalogueModelDto';
+
+export type ConvertAnalogueModelCommandResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: ConvertAnalogueModelDto;
+};
diff --git a/src/api/generated/models/ConvertAnalogueModelDto.ts b/src/api/generated/models/ConvertAnalogueModelDto.ts
new file mode 100644
index 00000000..69ddc57e
--- /dev/null
+++ b/src/api/generated/models/ConvertAnalogueModelDto.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { JobStatus } from './JobStatus';
+import type { JobType } from './JobType';
+
+export type ConvertAnalogueModelDto = {
+ jobId?: string;
+ name?: string | null;
+ jobStatus?: JobStatus;
+ jobType?: JobType;
+};
diff --git a/src/api/generated/models/CreateAnalogueCommand.ts b/src/api/generated/models/CreateAnalogueCommand.ts
new file mode 100644
index 00000000..1bfafb66
--- /dev/null
+++ b/src/api/generated/models/CreateAnalogueCommand.ts
@@ -0,0 +1,9 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type CreateAnalogueCommand = {
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/CreateAnalogueCommandResponse.ts b/src/api/generated/models/CreateAnalogueCommandResponse.ts
new file mode 100644
index 00000000..c07bac90
--- /dev/null
+++ b/src/api/generated/models/CreateAnalogueCommandResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { CreateAnalogueDto } from './CreateAnalogueDto';
+
+export type CreateAnalogueCommandResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: CreateAnalogueDto;
+};
diff --git a/src/api/generated/models/CreateAnalogueDto.ts b/src/api/generated/models/CreateAnalogueDto.ts
new file mode 100644
index 00000000..9a4c3a0c
--- /dev/null
+++ b/src/api/generated/models/CreateAnalogueDto.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type CreateAnalogueDto = {
+ analogueId?: string;
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/CreateAnalogueModelCommand.ts b/src/api/generated/models/CreateAnalogueModelCommand.ts
new file mode 100644
index 00000000..cebcf42c
--- /dev/null
+++ b/src/api/generated/models/CreateAnalogueModelCommand.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type CreateAnalogueModelCommand = {
+ name?: string | null;
+ description?: string | null;
+ sourceType?: string | null;
+};
diff --git a/src/api/generated/models/CreateAnalogueModelCommandResponse.ts b/src/api/generated/models/CreateAnalogueModelCommandResponse.ts
new file mode 100644
index 00000000..a0a56d73
--- /dev/null
+++ b/src/api/generated/models/CreateAnalogueModelCommandResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { CreateAnalogueModelDto } from './CreateAnalogueModelDto';
+
+export type CreateAnalogueModelCommandResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: CreateAnalogueModelDto;
+};
diff --git a/src/api/generated/models/CreateAnalogueModelDto.ts b/src/api/generated/models/CreateAnalogueModelDto.ts
new file mode 100644
index 00000000..e9057a39
--- /dev/null
+++ b/src/api/generated/models/CreateAnalogueModelDto.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type CreateAnalogueModelDto = {
+ analogueModelId?: string;
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/CreateParameterCommand.ts b/src/api/generated/models/CreateParameterCommand.ts
new file mode 100644
index 00000000..ebaa0ac0
--- /dev/null
+++ b/src/api/generated/models/CreateParameterCommand.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type CreateParameterCommand = {
+ identifier?: string | null;
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/ErrorResponse.ts b/src/api/generated/models/ErrorResponse.ts
new file mode 100644
index 00000000..8363684f
--- /dev/null
+++ b/src/api/generated/models/ErrorResponse.ts
@@ -0,0 +1,12 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type ErrorResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: string;
+};
diff --git a/src/api/generated/models/EstimateChannelCommand.ts b/src/api/generated/models/EstimateChannelCommand.ts
new file mode 100644
index 00000000..57ddbc24
--- /dev/null
+++ b/src/api/generated/models/EstimateChannelCommand.ts
@@ -0,0 +1,8 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type EstimateChannelCommand = {
+ modelId?: string;
+};
diff --git a/src/api/generated/models/GetAnalogueListQueryResponse.ts b/src/api/generated/models/GetAnalogueListQueryResponse.ts
new file mode 100644
index 00000000..e80cea4f
--- /dev/null
+++ b/src/api/generated/models/GetAnalogueListQueryResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { AnalogueList } from './AnalogueList';
+
+export type GetAnalogueListQueryResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: Array;
+};
diff --git a/src/api/generated/models/GetAnalogueModelListQueryResponse.ts b/src/api/generated/models/GetAnalogueModelListQueryResponse.ts
new file mode 100644
index 00000000..09ee26cb
--- /dev/null
+++ b/src/api/generated/models/GetAnalogueModelListQueryResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { AnalogueModelList } from './AnalogueModelList';
+
+export type GetAnalogueModelListQueryResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: Array;
+};
diff --git a/src/api/generated/models/GetAnalogueModelQueryResponse.ts b/src/api/generated/models/GetAnalogueModelQueryResponse.ts
new file mode 100644
index 00000000..3faeea2c
--- /dev/null
+++ b/src/api/generated/models/GetAnalogueModelQueryResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { AnalogueModelDetail } from './AnalogueModelDetail';
+
+export type GetAnalogueModelQueryResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: AnalogueModelDetail;
+};
diff --git a/src/api/generated/models/GetCurrentJobStatusCommandResponse.ts b/src/api/generated/models/GetCurrentJobStatusCommandResponse.ts
new file mode 100644
index 00000000..e218c374
--- /dev/null
+++ b/src/api/generated/models/GetCurrentJobStatusCommandResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { GetCurrentJobStatusDto } from './GetCurrentJobStatusDto';
+
+export type GetCurrentJobStatusCommandResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: GetCurrentJobStatusDto;
+};
diff --git a/src/api/generated/models/GetCurrentJobStatusDto.ts b/src/api/generated/models/GetCurrentJobStatusDto.ts
new file mode 100644
index 00000000..2c36f35a
--- /dev/null
+++ b/src/api/generated/models/GetCurrentJobStatusDto.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { JobStatus } from './JobStatus';
+import type { JobType } from './JobType';
+
+export type GetCurrentJobStatusDto = {
+ jobId?: string;
+ name?: string | null;
+ jobStatus?: JobStatus;
+ jobType?: JobType;
+};
diff --git a/src/api/generated/models/GetCurrentJobStatusListCommand.ts b/src/api/generated/models/GetCurrentJobStatusListCommand.ts
new file mode 100644
index 00000000..7b922d61
--- /dev/null
+++ b/src/api/generated/models/GetCurrentJobStatusListCommand.ts
@@ -0,0 +1,6 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type GetCurrentJobStatusListCommand = Record;
diff --git a/src/api/generated/models/GetJobDetailQueryResponse.ts b/src/api/generated/models/GetJobDetailQueryResponse.ts
new file mode 100644
index 00000000..c3c366e2
--- /dev/null
+++ b/src/api/generated/models/GetJobDetailQueryResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { JobDetail } from './JobDetail';
+
+export type GetJobDetailQueryResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: JobDetail;
+};
diff --git a/src/api/generated/models/GetJobListQueryResponse.ts b/src/api/generated/models/GetJobListQueryResponse.ts
new file mode 100644
index 00000000..aac45bcb
--- /dev/null
+++ b/src/api/generated/models/GetJobListQueryResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { JobList } from './JobList';
+
+export type GetJobListQueryResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: Array;
+};
diff --git a/src/api/generated/models/GetParameterDetailQueryResponse.ts b/src/api/generated/models/GetParameterDetailQueryResponse.ts
new file mode 100644
index 00000000..265ba905
--- /dev/null
+++ b/src/api/generated/models/GetParameterDetailQueryResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { ParameterDetail } from './ParameterDetail';
+
+export type GetParameterDetailQueryResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: ParameterDetail;
+};
diff --git a/src/api/generated/models/GetParameterListQueryResponse.ts b/src/api/generated/models/GetParameterListQueryResponse.ts
new file mode 100644
index 00000000..7e15d320
--- /dev/null
+++ b/src/api/generated/models/GetParameterListQueryResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { ParameterList } from './ParameterList';
+
+export type GetParameterListQueryResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: Array;
+};
diff --git a/src/api/generated/models/GetUploadDetailQueryResponse.ts b/src/api/generated/models/GetUploadDetailQueryResponse.ts
new file mode 100644
index 00000000..4891d23a
--- /dev/null
+++ b/src/api/generated/models/GetUploadDetailQueryResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { UploadDetail } from './UploadDetail';
+
+export type GetUploadDetailQueryResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: UploadDetail;
+};
diff --git a/src/api/generated/models/GetUploadListQueryResponse.ts b/src/api/generated/models/GetUploadListQueryResponse.ts
new file mode 100644
index 00000000..5d6b48f4
--- /dev/null
+++ b/src/api/generated/models/GetUploadListQueryResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { UploadList } from './UploadList';
+
+export type GetUploadListQueryResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: Array;
+};
diff --git a/src/api/generated/models/JobDetail.ts b/src/api/generated/models/JobDetail.ts
new file mode 100644
index 00000000..4ca5c800
--- /dev/null
+++ b/src/api/generated/models/JobDetail.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { JobStatus } from './JobStatus';
+import type { JobType } from './JobType';
+
+export type JobDetail = {
+ jobId?: string;
+ name?: string | null;
+ jobStatus?: JobStatus;
+ jobType?: JobType;
+};
diff --git a/src/api/generated/models/JobList.ts b/src/api/generated/models/JobList.ts
new file mode 100644
index 00000000..38fe161c
--- /dev/null
+++ b/src/api/generated/models/JobList.ts
@@ -0,0 +1,17 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { JobListUploadsDto } from './JobListUploadsDto';
+import type { JobStatus } from './JobStatus';
+import type { JobType } from './JobType';
+
+export type JobList = {
+ jobId?: string;
+ name?: string | null;
+ jobStatus?: JobStatus;
+ jobType?: JobType;
+ updated?: string;
+ uploads?: Array | null;
+};
diff --git a/src/api/generated/models/JobListUploadsDto.ts b/src/api/generated/models/JobListUploadsDto.ts
new file mode 100644
index 00000000..f981c94e
--- /dev/null
+++ b/src/api/generated/models/JobListUploadsDto.ts
@@ -0,0 +1,13 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { UploadFileType } from './UploadFileType';
+import type { UploadStatus } from './UploadStatus';
+
+export type JobListUploadsDto = {
+ uploadId?: string;
+ uploadStatus?: UploadStatus;
+ uploadFileType?: UploadFileType;
+};
diff --git a/src/api/generated/models/JobStatus.ts b/src/api/generated/models/JobStatus.ts
new file mode 100644
index 00000000..f253d603
--- /dev/null
+++ b/src/api/generated/models/JobStatus.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export enum JobStatus {
+ UNKNOWN = 'Unknown',
+ CREATED = 'Created',
+ STARTED = 'Started',
+ RUNNING = 'Running',
+ SUCCESSFUL = 'Successful',
+ SUCCEEDED = 'Succeeded',
+ FAILED = 'Failed',
+}
diff --git a/src/api/generated/models/JobType.ts b/src/api/generated/models/JobType.ts
new file mode 100644
index 00000000..7bd1760c
--- /dev/null
+++ b/src/api/generated/models/JobType.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export enum JobType {
+ NRRESQML = 'Nrresqml',
+ NRCHANNEL = 'Nrchannel',
+ NRVARIOGRAM = 'Nrvariogram',
+}
diff --git a/src/api/generated/models/Operation.ts b/src/api/generated/models/Operation.ts
new file mode 100644
index 00000000..9f9b0e51
--- /dev/null
+++ b/src/api/generated/models/Operation.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { OperationType } from './OperationType';
+
+export type Operation = {
+ operationType?: OperationType;
+ path?: string | null;
+ op?: string | null;
+ from?: string | null;
+ value?: any;
+};
diff --git a/src/api/generated/models/OperationType.ts b/src/api/generated/models/OperationType.ts
new file mode 100644
index 00000000..43055013
--- /dev/null
+++ b/src/api/generated/models/OperationType.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export enum OperationType {
+ ADD = 'Add',
+ REMOVE = 'Remove',
+ REPLACE = 'Replace',
+ MOVE = 'Move',
+ COPY = 'Copy',
+ TEST = 'Test',
+ INVALID = 'Invalid',
+}
diff --git a/src/api/generated/models/ParameterDetail.ts b/src/api/generated/models/ParameterDetail.ts
new file mode 100644
index 00000000..1603ae38
--- /dev/null
+++ b/src/api/generated/models/ParameterDetail.ts
@@ -0,0 +1,11 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type ParameterDetail = {
+ parameterId?: string;
+ identifier?: string | null;
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/ParameterList.ts b/src/api/generated/models/ParameterList.ts
new file mode 100644
index 00000000..1caac1a8
--- /dev/null
+++ b/src/api/generated/models/ParameterList.ts
@@ -0,0 +1,11 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type ParameterList = {
+ parameterId?: string;
+ identifier?: string | null;
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/PatchAnalogueModelCommandResponse.ts b/src/api/generated/models/PatchAnalogueModelCommandResponse.ts
new file mode 100644
index 00000000..1da71bde
--- /dev/null
+++ b/src/api/generated/models/PatchAnalogueModelCommandResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { PatchAnalogueModelDto } from './PatchAnalogueModelDto';
+
+export type PatchAnalogueModelCommandResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: PatchAnalogueModelDto;
+};
diff --git a/src/api/generated/models/PatchAnalogueModelDto.ts b/src/api/generated/models/PatchAnalogueModelDto.ts
new file mode 100644
index 00000000..d1709952
--- /dev/null
+++ b/src/api/generated/models/PatchAnalogueModelDto.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type PatchAnalogueModelDto = {
+ analogueModelId?: string;
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/PatchParameterCommandResponse.ts b/src/api/generated/models/PatchParameterCommandResponse.ts
new file mode 100644
index 00000000..a76331e5
--- /dev/null
+++ b/src/api/generated/models/PatchParameterCommandResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { PatchParameterDto } from './PatchParameterDto';
+
+export type PatchParameterCommandResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: PatchParameterDto;
+};
diff --git a/src/api/generated/models/PatchParameterDto.ts b/src/api/generated/models/PatchParameterDto.ts
new file mode 100644
index 00000000..1f6c94b1
--- /dev/null
+++ b/src/api/generated/models/PatchParameterDto.ts
@@ -0,0 +1,11 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type PatchParameterDto = {
+ parameterId?: string;
+ identifier?: string | null;
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/UpdateAnalogueModelCommandBody.ts b/src/api/generated/models/UpdateAnalogueModelCommandBody.ts
new file mode 100644
index 00000000..d2983ccd
--- /dev/null
+++ b/src/api/generated/models/UpdateAnalogueModelCommandBody.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type UpdateAnalogueModelCommandBody = {
+ name?: string | null;
+ description?: string | null;
+ sourceType?: string | null;
+};
diff --git a/src/api/generated/models/UpdateAnalogueModelCommandResponse.ts b/src/api/generated/models/UpdateAnalogueModelCommandResponse.ts
new file mode 100644
index 00000000..ed7e4cdb
--- /dev/null
+++ b/src/api/generated/models/UpdateAnalogueModelCommandResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { UpdateAnalogueModelDto } from './UpdateAnalogueModelDto';
+
+export type UpdateAnalogueModelCommandResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: UpdateAnalogueModelDto;
+};
diff --git a/src/api/generated/models/UpdateAnalogueModelDto.ts b/src/api/generated/models/UpdateAnalogueModelDto.ts
new file mode 100644
index 00000000..bd170f57
--- /dev/null
+++ b/src/api/generated/models/UpdateAnalogueModelDto.ts
@@ -0,0 +1,11 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type UpdateAnalogueModelDto = {
+ analogueModelId?: string;
+ name?: string | null;
+ description?: string | null;
+ sourceType?: string | null;
+};
diff --git a/src/api/generated/models/UpdateJobStatusCommand.ts b/src/api/generated/models/UpdateJobStatusCommand.ts
new file mode 100644
index 00000000..39dda540
--- /dev/null
+++ b/src/api/generated/models/UpdateJobStatusCommand.ts
@@ -0,0 +1,11 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type UpdateJobStatusCommand = {
+ name?: string | null;
+ started?: string | null;
+ ended?: string | null;
+ status?: string | null;
+};
diff --git a/src/api/generated/models/UpdateParameterCommandBody.ts b/src/api/generated/models/UpdateParameterCommandBody.ts
new file mode 100644
index 00000000..46b559bd
--- /dev/null
+++ b/src/api/generated/models/UpdateParameterCommandBody.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type UpdateParameterCommandBody = {
+ identifier?: string | null;
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/UpdateParameterCommandResponse.ts b/src/api/generated/models/UpdateParameterCommandResponse.ts
new file mode 100644
index 00000000..c98f63c7
--- /dev/null
+++ b/src/api/generated/models/UpdateParameterCommandResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { UpdateParameterDto } from './UpdateParameterDto';
+
+export type UpdateParameterCommandResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: UpdateParameterDto;
+};
diff --git a/src/api/generated/models/UpdateParameterDto.ts b/src/api/generated/models/UpdateParameterDto.ts
new file mode 100644
index 00000000..21347a69
--- /dev/null
+++ b/src/api/generated/models/UpdateParameterDto.ts
@@ -0,0 +1,11 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export type UpdateParameterDto = {
+ parameterId?: string;
+ identifier?: string | null;
+ name?: string | null;
+ description?: string | null;
+};
diff --git a/src/api/generated/models/UploadAnalogueModelCommandResponse.ts b/src/api/generated/models/UploadAnalogueModelCommandResponse.ts
new file mode 100644
index 00000000..ed5e76ce
--- /dev/null
+++ b/src/api/generated/models/UploadAnalogueModelCommandResponse.ts
@@ -0,0 +1,14 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { UploadAnalogueModelDto } from './UploadAnalogueModelDto';
+
+export type UploadAnalogueModelCommandResponse = {
+ success?: boolean;
+ count?: number | null;
+ message?: string | null;
+ validationErrors?: Array | null;
+ data: UploadAnalogueModelDto;
+};
diff --git a/src/api/generated/models/UploadAnalogueModelDto.ts b/src/api/generated/models/UploadAnalogueModelDto.ts
new file mode 100644
index 00000000..6e186e6f
--- /dev/null
+++ b/src/api/generated/models/UploadAnalogueModelDto.ts
@@ -0,0 +1,16 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { UploadFileCategory } from './UploadFileCategory';
+import type { UploadFileType } from './UploadFileType';
+import type { UploadStatus } from './UploadStatus';
+
+export type UploadAnalogueModelDto = {
+ uploadId?: string;
+ originalFileName?: string | null;
+ uploadStatus?: UploadStatus;
+ uploadFileType?: UploadFileType;
+ uploadFileCategory?: UploadFileCategory;
+};
diff --git a/src/api/generated/models/UploadDetail.ts b/src/api/generated/models/UploadDetail.ts
new file mode 100644
index 00000000..4e9f527a
--- /dev/null
+++ b/src/api/generated/models/UploadDetail.ts
@@ -0,0 +1,16 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { UploadFileCategory } from './UploadFileCategory';
+import type { UploadFileType } from './UploadFileType';
+import type { UploadStatus } from './UploadStatus';
+
+export type UploadDetail = {
+ uploadId?: string;
+ originalFileName?: string | null;
+ uploadStatus?: UploadStatus;
+ uploadFileType?: UploadFileType;
+ uploadFileCategory?: UploadFileCategory;
+};
diff --git a/src/api/generated/models/UploadFileCategory.ts b/src/api/generated/models/UploadFileCategory.ts
new file mode 100644
index 00000000..161f4914
--- /dev/null
+++ b/src/api/generated/models/UploadFileCategory.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export enum UploadFileCategory {
+ INPUT_MODEL = 'InputModel',
+ INPUT_METADATA = 'InputMetadata',
+ RES_QML_MODEL = 'ResQmlModel',
+}
diff --git a/src/api/generated/models/UploadFileType.ts b/src/api/generated/models/UploadFileType.ts
new file mode 100644
index 00000000..30f322b0
--- /dev/null
+++ b/src/api/generated/models/UploadFileType.ts
@@ -0,0 +1,10 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export enum UploadFileType {
+ NET_CDF = 'NetCDF',
+ RES_QMLEPC = 'ResQMLEpc',
+ RES_QMLDATA = 'ResQMLData',
+}
diff --git a/src/api/generated/models/UploadList.ts b/src/api/generated/models/UploadList.ts
new file mode 100644
index 00000000..e90bc574
--- /dev/null
+++ b/src/api/generated/models/UploadList.ts
@@ -0,0 +1,17 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+import type { UploadFileCategory } from './UploadFileCategory';
+import type { UploadFileType } from './UploadFileType';
+import type { UploadStatus } from './UploadStatus';
+
+export type UploadList = {
+ uploadId?: string;
+ analogueModelId?: string;
+ originalFileName?: string | null;
+ uploadStatus?: UploadStatus;
+ uploadFileType?: UploadFileType;
+ uploadFileCategory?: UploadFileCategory;
+};
diff --git a/src/api/generated/models/UploadStatus.ts b/src/api/generated/models/UploadStatus.ts
new file mode 100644
index 00000000..32922171
--- /dev/null
+++ b/src/api/generated/models/UploadStatus.ts
@@ -0,0 +1,12 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+
+export enum UploadStatus {
+ STARTED = 'Started',
+ READY_FOR_PROCESSING = 'ReadyForProcessing',
+ PROCESSING = 'Processing',
+ PROCESSED = 'Processed',
+ FAILED = 'Failed',
+}
diff --git a/src/api/generated/services/AnalogueModelParametersService.ts b/src/api/generated/services/AnalogueModelParametersService.ts
new file mode 100644
index 00000000..4d190550
--- /dev/null
+++ b/src/api/generated/services/AnalogueModelParametersService.ts
@@ -0,0 +1,33 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+import type { AddAnalogueModelParameterCommandForm } from '../models/AddAnalogueModelParameterCommandForm';
+import type { AddAnalogueModelParameterCommandResponse } from '../models/AddAnalogueModelParameterCommandResponse';
+
+import type { CancelablePromise } from '../core/CancelablePromise';
+import { OpenAPI } from '../core/OpenAPI';
+import { request as __request } from '../core/request';
+
+export class AnalogueModelParametersService {
+ /**
+ * @param id
+ * @param requestBody
+ * @returns AddAnalogueModelParameterCommandResponse Success
+ * @throws ApiError
+ */
+ public static postApiAnalogueModelsParameters(
+ id: string,
+ requestBody?: AddAnalogueModelParameterCommandForm,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'POST',
+ url: '/api/analogue-models/{id}/parameters',
+ path: {
+ id: id,
+ },
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ });
+ }
+}
diff --git a/src/api/generated/services/AnalogueModelsService.ts b/src/api/generated/services/AnalogueModelsService.ts
new file mode 100644
index 00000000..889276bd
--- /dev/null
+++ b/src/api/generated/services/AnalogueModelsService.ts
@@ -0,0 +1,191 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+import type { CreateAnalogueModelCommand } from '../models/CreateAnalogueModelCommand';
+import type { CreateAnalogueModelCommandResponse } from '../models/CreateAnalogueModelCommandResponse';
+import type { GetAnalogueModelListQueryResponse } from '../models/GetAnalogueModelListQueryResponse';
+import type { GetAnalogueModelQueryResponse } from '../models/GetAnalogueModelQueryResponse';
+import type { Operation } from '../models/Operation';
+import type { PatchAnalogueModelCommandResponse } from '../models/PatchAnalogueModelCommandResponse';
+import type { UpdateAnalogueModelCommandBody } from '../models/UpdateAnalogueModelCommandBody';
+import type { UpdateAnalogueModelCommandResponse } from '../models/UpdateAnalogueModelCommandResponse';
+import type { UploadAnalogueModelCommandResponse } from '../models/UploadAnalogueModelCommandResponse';
+import type { UploadFileType } from '../models/UploadFileType';
+
+import type { CancelablePromise } from '../core/CancelablePromise';
+import { OpenAPI } from '../core/OpenAPI';
+import { request as __request } from '../core/request';
+
+export class AnalogueModelsService {
+ /**
+ * Get a list of all AnalogueModels
+ * @returns GetAnalogueModelListQueryResponse Success
+ * @throws ApiError
+ */
+ public static getApiAnalogueModels(): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/analogue-models',
+ });
+ }
+
+ /**
+ * Create new Analogue Model
+ * @param requestBody
+ * @returns CreateAnalogueModelCommandResponse Success
+ * @throws ApiError
+ */
+ public static postApiAnalogueModels(
+ requestBody?: CreateAnalogueModelCommand,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'POST',
+ url: '/api/analogue-models',
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ errors: {
+ 400: `Bad Request`,
+ },
+ });
+ }
+
+ /**
+ * Get AnalogueModel by id
+ * @param id
+ * @returns GetAnalogueModelQueryResponse Success
+ * @throws ApiError
+ */
+ public static getApiAnalogueModels1(
+ id: string,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/analogue-models/{id}',
+ path: {
+ id: id,
+ },
+ });
+ }
+
+ /**
+ * Patch a AnalogueModel by Id with new values
+ * @param id
+ * @param requestBody
+ * @returns PatchAnalogueModelCommandResponse Success
+ * @throws ApiError
+ */
+ public static patchApiAnalogueModels(
+ id: string,
+ requestBody?: Array,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'PATCH',
+ url: '/api/analogue-models/{id}',
+ path: {
+ id: id,
+ },
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ errors: {
+ 400: `Bad Request`,
+ 404: `Not Found`,
+ },
+ });
+ }
+
+ /**
+ * Update AnalogueModel by Id
+ * @param id
+ * @param requestBody
+ * @returns UpdateAnalogueModelCommandResponse Success
+ * @throws ApiError
+ */
+ public static putApiAnalogueModels(
+ id: string,
+ requestBody?: UpdateAnalogueModelCommandBody,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'PUT',
+ url: '/api/analogue-models/{id}',
+ path: {
+ id: id,
+ },
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ errors: {
+ 400: `Bad Request`,
+ 404: `Not Found`,
+ },
+ });
+ }
+
+ /**
+ * Delete a AnalogueModel by id
+ * @param id
+ * @returns void
+ * @throws ApiError
+ */
+ public static deleteApiAnalogueModels(id: string): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'DELETE',
+ url: '/api/analogue-models/{id}',
+ path: {
+ id: id,
+ },
+ errors: {
+ 400: `Bad Request`,
+ 404: `Not Found`,
+ },
+ });
+ }
+
+ /**
+ * Upload model files that later can be converted to PEPM models.
+ * @param id
+ * @param formData
+ * @returns UploadAnalogueModelCommandResponse Success
+ * @throws ApiError
+ */
+ public static postApiAnalogueModelsInputModels(
+ id: string,
+ formData?: {
+ File?: Blob;
+ FileType?: UploadFileType;
+ },
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'POST',
+ url: '/api/analogue-models/{id}/input-models',
+ path: {
+ id: id,
+ },
+ formData: formData,
+ mediaType: 'multipart/form-data',
+ });
+ }
+
+ /**
+ * Upload NetCDF model files that later can be converted to PEPM models.
+ * @param id
+ * @param formData
+ * @returns UploadAnalogueModelCommandResponse Success
+ * @throws ApiError
+ */
+ public static postApiAnalogueModelsNetcdfModels(
+ id: string,
+ formData?: {
+ file?: Blob;
+ },
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'POST',
+ url: '/api/analogue-models/{id}/netcdf-models',
+ path: {
+ id: id,
+ },
+ formData: formData,
+ mediaType: 'multipart/form-data',
+ });
+ }
+}
diff --git a/src/api/generated/services/AnaloguesService.ts b/src/api/generated/services/AnaloguesService.ts
new file mode 100644
index 00000000..2b4a45d6
--- /dev/null
+++ b/src/api/generated/services/AnaloguesService.ts
@@ -0,0 +1,40 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+import type { CreateAnalogueCommand } from '../models/CreateAnalogueCommand';
+import type { CreateAnalogueCommandResponse } from '../models/CreateAnalogueCommandResponse';
+import type { GetAnalogueListQueryResponse } from '../models/GetAnalogueListQueryResponse';
+
+import type { CancelablePromise } from '../core/CancelablePromise';
+import { OpenAPI } from '../core/OpenAPI';
+import { request as __request } from '../core/request';
+
+export class AnaloguesService {
+ /**
+ * @returns GetAnalogueListQueryResponse Success
+ * @throws ApiError
+ */
+ public static getApiAnalogues(): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/analogues',
+ });
+ }
+
+ /**
+ * @param requestBody
+ * @returns CreateAnalogueCommandResponse Success
+ * @throws ApiError
+ */
+ public static postApiAnalogues(
+ requestBody?: CreateAnalogueCommand,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'POST',
+ url: '/api/analogues',
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ });
+ }
+}
diff --git a/src/api/generated/services/JobsService.ts b/src/api/generated/services/JobsService.ts
new file mode 100644
index 00000000..04b9f053
--- /dev/null
+++ b/src/api/generated/services/JobsService.ts
@@ -0,0 +1,127 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+import type { ConvertAnalogueModelCommand } from '../models/ConvertAnalogueModelCommand';
+import type { ConvertAnalogueModelCommandResponse } from '../models/ConvertAnalogueModelCommandResponse';
+import type { EstimateChannelCommand } from '../models/EstimateChannelCommand';
+import type { GetCurrentJobStatusCommandResponse } from '../models/GetCurrentJobStatusCommandResponse';
+import type { GetCurrentJobStatusListCommand } from '../models/GetCurrentJobStatusListCommand';
+import type { GetJobDetailQueryResponse } from '../models/GetJobDetailQueryResponse';
+import type { GetJobListQueryResponse } from '../models/GetJobListQueryResponse';
+import type { UpdateJobStatusCommand } from '../models/UpdateJobStatusCommand';
+
+import type { CancelablePromise } from '../core/CancelablePromise';
+import { OpenAPI } from '../core/OpenAPI';
+import { request as __request } from '../core/request';
+
+export class JobsService {
+ /**
+ * @returns GetJobListQueryResponse Success
+ * @throws ApiError
+ */
+ public static getApiJobs(): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/jobs',
+ });
+ }
+
+ /**
+ * @param id
+ * @returns GetJobDetailQueryResponse Success
+ * @throws ApiError
+ */
+ public static getApiJobs1(
+ id: string,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/jobs/{id}',
+ path: {
+ id: id,
+ },
+ });
+ }
+
+ /**
+ * Get current job status for job. This will fetch current status from underlying compute engine and update the status for the supplied Job Id.
+ * @param id
+ * @returns GetCurrentJobStatusCommandResponse Success
+ * @throws ApiError
+ */
+ public static getApiJobsStatus(
+ id: string,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/jobs/{id}/status',
+ path: {
+ id: id,
+ },
+ });
+ }
+
+ /**
+ * Update current job status for job. This will fetch current status from underlying compute engine and update the status for the supplied Job Name.
+ * @param requestBody
+ * @returns ConvertAnalogueModelCommandResponse Success
+ * @throws ApiError
+ */
+ public static postApiJobsStatus(
+ requestBody?: UpdateJobStatusCommand,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'POST',
+ url: '/api/jobs/status',
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ });
+ }
+
+ /**
+ * Get current job status for all jobs. This will fetch current status from underlying compute engine and update the status for all matching Jobs.
+ * @returns GetCurrentJobStatusListCommand Success
+ * @throws ApiError
+ */
+ public static getApiJobsStatus1(): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/jobs/status',
+ });
+ }
+
+ /**
+ * Convert AnalogueModels to the internal format used by PEPM in order to perform calculations.
+ * @param requestBody
+ * @returns any Accepted
+ * @throws ApiError
+ */
+ public static postApiJobsComputeModelConversions(
+ requestBody?: ConvertAnalogueModelCommand,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'POST',
+ url: '/api/jobs/compute/model-conversions',
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ });
+ }
+
+ /**
+ * Estimate channel on a Deltares based model.
+ * @param requestBody
+ * @returns any Accepted
+ * @throws ApiError
+ */
+ public static postApiJobsComputeChannelEstimations(
+ requestBody?: EstimateChannelCommand,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'POST',
+ url: '/api/jobs/compute/channel-estimations',
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ });
+ }
+}
diff --git a/src/api/generated/services/ParametersService.ts b/src/api/generated/services/ParametersService.ts
new file mode 100644
index 00000000..db2ee647
--- /dev/null
+++ b/src/api/generated/services/ParametersService.ts
@@ -0,0 +1,143 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+import type { CreateParameterCommand } from '../models/CreateParameterCommand';
+import type { GetParameterDetailQueryResponse } from '../models/GetParameterDetailQueryResponse';
+import type { GetParameterListQueryResponse } from '../models/GetParameterListQueryResponse';
+import type { Operation } from '../models/Operation';
+import type { PatchParameterCommandResponse } from '../models/PatchParameterCommandResponse';
+import type { UpdateParameterCommandBody } from '../models/UpdateParameterCommandBody';
+import type { UpdateParameterCommandResponse } from '../models/UpdateParameterCommandResponse';
+
+import type { CancelablePromise } from '../core/CancelablePromise';
+import { OpenAPI } from '../core/OpenAPI';
+import { request as __request } from '../core/request';
+
+export class ParametersService {
+ /**
+ * Get a list of all Parameters
+ * @returns GetParameterListQueryResponse Success
+ * @throws ApiError
+ */
+ public static getApiParameters(): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/parameters',
+ });
+ }
+
+ /**
+ * Create new Parameter
+ * @param requestBody
+ * @returns void
+ * @throws ApiError
+ */
+ public static postApiParameters(
+ requestBody?: CreateParameterCommand,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'POST',
+ url: '/api/parameters',
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ errors: {
+ 400: `Bad Request`,
+ },
+ });
+ }
+
+ /**
+ * Get Parameter details by Id
+ * @param id
+ * @returns GetParameterDetailQueryResponse Success
+ * @throws ApiError
+ */
+ public static getApiParameters1(
+ id: string,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/parameters/{id}',
+ path: {
+ id: id,
+ },
+ errors: {
+ 400: `Bad Request`,
+ 404: `Not Found`,
+ },
+ });
+ }
+
+ /**
+ * Patch a Parameter by Id with new values
+ * @param id
+ * @param requestBody
+ * @returns PatchParameterCommandResponse Success
+ * @throws ApiError
+ */
+ public static patchApiParameters(
+ id: string,
+ requestBody?: Array,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'PATCH',
+ url: '/api/parameters/{id}',
+ path: {
+ id: id,
+ },
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ errors: {
+ 400: `Bad Request`,
+ 404: `Not Found`,
+ },
+ });
+ }
+
+ /**
+ * Update Parameter by Id
+ * @param id
+ * @param requestBody
+ * @returns UpdateParameterCommandResponse Success
+ * @throws ApiError
+ */
+ public static putApiParameters(
+ id: string,
+ requestBody?: UpdateParameterCommandBody,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'PUT',
+ url: '/api/parameters/{id}',
+ path: {
+ id: id,
+ },
+ body: requestBody,
+ mediaType: 'application/json-patch+json',
+ errors: {
+ 400: `Bad Request`,
+ 404: `Not Found`,
+ },
+ });
+ }
+
+ /**
+ * Delete a parameter by id
+ * @param id
+ * @returns void
+ * @throws ApiError
+ */
+ public static deleteApiParameters(id: string): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'DELETE',
+ url: '/api/parameters/{id}',
+ path: {
+ id: id,
+ },
+ errors: {
+ 400: `Bad Request`,
+ 404: `Not Found`,
+ },
+ });
+ }
+}
diff --git a/src/api/generated/services/UploadsService.ts b/src/api/generated/services/UploadsService.ts
new file mode 100644
index 00000000..a8014302
--- /dev/null
+++ b/src/api/generated/services/UploadsService.ts
@@ -0,0 +1,61 @@
+/* generated using openapi-typescript-codegen -- do no edit */
+/* istanbul ignore file */
+/* tslint:disable */
+/* eslint-disable */
+import type { GetUploadDetailQueryResponse } from '../models/GetUploadDetailQueryResponse';
+import type { GetUploadListQueryResponse } from '../models/GetUploadListQueryResponse';
+import type { UploadAnalogueModelCommandResponse } from '../models/UploadAnalogueModelCommandResponse';
+import type { UploadFileType } from '../models/UploadFileType';
+
+import type { CancelablePromise } from '../core/CancelablePromise';
+import { OpenAPI } from '../core/OpenAPI';
+import { request as __request } from '../core/request';
+
+export class UploadsService {
+ /**
+ * @returns GetUploadListQueryResponse Success
+ * @throws ApiError
+ */
+ public static getApiUploads(): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/uploads',
+ });
+ }
+
+ /**
+ * @param id
+ * @returns GetUploadDetailQueryResponse Success
+ * @throws ApiError
+ */
+ public static getApiUploads1(
+ id: string,
+ ): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'GET',
+ url: '/api/uploads/{id}',
+ path: {
+ id: id,
+ },
+ });
+ }
+
+ /**
+ * Upload model files that later can be converted to PEPM models.
+ * @param formData
+ * @returns UploadAnalogueModelCommandResponse Success
+ * @throws ApiError
+ */
+ public static postApiUploadsModels(formData?: {
+ ModelId?: string;
+ File?: Blob;
+ FileType?: UploadFileType;
+ }): CancelablePromise {
+ return __request(OpenAPI, {
+ method: 'POST',
+ url: '/api/uploads/models',
+ formData: formData,
+ mediaType: 'multipart/form-data',
+ });
+ }
+}
diff --git a/src/auth/apiClient.ts b/src/auth/apiClient.ts
deleted file mode 100644
index dba6fa6c..00000000
--- a/src/auth/apiClient.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import createClient from 'openapi-fetch'
-import { paths } from '../models/schema'
-import { apiConfig } from './authConfig'
-
-export const apiClient = createClient({
- baseUrl: apiConfig.baseUrl,
-})
-
-export type ApiClient = typeof apiClient
diff --git a/src/auth/authConfig.ts b/src/auth/authConfig.ts
index a5690f75..e332d455 100644
--- a/src/auth/authConfig.ts
+++ b/src/auth/authConfig.ts
@@ -1,4 +1,4 @@
-import { Configuration, PopupRequest } from '@azure/msal-browser'
+import { Configuration, PopupRequest } from '@azure/msal-browser';
// Config object to be passed to Msal on creation
const msalConfig: Configuration = {
@@ -11,22 +11,22 @@ const msalConfig: Configuration = {
cache: {
cacheLocation: 'sessionStorage',
},
-}
+};
const protectedResources = {
endpoint: process.env.REACT_APP_BACKEND_URL,
scopes: {
read: [process.env.REACT_APP_BACKEND_API_SCOPE as string],
},
-}
+};
// Scopes for id token to be used at MS Identity Platform endpoints
const loginRequest: PopupRequest = {
scopes: [...protectedResources.scopes.read],
-}
+};
const apiConfig = {
baseUrl: `${process.env.REACT_APP_BACKEND_URL}`,
-}
+};
-export { apiConfig, loginRequest, msalConfig }
+export { apiConfig, loginRequest, msalConfig };
diff --git a/src/auth/msalClient.ts b/src/auth/msalClient.ts
index f9692e9e..c45f1041 100644
--- a/src/auth/msalClient.ts
+++ b/src/auth/msalClient.ts
@@ -3,25 +3,25 @@ import {
EventMessage,
EventType,
PublicClientApplication,
-} from '@azure/msal-browser'
-import { msalConfig } from './authConfig'
+} from '@azure/msal-browser';
+import { msalConfig } from './authConfig';
-const msalInstance = new PublicClientApplication(msalConfig)
+const msalInstance = new PublicClientApplication(msalConfig);
// Account selection logic is app dependent. Adjust as needed for different use cases
// Default to using the first account if no account is active on page load
-const accounts = msalInstance.getAllAccounts()
+const accounts = msalInstance.getAllAccounts();
if (accounts.length > 0) {
- msalInstance.setActiveAccount(accounts[0])
+ msalInstance.setActiveAccount(accounts[0]);
}
// Set active account
msalInstance.addEventCallback((event: EventMessage) => {
if (event.eventType === EventType.LOGIN_SUCCESS && event.payload) {
- const payload = event.payload as AuthenticationResult
- const account = payload.account
- msalInstance.setActiveAccount(account)
+ const payload = event.payload as AuthenticationResult;
+ const account = payload.account;
+ msalInstance.setActiveAccount(account);
}
-})
+});
-export { msalInstance }
+export { msalInstance };
diff --git a/src/auth/queryClient.ts b/src/auth/queryClient.ts
index 03edf7ad..dad8ecf1 100644
--- a/src/auth/queryClient.ts
+++ b/src/auth/queryClient.ts
@@ -1,4 +1,4 @@
-import { QueryClient } from '@tanstack/react-query'
+import { QueryClient } from '@tanstack/react-query';
export const queryClient = new QueryClient({
defaultOptions: {
@@ -7,4 +7,4 @@ export const queryClient = new QueryClient({
cacheTime: 1000 * 60 * 60 * 24, // 24 hours
},
},
-})
+});
diff --git a/src/components/IconButton/IconButton.test.tsx b/src/components/IconButton/IconButton.test.tsx
index df48cf08..ead09e06 100644
--- a/src/components/IconButton/IconButton.test.tsx
+++ b/src/components/IconButton/IconButton.test.tsx
@@ -1,13 +1,13 @@
-import { notifications } from '@equinor/eds-icons'
-import { fireEvent, render, screen } from '@testing-library/react'
-import IconButton from './IconButton'
+import { notifications } from '@equinor/eds-icons';
+import { fireEvent, render, screen } from '@testing-library/react';
+import IconButton from './IconButton';
test('calls onClick callback when clicked', () => {
- const handleClick = jest.fn()
+ const handleClick = jest.fn();
render(
-
- )
- const iconButton = screen.getByRole('button')
- fireEvent.click(iconButton)
- expect(handleClick).toHaveBeenCalledTimes(1)
-})
+ ,
+ );
+ const iconButton = screen.getByRole('button');
+ fireEvent.click(iconButton);
+ expect(handleClick).toHaveBeenCalledTimes(1);
+});
diff --git a/src/components/IconButton/IconButton.tsx b/src/components/IconButton/IconButton.tsx
index e97f51b2..03d509a4 100644
--- a/src/components/IconButton/IconButton.tsx
+++ b/src/components/IconButton/IconButton.tsx
@@ -1,24 +1,24 @@
-import { Button, Icon } from '@equinor/eds-core-react'
-import { IconData } from '@equinor/eds-icons'
-import { forwardRef, Ref } from 'react'
+import { Button, Icon } from '@equinor/eds-core-react';
+import { IconData } from '@equinor/eds-icons';
+import { forwardRef, Ref } from 'react';
interface IconButtonProps {
- title: string
- icon: IconData
- onClick: () => Promise | void
+ title: string;
+ icon: IconData;
+ onClick: () => Promise | void;
}
const IconButton = forwardRef(
function IconButton(
{ title, icon, onClick }: IconButtonProps,
- ref: Ref
+ ref: Ref,
) {
return (
- )
- }
-)
+ );
+ },
+);
-export default IconButton
+export default IconButton;
diff --git a/src/components/ImageView/ImageView.styled.tsx b/src/components/ImageView/ImageView.styled.tsx
index 11ecf093..74d22980 100644
--- a/src/components/ImageView/ImageView.styled.tsx
+++ b/src/components/ImageView/ImageView.styled.tsx
@@ -1,6 +1,6 @@
-import styled from 'styled-components'
-import { spacings } from '../../tokens/spacings'
-import { theme } from '../../tokens/theme'
+import styled from 'styled-components';
+import { spacings } from '../../tokens/spacings';
+import { theme } from '../../tokens/theme';
export const ImageWrapper = styled.div`
display: flex;
@@ -25,4 +25,4 @@ export const ImageWrapper = styled.div`
max-width: 100%;
padding: ${spacings.SMALL};
}
-`
+`;
diff --git a/src/components/ImageView/ImageView.tsx b/src/components/ImageView/ImageView.tsx
index 43ff7d81..5d525baf 100644
--- a/src/components/ImageView/ImageView.tsx
+++ b/src/components/ImageView/ImageView.tsx
@@ -1,18 +1,18 @@
-import * as Styled from './ImageView.styled'
+import * as Styled from './ImageView.styled';
export const ImageView = ({
text,
img,
altText,
}: {
- text: string
- img: string
- altText: string
+ text: string;
+ img: string;
+ altText: string;
}) => {
return (
{text}
- )
-}
+ );
+};
diff --git a/src/components/InfoPageComponent/InfoPageComponent.style.tsx b/src/components/InfoPageComponent/InfoPageComponent.style.tsx
index 2a783220..3129491a 100644
--- a/src/components/InfoPageComponent/InfoPageComponent.style.tsx
+++ b/src/components/InfoPageComponent/InfoPageComponent.style.tsx
@@ -1,5 +1,5 @@
-import styled from 'styled-components'
-import { spacings } from '../../tokens/spacings'
+import styled from 'styled-components';
+import { spacings } from '../../tokens/spacings';
const StyledInforPage = styled.div`
display: flex;
@@ -10,7 +10,7 @@ const StyledInforPage = styled.div`
width: 100%;
height: 100%;
-`
+`;
const InnerWrapper = styled.div`
display: flex;
@@ -27,5 +27,5 @@ const InnerWrapper = styled.div`
margin-left: ${spacings.SMALL};
}
}
-`
-export { InnerWrapper, StyledInforPage as Page }
+`;
+export { InnerWrapper, StyledInforPage as Page };
diff --git a/src/components/InfoPageComponent/InfoPageComponent.tsx b/src/components/InfoPageComponent/InfoPageComponent.tsx
index 74741708..3e8910d9 100644
--- a/src/components/InfoPageComponent/InfoPageComponent.tsx
+++ b/src/components/InfoPageComponent/InfoPageComponent.tsx
@@ -1,12 +1,12 @@
-import { Typography } from '@equinor/eds-core-react'
-import * as Styled from './InfoPageComponent.style'
+import { Typography } from '@equinor/eds-core-react';
+import * as Styled from './InfoPageComponent.style';
export const InfoPageComponent = ({
title,
children,
}: {
- title: string
- children?: React.ReactNode
+ title: string;
+ children?: React.ReactNode;
}) => {
return (
@@ -15,5 +15,5 @@ export const InfoPageComponent = ({
{children}
- )
-}
+ );
+};
diff --git a/src/components/MenuIcon/MenuIcon.test.tsx b/src/components/MenuIcon/MenuIcon.test.tsx
index 1f003c2d..0d47f451 100644
--- a/src/components/MenuIcon/MenuIcon.test.tsx
+++ b/src/components/MenuIcon/MenuIcon.test.tsx
@@ -1,35 +1,35 @@
-import { Menu } from '@equinor/eds-core-react'
-import { notifications } from '@equinor/eds-icons'
-import { cleanup, fireEvent, render, screen } from '@testing-library/react'
-import MenuIcon from './MenuIcon'
+import { Menu } from '@equinor/eds-core-react';
+import { notifications } from '@equinor/eds-icons';
+import { cleanup, fireEvent, render, screen } from '@testing-library/react';
+import MenuIcon from './MenuIcon';
-afterEach(() => cleanup())
+afterEach(() => cleanup());
function setup() {
- const notificationIcon = { title: 'Notifications', data: notifications }
+ const notificationIcon = { title: 'Notifications', data: notifications };
const utils = render(
I am visible
-
- )
- const icon = screen.getByRole('button')
- const menu = screen.getByText('I am visible')
+ ,
+ );
+ const icon = screen.getByRole('button');
+ const menu = screen.getByText('I am visible');
- const clickIcon = () => fireEvent.click(icon)
- const clickOutside = () => fireEvent.mouseDown(document)
- return { ...utils, icon, menu, clickIcon, clickOutside }
+ const clickIcon = () => fireEvent.click(icon);
+ const clickOutside = () => fireEvent.mouseDown(document);
+ return { ...utils, icon, menu, clickIcon, clickOutside };
}
test('opens a menu when the icon is clicked', () => {
- const utils = setup()
- utils.clickIcon()
- expect(utils.menu).toBeVisible()
-})
+ const utils = setup();
+ utils.clickIcon();
+ expect(utils.menu).toBeVisible();
+});
test('closes the menu on another icon click', () => {
- const utils = setup()
- utils.clickIcon()
- expect(utils.menu).toBeVisible()
- utils.clickIcon() // again
- expect(utils.menu).not.toBeVisible()
-})
+ const utils = setup();
+ utils.clickIcon();
+ expect(utils.menu).toBeVisible();
+ utils.clickIcon(); // again
+ expect(utils.menu).not.toBeVisible();
+});
diff --git a/src/components/MenuIcon/MenuIcon.tsx b/src/components/MenuIcon/MenuIcon.tsx
index 56c30a89..788fe458 100644
--- a/src/components/MenuIcon/MenuIcon.tsx
+++ b/src/components/MenuIcon/MenuIcon.tsx
@@ -1,18 +1,18 @@
-import { Menu } from '@equinor/eds-core-react'
-import { IconData } from '@equinor/eds-icons'
-import { useRef, useState } from 'react'
-import IconButton from '../IconButton/IconButton'
+import { Menu } from '@equinor/eds-core-react';
+import { IconData } from '@equinor/eds-icons';
+import { useRef, useState } from 'react';
+import IconButton from '../IconButton/IconButton';
const MenuIcon = ({
icon,
children,
}: {
- icon: { title: string; data: IconData }
- children?: React.ReactNode
+ icon: { title: string; data: IconData };
+ children?: React.ReactNode;
}) => {
- const [isOpen, setIsOpen] = useState(false)
- const ref = useRef(null)
- const toggle = () => setIsOpen(!isOpen)
+ const [isOpen, setIsOpen] = useState(false);
+ const ref = useRef(null);
+ const toggle = () => setIsOpen(!isOpen);
return (
<>
@@ -31,7 +31,7 @@ const MenuIcon = ({
{children}
>
- )
-}
+ );
+};
-export default MenuIcon
+export default MenuIcon;
diff --git a/src/components/Table.styled.ts b/src/components/Table.styled.ts
index 6ed1d229..292fc7a0 100644
--- a/src/components/Table.styled.ts
+++ b/src/components/Table.styled.ts
@@ -1,5 +1,5 @@
-import styled from 'styled-components'
-import { spacings } from '../tokens/spacings'
+import styled from 'styled-components';
+import { spacings } from '../tokens/spacings';
export const StyledDiv = styled.div`
overflow-x: auto;
@@ -10,4 +10,4 @@ export const StyledDiv = styled.div`
width: auto !important;
}
}
-`
+`;
diff --git a/src/components/Table.tsx b/src/components/Table.tsx
index ed8382d9..8735d8aa 100644
--- a/src/components/Table.tsx
+++ b/src/components/Table.tsx
@@ -1,20 +1,22 @@
-import { Chip } from '@equinor/eds-core-react'
-import { EdsDataGrid } from '@equinor/eds-data-grid-react'
-import { useAnalogueModels } from '../hooks/useAnalogueModels'
-import * as Styled from './Table.styled'
+import { Chip } from '@equinor/eds-core-react';
+import { EdsDataGrid } from '@equinor/eds-data-grid-react';
+import * as Styled from './Table.styled';
+import { useQuery } from '@tanstack/react-query';
+import { AnalogueModelsService } from '../api/generated';
export const Table = () => {
- const { models } = useAnalogueModels()
-
- if (models.isLoading || !models.data?.data) return Loading...
-
+ const { isLoading, data } = useQuery({
+ queryKey: ['analogue-models'],
+ queryFn: () => AnalogueModelsService.getApiAnalogueModels(),
+ });
+ if (isLoading || !data?.success) return Loading...
;
return (
{
]}
/>
- )
-}
+ );
+};
diff --git a/src/context/ApiClientProvider.tsx b/src/context/ApiClientProvider.tsx
deleted file mode 100644
index 6df77216..00000000
--- a/src/context/ApiClientProvider.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { createContext, useContext } from 'react'
-import { ApiClient } from '../auth/apiClient'
-
-type ApiClientProviderProps = { client: ApiClient; children: React.ReactNode }
-
-const ApiClientContext = createContext(undefined)
-
-const ApiClientProvider = ({ client, children }: ApiClientProviderProps) => (
-
- {children}
-
-)
-
-function useApiClient(): ApiClient {
- const apiClient = useContext(ApiClientContext)
- if (apiClient === undefined) {
- throw new Error('useApiClient must be used within a ApiClientProvider')
- }
- return apiClient
-}
-
-export { ApiClientProvider, useApiClient }
diff --git a/src/features/AddModelDialog/AddModelDialog.styled.ts b/src/features/AddModelDialog/AddModelDialog.styled.ts
index e5113003..5fd5c01a 100644
--- a/src/features/AddModelDialog/AddModelDialog.styled.ts
+++ b/src/features/AddModelDialog/AddModelDialog.styled.ts
@@ -1,26 +1,26 @@
-import { Dialog } from '@equinor/eds-core-react'
-import styled from 'styled-components'
-import { spacings } from '../../tokens/spacings'
+import { Dialog } from '@equinor/eds-core-react';
+import styled from 'styled-components';
+import { spacings } from '../../tokens/spacings';
const StyledDialog = styled(Dialog)`
min-width: 600px;
width: max-content;
-`
+`;
const StyledDialogCustomContent = styled(Dialog.CustomContent)`
display: flex;
flex-direction: column;
row-gap: ${spacings.X_LARGE};
height: 740px;
-`
+`;
const StyledDialogActions = styled(Dialog.Actions)`
display: flex;
gap: ${spacings.SMALL};
-`
+`;
export {
StyledDialog as Dialog,
StyledDialogActions as DialogActions,
StyledDialogCustomContent as DialogCustomContent,
-}
+};
diff --git a/src/features/AddModelDialog/AddModelDialog.tsx b/src/features/AddModelDialog/AddModelDialog.tsx
index 7a1020d6..d69c83e7 100644
--- a/src/features/AddModelDialog/AddModelDialog.tsx
+++ b/src/features/AddModelDialog/AddModelDialog.tsx
@@ -1,13 +1,13 @@
-import { Button } from '@equinor/eds-core-react'
-import { useState } from 'react'
-import { ModelInputFilesTable } from '../ModelInputFilesTable/ModelInputFilesTable'
-import { ModelMetadata } from '../ModelMetadata/ModelMetadata'
-import * as Styled from './AddModelDialog.styled'
+import { Button } from '@equinor/eds-core-react';
+import { useState } from 'react';
+import { ModelInputFilesTable } from '../ModelInputFilesTable/ModelInputFilesTable';
+import { ModelMetadata } from '../ModelMetadata/ModelMetadata';
+import * as Styled from './AddModelDialog.styled';
interface AddModelDialogProps {
- isOpen: boolean
- confirm: (file: File) => Promise
- cancel: () => void
+ isOpen: boolean;
+ confirm: (file: File) => Promise;
+ cancel: () => void;
}
export const AddModelDialog = ({
@@ -15,17 +15,17 @@ export const AddModelDialog = ({
confirm,
cancel,
}: AddModelDialogProps) => {
- const [isFileDisplay, setFileDisplay] = useState(false)
+ const [isFileDisplay, setFileDisplay] = useState(false);
const [files, setFiles] = useState<{ NC?: File; INI?: File }>({
NC: undefined,
INI: undefined,
- })
+ });
function toggleINIFileContent() {
- setFileDisplay(!isFileDisplay)
+ setFileDisplay(!isFileDisplay);
}
- const INIFileContent = () => Not implemented yet...
+ const INIFileContent = () => Not implemented yet...
;
return (
@@ -53,5 +53,5 @@ export const AddModelDialog = ({
- )
-}
+ );
+};
diff --git a/src/features/AppBar/AppBar.styled.ts b/src/features/AppBar/AppBar.styled.ts
index d7ad0de1..f446cd47 100644
--- a/src/features/AppBar/AppBar.styled.ts
+++ b/src/features/AppBar/AppBar.styled.ts
@@ -1,8 +1,8 @@
-import { TopBar } from '@equinor/eds-core-react'
-import styled from 'styled-components'
-import { spacings } from '../../tokens/spacings'
+import { TopBar } from '@equinor/eds-core-react';
+import styled from 'styled-components';
+import { spacings } from '../../tokens/spacings';
const StyledTopBar = styled(TopBar)`
column-gap: ${spacings.X_LARGE};
-`
-export { StyledTopBar as TopBar }
+`;
+export { StyledTopBar as TopBar };
diff --git a/src/features/AppBar/AppBar.test.tsx b/src/features/AppBar/AppBar.test.tsx
index ea35d1c9..683e00e2 100644
--- a/src/features/AppBar/AppBar.test.tsx
+++ b/src/features/AppBar/AppBar.test.tsx
@@ -1,21 +1,21 @@
-import { render, screen } from '@testing-library/react'
-import { BrowserRouter } from 'react-router-dom'
-import AppBar from './AppBar'
+import { render, screen } from '@testing-library/react';
+import { BrowserRouter } from 'react-router-dom';
+import AppBar from './AppBar';
test('has title', () => {
- render(, { wrapper: BrowserRouter })
- const title = screen.getByText('Title')
- expect(title).toBeDefined()
-})
+ render(, { wrapper: BrowserRouter });
+ const title = screen.getByText('Title');
+ expect(title).toBeDefined();
+});
test('has navigation tabs', () => {
- render(, { wrapper: BrowserRouter })
- const tabs = screen.getAllByRole('tab')
- expect(tabs).toBeDefined()
-})
+ render(, { wrapper: BrowserRouter });
+ const tabs = screen.getAllByRole('tab');
+ expect(tabs).toBeDefined();
+});
test('has action icons', () => {
- render(, { wrapper: BrowserRouter })
- const actionIcons = screen.getAllByTestId('eds-icon-path')
- expect(actionIcons).toBeDefined()
-})
+ render(, { wrapper: BrowserRouter });
+ const actionIcons = screen.getAllByTestId('eds-icon-path');
+ expect(actionIcons).toBeDefined();
+});
diff --git a/src/features/AppBar/AppBar.tsx b/src/features/AppBar/AppBar.tsx
index 33cb76a9..5adb361c 100644
--- a/src/features/AppBar/AppBar.tsx
+++ b/src/features/AppBar/AppBar.tsx
@@ -1,7 +1,7 @@
-import { TopBar } from '@equinor/eds-core-react'
-import * as Styled from './AppBar.styled'
-import { Icons } from './Icons/Icons'
-import { Navigation } from './Navigation/Navigation'
+import { TopBar } from '@equinor/eds-core-react';
+import * as Styled from './AppBar.styled';
+import { Icons } from './Icons/Icons';
+import { Navigation } from './Navigation/Navigation';
const AppBar = ({ title }: { title: string }) => {
return (
@@ -12,7 +12,7 @@ const AppBar = ({ title }: { title: string }) => {
- )
-}
+ );
+};
-export default AppBar
+export default AppBar;
diff --git a/src/features/AppBar/Icons/Icons.styled.ts b/src/features/AppBar/Icons/Icons.styled.ts
index d7d92dc2..778838df 100644
--- a/src/features/AppBar/Icons/Icons.styled.ts
+++ b/src/features/AppBar/Icons/Icons.styled.ts
@@ -1,7 +1,7 @@
-import styled from 'styled-components'
-import { spacings } from '../../../tokens/spacings'
+import styled from 'styled-components';
+import { spacings } from '../../../tokens/spacings';
export const Icons = styled.div`
display: flex;
gap: ${spacings.SMALL};
-`
+`;
diff --git a/src/features/AppBar/Icons/Icons.tsx b/src/features/AppBar/Icons/Icons.tsx
index 41469b8b..5faff171 100644
--- a/src/features/AppBar/Icons/Icons.tsx
+++ b/src/features/AppBar/Icons/Icons.tsx
@@ -1,14 +1,14 @@
-import { useMsal } from '@azure/msal-react'
-import { Button, Menu } from '@equinor/eds-core-react'
+import { useMsal } from '@azure/msal-react';
+import { Button, Menu } from '@equinor/eds-core-react';
import {
account_circle as accountCircle,
notifications,
-} from '@equinor/eds-icons'
-import MenuIcon from '../../../components/MenuIcon/MenuIcon'
-import * as Styled from './Icons.styled'
+} from '@equinor/eds-icons';
+import MenuIcon from '../../../components/MenuIcon/MenuIcon';
+import * as Styled from './Icons.styled';
export const Icons = () => {
- const { instance } = useMsal()
+ const { instance } = useMsal();
const icons = {
notifications: {
@@ -19,7 +19,7 @@ export const Icons = () => {
title: 'UserInfo',
data: accountCircle,
},
- }
+ };
return (
@@ -29,11 +29,11 @@ export const Icons = () => {
{instance.getActiveAccount()?.name}
-
+
- )
-}
+ );
+};
diff --git a/src/features/AppBar/Navigation/Navigation.styled.ts b/src/features/AppBar/Navigation/Navigation.styled.ts
index ce5e3c36..4899c4b9 100644
--- a/src/features/AppBar/Navigation/Navigation.styled.ts
+++ b/src/features/AppBar/Navigation/Navigation.styled.ts
@@ -1,6 +1,6 @@
-import { Tabs } from '@equinor/eds-core-react'
-import styled from 'styled-components'
-import { spacings } from '../../../tokens/spacings'
+import { Tabs } from '@equinor/eds-core-react';
+import styled from 'styled-components';
+import { spacings } from '../../../tokens/spacings';
const StyledTabs = styled(Tabs)`
display: flex;
@@ -14,5 +14,5 @@ const StyledTabs = styled(Tabs)`
border-color: transparent;
}
}
-`
-export { StyledTabs as Tabs }
+`;
+export { StyledTabs as Tabs };
diff --git a/src/features/AppBar/Navigation/Navigation.tsx b/src/features/AppBar/Navigation/Navigation.tsx
index f4fa2f15..d9476f52 100644
--- a/src/features/AppBar/Navigation/Navigation.tsx
+++ b/src/features/AppBar/Navigation/Navigation.tsx
@@ -1,14 +1,16 @@
-import { Tabs } from '@equinor/eds-core-react'
-import { useNavigate } from 'react-router-dom'
-import { tabs } from '../../../router'
-import * as Styled from './Navigation.styled'
+import { Tabs } from '@equinor/eds-core-react';
+import { useNavigate } from 'react-router-dom';
+import { tabs } from '../../../router';
+import * as Styled from './Navigation.styled';
export const Navigation = () => {
- const navigate = useNavigate()
- const active = tabs.find((tab) => `/${tab.path}` === window.location.pathname)
+ const navigate = useNavigate();
+ const active = tabs.find(
+ (tab) => `/${tab.path}` === window.location.pathname,
+ );
function clickTab(tab: number) {
- navigate(tabs[tab].path)
+ navigate(tabs[tab].path);
}
return (
@@ -23,5 +25,5 @@ export const Navigation = () => {
))}
- )
-}
+ );
+};
diff --git a/src/features/Compute/ComputeVariogram/CaseCard/CaseCard.styled.tsx b/src/features/Compute/ComputeVariogram/CaseCard/CaseCard.styled.tsx
index c422699f..ddd8d36d 100644
--- a/src/features/Compute/ComputeVariogram/CaseCard/CaseCard.styled.tsx
+++ b/src/features/Compute/ComputeVariogram/CaseCard/CaseCard.styled.tsx
@@ -1,6 +1,6 @@
-import styled from 'styled-components'
-import { spacings } from '../../../../tokens/spacings'
-import { theme } from '../../../../tokens/theme'
+import styled from 'styled-components';
+import { spacings } from '../../../../tokens/spacings';
+import { theme } from '../../../../tokens/theme';
export const CaseCard = styled.div`
display: flex;
@@ -8,7 +8,7 @@ export const CaseCard = styled.div`
padding-top: ${spacings.LARGE};
column-gap: ${spacings.MEDIUM};
-`
+`;
export const Case = styled.div`
display: flex;
flex-direction: column;
@@ -17,7 +17,7 @@ export const Case = styled.div`
column-gap: ${spacings.MEDIUM};
border: solid thin ${theme.light.ui.background.medium};
-`
+`;
export const Parameters = styled.div`
display: flex;
@@ -27,11 +27,11 @@ export const Parameters = styled.div`
background-color: ${theme.light.ui.background.light};
padding: ${spacings.LARGE};
background-color: ${theme.light.ui.background.light};
-`
+`;
export const Wrapper = styled.div`
border-left: solid;
border-width: thick;
border-color: ${theme.light.primary.resting};
border-radius: ${spacings.X_SMALL};
-`
+`;
diff --git a/src/features/Compute/ComputeVariogram/CaseCard/CaseCard.tsx b/src/features/Compute/ComputeVariogram/CaseCard/CaseCard.tsx
index a75a7753..a87575d5 100644
--- a/src/features/Compute/ComputeVariogram/CaseCard/CaseCard.tsx
+++ b/src/features/Compute/ComputeVariogram/CaseCard/CaseCard.tsx
@@ -1,59 +1,59 @@
/* eslint-disable max-lines-per-function */
-import { Typography } from '@equinor/eds-core-react'
-import { useState } from 'react'
-import * as Styled from './CaseCard.styled'
-import { CaseCardButtons } from './CaseCardButtons/CaseCardButtons'
-import { CaseCardInputs } from './CaseCardInputs/CaseCardInputs'
-import { CaseCardParameters } from './CaseCardParameters/CaseCardParameters'
+import { Typography } from '@equinor/eds-core-react';
+import { useState } from 'react';
+import * as Styled from './CaseCard.styled';
+import { CaseCardButtons } from './CaseCardButtons/CaseCardButtons';
+import { CaseCardInputs } from './CaseCardInputs/CaseCardInputs';
+import { CaseCardParameters } from './CaseCardParameters/CaseCardParameters';
export default interface optionTypes {
- id: number
- name: string
- size?: string
+ id: number;
+ name: string;
+ size?: string;
}
export const CaseCard = () => {
- const [selectedModelArea, setModelArea] = useState()
- const [selectedComputeMethod, setComputeMethod] = useState()
- const [selectedGrainSize, setGrainSize] = useState()
+ const [selectedModelArea, setModelArea] = useState();
+ const [selectedComputeMethod, setComputeMethod] = useState();
+ const [selectedGrainSize, setGrainSize] = useState();
const [selectedVariogramModels, setVariogramModels] =
- useState()
- const [selectedParameters, setParameters] = useState()
+ useState();
+ const [selectedParameters, setParameters] = useState();
const grainOptions: optionTypes[] = [
{ id: 1, name: 'Silt', size: '0.044mm' },
{ id: 2, name: 'Very fine sand', size: '0.088mm' },
{ id: 3, name: 'Fine sand', size: '0.177mm' },
- ]
+ ];
const modelOptions: optionTypes[] = [
{ id: 4, name: 'Spherical' },
{ id: 5, name: 'Gaussian' },
{ id: 6, name: 'Exponential' },
{ id: 7, name: 'General exponential' },
- ]
+ ];
const parameterOptions: optionTypes[] = [
{ id: 8, name: 'Porosity' },
{ id: 9, name: 'Permeability' },
- ]
+ ];
const modelAreas: optionTypes[] = [
{ id: 10, name: 'Proximal' },
{ id: 11, name: 'Left' },
{ id: 12, name: 'Distal' },
- ]
+ ];
const computeMethods: optionTypes[] = [
{ id: 13, name: 'Net-to-gross' },
{ id: 14, name: 'Continuous parameter' },
- ]
+ ];
const runCase = () => {
- console.log(selectedModelArea)
- console.log(selectedComputeMethod)
- console.log(selectedGrainSize)
- console.log(selectedVariogramModels)
- console.log(selectedParameters)
- }
+ console.log(selectedModelArea);
+ console.log(selectedComputeMethod);
+ console.log(selectedGrainSize);
+ console.log(selectedVariogramModels);
+ console.log(selectedParameters);
+ };
return (
@@ -103,5 +103,5 @@ export const CaseCard = () => {
)}
- )
-}
+ );
+};
diff --git a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardButtons/CaseCardButtons.styled.tsx b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardButtons/CaseCardButtons.styled.tsx
index 99c791c7..1055fce9 100644
--- a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardButtons/CaseCardButtons.styled.tsx
+++ b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardButtons/CaseCardButtons.styled.tsx
@@ -1,5 +1,5 @@
-import styled from 'styled-components'
-import { spacings } from '../../../../../tokens/spacings'
+import styled from 'styled-components';
+import { spacings } from '../../../../../tokens/spacings';
export const ButtonDiv = styled.div`
display: flex;
@@ -11,4 +11,4 @@ export const ButtonDiv = styled.div`
> button {
width: ${spacings.COMPUTE_BUTTON};
}
-`
+`;
diff --git a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardButtons/CaseCardButtons.tsx b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardButtons/CaseCardButtons.tsx
index e97aba0a..c130b134 100644
--- a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardButtons/CaseCardButtons.tsx
+++ b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardButtons/CaseCardButtons.tsx
@@ -1,5 +1,5 @@
-import { Button } from '@equinor/eds-core-react'
-import * as Styled from './CaseCardButtons.styled'
+import { Button } from '@equinor/eds-core-react';
+import * as Styled from './CaseCardButtons.styled';
export const CaseCardButtons = ({ runCase }: { runCase: () => void }) => {
return (
@@ -10,5 +10,5 @@ export const CaseCardButtons = ({ runCase }: { runCase: () => void }) => {
Run
- )
-}
+ );
+};
diff --git a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardInputs/CaseCardInputs.styled.tsx b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardInputs/CaseCardInputs.styled.tsx
index 9a75bce3..fb82072b 100644
--- a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardInputs/CaseCardInputs.styled.tsx
+++ b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardInputs/CaseCardInputs.styled.tsx
@@ -1,5 +1,5 @@
-import styled from 'styled-components'
-import { spacings } from '../../../../../tokens/spacings'
+import styled from 'styled-components';
+import { spacings } from '../../../../../tokens/spacings';
export const AutocompleteWrapper = styled.div`
display: flex;
@@ -7,4 +7,4 @@ export const AutocompleteWrapper = styled.div`
flex-direction: row;
column-gap: ${spacings.MEDIUM};
-`
+`;
diff --git a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardInputs/CaseCardInputs.tsx b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardInputs/CaseCardInputs.tsx
index c3db6835..c18d366f 100644
--- a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardInputs/CaseCardInputs.tsx
+++ b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardInputs/CaseCardInputs.tsx
@@ -1,6 +1,6 @@
-import { Autocomplete, AutocompleteChanges } from '@equinor/eds-core-react'
-import { default as optionTypes } from '../CaseCard'
-import * as Styled from './CaseCardInputs.styled'
+import { Autocomplete, AutocompleteChanges } from '@equinor/eds-core-react';
+import { default as optionTypes } from '../CaseCard';
+import * as Styled from './CaseCardInputs.styled';
export const CaseCardInputs = ({
modelAreas,
@@ -8,12 +8,12 @@ export const CaseCardInputs = ({
setModelArea,
setComputeMethod,
}: {
- modelAreas: optionTypes[]
- computeMethods: optionTypes[]
- setModelArea: React.Dispatch>
+ modelAreas: optionTypes[];
+ computeMethods: optionTypes[];
+ setModelArea: React.Dispatch>;
setComputeMethod: React.Dispatch<
React.SetStateAction
- >
+ >;
}) => {
return (
@@ -34,5 +34,5 @@ export const CaseCardInputs = ({
}
>
- )
-}
+ );
+};
diff --git a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardParameters/CaseCardParameters.styled.tsx b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardParameters/CaseCardParameters.styled.tsx
index f19137b1..42d3a493 100644
--- a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardParameters/CaseCardParameters.styled.tsx
+++ b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardParameters/CaseCardParameters.styled.tsx
@@ -1,6 +1,6 @@
-import styled from 'styled-components'
-import { spacings } from '../../../../../tokens/spacings'
-import { theme } from '../../../../../tokens/theme'
+import styled from 'styled-components';
+import { spacings } from '../../../../../tokens/spacings';
+import { theme } from '../../../../../tokens/theme';
export const Parameters = styled.div`
background-color: ${theme.light.ui.background.default};
@@ -12,4 +12,4 @@ export const Parameters = styled.div`
flex-direction: row;
align-items: center;
column-gap: ${spacings.MEDIUM};
-`
+`;
diff --git a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardParameters/CaseCardParameters.tsx b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardParameters/CaseCardParameters.tsx
index 0d5e2e1e..c25a9d06 100644
--- a/src/features/Compute/ComputeVariogram/CaseCard/CaseCardParameters/CaseCardParameters.tsx
+++ b/src/features/Compute/ComputeVariogram/CaseCard/CaseCardParameters/CaseCardParameters.tsx
@@ -3,9 +3,9 @@ import {
Autocomplete,
AutocompleteChanges,
Chip,
-} from '@equinor/eds-core-react'
-import { default as optionTypes } from '../CaseCard'
-import * as Styled from './CaseCardParameters.styled'
+} from '@equinor/eds-core-react';
+import { default as optionTypes } from '../CaseCard';
+import * as Styled from './CaseCardParameters.styled';
export const CaseCardParameters = ({
label,
@@ -18,29 +18,29 @@ export const CaseCardParameters = ({
setVariogramModels,
setParameters,
}: {
- label: string
- type: string
- options: optionTypes[]
- selectedGrainSize?: optionTypes | undefined
- selectedVariogramModels?: optionTypes[] | undefined
- selectedParameters?: optionTypes[] | undefined
- setGrainSize?: React.Dispatch>
+ label: string;
+ type: string;
+ options: optionTypes[];
+ selectedGrainSize?: optionTypes | undefined;
+ selectedVariogramModels?: optionTypes[] | undefined;
+ selectedParameters?: optionTypes[] | undefined;
+ setGrainSize?: React.Dispatch>;
setVariogramModels?: React.Dispatch<
React.SetStateAction
- >
+ >;
setParameters?: React.Dispatch<
React.SetStateAction
- >
+ >;
}) => {
const onGrainSizeChange = (changes: AutocompleteChanges) => {
- setGrainSize && setGrainSize(changes.selectedItems[0])
- }
+ setGrainSize && setGrainSize(changes.selectedItems[0]);
+ };
const onModelChange = (changes: AutocompleteChanges) => {
- setVariogramModels && setVariogramModels(changes.selectedItems)
- }
+ setVariogramModels && setVariogramModels(changes.selectedItems);
+ };
const onParameterChange = (changes: AutocompleteChanges) => {
- setParameters && setParameters(changes.selectedItems)
- }
+ setParameters && setParameters(changes.selectedItems);
+ };
return (
@@ -81,5 +81,5 @@ export const CaseCardParameters = ({
type === 'parameters' &&
selectedParameters.map((s) => {s.name})}
- )
-}
+ );
+};
diff --git a/src/features/Compute/ComputeVariogram/ComputeCaseInfoActions/ComputeCaseInfoActions.styled.tsx b/src/features/Compute/ComputeVariogram/ComputeCaseInfoActions/ComputeCaseInfoActions.styled.tsx
index cd072397..504b677a 100644
--- a/src/features/Compute/ComputeVariogram/ComputeCaseInfoActions/ComputeCaseInfoActions.styled.tsx
+++ b/src/features/Compute/ComputeVariogram/ComputeCaseInfoActions/ComputeCaseInfoActions.styled.tsx
@@ -1,20 +1,20 @@
-import styled from 'styled-components'
-import { spacings } from '../../../../tokens/spacings'
+import styled from 'styled-components';
+import { spacings } from '../../../../tokens/spacings';
export const CaseOverview = styled.div`
display: flex;
flex-direction: row;
-`
+`;
export const Text = styled.div`
display: flex;
flex-direction: column;
flex: auto;
row-gap: ${spacings.MEDIUM};
-`
+`;
export const Buttons = styled.div`
display: flex;
flex-direction: row;
column-gap: ${spacings.SMALL};
align-items: end;
-`
+`;
diff --git a/src/features/Compute/ComputeVariogram/ComputeCaseInfoActions/ComputeCaseInfoActions.tsx b/src/features/Compute/ComputeVariogram/ComputeCaseInfoActions/ComputeCaseInfoActions.tsx
index 45c8682f..04ac67ef 100644
--- a/src/features/Compute/ComputeVariogram/ComputeCaseInfoActions/ComputeCaseInfoActions.tsx
+++ b/src/features/Compute/ComputeVariogram/ComputeCaseInfoActions/ComputeCaseInfoActions.tsx
@@ -1,5 +1,5 @@
-import { Button, Typography } from '@equinor/eds-core-react'
-import * as Styled from './ComputeCaseInfoActions.styled'
+import { Button, Typography } from '@equinor/eds-core-react';
+import * as Styled from './ComputeCaseInfoActions.styled';
export const ComputeCaseInfoActions = () => {
return (
@@ -15,5 +15,5 @@ export const ComputeCaseInfoActions = () => {
- )
-}
+ );
+};
diff --git a/src/features/FileUploader/FileUploader.styled.ts b/src/features/FileUploader/FileUploader.styled.ts
index 33ee1b8f..76e5de97 100644
--- a/src/features/FileUploader/FileUploader.styled.ts
+++ b/src/features/FileUploader/FileUploader.styled.ts
@@ -1,6 +1,6 @@
-import { Typography } from '@equinor/eds-core-react'
-import styled from 'styled-components'
-import { spacings } from '../../tokens/spacings'
+import { Typography } from '@equinor/eds-core-react';
+import styled from 'styled-components';
+import { spacings } from '../../tokens/spacings';
/*
Note: Hiding the input element because it is ugly,
@@ -22,12 +22,12 @@ const FileUpload = styled.label`
> input[type='file'] {
opacity: 0;
}
-`
+`;
const SelectFile = styled(Typography).attrs({ variant: 'body_short_link' })`
cursor: pointer;
font-weight: 500;
font-size: 14px;
-`
+`;
-export { FileUpload, SelectFile }
+export { FileUpload, SelectFile };
diff --git a/src/features/FileUploader/FileUploader.tsx b/src/features/FileUploader/FileUploader.tsx
index 51120a1d..2f376663 100644
--- a/src/features/FileUploader/FileUploader.tsx
+++ b/src/features/FileUploader/FileUploader.tsx
@@ -1,13 +1,13 @@
-import { Icon } from '@equinor/eds-core-react'
-import { subdirectory_arrow_right as arrowIcon } from '@equinor/eds-icons'
-import { ChangeEvent, useRef } from 'react'
-import { theme } from '../../tokens/theme'
-import { FileUpload, SelectFile } from './FileUploader.styled'
+import { Icon } from '@equinor/eds-core-react';
+import { subdirectory_arrow_right as arrowIcon } from '@equinor/eds-icons';
+import { ChangeEvent, useRef } from 'react';
+import { theme } from '../../tokens/theme';
+import { FileUpload, SelectFile } from './FileUploader.styled';
interface FileUploaderProps {
- file?: File
- onChange: (e: ChangeEvent) => void
- acceptType: 'NC' | 'INI'
+ file?: File;
+ onChange: (e: ChangeEvent) => void;
+ acceptType: 'NC' | 'INI';
}
export const FileUploader = ({
@@ -15,12 +15,12 @@ export const FileUploader = ({
onChange,
acceptType,
}: FileUploaderProps) => {
- const INI = acceptType === 'INI'
- const ref = useRef(null)
+ const INI = acceptType === 'INI';
+ const ref = useRef(null);
function handleClick(e: ChangeEvent) {
- e.preventDefault()
- ref.current?.click()
+ e.preventDefault();
+ ref.current?.click();
}
return file ? (
@@ -46,5 +46,5 @@ export const FileUploader = ({
/>
- )
-}
+ );
+};
diff --git a/src/features/Footer/Footer.styled.tsx b/src/features/Footer/Footer.styled.tsx
index 0657090f..4ba229ce 100644
--- a/src/features/Footer/Footer.styled.tsx
+++ b/src/features/Footer/Footer.styled.tsx
@@ -1,6 +1,6 @@
-import styled from 'styled-components'
-import { spacings } from '../../tokens/spacings'
-import { theme } from '../../tokens/theme'
+import styled from 'styled-components';
+import { spacings } from '../../tokens/spacings';
+import { theme } from '../../tokens/theme';
const StyledFooter = styled.footer`
height: ${spacings.XXXX_LARGE};
@@ -21,5 +21,5 @@ const StyledFooter = styled.footer`
> .footer-img {
height: ${spacings.XXX_LARGE};
}
-`
-export { StyledFooter as Footer }
+`;
+export { StyledFooter as Footer };
diff --git a/src/features/Footer/Footer.tsx b/src/features/Footer/Footer.tsx
index 927e0607..1e9a8979 100644
--- a/src/features/Footer/Footer.tsx
+++ b/src/features/Footer/Footer.tsx
@@ -1,7 +1,7 @@
-import { Typography } from '@equinor/eds-core-react'
+import { Typography } from '@equinor/eds-core-react';
-import logo from './Equinor_HORIZ_logo_RGB_RED.png'
-import * as Styled from './Footer.styled'
+import logo from './Equinor_HORIZ_logo_RGB_RED.png';
+import * as Styled from './Footer.styled';
export const Footer = ({ text }: { text: string }) => {
return (
@@ -9,5 +9,5 @@ export const Footer = ({ text }: { text: string }) => {
{text}
- )
-}
+ );
+};
diff --git a/src/features/ModelInputFilesTable/ModelInputFilesTable.tsx b/src/features/ModelInputFilesTable/ModelInputFilesTable.tsx
index f2fa739f..a48067f8 100644
--- a/src/features/ModelInputFilesTable/ModelInputFilesTable.tsx
+++ b/src/features/ModelInputFilesTable/ModelInputFilesTable.tsx
@@ -1,17 +1,17 @@
-import { Button, Table } from '@equinor/eds-core-react'
-import { delete_to_trash as deleteIcon } from '@equinor/eds-icons'
-import { ChangeEvent } from 'react'
-import IconButton from '../../components/IconButton/IconButton'
-import { FileUploader } from '../FileUploader/FileUploader'
+import { Button, Table } from '@equinor/eds-core-react';
+import { delete_to_trash as deleteIcon } from '@equinor/eds-icons';
+import { ChangeEvent } from 'react';
+import IconButton from '../../components/IconButton/IconButton';
+import { FileUploader } from '../FileUploader/FileUploader';
-type FileDisplay = { isVisible: boolean; toggle: () => void }
+type FileDisplay = { isVisible: boolean; toggle: () => void };
interface FileColumnProps {
- onChange: (e: ChangeEvent) => void
- onDelete: () => void
- INI?: true
- file?: File
- fileDisplay?: FileDisplay
+ onChange: (e: ChangeEvent) => void;
+ onDelete: () => void;
+ INI?: true;
+ file?: File;
+ fileDisplay?: FileDisplay;
}
const FileColumn = ({
@@ -23,15 +23,15 @@ const FileColumn = ({
}: FileColumnProps) => {
const DeleteButton = ({ onDelete }: { onDelete: () => void }) => (
- )
+ );
function fileSize(size: number) {
if (size < 1024) {
- return `${size} bytes`
+ return `${size} bytes`;
} else if (size >= 1024 && size < 1048576) {
- return `${(size / 1024).toFixed(1)} KB`
+ return `${(size / 1024).toFixed(1)} KB`;
} else if (size >= 1048576) {
- return `${(size / 1048576).toFixed(1)} MB`
+ return `${(size / 1048576).toFixed(1)} MB`;
}
}
@@ -54,29 +54,29 @@ const FileColumn = ({
{file ? fileSize(file.size) : '-'}
{file && }
- )
-}
+ );
+};
export const ModelInputFilesTable = ({
fileDisplay,
files,
setFiles,
}: {
- fileDisplay: FileDisplay
- files: { NC?: File; INI?: File }
+ fileDisplay: FileDisplay;
+ files: { NC?: File; INI?: File };
setFiles: React.Dispatch<
React.SetStateAction<{
- NC?: File | undefined
- INI?: File | undefined
+ NC?: File | undefined;
+ INI?: File | undefined;
}>
- >
+ >;
}) => {
function updateFileDisplay(e: ChangeEvent) {
- e.preventDefault()
- if (!e.target.files) return
- const file = e.target.files[0]
- const type = e.target.name
- setFiles({ ...files, [type]: file })
+ e.preventDefault();
+ if (!e.target.files) return;
+ const file = e.target.files[0];
+ const type = e.target.name;
+ setFiles({ ...files, [type]: file });
}
return (
@@ -104,5 +104,5 @@ export const ModelInputFilesTable = ({
/>
- )
-}
+ );
+};
diff --git a/src/features/ModelMetadata/ModelMetadata.styled.ts b/src/features/ModelMetadata/ModelMetadata.styled.ts
index e72240bf..b464be65 100644
--- a/src/features/ModelMetadata/ModelMetadata.styled.ts
+++ b/src/features/ModelMetadata/ModelMetadata.styled.ts
@@ -1,5 +1,5 @@
-import styled from 'styled-components'
-import { spacings } from '../../tokens/spacings'
+import styled from 'styled-components';
+import { spacings } from '../../tokens/spacings';
export const ModelMetadata = styled.div`
&.model-metadata {
@@ -12,4 +12,4 @@ export const ModelMetadata = styled.div`
grid-column: 1 / span 2;
}
}
-`
+`;
diff --git a/src/features/ModelMetadata/ModelMetadata.tsx b/src/features/ModelMetadata/ModelMetadata.tsx
index d9a827ed..21d3689e 100644
--- a/src/features/ModelMetadata/ModelMetadata.tsx
+++ b/src/features/ModelMetadata/ModelMetadata.tsx
@@ -1,8 +1,8 @@
-import { Autocomplete, TextField, Typography } from '@equinor/eds-core-react'
-import * as Styled from './ModelMetadata.styled'
+import { Autocomplete, TextField, Typography } from '@equinor/eds-core-react';
+import * as Styled from './ModelMetadata.styled';
export const ModelMetadata = () => {
- const fields = [{ name: 'Tor' }]
+ const fields = [{ name: 'Tor' }];
return (
Description and metadata
@@ -17,5 +17,5 @@ export const ModelMetadata = () => {
- )
-}
+ );
+};
diff --git a/src/features/ModelView/ModelMetadataView/ModelMetadataView.tsx b/src/features/ModelView/ModelMetadataView/ModelMetadataView.tsx
index 63d15722..46364fd5 100644
--- a/src/features/ModelView/ModelMetadataView/ModelMetadataView.tsx
+++ b/src/features/ModelView/ModelMetadataView/ModelMetadataView.tsx
@@ -1,12 +1,15 @@
-import { Button, Table, Typography } from '@equinor/eds-core-react'
-import { useParams } from 'react-router-dom'
-import { useAnalogueModels } from '../../../hooks/useAnalogueModels'
+import { Button, Table, Typography } from '@equinor/eds-core-react';
+import { useParams } from 'react-router-dom';
+import { AnalogueModelsService } from '../../../api/generated/services/AnalogueModelsService';
+import { useQuery } from '@tanstack/react-query';
export const ModelMetadataView = () => {
- const { id } = useParams()
- const { model } = useAnalogueModels(id)
-
- if (!model) return Loading ...
+ const { id } = useParams();
+ const { isLoading, data } = useQuery({
+ queryKey: ['analogue-models', id],
+ queryFn: () => AnalogueModelsService.getApiAnalogueModels1(id as string),
+ });
+ if (isLoading || !data?.success) return Loading ...
;
// TODO
// Map rows to model data
@@ -14,9 +17,9 @@ export const ModelMetadataView = () => {
return (
Description and metadata
- {model.description && (
+ {data.data.description && (
- {model.description}
+ {data.data.description}
** Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas
@@ -62,5 +65,5 @@ export const ModelMetadataView = () => {
Edit description and metadata
- )
-}
+ );
+};
diff --git a/src/features/ModelView/ModelNameFrame/ModelNameFrame.styled.tsx b/src/features/ModelView/ModelNameFrame/ModelNameFrame.styled.tsx
index 09077eef..e96dd3e7 100644
--- a/src/features/ModelView/ModelNameFrame/ModelNameFrame.styled.tsx
+++ b/src/features/ModelView/ModelNameFrame/ModelNameFrame.styled.tsx
@@ -1,6 +1,6 @@
-import styled from 'styled-components'
-import { spacings } from '../../../tokens/spacings'
-import { theme } from '../../../tokens/theme'
+import styled from 'styled-components';
+import { spacings } from '../../../tokens/spacings';
+import { theme } from '../../../tokens/theme';
export const NameFrame = styled.div`
width: 100%;
@@ -12,4 +12,4 @@ export const NameFrame = styled.div`
padding: 0 ${spacings.X_LARGE};
font-weight: normal;
}
-`
+`;
diff --git a/src/features/ModelView/ModelNameFrame/ModelNameFrame.tsx b/src/features/ModelView/ModelNameFrame/ModelNameFrame.tsx
index df7bb520..d2f91148 100644
--- a/src/features/ModelView/ModelNameFrame/ModelNameFrame.tsx
+++ b/src/features/ModelView/ModelNameFrame/ModelNameFrame.tsx
@@ -1,9 +1,10 @@
-import * as Styled from './ModelNameFrame.styled'
+import { AnalogueModelDetail } from '../../../api/generated';
+import * as Styled from './ModelNameFrame.styled';
-export const ModelNameFrame = ({ model }: { model: AnalogueModel }) => {
+export const ModelNameFrame = ({ model }: { model: AnalogueModelDetail }) => {
return (
{model.name}
- )
-}
+ );
+};
diff --git a/src/features/ModelView/ModelNavigationBar/ModelNavigationBar.styled.tsx b/src/features/ModelView/ModelNavigationBar/ModelNavigationBar.styled.tsx
index 896ad4cb..cc466494 100644
--- a/src/features/ModelView/ModelNavigationBar/ModelNavigationBar.styled.tsx
+++ b/src/features/ModelView/ModelNavigationBar/ModelNavigationBar.styled.tsx
@@ -1,14 +1,14 @@
-import { SideBar } from '@equinor/eds-core-react'
-import styled from 'styled-components'
-import { spacings } from '../../../tokens/spacings'
-import { theme } from '../../../tokens/theme'
+import { SideBar } from '@equinor/eds-core-react';
+import styled from 'styled-components';
+import { spacings } from '../../../tokens/spacings';
+import { theme } from '../../../tokens/theme';
export const StyledSidebarContent = styled(SideBar.Content)`
padding-top: ${spacings.MEDIUM};
> a {
border-bottom: none;
}
-`
+`;
export const StyledSidebarLink = styled(SideBar.Link)`
&.activeTab {
@@ -21,7 +21,7 @@ export const StyledSidebarLink = styled(SideBar.Link)`
fill: ${theme.light.primary.resting};
}
}
-`
+`;
export const StyledAccordionItem = styled(SideBar.AccordionItem)`
> div {
@@ -48,10 +48,10 @@ export const StyledAccordionItem = styled(SideBar.AccordionItem)`
}
}
}
-`
+`;
export {
StyledAccordionItem as AccordionItem,
StyledSidebarContent as SidebarContent,
StyledSidebarLink as SidebarLink,
-}
+};
diff --git a/src/features/ModelView/ModelNavigationBar/ModelNavigationBar.tsx b/src/features/ModelView/ModelNavigationBar/ModelNavigationBar.tsx
index be01dcc3..bcf42d9f 100644
--- a/src/features/ModelView/ModelNavigationBar/ModelNavigationBar.tsx
+++ b/src/features/ModelView/ModelNavigationBar/ModelNavigationBar.tsx
@@ -1,28 +1,28 @@
/* eslint-disable max-lines-per-function */
-import { SideBar, SidebarLinkProps } from '@equinor/eds-core-react'
+import { SideBar, SidebarLinkProps } from '@equinor/eds-core-react';
import {
IconData,
// eslint-disable-next-line sort-imports
approve,
format_list_bulleted as formatListBullet,
settings,
-} from '@equinor/eds-icons'
-import { useLocation } from 'react-router-dom'
-import * as Styled from './ModelNavigationBar.styled'
+} from '@equinor/eds-icons';
+import { useLocation } from 'react-router-dom';
+import * as Styled from './ModelNavigationBar.styled';
type MenuItems = SidebarLinkProps & {
subItems?: Array<{
- label: string
- name: string
- href: string
- icon: IconData
- }>
-}
+ label: string;
+ name: string;
+ href: string;
+ icon: IconData;
+ }>;
+};
export const ModelNavigationBar = () => {
- const location = useLocation()
- const tab = location.pathname.split('/')
- const path = tab[tab.length - 1]
+ const location = useLocation();
+ const tab = location.pathname.split('/');
+ const path = tab[tab.length - 1];
const menuItems: SidebarLinkProps[] = [
{
@@ -37,7 +37,7 @@ export const ModelNavigationBar = () => {
href: 'results',
active: false,
},
- ]
+ ];
const sidebarCompute: MenuItems = {
label: 'Compute',
@@ -57,7 +57,7 @@ export const ModelNavigationBar = () => {
icon: settings,
},
],
- }
+ };
return (
@@ -94,5 +94,5 @@ export const ModelNavigationBar = () => {
>
- )
-}
+ );
+};
diff --git a/src/features/ModelView/ModelSourceView/ModelSourceView.tsx b/src/features/ModelView/ModelSourceView/ModelSourceView.tsx
index 4c49ba9b..3df1289a 100644
--- a/src/features/ModelView/ModelSourceView/ModelSourceView.tsx
+++ b/src/features/ModelView/ModelSourceView/ModelSourceView.tsx
@@ -1,16 +1,19 @@
-import { Table, Typography } from '@equinor/eds-core-react'
-import { useParams } from 'react-router-dom'
-import { useAnalogueModels } from '../../../hooks/useAnalogueModels'
+import { Table, Typography } from '@equinor/eds-core-react';
+import { useParams } from 'react-router-dom';
+import { AnalogueModelsService } from '../../../api/generated';
+import { useQuery } from '@tanstack/react-query';
export const ModelSourceView = () => {
- const { id } = useParams()
- const { model } = useAnalogueModels(id)
+ const { id } = useParams();
+ const { isLoading, data } = useQuery({
+ queryKey: ['analogue-models', id],
+ queryFn: () => AnalogueModelsService.getApiAnalogueModels1(id as string),
+ });
- if (!model) return Loading ...
+ if (isLoading || !data?.success) return Loading ...
;
// TODO
// Add uploaded by and upload time
-
return (
Source
@@ -25,9 +28,9 @@ export const ModelSourceView = () => {
- {model.fileUploads?.length === undefined ||
- model.fileUploads?.length > 0 ? (
- model.fileUploads?.map((file: any) => (
+ {data.data.fileUploads?.length === undefined ||
+ data.data.fileUploads?.length > 0 ? (
+ data.data.fileUploads?.map((file: any) => (
{file.originalFileName}
@@ -44,5 +47,5 @@ export const ModelSourceView = () => {
- )
-}
+ );
+};
diff --git a/src/features/ModelView/ModelView.styled.tsx b/src/features/ModelView/ModelView.styled.tsx
index ec2c8c9c..3359da93 100644
--- a/src/features/ModelView/ModelView.styled.tsx
+++ b/src/features/ModelView/ModelView.styled.tsx
@@ -1,5 +1,5 @@
-import styled from 'styled-components'
-import { spacings } from '../../tokens/spacings'
+import styled from 'styled-components';
+import { spacings } from '../../tokens/spacings';
export const MetadataWrapper = styled.div`
display: flex;
@@ -15,7 +15,7 @@ export const MetadataWrapper = styled.div`
@media (max-width: 1350px) {
flex-direction: column;
}
-`
+`;
export const InnerMetadataWrapper = styled.div`
display: flex;
flex-direction: column;
@@ -71,4 +71,4 @@ export const InnerMetadataWrapper = styled.div`
}
}
}
-`
+`;
diff --git a/src/features/ModelView/ModelView.tsx b/src/features/ModelView/ModelView.tsx
index 43d455ff..9a030484 100644
--- a/src/features/ModelView/ModelView.tsx
+++ b/src/features/ModelView/ModelView.tsx
@@ -1,8 +1,8 @@
-import { ImageView } from '../../components/ImageView/ImageView'
-import { ModelMetadataView } from '../../features/ModelView/ModelMetadataView/ModelMetadataView'
-import { ModelSourceView } from '../../features/ModelView/ModelSourceView/ModelSourceView'
-import * as Styled from './ModelView.styled'
-import Img from './image.png'
+import { ImageView } from '../../components/ImageView/ImageView';
+import { ModelMetadataView } from '../../features/ModelView/ModelMetadataView/ModelMetadataView';
+import { ModelSourceView } from '../../features/ModelView/ModelSourceView/ModelSourceView';
+import * as Styled from './ModelView.styled';
+import Img from './image.png';
export const ModelView = () => {
return (
@@ -17,5 +17,5 @@ export const ModelView = () => {
altText="Model placeholder image"
/>
- )
-}
+ );
+};
diff --git a/src/hooks/useAccessToken.tsx b/src/hooks/useAccessToken.tsx
index 204bece6..89f6e9c7 100644
--- a/src/hooks/useAccessToken.tsx
+++ b/src/hooks/useAccessToken.tsx
@@ -1,16 +1,18 @@
-import { useMsal } from '@azure/msal-react'
-import { useEffect, useState } from 'react'
-import { loginRequest } from '../auth/authConfig'
+import { useEffect, useState } from 'react';
+import { loginRequest } from '../auth/authConfig';
+import { AccountInfo, IPublicClientApplication } from '@azure/msal-browser';
-export const useAccessToken = () => {
- const { instance, accounts } = useMsal()
- const [accessToken, setAccessToken] = useState(undefined)
+export const useAccessToken = (
+ instance: IPublicClientApplication,
+ activeAccount: AccountInfo,
+) => {
+ const [accessToken, setAccessToken] = useState(undefined);
useEffect(() => {
const request = {
...loginRequest,
- account: accounts[0],
- }
+ account: activeAccount,
+ };
async function fetchAccessToken() {
return instance
@@ -19,14 +21,14 @@ export const useAccessToken = () => {
.catch(() =>
instance
.acquireTokenPopup(request)
- .then((response) => response.accessToken)
- )
+ .then((response) => response.accessToken),
+ );
}
if (!accessToken) {
- fetchAccessToken().then((token) => setAccessToken(token))
+ fetchAccessToken().then((token) => setAccessToken(token));
}
- }, [accessToken, accounts, instance])
+ }, [accessToken, activeAccount, instance]);
- return accessToken
-}
+ return accessToken;
+};
diff --git a/src/hooks/useAnalogueModels.tsx b/src/hooks/useAnalogueModels.tsx
deleted file mode 100644
index e0e67b43..00000000
--- a/src/hooks/useAnalogueModels.tsx
+++ /dev/null
@@ -1,70 +0,0 @@
-import { useQuery } from '@tanstack/react-query'
-import axios from 'axios'
-import type { ParamsOption, RequestBodyOption } from 'openapi-fetch'
-import { useApiClient } from '../context/ApiClientProvider'
-import { paths } from '../models/schema'
-import { useAccessToken } from './useAccessToken'
-
-type UseQueryOptions = ParamsOption &
- RequestBodyOption & {
- // custom options
- params?: { path: { id: string } }
- }
-
-const ANALOGUEMODELS_KEY = '/api/analogue-models'
-const NC_FILE_KEY = '/api/analogue-models/{id}/input-models'
-
-export function useAnalogueModels(id?: string) {
- const apiClient = useApiClient()
- const token = useAccessToken()
- const headers = new Headers({ Authorization: `Bearer ${token}` })
-
- async function fetchModels(): AnalogueModelResponse {
- const { data } = await apiClient.GET(ANALOGUEMODELS_KEY, {
- headers: headers,
- })
- return data
- }
-
- async function createModel({
- body,
- }: UseQueryOptions) {
- const { data } = await apiClient.POST(ANALOGUEMODELS_KEY, {
- body,
- headers: headers,
- })
- return data
- }
-
- async function uploadNCFile(modelId: string, file: File) {
- axios.defaults.baseURL = process.env.REACT_APP_BACKEND_ENV
- const form = new FormData()
- form.append('file', file)
- const { data } = await axios.post(
- NC_FILE_KEY.replace('{id}', modelId),
- form,
- {
- headers: {
- Authorization: `Bearer ${token}`,
- 'Content-Type': 'multipart/form-data',
- },
- }
- )
- return data
- }
-
- const models = useQuery(['models', token], fetchModels, { enabled: !!token })
- // TODO: might want to add queryFn to this:
- const model: AnalogueModel = useQuery([
- 'models',
- token,
- { analogueModelId: id },
- ])
-
- return {
- model,
- createModel,
- models,
- uploadNCFile,
- }
-}
diff --git a/src/index.tsx b/src/index.tsx
index c6ab502a..cf733975 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,30 +1,30 @@
-import { MsalProvider } from '@azure/msal-react'
-import { QueryClientProvider } from '@tanstack/react-query'
-import React from 'react'
-import ReactDOM from 'react-dom/client'
-import { RouterProvider } from 'react-router-dom'
-import { apiClient } from './auth/apiClient'
-import { msalInstance } from './auth/msalClient'
-import { queryClient } from './auth/queryClient'
-import { ApiClientProvider } from './context/ApiClientProvider'
-import './index.css'
-import reportWebVitals from './reportWebVitals'
-import { router } from './router'
+import { MsalProvider } from '@azure/msal-react';
+import { QueryClientProvider } from '@tanstack/react-query';
+import React from 'react';
+import ReactDOM from 'react-dom/client';
+import { RouterProvider } from 'react-router-dom';
+import { msalInstance } from './auth/msalClient';
+import { queryClient } from './auth/queryClient';
+import './index.css';
+import reportWebVitals from './reportWebVitals';
+import { router } from './router';
+import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
-const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement)
+const root = ReactDOM.createRoot(
+ document.getElementById('root') as HTMLElement,
+);
root.render(
-
-
-
-
-
+
+
+
+
-
-)
+ ,
+);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
-reportWebVitals()
+reportWebVitals();
diff --git a/src/models/schema.d.ts b/src/models/schema.d.ts
deleted file mode 100644
index cb268bfc..00000000
--- a/src/models/schema.d.ts
+++ /dev/null
@@ -1,966 +0,0 @@
-/**
- * This file was auto-generated by openapi-typescript.
- * Do not make direct changes to the file.
- */
-
-
-export interface paths {
- "/api/analogue-models/{id}/parameters": {
- post: {
- parameters: {
- path: {
- id: string;
- };
- };
- requestBody?: {
- content: {
- "application/json-patch+json": components["schemas"]["AddAnalogueModelParameterCommandForm"];
- "application/json": components["schemas"]["AddAnalogueModelParameterCommandForm"];
- "text/json": components["schemas"]["AddAnalogueModelParameterCommandForm"];
- "application/*+json": components["schemas"]["AddAnalogueModelParameterCommandForm"];
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["AddAnalogueModelParameterCommandResponse"];
- };
- };
- };
- };
- };
- "/api/analogue-models": {
- /** Get a list of all AnalogueModels */
- get: {
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetAnalogueModelListQueryResponse"];
- };
- };
- };
- };
- /** Create new Analogue Model */
- post: {
- requestBody?: {
- content: {
- "application/json-patch+json": components["schemas"]["CreateAnalogueModelCommand"];
- "application/json": components["schemas"]["CreateAnalogueModelCommand"];
- "text/json": components["schemas"]["CreateAnalogueModelCommand"];
- "application/*+json": components["schemas"]["CreateAnalogueModelCommand"];
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["CreateAnalogueModelCommandResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- };
- };
- };
- "/api/analogue-models/{id}": {
- /** Get AnalogueModel by id */
- get: {
- parameters: {
- path: {
- id: string;
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetAnalogueModelQueryResponse"];
- };
- };
- };
- };
- /** Update AnalogueModel by Id */
- put: {
- parameters: {
- path: {
- id: string;
- };
- };
- requestBody?: {
- content: {
- "application/json-patch+json": components["schemas"]["UpdateAnalogueModelCommandBody"];
- "application/json": components["schemas"]["UpdateAnalogueModelCommandBody"];
- "text/json": components["schemas"]["UpdateAnalogueModelCommandBody"];
- "application/*+json": components["schemas"]["UpdateAnalogueModelCommandBody"];
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["UpdateAnalogueModelCommandResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- };
- };
- /** Delete a AnalogueModel by id */
- delete: {
- parameters: {
- path: {
- id: string;
- };
- };
- responses: {
- /** @description No Content */
- 204: never;
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- };
- };
- /** Patch a AnalogueModel by Id with new values */
- patch: {
- parameters: {
- path: {
- id: string;
- };
- };
- requestBody?: {
- content: {
- "application/json-patch+json": components["schemas"]["Operation"][];
- "application/json": components["schemas"]["Operation"][];
- "text/json": components["schemas"]["Operation"][];
- "application/*+json": components["schemas"]["Operation"][];
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["PatchAnalogueModelCommandResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- "application/xml": components["schemas"]["ErrorResponse"];
- };
- };
- };
- };
- };
- "/api/analogue-models/{id}/input-models": {
- /** Upload model files that later can be converted to PEPM models. */
- post: {
- parameters: {
- path: {
- id: string;
- };
- };
- requestBody?: {
- content: {
- "multipart/form-data": {
- /** Format: binary */
- File?: string;
- FileType?: components["schemas"]["UploadFileType"];
- };
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["UploadAnalogueModelCommandResponse"];
- "application/xml": components["schemas"]["UploadAnalogueModelCommandResponse"];
- };
- };
- };
- };
- };
- "/api/analogue-models/{id}/netcdf-models": {
- /** Upload NetCDF model files that later can be converted to PEPM models. */
- post: {
- parameters: {
- path: {
- id: string;
- };
- };
- requestBody?: {
- content: {
- "multipart/form-data": {
- /** Format: binary */
- file?: string;
- };
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["UploadAnalogueModelCommandResponse"];
- "application/xml": components["schemas"]["UploadAnalogueModelCommandResponse"];
- };
- };
- };
- };
- };
- "/api/analogues": {
- get: {
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetAnalogueListQueryResponse"];
- };
- };
- };
- };
- post: {
- requestBody?: {
- content: {
- "application/json-patch+json": components["schemas"]["CreateAnalogueCommand"];
- "application/json": components["schemas"]["CreateAnalogueCommand"];
- "text/json": components["schemas"]["CreateAnalogueCommand"];
- "application/*+json": components["schemas"]["CreateAnalogueCommand"];
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["CreateAnalogueCommandResponse"];
- };
- };
- };
- };
- };
- "/api/jobs": {
- get: {
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetJobListQueryResponse"];
- };
- };
- };
- };
- };
- "/api/jobs/{id}": {
- get: {
- parameters: {
- path: {
- id: string;
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetJobDetailQueryResponse"];
- };
- };
- };
- };
- };
- "/api/jobs/{id}/status": {
- /** Get current job status for job. This will fetch current status from underlying compute engine and update the status for the supplied Job Id. */
- get: {
- parameters: {
- path: {
- id: string;
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetCurrentJobStatusCommandResponse"];
- };
- };
- };
- };
- };
- "/api/jobs/status": {
- /** Get current job status for all jobs. This will fetch current status from underlying compute engine and update the status for all matching Jobs. */
- get: {
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetCurrentJobStatusListCommand"];
- };
- };
- };
- };
- /** Update current job status for job. This will fetch current status from underlying compute engine and update the status for the supplied Job Name. */
- post: {
- requestBody?: {
- content: {
- "application/json-patch+json": components["schemas"]["UpdateJobStatusCommand"];
- "application/json": components["schemas"]["UpdateJobStatusCommand"];
- "text/json": components["schemas"]["UpdateJobStatusCommand"];
- "application/*+json": components["schemas"]["UpdateJobStatusCommand"];
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["ConvertAnalogueModelCommandResponse"];
- };
- };
- };
- };
- };
- "/api/jobs/modelconversions": {
- /** Convert AnalogueModels to the internal format used by PEPM in order to perform calculations. */
- post: {
- requestBody?: {
- content: {
- "application/json-patch+json": components["schemas"]["ConvertAnalogueModelCommand"];
- "application/json": components["schemas"]["ConvertAnalogueModelCommand"];
- "text/json": components["schemas"]["ConvertAnalogueModelCommand"];
- "application/*+json": components["schemas"]["ConvertAnalogueModelCommand"];
- };
- };
- responses: {
- /** @description Accepted */
- 202: never;
- };
- };
- };
- "/api/parameters": {
- /** Get a list of all Parameters */
- get: {
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetParameterListQueryResponse"];
- };
- };
- };
- };
- /** Create new Parameter */
- post: {
- requestBody?: {
- content: {
- "application/json-patch+json": components["schemas"]["CreateParameterCommand"];
- "application/json": components["schemas"]["CreateParameterCommand"];
- "text/json": components["schemas"]["CreateParameterCommand"];
- "application/*+json": components["schemas"]["CreateParameterCommand"];
- };
- };
- responses: {
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- };
- };
- };
- "/api/parameters/{id}": {
- /** Get Parameter details by Id */
- get: {
- parameters: {
- path: {
- id: string;
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetParameterDetailQueryResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- };
- };
- /** Update Parameter by Id */
- put: {
- parameters: {
- path: {
- id: string;
- };
- };
- requestBody?: {
- content: {
- "application/json-patch+json": components["schemas"]["UpdateParameterCommandBody"];
- "application/json": components["schemas"]["UpdateParameterCommandBody"];
- "text/json": components["schemas"]["UpdateParameterCommandBody"];
- "application/*+json": components["schemas"]["UpdateParameterCommandBody"];
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["UpdateParameterCommandResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- };
- };
- /** Delete a parameter by id */
- delete: {
- parameters: {
- path: {
- id: string;
- };
- };
- responses: {
- /** @description No Content */
- 204: never;
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- };
- };
- /** Patch a Parameter by Id with new values */
- patch: {
- parameters: {
- path: {
- id: string;
- };
- };
- requestBody?: {
- content: {
- "application/json-patch+json": components["schemas"]["Operation"][];
- "application/json": components["schemas"]["Operation"][];
- "text/json": components["schemas"]["Operation"][];
- "application/*+json": components["schemas"]["Operation"][];
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["PatchParameterCommandResponse"];
- };
- };
- /** @description Bad Request */
- 400: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- /** @description Not Found */
- 404: {
- content: {
- "application/json": components["schemas"]["ErrorResponse"];
- };
- };
- };
- };
- };
- "/api/uploads": {
- get: {
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetUploadListQueryResponse"];
- };
- };
- };
- };
- };
- "/api/uploads/{id}": {
- get: {
- parameters: {
- path: {
- id: string;
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["GetUploadDetailQueryResponse"];
- };
- };
- };
- };
- };
- "/api/uploads/models": {
- /** Upload model files that is converted to PEPM models. */
- post: {
- requestBody?: {
- content: {
- "multipart/form-data": {
- /** Format: uuid */
- ModelId?: string;
- /** Format: binary */
- File?: string;
- FileType?: components["schemas"]["UploadFileType"];
- };
- };
- };
- responses: {
- /** @description Success */
- 200: {
- content: {
- "application/json": components["schemas"]["UploadAnalogueModelCommandResponse"];
- };
- };
- };
- };
- };
-}
-
-export type webhooks = Record;
-
-export interface components {
- schemas: {
- AddAnalogueModelParameterCommandForm: {
- parameters?: components["schemas"]["AddParameterDto"][] | null;
- };
- AddAnalogueModelParameterCommandResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["AddAnalogueModelParameterDto"];
- };
- AddAnalogueModelParameterDto: {
- /** Format: uuid */
- analogueModelId?: string;
- name?: string | null;
- description?: string | null;
- sourceType?: string | null;
- parameters?: components["schemas"]["AddParameterDto"][] | null;
- };
- AddParameterDto: {
- /** Format: uuid */
- parameterId?: string;
- parameterValue?: string | null;
- };
- AnalogueList: {
- /** Format: uuid */
- analogueId?: string;
- name?: string | null;
- description?: string | null;
- };
- AnalogueModelDetail: {
- /** Format: uuid */
- analogueModelId?: string;
- name?: string | null;
- description?: string | null;
- isProcessed?: boolean;
- sourceType?: components["schemas"]["AnalogueModelSourceType"];
- analogues?: components["schemas"]["AnalogueList"][] | null;
- fileUploads?: components["schemas"]["UploadList"][] | null;
- };
- AnalogueModelList: {
- /** Format: uuid */
- analogueModelId?: string;
- name?: string | null;
- description?: string | null;
- isProcessed?: boolean;
- sourceType?: components["schemas"]["AnalogueModelSourceType"];
- };
- /** @enum {string} */
- AnalogueModelSourceType: "Deltares" | "ResQML";
- ConvertAnalogueModelCommand: {
- /** Format: uuid */
- modelId?: string;
- };
- ConvertAnalogueModelCommandResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["ConvertAnalogueModelDto"];
- };
- ConvertAnalogueModelDto: {
- /** Format: uuid */
- jobId?: string;
- name?: string | null;
- jobStatus?: components["schemas"]["JobStatus"];
- jobType?: components["schemas"]["JobType"];
- };
- CreateAnalogueCommand: {
- name?: string | null;
- description?: string | null;
- };
- CreateAnalogueCommandResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["CreateAnalogueDto"];
- };
- CreateAnalogueDto: {
- /** Format: uuid */
- analogueId?: string;
- name?: string | null;
- description?: string | null;
- };
- CreateAnalogueModelCommand: {
- name?: string | null;
- description?: string | null;
- sourceType?: string | null;
- };
- CreateAnalogueModelCommandResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["CreateAnalogueModelDto"];
- };
- CreateAnalogueModelDto: {
- /** Format: uuid */
- analogueModelId?: string;
- name?: string | null;
- description?: string | null;
- };
- CreateParameterCommand: {
- identifier?: string | null;
- name?: string | null;
- description?: string | null;
- };
- ErrorResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: string;
- };
- GetAnalogueListQueryResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["AnalogueList"][];
- };
- GetAnalogueModelListQueryResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["AnalogueModelList"][];
- };
- GetAnalogueModelQueryResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["AnalogueModelDetail"];
- };
- GetCurrentJobStatusCommandResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["GetCurrentJobStatusDto"];
- };
- GetCurrentJobStatusDto: {
- /** Format: uuid */
- jobId?: string;
- name?: string | null;
- jobStatus?: components["schemas"]["JobStatus"];
- jobType?: components["schemas"]["JobType"];
- };
- GetCurrentJobStatusListCommand: Record;
- GetJobDetailQueryResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["JobDetail"];
- };
- GetJobListQueryResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["JobList"][];
- };
- GetParameterDetailQueryResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["ParameterDetail"];
- };
- GetParameterListQueryResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["ParameterList"][];
- };
- GetUploadDetailQueryResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["UploadDetail"];
- };
- GetUploadListQueryResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["UploadList"][];
- };
- JobDetail: {
- /** Format: uuid */
- jobId?: string;
- name?: string | null;
- jobStatus?: components["schemas"]["JobStatus"];
- jobType?: components["schemas"]["JobType"];
- };
- JobList: {
- /** Format: uuid */
- jobId?: string;
- name?: string | null;
- jobStatus?: components["schemas"]["JobStatus"];
- jobType?: components["schemas"]["JobType"];
- /** Format: date-time */
- updated?: string;
- uploads?: components["schemas"]["JobListUploadsDto"][] | null;
- };
- JobListUploadsDto: {
- /** Format: uuid */
- uploadId?: string;
- uploadStatus?: components["schemas"]["UploadStatus"];
- uploadFileType?: components["schemas"]["UploadFileType"];
- };
- /** @enum {string} */
- JobStatus: "Unknown" | "Created" | "Started" | "Running" | "Successful" | "Succeeded" | "Failed";
- /** @enum {string} */
- JobType: "Nrresqml" | "Nrchannel" | "Nrvariogram";
- Operation: {
- operationType?: components["schemas"]["OperationType"];
- path?: string | null;
- op?: string | null;
- from?: string | null;
- value?: Record | null;
- };
- /** @enum {string} */
- OperationType: "Add" | "Remove" | "Replace" | "Move" | "Copy" | "Test" | "Invalid";
- ParameterDetail: {
- /** Format: uuid */
- parameterId?: string;
- identifier?: string | null;
- name?: string | null;
- description?: string | null;
- };
- ParameterList: {
- /** Format: uuid */
- parameterId?: string;
- identifier?: string | null;
- name?: string | null;
- description?: string | null;
- };
- PatchAnalogueModelCommandResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["PatchAnalogueModelDto"];
- };
- PatchAnalogueModelDto: {
- /** Format: uuid */
- analogueModelId?: string;
- name?: string | null;
- description?: string | null;
- };
- PatchParameterCommandResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["PatchParameterDto"];
- };
- PatchParameterDto: {
- /** Format: uuid */
- parameterId?: string;
- identifier?: string | null;
- name?: string | null;
- description?: string | null;
- };
- UpdateAnalogueModelCommandBody: {
- name?: string | null;
- description?: string | null;
- sourceType?: string | null;
- };
- UpdateAnalogueModelCommandResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["UpdateAnalogueModelDto"];
- };
- UpdateAnalogueModelDto: {
- /** Format: uuid */
- analogueModelId?: string;
- name?: string | null;
- description?: string | null;
- sourceType?: string | null;
- };
- UpdateJobStatusCommand: {
- name?: string | null;
- started?: string | null;
- ended?: string | null;
- status?: string | null;
- };
- UpdateParameterCommandBody: {
- identifier?: string | null;
- name?: string | null;
- description?: string | null;
- };
- UpdateParameterCommandResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["UpdateParameterDto"];
- };
- UpdateParameterDto: {
- /** Format: uuid */
- parameterId?: string;
- identifier?: string | null;
- name?: string | null;
- description?: string | null;
- };
- UploadAnalogueModelCommandResponse: {
- success?: boolean;
- /** Format: int32 */
- count?: number | null;
- message?: string | null;
- validationErrors?: string[] | null;
- data: components["schemas"]["UploadAnalogueModelDto"];
- };
- UploadAnalogueModelDto: {
- /** Format: uuid */
- uploadId?: string;
- uploadStatus?: components["schemas"]["UploadStatus"];
- processed?: boolean;
- };
- UploadDetail: {
- /** Format: uuid */
- uploadId?: string;
- originalFileName?: string | null;
- uploadStatus?: components["schemas"]["UploadStatus"];
- uploadFileType?: components["schemas"]["UploadFileType"];
- uploadFileCategory?: components["schemas"]["UploadFileCategory"];
- processed?: boolean;
- };
- /** @enum {string} */
- UploadFileCategory: "InputModel" | "InputMetadata" | "ResQmlModel";
- /** @enum {string} */
- UploadFileType: "NetCDF" | "ResQMLEpc" | "ResQMLData";
- UploadList: {
- /** Format: uuid */
- uploadId?: string;
- /** Format: uuid */
- analogueModelId?: string;
- originalFileName?: string | null;
- uploadStatus?: components["schemas"]["UploadStatus"];
- uploadFileType?: components["schemas"]["UploadFileType"];
- uploadFileCategory?: components["schemas"]["UploadFileCategory"];
- processed?: boolean;
- };
- /** @enum {string} */
- UploadStatus: "Started" | "ReadyForProcessing" | "Processing" | "Processed" | "Failed";
- };
- responses: never;
- parameters: never;
- requestBodies: never;
- headers: never;
- pathItems: never;
-}
-
-export type external = Record;
-
-export type operations = Record;
diff --git a/src/models/types.d.ts b/src/models/types.d.ts
deleted file mode 100644
index e003e2e7..00000000
--- a/src/models/types.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-type AnalogueModel = Partial<
- components['schemas']['GetAnalogueModelQueryResponse']
->
-
-type AnalogueModelResponse = AnalogueModel['data']
diff --git a/src/pages/About/About.tsx b/src/pages/About/About.tsx
index c8510459..cbf68e47 100644
--- a/src/pages/About/About.tsx
+++ b/src/pages/About/About.tsx
@@ -1,5 +1,5 @@
-import { Typography } from '@equinor/eds-core-react'
-import { InfoPageComponent } from '../../components/InfoPageComponent/InfoPageComponent'
+import { Typography } from '@equinor/eds-core-react';
+import { InfoPageComponent } from '../../components/InfoPageComponent/InfoPageComponent';
export const About = () => {
return (
@@ -29,5 +29,5 @@ export const About = () => {
sword.
- )
-}
+ );
+};
diff --git a/src/pages/Api/Api.tsx b/src/pages/Api/Api.tsx
index 9a5ef97c..dae4186d 100644
--- a/src/pages/Api/Api.tsx
+++ b/src/pages/Api/Api.tsx
@@ -1,6 +1,6 @@
-import { Icon, Typography } from '@equinor/eds-core-react'
-import { external_link as externalLink } from '@equinor/eds-icons'
-import { InfoPageComponent } from '../../components/InfoPageComponent/InfoPageComponent'
+import { Icon, Typography } from '@equinor/eds-core-react';
+import { external_link as externalLink } from '@equinor/eds-icons';
+import { InfoPageComponent } from '../../components/InfoPageComponent/InfoPageComponent';
export const Api = () => {
return (
@@ -11,5 +11,5 @@ export const Api = () => {
- )
-}
+ );
+};
diff --git a/src/pages/Browse/Browse.styled.tsx b/src/pages/Browse/Browse.styled.tsx
index e689a410..e6ae564e 100644
--- a/src/pages/Browse/Browse.styled.tsx
+++ b/src/pages/Browse/Browse.styled.tsx
@@ -1,5 +1,5 @@
-import styled from 'styled-components'
-import { spacings } from '../../tokens/spacings'
+import styled from 'styled-components';
+import { spacings } from '../../tokens/spacings';
export const BrowseWrapper = styled.div`
column-gap: ${spacings.X_LARGE};
@@ -15,4 +15,4 @@ export const BrowseWrapper = styled.div`
margin-right: 50px;
}
}
-`
+`;
diff --git a/src/pages/Browse/Browse.tsx b/src/pages/Browse/Browse.tsx
index 15bd5faa..3502fc17 100644
--- a/src/pages/Browse/Browse.tsx
+++ b/src/pages/Browse/Browse.tsx
@@ -1,9 +1,15 @@
-import { Button, Snackbar, Typography } from '@equinor/eds-core-react'
-import { useState } from 'react'
-import { Table } from '../../components/Table'
-import { AddModelDialog } from '../../features/AddModelDialog/AddModelDialog'
-import { useAnalogueModels } from '../../hooks/useAnalogueModels'
-import * as Styled from './Browse.styled'
+/* tslint:disable */
+/* eslint-disable */
+import { Button, Snackbar, Typography } from '@equinor/eds-core-react';
+import { useState } from 'react';
+import { Table } from '../../components/Table';
+import { AddModelDialog } from '../../features/AddModelDialog/AddModelDialog';
+import * as Styled from './Browse.styled';
+import { useMutation } from '@tanstack/react-query';
+import {
+ AnalogueModelsService,
+ CreateAnalogueModelCommand,
+} from '../../api/generated';
enum UploadProcess {
STARTED = 'We are uploading your new model. Please keep this browser tab open.',
@@ -12,39 +18,49 @@ enum UploadProcess {
}
export const Browse = () => {
- const { createModel, uploadNCFile } = useAnalogueModels()
- const [isAddModelDialog, setAddModelDialog] = useState(false)
- const [uploadStatus, setUploadStatus] = useState()
+ const createModel = (input: CreateAnalogueModelCommand) =>
+ useMutation({
+ mutationFn: () => AnalogueModelsService.postApiAnalogueModels(input),
+ });
+
+ const uploadNCFile = (id: string, file: Blob) =>
+ useMutation({
+ mutationFn: () =>
+ AnalogueModelsService.postApiAnalogueModelsNetcdfModels(id, { file }),
+ });
+
+ const [isAddModelDialog, setAddModelDialog] = useState(false);
+ const [uploadStatus, setUploadStatus] = useState();
function clearStatus() {
- setUploadStatus(undefined)
+ setUploadStatus(undefined);
}
function toggleDialog() {
- setAddModelDialog(!isAddModelDialog)
+ setAddModelDialog(!isAddModelDialog);
}
async function uploadModel(file: File) {
- setUploadStatus(UploadProcess.STARTED)
- const modelUpload = await createModel({
+ setUploadStatus(UploadProcess.STARTED);
+ const modelUpload = await createModel(
// TODO
- body: {
+ {
name: 'testModel',
description: 'description',
sourceType: 'Deltares',
- },
- })
+ } as CreateAnalogueModelCommand,
+ );
- if (modelUpload?.success) {
- toggleDialog()
+ if (modelUpload?.isSuccess) {
+ toggleDialog();
const fileUpload = await uploadNCFile(
- modelUpload.data.analogueModelId ?? '',
- file
- )
+ modelUpload.data.data.analogueModelId ?? '',
+ file,
+ );
- if (fileUpload.success) setUploadStatus(UploadProcess.SUCCESS)
- else if (!fileUpload.success) {
- setUploadStatus(UploadProcess.FAILED)
+ if (fileUpload.isSuccess) setUploadStatus(UploadProcess.SUCCESS);
+ else if (!fileUpload.isSuccess) {
+ setUploadStatus(UploadProcess.FAILED);
// TODO: show validation message
}
}
@@ -75,5 +91,5 @@ export const Browse = () => {
{uploadStatus}
>
- )
-}
+ );
+};
diff --git a/src/pages/InvalidURL/InvalidURL.tsx b/src/pages/InvalidURL/InvalidURL.tsx
index f30a496b..37eddf1f 100644
--- a/src/pages/InvalidURL/InvalidURL.tsx
+++ b/src/pages/InvalidURL/InvalidURL.tsx
@@ -1,14 +1,14 @@
-import { Button, Typography } from '@equinor/eds-core-react'
-import { useNavigate } from 'react-router-dom'
-import { InfoPageComponent } from '../../components/InfoPageComponent/InfoPageComponent'
+import { Button, Typography } from '@equinor/eds-core-react';
+import { useNavigate } from 'react-router-dom';
+import { InfoPageComponent } from '../../components/InfoPageComponent/InfoPageComponent';
export const InvalidURL = () => {
- const navigate = useNavigate()
+ const navigate = useNavigate();
return (
This URL is not valid!
- )
-}
+ );
+};
diff --git a/src/pages/Layout.tsx b/src/pages/Layout.tsx
new file mode 100644
index 00000000..99ea0d1f
--- /dev/null
+++ b/src/pages/Layout.tsx
@@ -0,0 +1,27 @@
+import { Outlet } from 'react-router-dom';
+import AppBar from '../features/AppBar/AppBar';
+import { Footer } from '../features/Footer/Footer';
+import * as Styled from '../App.styled';
+import { useEffect } from 'react';
+import { useMsal } from '@azure/msal-react';
+import { useAccessToken } from '../hooks/useAccessToken';
+import { OpenAPI } from '../api/generated/core/OpenAPI';
+
+export const Layout = () => {
+ const { instance, accounts } = useMsal();
+ const token = useAccessToken(instance, accounts[0]);
+
+ useEffect(() => {
+ OpenAPI.TOKEN = token;
+ }, [token, accounts]);
+
+ return (
+
+ );
+};
diff --git a/src/pages/ModelPages/Compute/ComputeObject/ComputeObject.tsx b/src/pages/ModelPages/Compute/ComputeObject/ComputeObject.tsx
index 1673a24e..90093ae2 100644
--- a/src/pages/ModelPages/Compute/ComputeObject/ComputeObject.tsx
+++ b/src/pages/ModelPages/Compute/ComputeObject/ComputeObject.tsx
@@ -3,5 +3,5 @@ export const ComputeObject = () => {
<>
Options to compute object will soon be possible here!
>
- )
-}
+ );
+};
diff --git a/src/pages/ModelPages/Compute/ComputeVariogram/ComputeVariogram.styled.tsx b/src/pages/ModelPages/Compute/ComputeVariogram/ComputeVariogram.styled.tsx
index 3d01b3c3..f9ed903f 100644
--- a/src/pages/ModelPages/Compute/ComputeVariogram/ComputeVariogram.styled.tsx
+++ b/src/pages/ModelPages/Compute/ComputeVariogram/ComputeVariogram.styled.tsx
@@ -1,7 +1,7 @@
-import { Button } from '@equinor/eds-core-react'
-import styled from 'styled-components'
-import { spacings } from '../../../../tokens/spacings'
-import { theme } from '../../../../tokens/theme'
+import { Button } from '@equinor/eds-core-react';
+import styled from 'styled-components';
+import { spacings } from '../../../../tokens/spacings';
+import { theme } from '../../../../tokens/theme';
export const Case = styled.div`
display: flex;
@@ -16,7 +16,7 @@ export const Case = styled.div`
@media (max-width: 1450px) {
width: 95%;
}
-`
+`;
export const CaseBorder = styled.div`
display: flex;
flex-direction: column;
@@ -24,7 +24,7 @@ export const CaseBorder = styled.div`
border-radius: ${spacings.X_SMALL};
border: solid 1px ${theme.light.ui.background.medium};
-`
+`;
export const AddCaseButton = styled(Button)`
width: fit-content;
-`
+`;
diff --git a/src/pages/ModelPages/Compute/ComputeVariogram/ComputeVariogram.tsx b/src/pages/ModelPages/Compute/ComputeVariogram/ComputeVariogram.tsx
index 9f05d421..646517fd 100644
--- a/src/pages/ModelPages/Compute/ComputeVariogram/ComputeVariogram.tsx
+++ b/src/pages/ModelPages/Compute/ComputeVariogram/ComputeVariogram.tsx
@@ -1,6 +1,6 @@
-import { CaseCard } from '../../../../features/Compute/ComputeVariogram/CaseCard/CaseCard'
-import { ComputeCaseInfoActions } from '../../../../features/Compute/ComputeVariogram/ComputeCaseInfoActions/ComputeCaseInfoActions'
-import * as Styled from './ComputeVariogram.styled'
+import { CaseCard } from '../../../../features/Compute/ComputeVariogram/CaseCard/CaseCard';
+import { ComputeCaseInfoActions } from '../../../../features/Compute/ComputeVariogram/ComputeCaseInfoActions/ComputeCaseInfoActions';
+import * as Styled from './ComputeVariogram.styled';
export const ComputeVariogram = () => {
return (
@@ -13,5 +13,5 @@ export const ComputeVariogram = () => {
Add variogram case
- )
-}
+ );
+};
diff --git a/src/pages/ModelPages/Model/Model.styled.tsx b/src/pages/ModelPages/Model/Model.styled.tsx
index 390cf318..d41a1d3e 100644
--- a/src/pages/ModelPages/Model/Model.styled.tsx
+++ b/src/pages/ModelPages/Model/Model.styled.tsx
@@ -1,4 +1,4 @@
-import styled from 'styled-components'
+import styled from 'styled-components';
export const Wrapper = styled.div`
display: flex;
@@ -7,13 +7,13 @@ export const Wrapper = styled.div`
position: relative;
width: 100%;
height: 100%;
-`
+`;
export const ContentWrapper = styled.div`
width: 100%;
-`
+`;
export const SidebarWrapper = styled.div`
heigth: 100%;
max-width: 256px;
-`
+`;
diff --git a/src/pages/ModelPages/Model/Model.tsx b/src/pages/ModelPages/Model/Model.tsx
index 3ea28527..2a929ba9 100644
--- a/src/pages/ModelPages/Model/Model.tsx
+++ b/src/pages/ModelPages/Model/Model.tsx
@@ -1,12 +1,17 @@
-import { Outlet, useParams } from 'react-router-dom'
-import { ModelNameFrame } from '../../../features/ModelView/ModelNameFrame/ModelNameFrame'
-import { ModelNavigationBar } from '../../../features/ModelView/ModelNavigationBar/ModelNavigationBar'
-import { useAnalogueModels } from '../../../hooks/useAnalogueModels'
-import * as Styled from './Model.styled'
+import { Outlet, useParams } from 'react-router-dom';
+import { ModelNameFrame } from '../../../features/ModelView/ModelNameFrame/ModelNameFrame';
+import { ModelNavigationBar } from '../../../features/ModelView/ModelNavigationBar/ModelNavigationBar';
+import * as Styled from './Model.styled';
+import { useQuery } from '@tanstack/react-query';
+import { AnalogueModelsService } from '../../../api/generated';
export const Model = () => {
- const { id } = useParams<{ id: string }>()
- const { model } = useAnalogueModels(id)
+ const { id } = useParams<{ id: string }>();
+
+ const { data } = useQuery({
+ queryKey: ['analogue-models', id],
+ queryFn: () => AnalogueModelsService.getApiAnalogueModels1(id as string),
+ });
return (
<>
@@ -15,10 +20,10 @@ export const Model = () => {
- {model && }
+ {data?.success && }
>
- )
-}
+ );
+};
diff --git a/src/pages/ModelPages/Results/Results.tsx b/src/pages/ModelPages/Results/Results.tsx
index 9e1a1a0a..ad20045e 100644
--- a/src/pages/ModelPages/Results/Results.tsx
+++ b/src/pages/ModelPages/Results/Results.tsx
@@ -3,5 +3,5 @@ export const Results = () => {
<>
Results for models will soon be available here!
>
- )
-}
+ );
+};
diff --git a/src/pages/NoAccess/NoAccess.tsx b/src/pages/NoAccess/NoAccess.tsx
index 1820f0d0..0eadc6c5 100644
--- a/src/pages/NoAccess/NoAccess.tsx
+++ b/src/pages/NoAccess/NoAccess.tsx
@@ -1,6 +1,6 @@
-import { Icon, Typography } from '@equinor/eds-core-react'
-import { external_link as externalLink } from '@equinor/eds-icons'
-import { InfoPageComponent } from '../../components/InfoPageComponent/InfoPageComponent'
+import { Icon, Typography } from '@equinor/eds-core-react';
+import { external_link as externalLink } from '@equinor/eds-icons';
+import { InfoPageComponent } from '../../components/InfoPageComponent/InfoPageComponent';
export const NoAccess = () => {
const requiredAccesses = [
@@ -8,7 +8,7 @@ export const NoAccess = () => {
name: 'Parameter estimation from conseptual geological models',
type: 'Basic access',
},
- ]
+ ];
return (
@@ -27,5 +27,5 @@ export const NoAccess = () => {
- )
-}
+ );
+};
diff --git a/src/reportWebVitals.ts b/src/reportWebVitals.ts
index 57a24a21..49a2a16e 100644
--- a/src/reportWebVitals.ts
+++ b/src/reportWebVitals.ts
@@ -1,15 +1,15 @@
-import { ReportHandler } from 'web-vitals'
+import { ReportHandler } from 'web-vitals';
const reportWebVitals = (onPerfEntry?: ReportHandler) => {
if (onPerfEntry && onPerfEntry instanceof Function) {
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
- getCLS(onPerfEntry)
- getFID(onPerfEntry)
- getFCP(onPerfEntry)
- getLCP(onPerfEntry)
- getTTFB(onPerfEntry)
- })
+ getCLS(onPerfEntry);
+ getFID(onPerfEntry);
+ getFCP(onPerfEntry);
+ getLCP(onPerfEntry);
+ getTTFB(onPerfEntry);
+ });
}
-}
+};
-export default reportWebVitals
+export default reportWebVitals;
diff --git a/src/router.tsx b/src/router.tsx
index ec6c7dd2..4096792a 100644
--- a/src/router.tsx
+++ b/src/router.tsx
@@ -1,17 +1,17 @@
-import { createBrowserRouter, NonIndexRouteObject } from 'react-router-dom'
-import { App } from './App'
-import { ModelView } from './features/ModelView/ModelView'
-import { About } from './pages/About/About'
-import { Api } from './pages/Api/Api'
-import { Browse } from './pages/Browse/Browse'
-import { InvalidURL } from './pages/InvalidURL/InvalidURL'
-import { ComputeObject } from './pages/ModelPages/Compute/ComputeObject/ComputeObject'
-import { ComputeVariogram } from './pages/ModelPages/Compute/ComputeVariogram/ComputeVariogram'
-import { Model } from './pages/ModelPages/Model/Model'
-import { Results } from './pages/ModelPages/Results/Results'
+import { createBrowserRouter, NonIndexRouteObject } from 'react-router-dom';
+import { App } from './App';
+import { ModelView } from './features/ModelView/ModelView';
+import { About } from './pages/About/About';
+import { Api } from './pages/Api/Api';
+import { Browse } from './pages/Browse/Browse';
+import { InvalidURL } from './pages/InvalidURL/InvalidURL';
+import { ComputeObject } from './pages/ModelPages/Compute/ComputeObject/ComputeObject';
+import { ComputeVariogram } from './pages/ModelPages/Compute/ComputeVariogram/ComputeVariogram';
+import { Model } from './pages/ModelPages/Model/Model';
+import { Results } from './pages/ModelPages/Results/Results';
interface Tab extends Required> {
- title: string
+ title: string;
}
const tabs: Tab[] = [
@@ -22,7 +22,7 @@ const tabs: Tab[] = [
},
{ title: 'API', path: 'api', element: },
{ title: 'About', path: 'about', element: },
-]
+];
const appRoutes = (tabs as NonIndexRouteObject[]).concat([
{
path: 'model/:id/',
@@ -48,7 +48,7 @@ const appRoutes = (tabs as NonIndexRouteObject[]).concat([
},
],
},
-])
+]);
const router = createBrowserRouter([
{
@@ -60,6 +60,6 @@ const router = createBrowserRouter([
path: '*',
element: ,
},
-])
+]);
-export { router, tabs }
+export { router, tabs };
diff --git a/src/setupTests.ts b/src/setupTests.ts
index 33d39a85..7a954982 100644
--- a/src/setupTests.ts
+++ b/src/setupTests.ts
@@ -2,9 +2,9 @@
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
-import '@testing-library/jest-dom'
+import '@testing-library/jest-dom';
jest.mock('./auth/msalClient.ts', () => ({
getActiveAccount: () => ({}),
aquireTokenSilent: () => Promise.resolve({ accessToken: '' }),
-}))
+}));
diff --git a/src/tokens/spacings.ts b/src/tokens/spacings.ts
index 5bf8fc91..a56469f8 100644
--- a/src/tokens/spacings.ts
+++ b/src/tokens/spacings.ts
@@ -1,6 +1,6 @@
-import { tokens } from '@equinor/eds-tokens'
+import { tokens } from '@equinor/eds-tokens';
-const comfortable = tokens.spacings.comfortable
+const comfortable = tokens.spacings.comfortable;
export const spacings = {
/** 2px */
@@ -25,4 +25,4 @@ export const spacings = {
XXXX_LARGE: '64px',
/** 92px */
COMPUTE_BUTTON: '92px',
-}
+};
diff --git a/src/tokens/theme.ts b/src/tokens/theme.ts
index 7f35ddf6..d1609d85 100644
--- a/src/tokens/theme.ts
+++ b/src/tokens/theme.ts
@@ -1,9 +1,9 @@
-import { tokens } from '@equinor/eds-tokens'
+import { tokens } from '@equinor/eds-tokens';
-const interactive = tokens.colors.interactive
-const text = tokens.colors.text
-const ui = tokens.colors.ui
-const base = tokens.elevation
+const interactive = tokens.colors.interactive;
+const text = tokens.colors.text;
+const ui = tokens.colors.ui;
+const base = tokens.elevation;
export const theme = {
light: {
@@ -33,4 +33,4 @@ export const theme = {
},
},
},
-}
+};
diff --git a/tsconfig.json b/tsconfig.json
index 70ca8551..31247466 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,6 +1,6 @@
{
"compilerOptions": {
- "target": "es5",
+ "target": "ES2021",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
diff --git a/yarn.lock b/yarn.lock
index a7109b86..788c30ed 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -34,7 +34,17 @@
jsonpointer "^5.0.0"
leven "^3.1.0"
-"@azure/msal-browser@^2.32.2", "@azure/msal-browser@^2.38.2":
+"@apidevtools/json-schema-ref-parser@9.0.9":
+ version "9.0.9"
+ resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#d720f9256e3609621280584f2b47ae165359268b"
+ integrity sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==
+ dependencies:
+ "@jsdevtools/ono" "^7.1.3"
+ "@types/json-schema" "^7.0.6"
+ call-me-maybe "^1.0.1"
+ js-yaml "^4.1.0"
+
+"@azure/msal-browser@^2.32.2":
version "2.38.2"
resolved "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.38.2.tgz"
integrity sha512-71BeIn2we6LIgMplwCSaMq5zAwmalyJR3jFcVOZxNVfQ1saBRwOD+P77nLs5vrRCedVKTq8RMFhIOdpMLNno0A==
@@ -64,7 +74,7 @@
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz"
integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==
-"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.1.0", "@babel/core@^7.11.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.16.0", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
+"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
version "7.22.19"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.19.tgz"
integrity sha512-Q8Yj5X4LHVYTbLCKVz0//2D2aDmHF4xzCdEttYvKOnWvErGsa6geHXD6w46x64n5tP69VfeH+IfSrdyH3MLhwA==
@@ -429,7 +439,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-syntax-flow@^7.14.5", "@babel/plugin-syntax-flow@^7.22.5":
+"@babel/plugin-syntax-flow@^7.22.5":
version "7.22.5"
resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz"
integrity sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==
@@ -877,7 +887,7 @@
dependencies:
"@babel/plugin-transform-react-jsx" "^7.22.5"
-"@babel/plugin-transform-react-jsx@^7.14.9", "@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5":
+"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5":
version "7.22.15"
resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz"
integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==
@@ -1332,12 +1342,12 @@
resolved "https://registry.npmjs.org/@equinor/eds-icons/-/eds-icons-0.19.3.tgz"
integrity sha512-Sh0W01PrwXPCi8/p9YKj0qKNtRU9R/xYJORinIzsNNRllpiu9wvuGAsQNE0gQaDDnrprsiRBH3+MdMSRXVs3Wg==
-"@equinor/eds-tokens@^0.9.0", "@equinor/eds-tokens@0.9.2":
+"@equinor/eds-tokens@0.9.2", "@equinor/eds-tokens@^0.9.0":
version "0.9.2"
resolved "https://registry.npmjs.org/@equinor/eds-tokens/-/eds-tokens-0.9.2.tgz"
integrity sha512-pDIFei0vsfN3GN12NKWqxskAkYBQd6+Dzjga2liuY81LfnlJs5g9NblamU9WY5w5YdVE5Z8FNjsMKDLs2JIWcw==
-"@equinor/eds-utils@^0.8.0", "@equinor/eds-utils@0.8.1":
+"@equinor/eds-utils@0.8.1", "@equinor/eds-utils@^0.8.0":
version "0.8.1"
resolved "https://registry.npmjs.org/@equinor/eds-utils/-/eds-utils-0.8.1.tgz"
integrity sha512-MqKqHhfOxGxbZPhHlZqiR58ei11CQ+UGJ/qEa7wC5pA/c+W9kyu7OveiK9OVvaswRiOmLaahnhSEC9JTFa7ICw==
@@ -1746,6 +1756,11 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
+"@jsdevtools/ono@^7.1.3":
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796"
+ integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==
+
"@leichtgewicht/ip-codec@^2.0.1":
version "2.0.4"
resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz"
@@ -1766,7 +1781,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
-"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5"
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@@ -1983,11 +1998,27 @@
resolved "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-4.34.1.tgz"
integrity sha512-RflOwyXamuHhuMX5RL6wtKiVw9Hi5Hhiv9gW2/ICVc4omflB+GflrxwvQ+EWRKrSRv3C0YcR0UzRxuiZ4mLq7Q==
+"@tanstack/match-sorter-utils@^8.7.0":
+ version "8.8.4"
+ resolved "https://registry.yarnpkg.com/@tanstack/match-sorter-utils/-/match-sorter-utils-8.8.4.tgz#0b2864d8b7bac06a9f84cb903d405852cc40a457"
+ integrity sha512-rKH8LjZiszWEvmi01NR72QWZ8m4xmXre0OOwlRGnjU01Eqz/QnN+cqpty2PJ0efHblq09+KilvyR7lsbzmXVEw==
+ dependencies:
+ remove-accents "0.4.2"
+
"@tanstack/query-core@4.35.3":
version "4.35.3"
resolved "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.35.3.tgz"
integrity sha512-PS+WEjd9wzKTyNjjQymvcOe1yg8f3wYc6mD+vb6CKyZAKvu4sIJwryfqfBULITKCla7P9C4l5e9RXePHvZOZeQ==
+"@tanstack/react-query-devtools@^4.36.1":
+ version "4.36.1"
+ resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-4.36.1.tgz#7e63601135902a993ca9af73507b125233b1554e"
+ integrity sha512-WYku83CKP3OevnYSG8Y/QO9g0rT75v1om5IvcWUwiUZJ4LanYGLVCZ8TdFG5jfsq4Ej/lu2wwDAULEUnRIMBSw==
+ dependencies:
+ "@tanstack/match-sorter-utils" "^8.7.0"
+ superjson "^1.10.0"
+ use-sync-external-store "^1.2.0"
+
"@tanstack/react-query@^4.32.6":
version "4.35.3"
resolved "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.35.3.tgz"
@@ -2003,13 +2034,6 @@
dependencies:
"@tanstack/table-core" "8.9.10"
-"@tanstack/react-virtual@^3.0.0-beta.54":
- version "3.0.0-beta.60"
- resolved "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.0.0-beta.60.tgz"
- integrity sha512-F0wL9+byp7lf/tH6U5LW0ZjBqs+hrMXJrj5xcIGcklI0pggvjzMNW9DdIBcyltPNr6hmHQ0wt8FDGe1n1ZAThA==
- dependencies:
- "@tanstack/virtual-core" "3.0.0-beta.60"
-
"@tanstack/react-virtual@3.0.0-beta.54":
version "3.0.0-beta.54"
resolved "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.0.0-beta.54.tgz"
@@ -2017,6 +2041,13 @@
dependencies:
"@tanstack/virtual-core" "3.0.0-beta.54"
+"@tanstack/react-virtual@^3.0.0-beta.54":
+ version "3.0.0-beta.60"
+ resolved "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.0.0-beta.60.tgz"
+ integrity sha512-F0wL9+byp7lf/tH6U5LW0ZjBqs+hrMXJrj5xcIGcklI0pggvjzMNW9DdIBcyltPNr6hmHQ0wt8FDGe1n1ZAThA==
+ dependencies:
+ "@tanstack/virtual-core" "3.0.0-beta.60"
+
"@tanstack/table-core@8.9.10":
version "8.9.10"
resolved "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.9.10.tgz"
@@ -2032,7 +2063,7 @@
resolved "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.0.0-beta.60.tgz"
integrity sha512-QlCdhsV1+JIf0c0U6ge6SQmpwsyAT0oQaOSZk50AtEeAyQl9tQrd6qCHAslxQpgphrfe945abvKG8uYvw3hIGA==
-"@testing-library/dom@^8.5.0", "@testing-library/dom@>=7.21.4":
+"@testing-library/dom@^8.5.0":
version "8.20.1"
resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz"
integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==
@@ -2092,7 +2123,7 @@
resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz"
integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==
-"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.9":
+"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14":
version "7.20.1"
resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz"
integrity sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==
@@ -2273,6 +2304,11 @@
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz"
integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==
+"@types/json-schema@^7.0.6":
+ version "7.0.13"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.13.tgz#02c24f4363176d2d18fc8b70b9f3c54aba178a85"
+ integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==
+
"@types/json5@^0.0.29":
version "0.0.29"
resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz"
@@ -2449,7 +2485,7 @@
dependencies:
"@types/yargs-parser" "*"
-"@typescript-eslint/eslint-plugin@^4.0.0 || ^5.0.0", "@typescript-eslint/eslint-plugin@^5.5.0":
+"@typescript-eslint/eslint-plugin@^5.5.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz"
integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==
@@ -2472,7 +2508,7 @@
dependencies:
"@typescript-eslint/utils" "5.62.0"
-"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.5.0":
+"@typescript-eslint/parser@^5.5.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz"
integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==
@@ -2518,7 +2554,7 @@
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@^5.58.0", "@typescript-eslint/utils@5.62.0":
+"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz"
integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==
@@ -2540,7 +2576,7 @@
"@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.3.0"
-"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6":
+"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5":
version "1.11.6"
resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz"
integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==
@@ -2641,7 +2677,7 @@
"@webassemblyjs/wasm-gen" "1.11.6"
"@webassemblyjs/wasm-parser" "1.11.6"
-"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6":
+"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5":
version "1.11.6"
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz"
integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==
@@ -2707,16 +2743,16 @@ acorn-walk@^7.1.1:
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz"
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
-"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0:
- version "8.10.0"
- resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz"
- integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
-
acorn@^7.1.1:
version "7.4.1"
resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0:
+ version "8.10.0"
+ resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
+
address@^1.0.1, address@^1.1.2:
version "1.2.2"
resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz"
@@ -2756,7 +2792,7 @@ ajv-keywords@^5.1.0:
dependencies:
fast-deep-equal "^3.1.3"
-ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
+ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5:
version "6.12.6"
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -2766,17 +2802,7 @@ ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0:
- version "8.12.0"
- resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
- integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
- dependencies:
- fast-deep-equal "^3.1.1"
- json-schema-traverse "^1.0.0"
- require-from-string "^2.0.2"
- uri-js "^4.2.2"
-
-ajv@^8.6.0, ajv@>=8:
+ajv@^8.0.0, ajv@^8.6.0, ajv@^8.9.0:
version "8.12.0"
resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
@@ -2839,12 +2865,7 @@ ansi-styles@^5.0.0:
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
-ansi-styles@^6.0.0:
- version "6.2.1"
- resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz"
- integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
-
-ansi-styles@^6.1.0:
+ansi-styles@^6.0.0, ansi-styles@^6.1.0:
version "6.2.1"
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz"
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
@@ -2879,13 +2900,6 @@ argparse@^2.0.1:
resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
-aria-query@^5.0.0, aria-query@^5.1.3:
- version "5.3.0"
- resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz"
- integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==
- dependencies:
- dequal "^2.0.3"
-
aria-query@5.1.3:
version "5.1.3"
resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz"
@@ -2893,6 +2907,13 @@ aria-query@5.1.3:
dependencies:
deep-equal "^2.0.5"
+aria-query@^5.0.0, aria-query@^5.1.3:
+ version "5.3.0"
+ resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz"
+ integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==
+ dependencies:
+ dequal "^2.0.3"
+
array-buffer-byte-length@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz"
@@ -2901,16 +2922,16 @@ array-buffer-byte-length@^1.0.0:
call-bind "^1.0.2"
is-array-buffer "^3.0.1"
-array-flatten@^2.1.2:
- version "2.1.2"
- resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz"
- integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
-
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
+array-flatten@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz"
+ integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
+
array-includes@^3.1.6:
version "3.1.7"
resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz"
@@ -3337,7 +3358,7 @@ browser-process-hrtime@^1.0.0:
resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz"
integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
-browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9, "browserslist@>= 4", "browserslist@>= 4.21.0", browserslist@>=4:
+browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9:
version "4.21.10"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz"
integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==
@@ -3389,6 +3410,11 @@ call-bind@^1.0.0, call-bind@^1.0.2:
function-bind "^1.1.1"
get-intrinsic "^1.0.2"
+call-me-maybe@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa"
+ integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==
+
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
@@ -3412,7 +3438,7 @@ camelcase@^5.3.1:
resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-camelcase@^6.2.0, camelcase@^6.2.1:
+camelcase@^6.2.0, camelcase@^6.2.1, camelcase@^6.3.0:
version "6.3.0"
resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
@@ -3442,16 +3468,12 @@ case-sensitive-paths-webpack-plugin@^2.4.0:
resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz"
integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==
-chalk@^2.4.1:
- version "2.4.2"
- resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
+chalk@5.3.0:
+ version "5.3.0"
+ resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz"
+ integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==
-chalk@^2.4.2:
+chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -3476,11 +3498,6 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@5.3.0:
- version "5.3.0"
- resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz"
- integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==
-
char-regex@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz"
@@ -3590,16 +3607,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
-color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
colord@^2.9.1:
version "2.9.3"
resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz"
@@ -3617,6 +3634,11 @@ combined-stream@^1.0.8:
dependencies:
delayed-stream "~1.0.0"
+commander@11.0.0, commander@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz"
+ integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==
+
commander@^2.20.0:
version "2.20.3"
resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz"
@@ -3637,11 +3659,6 @@ commander@^8.3.0:
resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz"
integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
-commander@11.0.0:
- version "11.0.0"
- resolved "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz"
- integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==
-
common-path-prefix@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz"
@@ -3729,6 +3746,13 @@ cookie@0.5.0:
resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz"
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
+copy-anything@^3.0.2:
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-3.0.5.tgz#2d92dce8c498f790fa7ad16b01a1ae5a45b020a0"
+ integrity sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==
+ dependencies:
+ is-what "^4.1.8"
+
core-js-compat@^3.31.0:
version "3.32.2"
resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.2.tgz"
@@ -3877,14 +3901,6 @@ css-to-react-native@^3.0.0:
css-color-keywords "^1.0.0"
postcss-value-parser "^4.0.2"
-css-tree@^1.1.2, css-tree@^1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz"
- integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
- dependencies:
- mdn-data "2.0.14"
- source-map "^0.6.1"
-
css-tree@1.0.0-alpha.37:
version "1.0.0-alpha.37"
resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz"
@@ -3893,6 +3909,14 @@ css-tree@1.0.0-alpha.37:
mdn-data "2.0.4"
source-map "^0.6.1"
+css-tree@^1.1.2, css-tree@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
+ dependencies:
+ mdn-data "2.0.14"
+ source-map "^0.6.1"
+
css-what@^3.2.1:
version "3.4.2"
resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz"
@@ -4010,33 +4034,26 @@ data-urls@^2.0.0:
whatwg-mimetype "^2.3.0"
whatwg-url "^8.0.0"
-debug@^2.6.0:
+debug@2.6.9, debug@^2.6.0:
version "2.6.9"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
-debug@^3.2.7:
- version "3.2.7"
- resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
- integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
- dependencies:
- ms "^2.1.1"
-
-debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4, debug@4, debug@4.3.4:
+debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
-debug@2.6.9:
- version "2.6.9"
- resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+debug@^3.2.7:
+ version "3.2.7"
+ resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
dependencies:
- ms "2.0.0"
+ ms "^2.1.1"
decimal.js@^10.2.1:
version "10.4.3"
@@ -4117,16 +4134,16 @@ delayed-stream@~1.0.0:
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-depd@~1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
- integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
-
depd@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+depd@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
+ integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
+
dequal@^2.0.3:
version "2.0.3"
resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"
@@ -4220,6 +4237,14 @@ dom-converter@^0.2.0:
dependencies:
utila "~0.4"
+dom-serializer@0:
+ version "0.2.2"
+ resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz"
+ integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
+ dependencies:
+ domelementtype "^2.0.1"
+ entities "^2.0.0"
+
dom-serializer@^1.0.1:
version "1.4.1"
resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz"
@@ -4229,24 +4254,16 @@ dom-serializer@^1.0.1:
domhandler "^4.2.0"
entities "^2.0.0"
-dom-serializer@0:
- version "0.2.2"
- resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz"
- integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
- dependencies:
- domelementtype "^2.0.1"
- entities "^2.0.0"
+domelementtype@1:
+ version "1.3.1"
+ resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz"
+ integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
domelementtype@^2.0.1, domelementtype@^2.2.0:
version "2.3.0"
resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz"
integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
-domelementtype@1:
- version "1.3.1"
- resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz"
- integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
-
domexception@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz"
@@ -4696,7 +4713,7 @@ eslint-plugin-testing-library@^5.0.1:
dependencies:
"@typescript-eslint/utils" "^5.58.0"
-eslint-scope@^5.1.1, eslint-scope@5.1.1:
+eslint-scope@5.1.1, eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@@ -4733,7 +4750,7 @@ eslint-webpack-plugin@^3.1.1:
normalize-path "^3.0.0"
schema-utils "^4.0.0"
-eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0", "eslint@^7.5.0 || ^8.0.0", eslint@^8.0.0, eslint@^8.1.0, eslint@^8.3.0, eslint@^8.31.0, "eslint@>= 6", eslint@>=7.0.0, eslint@>=7.28.0:
+eslint@^8.3.0, eslint@^8.31.0:
version "8.49.0"
resolved "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz"
integrity sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==
@@ -4785,16 +4802,16 @@ espree@^9.6.0, espree@^9.6.1:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.4.1"
-esprima@^4.0.0, esprima@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
esprima@1.2.2:
version "1.2.2"
resolved "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz"
integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==
+esprima@^4.0.0, esprima@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
esquery@^1.4.2:
version "1.5.0"
resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz"
@@ -4809,12 +4826,7 @@ esrecurse@^4.3.0:
dependencies:
estraverse "^5.2.0"
-estraverse@^4.1.1:
- version "4.3.0"
- resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
-estraverse@^4.2.0:
+estraverse@^4.1.1, estraverse@^4.2.0:
version "4.3.0"
resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
@@ -4854,21 +4866,6 @@ events@^3.2.0:
resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
-execa@^5.0.0:
- version "5.1.1"
- resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
- integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
- dependencies:
- cross-spawn "^7.0.3"
- get-stream "^6.0.0"
- human-signals "^2.1.0"
- is-stream "^2.0.0"
- merge-stream "^2.0.0"
- npm-run-path "^4.0.1"
- onetime "^5.1.2"
- signal-exit "^3.0.3"
- strip-final-newline "^2.0.0"
-
execa@7.2.0:
version "7.2.0"
resolved "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz"
@@ -4884,6 +4881,21 @@ execa@7.2.0:
signal-exit "^3.0.7"
strip-final-newline "^3.0.0"
+execa@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
@@ -5062,15 +5074,7 @@ find-up@^3.0.0:
dependencies:
locate-path "^3.0.0"
-find-up@^4.0.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-find-up@^4.1.0:
+find-up@^4.0.0, find-up@^4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
@@ -5173,6 +5177,15 @@ fs-extra@^10.0.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
+fs-extra@^11.1.1:
+ version "11.1.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d"
+ integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
fs-extra@^9.0.0, fs-extra@^9.0.1:
version "9.1.0"
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz"
@@ -5280,27 +5293,27 @@ glob-to-regexp@^0.4.1:
resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz"
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
-glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
- version "7.2.3"
- resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+glob@7.1.6:
+ version "7.1.6"
+ resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
- minimatch "^3.1.1"
+ minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@7.1.6:
- version "7.1.6"
- resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
+ version "7.2.3"
+ resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
- minimatch "^3.0.4"
+ minimatch "^3.1.1"
once "^1.3.0"
path-is-absolute "^1.0.0"
@@ -5380,6 +5393,18 @@ handle-thing@^2.0.0:
resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz"
integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
+handlebars@^4.7.7:
+ version "4.7.8"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9"
+ integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==
+ dependencies:
+ minimist "^1.2.5"
+ neo-async "^2.6.2"
+ source-map "^0.6.1"
+ wordwrap "^1.0.0"
+ optionalDependencies:
+ uglify-js "^3.1.4"
+
harmony-reflect@^1.4.6:
version "1.6.2"
resolved "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz"
@@ -5514,16 +5539,6 @@ http-deceiver@^1.2.7:
resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz"
integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
-http-errors@~1.6.2:
- version "1.6.3"
- resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
- integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.0"
- statuses ">= 1.4.0 < 2"
-
http-errors@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
@@ -5535,6 +5550,16 @@ http-errors@2.0.0:
statuses "2.0.1"
toidentifier "1.0.1"
+http-errors@~1.6.2:
+ version "1.6.3"
+ resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
+ integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.0"
+ statuses ">= 1.4.0 < 2"
+
http-parser-js@>=0.5.1:
version "0.5.8"
resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz"
@@ -5592,13 +5617,6 @@ husky@^8.0.0:
resolved "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz"
integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==
-iconv-lite@^0.6.3:
- version "0.6.3"
- resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz"
- integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
- dependencies:
- safer-buffer ">= 2.1.2 < 3.0.0"
-
iconv-lite@0.4.24:
version "0.4.24"
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
@@ -5606,6 +5624,13 @@ iconv-lite@0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
+iconv-lite@^0.6.3:
+ version "0.6.3"
+ resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz"
+ integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3.0.0"
+
icss-utils@^5.0.0, icss-utils@^5.1.0:
version "5.1.0"
resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz"
@@ -5667,7 +5692,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@2, inherits@2.0.4:
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -5691,16 +5716,16 @@ internal-slot@^1.0.4, internal-slot@^1.0.5:
has "^1.0.3"
side-channel "^1.0.4"
-ipaddr.js@^2.0.1:
- version "2.1.0"
- resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz"
- integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==
-
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+ipaddr.js@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz"
+ integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==
+
is-arguments@^1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz"
@@ -5950,6 +5975,11 @@ is-weakset@^2.0.1:
call-bind "^1.0.2"
get-intrinsic "^1.1.1"
+is-what@^4.1.8:
+ version "4.1.15"
+ resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.15.tgz#de43a81090417a425942d67b1ae86e7fae2eee0e"
+ integrity sha512-uKua1wfy3Yt+YqsD6mTUEa2zSi3G1oPlqTflgaPJ7z63vUGN5pxFpnQfeSLMFnJDEsdvOtkp1rUWkYjB4YfhgA==
+
is-wsl@^2.2.0:
version "2.2.0"
resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz"
@@ -6362,7 +6392,7 @@ jest-resolve-dependencies@^27.5.1:
jest-regex-util "^27.5.1"
jest-snapshot "^27.5.1"
-jest-resolve@*, jest-resolve@^27.4.2, jest-resolve@^27.5.1:
+jest-resolve@^27.4.2, jest-resolve@^27.5.1:
version "27.5.1"
resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz"
integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==
@@ -6594,7 +6624,7 @@ jest-worker@^29.7.0:
merge-stream "^2.0.0"
supports-color "^8.0.0"
-"jest@^27.0.0 || ^28.0.0", jest@^27.4.3:
+jest@^27.4.3:
version "27.5.1"
resolved "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz"
integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==
@@ -6681,6 +6711,13 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+json-schema-ref-parser@^9.0.9:
+ version "9.0.9"
+ resolved "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#66ea538e7450b12af342fa3d5b8458bc1e1e013f"
+ integrity sha512-qcP2lmGy+JUoQJ4DOQeLaZDqH9qSkeGCK3suKWxJXS82dg728Mn3j97azDMaOUmJAN4uCq91LdPx4K7E8F1a7Q==
+ dependencies:
+ "@apidevtools/json-schema-ref-parser" "9.0.9"
+
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
@@ -6809,7 +6846,7 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
-lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.1.0, lilconfig@2.1.0:
+lilconfig@2.1.0, lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz"
integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
@@ -7032,7 +7069,7 @@ methods@~1.1.2:
resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
-micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5, micromatch@4.0.5:
+micromatch@4.0.5, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
version "4.0.5"
resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
@@ -7040,7 +7077,7 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5, micromatch@4.0.5:
braces "^3.0.2"
picomatch "^2.3.1"
-"mime-db@>= 1.43.0 < 2", mime-db@1.52.0:
+mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
version "1.52.0"
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
@@ -7098,7 +7135,7 @@ minimatch@^5.0.1:
dependencies:
brace-expansion "^2.0.1"
-minimist@^1.2.0, minimist@^1.2.6:
+minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6:
version "1.2.8"
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
@@ -7110,11 +7147,6 @@ mkdirp@~0.5.1:
dependencies:
minimist "^1.2.6"
-ms@^2.1.1, ms@2.1.3:
- version "2.1.3"
- resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
ms@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
@@ -7125,6 +7157,11 @@ ms@2.1.2:
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+ms@2.1.3, ms@^2.1.1:
+ version "2.1.3"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
multicast-dns@^7.2.5:
version "7.2.5"
resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz"
@@ -7386,6 +7423,17 @@ openapi-fetch@^0.7.2:
dependencies:
openapi-typescript-helpers "^0.0.2"
+openapi-typescript-codegen@^0.25.0:
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/openapi-typescript-codegen/-/openapi-typescript-codegen-0.25.0.tgz#0cb028f54b33b0a63bd9da3756c1c41b4e1a70e2"
+ integrity sha512-nN/TnIcGbP58qYgwEEy5FrAAjePcYgfMaCe3tsmYyTgI3v4RR9v8os14L+LEWDvV50+CmqiyTzRkKKtJeb6Ybg==
+ dependencies:
+ camelcase "^6.3.0"
+ commander "^11.0.0"
+ fs-extra "^11.1.1"
+ handlebars "^4.7.7"
+ json-schema-ref-parser "^9.0.9"
+
openapi-typescript-helpers@^0.0.2:
version "0.0.2"
resolved "https://registry.npmjs.org/openapi-typescript-helpers/-/openapi-typescript-helpers-0.0.2.tgz"
@@ -8142,15 +8190,6 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-"postcss@^7.0.0 || ^8.0.1", postcss@^8, postcss@^8.0.0, postcss@^8.0.3, postcss@^8.0.9, postcss@^8.1.0, postcss@^8.1.4, postcss@^8.2, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.3, postcss@^8.3.5, postcss@^8.4, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.4, postcss@^8.4.6, "postcss@>= 8", postcss@>=8, postcss@>=8.0.9:
- version "8.4.29"
- resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz"
- integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==
- dependencies:
- nanoid "^3.3.6"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
postcss@^7.0.35:
version "7.0.39"
resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz"
@@ -8159,6 +8198,15 @@ postcss@^7.0.35:
picocolors "^0.2.1"
source-map "^0.6.1"
+postcss@^8.3.5, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.4:
+ version "8.4.29"
+ resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz"
+ integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==
+ dependencies:
+ nanoid "^3.3.6"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
@@ -8176,7 +8224,7 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
-prettier@^2.8.2, prettier@>=2.0.0:
+prettier@^2.8.2:
version "2.8.8"
resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz"
integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
@@ -8367,7 +8415,7 @@ react-dev-utils@^12.0.1:
strip-ansi "^6.0.1"
text-table "^0.2.0"
-"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.2.0, "react-dom@>= 16.8.0", react-dom@>=16, react-dom@>=16.8, react-dom@>=16.8.0:
+react-dom@^18.2.0:
version "18.2.0"
resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz"
integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
@@ -8380,32 +8428,22 @@ react-error-overlay@^6.0.11:
resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz"
integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==
-react-is@^16.13.1:
+react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-react-is@^16.7.0:
- version "16.13.1"
- resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
- integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
-react-is@^17.0.1, "react-is@>= 16.8.0":
+react-is@^17.0.1:
version "17.0.2"
resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
-react-is@^18.0.0:
- version "18.2.0"
- resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz"
- integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
-
-react-is@^18.2.0:
+react-is@^18.0.0, react-is@^18.2.0:
version "18.2.0"
resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
-react-refresh@^0.11.0, "react-refresh@>=0.10.0 <1.0.0":
+react-refresh@^0.11.0:
version "0.11.0"
resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz"
integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==
@@ -8480,7 +8518,7 @@ react-scripts@5.0.1:
optionalDependencies:
fsevents "^2.3.2"
-"react@^16.8.0 || ^17 || ^18", "react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.0.0, react@^18.2.0, "react@>= 16", "react@>= 16.8.0", react@>=16, react@>=16.12.0, react@>=16.8, react@>=16.8.0:
+react@^18.2.0:
version "18.2.0"
resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz"
integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
@@ -8617,6 +8655,11 @@ relateurl@^0.2.7:
resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz"
integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==
+remove-accents@0.4.2:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.4.2.tgz#0a43d3aaae1e80db919e07ae254b285d9e1c7bb5"
+ integrity sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==
+
renderkid@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz"
@@ -8734,7 +8777,7 @@ rollup-plugin-terser@^7.0.0:
serialize-javascript "^4.0.0"
terser "^5.0.0"
-"rollup@^1.20.0 || ^2.0.0", rollup@^1.20.0||^2.0.0, rollup@^2.0.0, rollup@^2.43.1:
+rollup@^2.43.1:
version "2.79.1"
resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz"
integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==
@@ -8758,20 +8801,15 @@ safe-array-concat@^1.0.0, safe-array-concat@^1.0.1:
has-symbols "^1.0.3"
isarray "^2.0.5"
-safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1:
- version "5.2.1"
- resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-safe-buffer@5.1.2:
- version "5.1.2"
- resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-regex-test@^1.0.0:
version "1.0.0"
@@ -8819,6 +8857,15 @@ scheduler@^0.23.0:
dependencies:
loose-envify "^1.1.0"
+schema-utils@2.7.0:
+ version "2.7.0"
+ resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz"
+ integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
+ dependencies:
+ "@types/json-schema" "^7.0.4"
+ ajv "^6.12.2"
+ ajv-keywords "^3.4.1"
+
schema-utils@^2.6.5:
version "2.7.1"
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz"
@@ -8828,25 +8875,7 @@ schema-utils@^2.6.5:
ajv "^6.12.4"
ajv-keywords "^3.5.2"
-schema-utils@^3.0.0:
- version "3.3.0"
- resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz"
- integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
- dependencies:
- "@types/json-schema" "^7.0.8"
- ajv "^6.12.5"
- ajv-keywords "^3.5.2"
-
-schema-utils@^3.1.1:
- version "3.3.0"
- resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz"
- integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
- dependencies:
- "@types/json-schema" "^7.0.8"
- ajv "^6.12.5"
- ajv-keywords "^3.5.2"
-
-schema-utils@^3.2.0:
+schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0:
version "3.3.0"
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz"
integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
@@ -8865,15 +8894,6 @@ schema-utils@^4.0.0:
ajv-formats "^2.1.1"
ajv-keywords "^5.1.0"
-schema-utils@2.7.0:
- version "2.7.0"
- resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz"
- integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
- dependencies:
- "@types/json-schema" "^7.0.4"
- ajv "^6.12.2"
- ajv-keywords "^3.4.1"
-
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz"
@@ -8891,35 +8911,7 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.3.2:
- version "7.5.4"
- resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
- integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
- dependencies:
- lru-cache "^6.0.0"
-
-semver@^7.3.5:
- version "7.5.4"
- resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
- integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
- dependencies:
- lru-cache "^6.0.0"
-
-semver@^7.3.7:
- version "7.5.4"
- resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
- integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
- dependencies:
- lru-cache "^6.0.0"
-
-semver@^7.3.8:
- version "7.5.4"
- resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
- integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
- dependencies:
- lru-cache "^6.0.0"
-
-semver@^7.5.3:
+semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3:
version "7.5.4"
resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
@@ -9096,7 +9088,7 @@ source-map-support@^0.5.6, source-map-support@~0.5.20:
buffer-from "^1.0.0"
source-map "^0.6.0"
-source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1, source-map@0.6.1:
+source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
@@ -9170,16 +9162,16 @@ static-eval@2.0.2:
dependencies:
escodegen "^1.8.1"
-"statuses@>= 1.4.0 < 2":
- version "1.5.0"
- resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
- integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
-
statuses@2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+"statuses@>= 1.4.0 < 2":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
+ integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+
stop-iteration-iterator@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz"
@@ -9192,20 +9184,6 @@ streamsearch@^1.1.0:
resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz"
integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.0"
-
string-argv@0.3.2:
version "0.3.2"
resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz"
@@ -9241,16 +9219,7 @@ string-width@^4.1.0, string-width@^4.2.0:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
-string-width@^5.0.0:
- version "5.1.2"
- resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"
- integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
- dependencies:
- eastasianwidth "^0.2.0"
- emoji-regex "^9.2.2"
- strip-ansi "^7.0.1"
-
-string-width@^5.0.1:
+string-width@^5.0.0, string-width@^5.0.1:
version "5.1.2"
resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"
integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
@@ -9301,6 +9270,20 @@ string.prototype.trimstart@^1.0.7:
define-properties "^1.2.0"
es-abstract "^1.22.1"
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
stringify-object@^3.3.0:
version "3.3.0"
resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz"
@@ -9366,7 +9349,7 @@ style-loader@^3.3.1:
resolved "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz"
integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==
-styled-components@^5.3.9, "styled-components@>= 2", styled-components@>=4.2, "styled-components@>=4.2 < 6":
+styled-components@^5.3.9:
version "5.3.11"
resolved "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz"
integrity sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==
@@ -9403,14 +9386,14 @@ sucrase@^3.32.0:
pirates "^4.0.1"
ts-interface-checker "^0.1.9"
-supports-color@^5.3.0:
- version "5.5.0"
- resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+superjson@^1.10.0:
+ version "1.13.3"
+ resolved "https://registry.yarnpkg.com/superjson/-/superjson-1.13.3.tgz#3bd64046f6c0a47062850bb3180ef352a471f930"
+ integrity sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==
dependencies:
- has-flag "^3.0.0"
+ copy-anything "^3.0.2"
-supports-color@^5.5.0:
+supports-color@^5.3.0, supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
@@ -9699,7 +9682,7 @@ tsutils@^3.21.0:
dependencies:
tslib "^1.8.1"
-type-check@^0.4.0:
+type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
@@ -9713,13 +9696,6 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
-type-check@~0.4.0:
- version "0.4.0"
- resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
- integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
- dependencies:
- prelude-ls "^1.2.1"
-
type-detect@4.0.8:
version "4.0.8"
resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz"
@@ -9735,7 +9711,7 @@ type-fest@^0.20.2:
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
-type-fest@^0.21.3, "type-fest@>=0.17.0 <5.0.0":
+type-fest@^0.21.3:
version "0.21.3"
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz"
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
@@ -9799,11 +9775,16 @@ typedarray-to-buffer@^3.1.5:
dependencies:
is-typedarray "^1.0.0"
-"typescript@^3.2.1 || ^4", typescript@^4.9.4, "typescript@>= 2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta":
+typescript@^4.9.4:
version "4.9.5"
resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
+uglify-js@^3.1.4:
+ version "3.17.4"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c"
+ integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==
+
unbox-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz"
@@ -9866,7 +9847,7 @@ universalify@^2.0.0:
resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
-unpipe@~1.0.0, unpipe@1.0.0:
+unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
@@ -10020,7 +10001,7 @@ webpack-dev-middleware@^5.3.1:
range-parser "^1.2.1"
schema-utils "^4.0.0"
-webpack-dev-server@^4.6.0, "webpack-dev-server@3.x || 4.x":
+webpack-dev-server@^4.6.0:
version "4.15.1"
resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz"
integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==
@@ -10085,7 +10066,7 @@ webpack-sources@^3.2.3:
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
-"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.4.0 || ^5.9.0", "webpack@^4.44.2 || ^5.47.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.64.4, "webpack@>= 4", webpack@>=2, "webpack@>=4.43.0 <6.0.0":
+webpack@^5.64.4:
version "5.88.2"
resolved "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz"
integrity sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==
@@ -10115,7 +10096,7 @@ webpack-sources@^3.2.3:
watchpack "^2.4.0"
webpack-sources "^3.2.3"
-websocket-driver@^0.7.4, websocket-driver@>=0.5.1:
+websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
version "0.7.4"
resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz"
integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
@@ -10233,6 +10214,11 @@ word-wrap@~1.2.3:
resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz"
integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
+wordwrap@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
+
workbox-background-sync@6.6.1:
version "6.6.1"
resolved "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.1.tgz"
@@ -10478,6 +10464,11 @@ yallist@^4.0.0:
resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+yaml@2.3.1:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz"
+ integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
+
yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2:
version "1.10.2"
resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
@@ -10488,11 +10479,6 @@ yaml@^2.1.1:
resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz"
integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==
-yaml@2.3.1:
- version "2.3.1"
- resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz"
- integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
-
yargs-parser@^20.2.2:
version "20.2.9"
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz"