From dbfa25cb107262fedebdcc96c7c76430f1c21d37 Mon Sep 17 00:00:00 2001 From: "guilhem.carron" <gcarron@grandlyon.com> Date: Fri, 30 Jul 2021 13:20:43 +0200 Subject: [PATCH] Add https auth --- .env | 4 ++ cert.pem | 24 +++++++ key.pem | 27 ++++++++ keytmp.pem | 30 +++++++++ package.json | 1 + src/App.tsx | 20 ++++-- src/components/Editing/Editing.tsx | 17 +++-- src/components/Login/Login.tsx | 17 +++++ ...itor.service.ts => monthlyNews.service.ts} | 43 +++++++++++- yarn.lock | 66 ++++--------------- 10 files changed, 184 insertions(+), 65 deletions(-) create mode 100644 .env create mode 100644 cert.pem create mode 100644 key.pem create mode 100644 keytmp.pem create mode 100644 src/components/Login/Login.tsx rename src/services/{editor.service.ts => monthlyNews.service.ts} (56%) diff --git a/.env b/.env new file mode 100644 index 00000000..ef7b5b47 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +NODE_TLS_REJECT_UNAUTHORIZED = '0' +HTTPS=true +SSL_CRT_FILE=cert.pem +SSL_KEY_FILE=key.pem \ No newline at end of file diff --git a/cert.pem b/cert.pem new file mode 100644 index 00000000..c68b614f --- /dev/null +++ b/cert.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIID+TCCAuGgAwIBAgIUEs1Oq9v38qBci7a98TvOxCCMS8EwDQYJKoZIhvcNAQEL +BQAwgYsxCzAJBgNVBAYTAkZSMQ4wDAYDVQQIDAVSaG9uZTENMAsGA1UEBwwETHlv +bjEOMAwGA1UECgwFTWV0cm8xDjAMBgNVBAsMBU1ldHJvMQ4wDAYDVQQDDAVNZXRy +bzEtMCsGCSqGSIb3DQEJARYeZ3VpbGhlbS5jYXJyb25Ac29wcmFzdGVyaWEuY29t +MB4XDTIxMDczMDA5MTgzMFoXDTIyMDczMDA5MTgzMFowgYsxCzAJBgNVBAYTAkZS +MQ4wDAYDVQQIDAVSaG9uZTENMAsGA1UEBwwETHlvbjEOMAwGA1UECgwFTWV0cm8x +DjAMBgNVBAsMBU1ldHJvMQ4wDAYDVQQDDAVNZXRybzEtMCsGCSqGSIb3DQEJARYe +Z3VpbGhlbS5jYXJyb25Ac29wcmFzdGVyaWEuY29tMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAvMjRUpX6Az1ClIxHwRCsrUl6F0IoTbqI8+mr9AN4IKmo +R7TbUVQQTpGM0UBTqzd/+24IlD6E7N2SlU6rTRF9/aj+3FMnqS7dXBuGlHivbsQ7 +NYd4FgLs+TmUfN256vZ/zKd5ZBOqeKf0h7fF8Jk9G8bsQpdaG0LYrnwLFCZIx5Cf +fnecrx5LZ+drwCwp/xdxB4oNo86bBYv1Sv/HbbJc7BZuGzLuJd8lR9EUhdyLpF7o +mX7RxBxDzKKBX+OahiSSPbux6X2jV3kysXXc0D1d4HdKBVCPb2+FvCGgVu5K0rFT +ZsZ/qgjHZp0zK5ILdZ0fKY1NYQnTVlJJq3n3xsAwcwIDAQABo1MwUTAdBgNVHQ4E +FgQU2kCTqeiTfKmXgyQQDU+ijcVq52QwHwYDVR0jBBgwFoAU2kCTqeiTfKmXgyQQ +DU+ijcVq52QwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEANAb2 +hjsLDggmrcTw5O5LxO92GlzFPzdc5GWpyJVHJn0D0hDgF8Q4yYJoL90M4huFYMKY +9C3xJ0s01QgRsE/1uPChGMz9vvvG/HfDnLeq/qwAZcmUlojuAzxO3lgNGzIxGTox +9/bM2Zg+ieYvAerXx134r/T467KQRHYo/6qIjmJzf2AjXKhKDMvSfLnuFmdQ4OOD +gwxU1BNcF+s67vN3uZIZOsBdjTiwn7UAWgA9r8AaKZsU2kRf5z8v4JKNzE52vx4/ +WVjxAKj+U6F5eg7URvl+A6BEZS4pgHTGyrSYWeBYHW61YnSGGc5JxCewi3ClYnNm +98UE6eyxqT42Wd9E2Q== +-----END CERTIFICATE----- diff --git a/key.pem b/key.pem new file mode 100644 index 00000000..50479594 --- /dev/null +++ b/key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAvMjRUpX6Az1ClIxHwRCsrUl6F0IoTbqI8+mr9AN4IKmoR7Tb +UVQQTpGM0UBTqzd/+24IlD6E7N2SlU6rTRF9/aj+3FMnqS7dXBuGlHivbsQ7NYd4 +FgLs+TmUfN256vZ/zKd5ZBOqeKf0h7fF8Jk9G8bsQpdaG0LYrnwLFCZIx5Cffnec +rx5LZ+drwCwp/xdxB4oNo86bBYv1Sv/HbbJc7BZuGzLuJd8lR9EUhdyLpF7omX7R +xBxDzKKBX+OahiSSPbux6X2jV3kysXXc0D1d4HdKBVCPb2+FvCGgVu5K0rFTZsZ/ +qgjHZp0zK5ILdZ0fKY1NYQnTVlJJq3n3xsAwcwIDAQABAoIBAEa/9/q8bDskjTxA +qm+HgT9cJx5qU9J1kvfeXewQFMgg7QkalYsQNyBK2fxd4D1tilA/N4XfPE/M5i+A +kSBL6uzSldkabOWxw5HOWwxvgke/0PTJtU6CgC8SzjxRmGifQtv+87Z2zE91mmX2 +kH8P3t/3F/oI4OMQlUYnBLvjcSkgu5EVg41RD0O0T1KnVYXlXdQ6F4mL1eqTMi7+ +cOnZugonWwUOZiLDHg2PmDj2CfDIiFr1O90z/6Gf+bGn5mEVWEHgqIvNXqEO+ZvV +n6oXYpbLP58ZBu4+EOX49yA5IuZWGC30KtyYx/+aY1yOYJCjJ5TybPylTvmccUKV +QFXNMLkCgYEA84cyZY/6SswOYDWT3bXAb9k6FwDLCzZEB1C6HJKKPu7SO7jFv8le +F8fVYFf9kgFLLamEEPwlXYgBaaMd9PfdbUSttJ28644fXw3cmNKOdVqNIclQ+5Qv +SEFuQZnmMI8mRoSkoS8S0LnwSgbdFmJsOp2UyJtA9FUPM1Bmnysv9ocCgYEAxnPl +zoSU4109uzN47uojFyLTtoSgfG3TEbIDYL7MpVK7Kdf+bzY1D3PQE0XqCPXyFU91 +bxdeVt86TCic6cOljXt1QaKJK0pBsMFSn59tYc24egfbCLzLfYdFsqxPdRXOlg9w +Bdm9uaIc5WbwAKT1wA3/e17KqEuYQVcOsBkXxbUCgYEA3ut4F34HOGa4FhuVQlM4 +V2o6gYoJUzcWaLfd1X/Sqq8EpQSLh/a1egFD8lA5Xmhuv9q3eLDHJ2nzGRbmujIW +cAp5E6d8owdS8jkHIKFFJGmCXVYiGljYO0Uhv004aGTxPYX4CU/E4moCalEEGpR3 +y+QpqMRtXftq0acceUEYQ4sCgYEAgboXeoXOskYsaWg/YKZro98fWIugQValiEa+ +0IpJSrUnJjZM27QqwVwqo76rO4pS4r1bffBfuhgYitptoJ5FZZRT1UEDu+nBwWLO +uQvFvA53zkW+WBraRsebty3OjzJfJlcXGqv4yxV/IDLHJxSulQpRfPs9LQClmejn +8BOnJ5UCgYEA2UOrEkH5pROr8WmqBaMKaIbUcG/ASRvhN8CuaMZBU5mTKg79McYI +1QY3MDmUekRIeGb+vMfKOweGO3dt9ZhJO1wZr4x/mFjWgHHtKfdydowShnyO6I/Q +EVICHLfX8SoshYJabv33CYyOalX6tlj++HwEe4iA4ECfqWBzAS4w7Eo= +-----END RSA PRIVATE KEY----- diff --git a/keytmp.pem b/keytmp.pem new file mode 100644 index 00000000..6cea8595 --- /dev/null +++ b/keytmp.pem @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIg6hUy7m+qJYCAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECMyxy5+YOzwlBIIEyAeyjCYgTPl+ +JAax0tlKp6NSEB7QxmXYAewV6XY+xfvjeWg/p+qpgQJbTwGbw6JuCejDsX98Jq6F +4N9H0B3pLkbxsLawRC2xnQdQp72rex48T9/Sohc5hO2rqi+29ivmt21xhbkakRYD +i/y+ZRrJdUfvMNg58QVJFHjYZa+R1sieW9jcQ/okfiow2EnBRAy1StgudeXFrJuo +H7gXWK46rnuGCZ+SAOxMyfo5ckDYoG3Ps/9FeuDYpN1f6suTwxkjqSK4OTf2aXIh +iVIoGtTuaTmRH+WHsgBve9qudqSPjHuaKo+ydD2OQNr564XDDg08WiKnyziOTHPF +WRvoD7uPxCSlvlolcHgRInD2a5qHvc3kcv5/brNPvRj1jfx5u5SgyPWtYQeXwDul +nsq7LkDrkzl22CXxQEJAjIINvBe39i0aZW2xVbK4MJwHMOr1N3UDQXFIi6I0OZP0 +bEBR4md50/3FYxCceCxx10/+DewugykchKSF0Qha3Nw2PwPKaw6OGAM7hl8JuMcg +xEqRCpfs2eO3GCnxPOa/pzUB8LlJCY9cXNSiEGz3AMQl/Mn0+L69U4PbPHCgi4dw +0V3LzdMTROgh6QB0D54SaaFQx0tGJVf5b+HOk/aCe9UeGJpwTmaQZTGMq6YQlVbo +SN/OLI6N6rRKiAncf/DYn3h2u+DkQ8Ad9LFRB3BAtIP2+fTg63hfpNlPNqBTUy0o +5ZaZGdLmY+WdMIA1MgwRamjq40lP6WheESfhKdJMf+Ti4ta1MFNu7l8/OdsZa5JM +Dp1xqhhuhzjPAcQhllTto7MKpka0fKCaA//3XtPzrO6GQeAa1yLyMZUzgYdeopds +N5I4obvh2+uIAHb6vUUmopiJf1LIqUraV0kchHNo3A/XvgxWr/8Pv2e4Lf/zWvJi +MMRL6okbmtSs5ocMDFWfo1b9qvUKTSa9C5avm5ALLvttOS9DFdyJvg/U8fgIInrN +rN3enNwxI/43ClqCFtF9sm6CYpsVZT8N4zvFwOmMZIkuUD3n3oTNKnXBRr/QYlzo +OIPveJOo9eMkORpgJES0yEGnoeKVLY+h9QUDn9RJXxXpf758Mbofp8LX26eF69Ng +QfCdnqOcEVGdNQuQZFHFc84nVvL49TqRset5O7PiWN923vga78IC/yzgF0iwIvI8 +yEclOga1HFC97Cy43eh1qtfi2g+r/s7uIamaxxV4KwfAcX1cTgyr7Rz1b3q+1UKn +2DuqoPaTjiNzCwVMHfcZAPfrHlRnw4DALDS3gH+aRKa5SyZ2SoQX/jUVE0+chBnm +DeeHKUraCK1FQWDRn5oDocy3yNaDz/b/2hzc8Nxl7snjPlkYzqRIOsVsUzMsRw/a +5E/tnd/99U/7t6b++emGopSLpUSqjLfKN3dm063jBPHKsSpNumsU6I00qlZkXCoB +8Usqt+GszrSt9XtLvK1Su5KFjhWJTICIy3lPw056peQZAv1I1ARZcecUDyLB9wwo +wmkRPpSmALLvRLdKvQnUk/oOnnqbSJFA5pGbyNaH/0q2CYjaDi8u7UlqmRezEw9a +zEA0N10VyXZKxss9F0KaTHrsMMfjFfKSaTyxzqqNUCa8QbezyAG+ISRua2smyQbB +4AkwJDFwXtzPUivYVtBZLw== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/package.json b/package.json index d7c0caa0..20b9a5e3 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", "@tinymce/tinymce-react": "^3.12.6", + "axios": "^0.21.1", "react": "^17.0.2", "react-dom": "^17.0.2", "react-router-dom": "^5.2.0", diff --git a/src/App.tsx b/src/App.tsx index 5ccd7ef4..6b049e5c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,14 +1,26 @@ -import React from 'react' +import React, { createContext } from 'react' import { BrowserRouter } from 'react-router-dom' import Layout from './components/Layout/Layout' import Routes from './components/Routes/Routes' +// import { UserContext } from './hooks/userContext' +// import useFindUser from './hooks/useFindUser' +interface userContext { + user: string +} +export const userProfile: userContext = { + user: '', +} +const UserContext: React.Context<userContext> = createContext(userProfile) +// const { user, setUser, isLoading } = useFindUser() function App() { return ( <BrowserRouter> - <Layout> - <Routes /> - </Layout> + <UserContext.Provider value={userProfile}> + <Layout> + <Routes /> + </Layout> + </UserContext.Provider> </BrowserRouter> ) } diff --git a/src/components/Editing/Editing.tsx b/src/components/Editing/Editing.tsx index 901ddd6a..ababfcbf 100644 --- a/src/components/Editing/Editing.tsx +++ b/src/components/Editing/Editing.tsx @@ -1,9 +1,8 @@ -import React, { useCallback, useState } from 'react' -import 'react-datepicker/dist/react-datepicker.css' +import React, { useCallback, useEffect, useState } from 'react' import { Editor } from '@tinymce/tinymce-react' import DateSelector from '../DateSelector/DateSelector' import './editing.scss' -import { EditorService } from '../../services/editor.service' +import { MonthlyNewsService } from '../../services/monthlyNews.service' const Editing: React.FC = () => { const [date, setDate] = useState<Date>(new Date()) @@ -11,8 +10,8 @@ const Editing: React.FC = () => { const [quote, setQuote] = useState<string>('') const handleSave = async () => { - const editorService = new EditorService() - await editorService.sendQuotation(date, header, quote) + const monthlyNewsService = new MonthlyNewsService() + await monthlyNewsService.createMonthlyReport(date, header, quote) } const handleCancel = useCallback(() => { setQuote('') @@ -23,6 +22,14 @@ const Editing: React.FC = () => { return false } else return true } + useEffect(() => { + async function authenticate() { + const monthlyNewsService = new MonthlyNewsService() + const res = await monthlyNewsService.apiAuth() + console.log('res', res) + } + authenticate() + }, []) return ( <> diff --git a/src/components/Login/Login.tsx b/src/components/Login/Login.tsx new file mode 100644 index 00000000..73e5c9f5 --- /dev/null +++ b/src/components/Login/Login.tsx @@ -0,0 +1,17 @@ +import React, { useEffect } from 'react' +import { userProfile } from '../../App' +// import { UserContext } from '../../hooks/userContext' +const Login: React.FC = () => { + // const [isLogged] = useState<boolean>(false) + + useEffect(() => { + userProfile.user = 'testUser' + }, []) + return ( + <div className="login"> + <button>Login</button> + </div> + ) +} + +export default Login diff --git a/src/services/editor.service.ts b/src/services/monthlyNews.service.ts similarity index 56% rename from src/services/editor.service.ts rename to src/services/monthlyNews.service.ts index 7ea86880..dbe964fd 100644 --- a/src/services/editor.service.ts +++ b/src/services/monthlyNews.service.ts @@ -1,11 +1,17 @@ -export class EditorService { +import axios from 'axios' +import https from 'https' +export class MonthlyNewsService { + private readonly _apiUrl: string + constructor() { + this._apiUrl = 'https://localhost:1443/' + } /** * Creates a quotation and header for selected month * @param date * @param header * @param quote */ - public sendQuotation = async ( + public createMonthlyReport = async ( date: Date, header: string, quote: string @@ -37,12 +43,19 @@ export class EditorService { /** * Gets a quotation and header for selected month */ - public getQuotation = async (): Promise<any> => { + public getSingleMonthlyReport = async ( + year: string, + month: string + ): Promise<any> => { try { const response = await fetch( 'https://localhost:1443/api/admin/monthlyNews', { method: 'GET', + body: JSON.stringify({ + year: year, + month: month, + }), } ) if (response.status !== 201) { @@ -55,4 +68,28 @@ export class EditorService { console.log(e) } } + /** + * apiAuth */ + public apiAuth = async (): Promise<any> => { + try { + axios.get(`${this._apiUrl}OAuth2Login`).finally(async () => { + const { data } = await axios.get(`${this._apiUrl}api/common/WhoAmI`) + console.log(data) + }) + } catch (e) { + console.log(e) + } + } + + /** + * getToken + */ + public getToken = async (): Promise<any> => { + try { + const response = await axios.get(`${this._apiUrl}api/common/WhoAmI`) + console.log(response) + } catch (e) { + console.log(e) + } + } } diff --git a/yarn.lock b/yarn.lock index f21873d3..f58501a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1473,11 +1473,6 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@popperjs/core@^2.9.2": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.9.2.tgz#adea7b6953cbb34651766b0548468e743c6a2353" - integrity sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q== - "@rollup/plugin-node-resolve@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" @@ -2697,6 +2692,13 @@ axe-core@^4.0.2: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.2.tgz#7cf783331320098bfbef620df3b3c770147bc224" integrity sha512-V+Nq70NxKhYt89ArVcaNL9FDryB3vQOd+BFXZIfO3RP6rwtj+2yqqqdHEkacutglPaZLkJeuXKCjCJDMGPtPqg== +axios@^0.21.1: + version "0.21.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" @@ -3145,11 +3147,6 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= -bulma@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.9.3.tgz#ddccb7436ebe3e21bf47afe01d3c43a296b70243" - integrity sha512-0d7GNW1PY4ud8TWxdNcP6Cc8Bu7MxcntD/RRLGWuiw/s0a9P+XlH/6QoOIrmbj6o8WWJzJYhytiu9nFjTszk1g== - bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -3438,11 +3435,6 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@^2.2.6: - version "2.3.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" - integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== - clean-css@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" @@ -5395,6 +5387,11 @@ follow-redirects@^1.0.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.2.tgz#dd73c8effc12728ba5cf4259d760ea5fb83e3147" integrity sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA== +follow-redirects@^1.10.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" + integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -7445,7 +7442,7 @@ loglevel@^1.6.8: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: +loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -9515,18 +9512,6 @@ react-app-polyfill@^2.0.0: regenerator-runtime "^0.13.7" whatwg-fetch "^3.4.1" -react-datepicker@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/react-datepicker/-/react-datepicker-4.1.1.tgz#5ecef49c672b2250fca26327c988464e6ba52b62" - integrity sha512-vtZIA7MbUrffRw1CHiyOGtmTO/tTdZGr5BYaiRucHMTb6rCqA8TkaQhzX6tTwMwP8vV38Khv4UWohrJbiX1rMw== - dependencies: - "@popperjs/core" "^2.9.2" - classnames "^2.2.6" - date-fns "^2.0.1" - prop-types "^15.7.2" - react-onclickoutside "^6.10.0" - react-popper "^2.2.5" - react-dev-utils@^11.0.3: version "11.0.4" resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-11.0.4.tgz#a7ccb60257a1ca2e0efe7a83e38e6700d17aa37a" @@ -9571,11 +9556,6 @@ react-error-overlay@^6.0.9: resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== -react-fast-compare@^3.0.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" - integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== - react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -9586,19 +9566,6 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== -react-onclickoutside@^6.10.0: - version "6.11.2" - resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-6.11.2.tgz#790e2100b9a3589eefca1404ecbf0476b81b7928" - integrity sha512-640486eSwU/t5iD6yeTlefma8dI3bxPXD93hM9JGKyYITAd0P1JFkkcDeyHZRqNpY/fv1YW0Fad9BXr44OY8wQ== - -react-popper@^2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.2.5.tgz#1214ef3cec86330a171671a4fbcbeeb65ee58e96" - integrity sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw== - dependencies: - react-fast-compare "^3.0.1" - warning "^4.0.2" - react-refresh@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" @@ -11694,13 +11661,6 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -warning@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - watchpack-chokidar2@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" -- GitLab