Compare commits

...

43 Commits

Author SHA1 Message Date
Daniel Valdivia
27fd91ed37 Release v0.22.2 (#2495)
Signed-off-by: Daniel Valdivia
<18384552+dvaldivia@users.noreply.github.com>
2022-12-09 16:42:57 -08:00
Alex
7df0560104 Updated mds & fixed blank pages on login (#2494)
- Updates mds to v0.0.7
- Fixed an issue with blank pages during login
- Fixes an issue during logout where path was redirected to
'logout/login'

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-12-09 14:24:58 -08:00
Javier Adriel
2368199e03 IDP management UI (#2487)
Adds UI to interact with IDP Configurations (CRUD)
2022-12-09 14:13:10 -08:00
Daniel Valdivia
bee98e1ba0 fix: race Condition on Object Browser via Websocket (#2492)
Signed-off-by: Daniel Valdivia
<18384552+dvaldivia@users.noreply.github.com>
2022-12-09 11:18:19 -08:00
Harshavardhana
8abbbb4625 avoid printing random logs (#2489) 2022-12-08 07:54:21 -08:00
Javier Adriel
ef182fe75e Increase threshold to 54.4 (Current coverage 54.5) (#2488) 2022-12-07 20:01:09 -06:00
Daniel Valdivia
613e93fdc6 Release v0.22.1 (#2486)
Signed-off-by: Daniel Valdivia <hola@danielvaldivia.com>
2022-12-06 14:41:25 -08:00
Javier Adriel
a5e3c89a54 Implement handlers for managing IDP (OpenID and LDAP) Configurations (#2485) 2022-12-06 14:33:17 -06:00
jinapurapu
7f55b71495 Add backend tier status checking to all tier types (#2420)
Moves Tier status check to backend for all Tier types.

![Screen Shot 2022-12-02 at 10 37 36
AM](https://user-images.githubusercontent.com/65002498/205370942-e20c0229-77b1-4a7c-9579-eebbd101c4ae.png)
![Screen Shot 2022-12-02 at 10 37 18
AM](https://user-images.githubusercontent.com/65002498/205370943-0d038206-b0e3-4597-9522-b21f94c36c0b.png)

Co-authored-by: Jillian Inapurapu <jillii@Jillians-MBP.attlocal.net>
Co-authored-by: Alex <33497058+bexsoft@users.noreply.github.com>
2022-12-06 12:13:14 -08:00
Alex
d95d59e454 Changed Object browser logic to work with websockets (#2419)
fixes https://github.com/minio/console/issues/943

## What does this do?

This allows us to start streaming results to the list instead of waiting
to retrieve all the objects list before sending it to the client

Included a couple of fixes:

- Removed metadata for deleted items
- Fixed multiple metadata requests
- Fixed height grow for parent wrapper
- Fixed object reload after restore version


Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-12-06 11:23:07 -08:00
Harshavardhana
08ea069ed4 change doc URL if UI is running in k8s (#2484)
Co-authored-by: Prakash Senthil Vel <23444145+prakashsvmx@users.noreply.github.com>
2022-12-06 09:53:01 -08:00
Javier Adriel
e7a41b4cd9 Call end_session_endpoint in IDP provider when login out from Console (#2476) 2022-12-05 18:14:41 -06:00
Alex
262a601d21 Release v0.22.0 (#2482)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-12-02 15:12:59 -08:00
dependabot[bot]
00af6b5179 Bump decode-uri-component from 0.2.0 to 0.2.2 in /portal-ui (#2481)
Bumps
[decode-uri-component](https://github.com/SamVerschueren/decode-uri-component)
from 0.2.0 to 0.2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/SamVerschueren/decode-uri-component/releases">decode-uri-component's
releases</a>.</em></p>
<blockquote>
<h2>v0.2.2</h2>
<ul>
<li>Prevent overwriting previously decoded tokens  980e0bf</li>
</ul>
<p><a
href="https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2">https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2</a></p>
<h2>v0.2.1</h2>
<ul>
<li>Switch to GitHub workflows  76abc93</li>
<li>Fix issue where decode throws - fixes <a
href="https://github-redirect.dependabot.com/SamVerschueren/decode-uri-component/issues/6">#6</a>
746ca5d</li>
<li>Update license (<a
href="https://github-redirect.dependabot.com/SamVerschueren/decode-uri-component/issues/1">#1</a>)
486d7e2</li>
<li>Tidelift tasks  a650457</li>
<li>Meta tweaks  66e1c28</li>
</ul>
<p><a
href="https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1">https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a0eea469d2"><code>a0eea46</code></a>
0.2.2</li>
<li><a
href="980e0bf09b"><code>980e0bf</code></a>
Prevent overwriting previously decoded tokens</li>
<li><a
href="3c8a373dd4"><code>3c8a373</code></a>
0.2.1</li>
<li><a
href="76abc93978"><code>76abc93</code></a>
Switch to GitHub workflows</li>
<li><a
href="746ca5dcb6"><code>746ca5d</code></a>
Fix issue where decode throws - fixes <a
href="https://github-redirect.dependabot.com/SamVerschueren/decode-uri-component/issues/6">#6</a></li>
<li><a
href="486d7e26d3"><code>486d7e2</code></a>
Update license (<a
href="https://github-redirect.dependabot.com/SamVerschueren/decode-uri-component/issues/1">#1</a>)</li>
<li><a
href="a65045724e"><code>a650457</code></a>
Tidelift tasks</li>
<li><a
href="66e1c2834c"><code>66e1c28</code></a>
Meta tweaks</li>
<li>See full diff in <a
href="https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=decode-uri-component&package-manager=npm_and_yarn&previous-version=0.2.0&new-version=0.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the
default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as
the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as
the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the
default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/minio/console/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02 12:33:19 -06:00
Aditya Manthramurthy
5800d01406 Bump up madmin-go to v2 (#2479) 2022-12-01 20:55:21 -08:00
Aditya Manthramurthy
c803451920 Separate out dependency vulnerability checks in CI (#2480) 2022-12-01 14:17:46 -06:00
Lenin Alevski
95bdc70d1d Display warning for public access policy in bucket settings (#2473)
Signed-off-by: Lenin Alevski <alevsk.8772@gmail.com>
2022-11-23 09:10:14 -08:00
Prakash Senthil Vel
5d10197334 page header ux (#2475)
Closes [#1031](https://github.com/miniohq/engineering/issues/1031)
2022-11-23 09:09:47 -08:00
Prakash Senthil Vel
e7da6cd651 relax editing of endpoint in add site replication UI (#2474) 2022-11-22 09:07:16 -08:00
adfost
0f35369292 fix: incorrect IP and bucket regexes (#2469)
Fixes https://github.com/minio/console/issues/2453.
2022-11-21 13:30:32 -08:00
Daniel Valdivia
579845dfb1 Upgrade Go Dependencies (#2472)
Signed-off-by: Daniel Valdivia
<18384552+dvaldivia@users.noreply.github.com>
2022-11-21 11:58:14 -08:00
Alex
6ad5c16d3a Fixed logo visibility in Safari (#2470)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-11-18 14:09:00 -06:00
Alex
24176b5c7d Initial Changes to Login page styles (#2467)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-11-18 13:00:08 -06:00
jinapurapu
0b3b5979ba Local bucket creation time (#2464)
<img width="1327" alt="Screen Shot 2022-11-16 at 9 57 57 AM"
src="https://user-images.githubusercontent.com/65002498/202257455-ceb041b0-4db9-44f3-9fd3-cc73c89f4339.png">


Fixes https://github.com/minio/console/issues/2462

Authored-by: Jillian Inapurapu <jillii@Jillians-MBP.attlocal.net>
2022-11-16 15:40:22 -08:00
jinapurapu
dbec9fbb4a Fix UpdateTierCredentialsModal For MinIO tier (#2459) 2022-11-16 12:00:17 -06:00
Prakash Senthil Vel
7cd0bc7cac update airgap registration steps and instructions (#2463) 2022-11-16 11:36:21 -06:00
Javier Adriel
c12a931dbf Update madmin-go (#2460) 2022-11-15 20:29:36 -06:00
jinapurapu
f8af10dd26 Add permission guidance if User doesn't have permission to view Objects in bucket (#2448) 2022-11-15 19:18:37 -06:00
Alex
4c47b9c3e6 Updated loader utils to avoid ReDoS issue (#2461)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-11-15 18:22:37 -06:00
Alex
44f2fc67a3 Release v0.21.3 (#2458)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-11-15 12:16:09 -08:00
Anis Elleuch
ec1ba16ef7 prom: Fix leak when a call fails with the prometheus endpoint (#2456) 2022-11-15 12:09:58 -06:00
Prakash Senthil Vel
7a5724591a fix crash in ui for empty log entries (#2457) 2022-11-15 12:09:42 -06:00
Alex
9f433bc359 Release v0.21.3 (#2455)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-11-15 07:52:33 -08:00
Javier Adriel
1d45a174ac Add deprecated message in Audit logs section (#2437) 2022-11-14 13:06:55 -06:00
Alex
80cee32031 Fixed Table Action buttons roundness (#2451)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2022-11-14 12:58:01 -06:00
Prakash Senthil Vel
437cfd0b8e fix broken chart axis data for date time formatting (#2452) 2022-11-14 11:56:17 -06:00
jinapurapu
dc4dae6ddb Added formatting to required permssions in permissionTooltipHelper (#2447) 2022-11-14 09:48:06 -06:00
Alex
2f578010a0 New Menu Adjustments (#2450) 2022-11-13 10:23:55 -08:00
Prakash Senthil Vel
e7ec3fe61f fix sub path resource matching in list objects (#2444)
fixes #https://github.com/minio/console/issues/2400 

Used the policy to validate the fix.

```json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::sam-card"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::sam-card/*"
            ]
        },
        {
            "Effect": "Deny",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::sam-card/aa/*"
            ]
        }
    ]
}

```
2022-11-10 11:27:40 -08:00
dilverse
7b389fc323 Add erasure info support (#2446)
Make it easier for user to see backend properties like backend-type,
Standard storage class Parity and Reduced Redundancy storage class
Parity
Co-authored-by: Prakash Senthil Vel <23444145+prakashsvmx@users.noreply.github.com>
2022-11-10 09:24:39 -08:00
Daniel Valdivia
86361b630e Tweak some icons to inherit color (#2445)
Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com>
2022-11-09 11:05:39 -06:00
Lenin Alevski
c57df87bc3 Add yarn audit check on github actions (#2441)
Checks for known security issues with the installed packages

Signed-off-by: Lenin Alevski <alevsk.8772@gmail.com>

Signed-off-by: Lenin Alevski <alevsk.8772@gmail.com>
2022-11-08 19:20:47 -08:00
Lenin Alevski
cbbf3c5a53 selective version resolution for load-utils in react-scripts (#2442)
Signed-off-by: Lenin Alevski <alevsk.8772@gmail.com>

Signed-off-by: Lenin Alevski <alevsk.8772@gmail.com>
2022-11-08 13:03:50 -08:00
498 changed files with 9171 additions and 2202 deletions

View File

@@ -23,7 +23,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
@@ -91,7 +90,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ubuntu-latest
@@ -165,7 +163,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ubuntu-latest
@@ -283,6 +280,62 @@ jobs:
pip3 install semgrep
semgrep --config semgrep.yaml $(pwd)/portal-ui --error
react-code-known-vulnerabilities:
name: "React Code Has No Known Vulnerable Deps"
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Read .nvmrc
id: node_version
run: echo ::set-output name=NVMRC::$(cat .nvmrc)
- uses: actions/setup-node@v2
with:
node-version: ${{ env.NVMRC }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v3
id: yarn-cache
name: Yarn Cache
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
./portal-ui/node_modules/
key: ${{ runner.os }}-yarn-${{ hashFiles('./portal-ui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- uses: actions/cache@v3
id: assets-cache
name: Assets Cache
with:
path: |
./portal-ui/build/
key: ${{ runner.os }}-assets-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-assets-
- name: Checks for known security issues with the installed packages
working-directory: ./portal-ui
continue-on-error: false
run: |
yarn audit
no-warnings-and-make-assets:
name: "React Code Has No Warnings & is Prettified, then Make Assets"
runs-on: ubuntu-latest
@@ -387,7 +440,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
timeout-minutes: 10
@@ -491,7 +543,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
timeout-minutes: 10
@@ -588,7 +639,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
timeout-minutes: 10
@@ -686,7 +736,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
timeout-minutes: 15
@@ -773,7 +822,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
strategy:
@@ -859,7 +907,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
strategy:
@@ -945,7 +992,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
strategy:
@@ -1031,7 +1077,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
strategy:
@@ -1117,7 +1162,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
strategy:
@@ -1213,7 +1257,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
strategy:
@@ -1316,7 +1359,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: [ ubuntu-latest ]
strategy:
@@ -1419,7 +1461,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -1513,7 +1554,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -1607,7 +1647,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -1695,193 +1734,191 @@ jobs:
with:
args: '"chrome:headless" portal-ui/tests/operator/tenant/test-2 --skip-js-errors -c 3'
all-operator-tests-4:
name: Operator UI Tests Part 4
needs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
id: go
# all-operator-tests-4:
# name: Operator UI Tests Part 4
# needs:
# - lint-job
# - no-warnings-and-make-assets
# - reuse-golang-dependencies
# - semgrep-static-code-analysis
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# go-version: [ 1.18.x ]
# os: [ ubuntu-latest ]
# steps:
# - name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
# uses: actions/setup-go@v2
# with:
# go-version: ${{ matrix.go-version }}
# id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
# - name: Check out code into the Go module directory
# uses: actions/checkout@v2
# To build operator image, we need to clone the repository first
- name: clone https://github.com/minio/operator
uses: actions/checkout@master
with:
# # To build operator image, we need to clone the repository first
# - name: clone https://github.com/minio/operator
# uses: actions/checkout@master
# with:
# Repository name with owner. For example, actions/checkout
# Default: ${{ github.repository }}
repository: minio/operator
# # Repository name with owner. For example, actions/checkout
# # Default: ${{ github.repository }}
# repository: minio/operator
# Relative path under $GITHUB_WORKSPACE to place the repository
# To have two repositories under the same test
path: 'operator_repository'
# # Relative path under $GITHUB_WORKSPACE to place the repository
# # To have two repositories under the same test
# path: 'operator_repository'
- name: Read .nvmrc
id: node_version
run: echo ::set-output name=NVMRC::$(cat .nvmrc)
# - name: Read .nvmrc
# id: node_version
# run: echo ::set-output name=NVMRC::$(cat .nvmrc)
- uses: actions/setup-node@v2
with:
node-version: ${{ env.NVMRC }}
# - uses: actions/setup-node@v2
# with:
# node-version: ${{ env.NVMRC }}
- uses: actions/cache@v3
name: Go Mod Cache
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ github.run_id }}
# - uses: actions/cache@v3
# name: Go Mod Cache
# with:
# path: |
# ~/.cache/go-build
# ~/go/pkg/mod
# key: ${{ runner.os }}-go-${{ github.run_id }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
# - name: Get yarn cache directory path
# id: yarn-cache-dir-path
# run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v3
id: yarn-cache
name: Yarn Cache
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
./portal-ui/node_modules/
key: ${{ runner.os }}-yarn-${{ hashFiles('./portal-ui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
# - uses: actions/cache@v3
# id: yarn-cache
# name: Yarn Cache
# with:
# path: |
# ${{ steps.yarn-cache-dir-path.outputs.dir }}
# ./portal-ui/node_modules/
# key: ${{ runner.os }}-yarn-${{ hashFiles('./portal-ui/yarn.lock') }}
# restore-keys: |
# ${{ runner.os }}-yarn-
- uses: actions/cache@v3
id: assets-cache
name: Assets Cache
with:
path: |
./portal-ui/build/
key: ${{ runner.os }}-assets-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-assets-
# - uses: actions/cache@v3
# id: assets-cache
# name: Assets Cache
# with:
# path: |
# ./portal-ui/build/
# key: ${{ runner.os }}-assets-${{ github.run_id }}
# restore-keys: |
# ${{ runner.os }}-assets-
- name: Build Console on ${{ matrix.os }}
env:
GO111MODULE: on
GOOS: linux
run: |
make console
# - name: Build Console on ${{ matrix.os }}
# env:
# GO111MODULE: on
# GOOS: linux
# run: |
# make console
# Runs a set of commands using the runners shell
- name: Start Kind for Operator UI
run: |
"${GITHUB_WORKSPACE}/portal-ui/tests/scripts/operator.sh"
# # Runs a set of commands using the runners shell
# - name: Start Kind for Operator UI
# run: |
# "${GITHUB_WORKSPACE}/portal-ui/tests/scripts/operator.sh"
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/operator/tenant/test-3 --skip-js-errors -c 3'
# - name: Run TestCafe Tests
# uses: DevExpress/testcafe-action@latest
# with:
# args: '"chrome:headless" portal-ui/tests/operator/tenant/test-3 --skip-js-errors -c 3'
all-operator-tests-5:
name: Operator UI Tests Part 5
needs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [ 1.18.x ]
os: [ ubuntu-latest ]
steps:
- name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
id: go
# all-operator-tests-5:
# name: Operator UI Tests Part 5
# needs:
# - lint-job
# - no-warnings-and-make-assets
# - reuse-golang-dependencies
# - semgrep-static-code-analysis
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# go-version: [ 1.18.x ]
# os: [ ubuntu-latest ]
# steps:
# - name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }}
# uses: actions/setup-go@v2
# with:
# go-version: ${{ matrix.go-version }}
# id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
# - name: Check out code into the Go module directory
# uses: actions/checkout@v2
# To build operator image, we need to clone the repository first
- name: clone https://github.com/minio/operator
uses: actions/checkout@master
with:
# # To build operator image, we need to clone the repository first
# - name: clone https://github.com/minio/operator
# uses: actions/checkout@master
# with:
# Repository name with owner. For example, actions/checkout
# Default: ${{ github.repository }}
repository: minio/operator
# # Repository name with owner. For example, actions/checkout
# # Default: ${{ github.repository }}
# repository: minio/operator
# Relative path under $GITHUB_WORKSPACE to place the repository
# To have two repositories under the same test
path: 'operator_repository'
# # Relative path under $GITHUB_WORKSPACE to place the repository
# # To have two repositories under the same test
# path: 'operator_repository'
- name: Read .nvmrc
id: node_version
run: echo ::set-output name=NVMRC::$(cat .nvmrc)
# - name: Read .nvmrc
# id: node_version
# run: echo ::set-output name=NVMRC::$(cat .nvmrc)
- uses: actions/setup-node@v2
with:
node-version: ${{ env.NVMRC }}
# - uses: actions/setup-node@v2
# with:
# node-version: ${{ env.NVMRC }}
- uses: actions/cache@v3
name: Go Mod Cache
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ github.run_id }}
# - uses: actions/cache@v3
# name: Go Mod Cache
# with:
# path: |
# ~/.cache/go-build
# ~/go/pkg/mod
# key: ${{ runner.os }}-go-${{ github.run_id }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
# - name: Get yarn cache directory path
# id: yarn-cache-dir-path
# run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v3
id: yarn-cache
name: Yarn Cache
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
./portal-ui/node_modules/
key: ${{ runner.os }}-yarn-${{ hashFiles('./portal-ui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
# - uses: actions/cache@v3
# id: yarn-cache
# name: Yarn Cache
# with:
# path: |
# ${{ steps.yarn-cache-dir-path.outputs.dir }}
# ./portal-ui/node_modules/
# key: ${{ runner.os }}-yarn-${{ hashFiles('./portal-ui/yarn.lock') }}
# restore-keys: |
# ${{ runner.os }}-yarn-
- uses: actions/cache@v3
id: assets-cache
name: Assets Cache
with:
path: |
./portal-ui/build/
key: ${{ runner.os }}-assets-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-assets-
# - uses: actions/cache@v3
# id: assets-cache
# name: Assets Cache
# with:
# path: |
# ./portal-ui/build/
# key: ${{ runner.os }}-assets-${{ github.run_id }}
# restore-keys: |
# ${{ runner.os }}-assets-
- name: Build Console on ${{ matrix.os }}
env:
GO111MODULE: on
GOOS: linux
run: |
make console
# - name: Build Console on ${{ matrix.os }}
# env:
# GO111MODULE: on
# GOOS: linux
# run: |
# make console
# Runs a set of commands using the runners shell
- name: Start Kind for Operator UI
run: |
"${GITHUB_WORKSPACE}/portal-ui/tests/scripts/operator.sh"
# # Runs a set of commands using the runners shell
# - name: Start Kind for Operator UI
# run: |
# "${GITHUB_WORKSPACE}/portal-ui/tests/scripts/operator.sh"
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome:headless" portal-ui/tests/operator/tenant/test-4 --skip-js-errors -c 3'
# - name: Run TestCafe Tests
# uses: DevExpress/testcafe-action@latest
# with:
# args: '"chrome:headless" portal-ui/tests/operator/tenant/test-4 --skip-js-errors -c 3'
compile-job:
name: Compiles on Go ${{ matrix.go-version }} and ${{ matrix.os }}
@@ -1889,7 +1926,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -1927,7 +1963,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -1965,7 +2000,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -2003,7 +2037,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -2041,7 +2074,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -2079,7 +2111,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -2117,7 +2148,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -2155,7 +2185,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -2201,7 +2230,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ${{ matrix.os }}
strategy:
@@ -2247,7 +2275,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ubuntu-latest
@@ -2340,7 +2367,6 @@ jobs:
- lint-job
- no-warnings-and-make-assets
- reuse-golang-dependencies
- vulnerable-dependencies-checks
- semgrep-static-code-analysis
runs-on: ubuntu-latest
steps:
@@ -2491,7 +2517,7 @@ jobs:
go tool cover -func=all.out | grep total > tmp2
result=`cat tmp2 | awk 'END {print $3}'`
result=${result%\%}
threshold=53.40
threshold=54.40
echo "Result:"
echo "$result%"
if (( $(echo "$result >= $threshold" |bc -l) )); then

41
go.mod
View File

@@ -18,37 +18,38 @@ require (
github.com/google/uuid v1.3.0
github.com/gorilla/websocket v1.5.0
github.com/jessevdk/go-flags v1.5.0
github.com/klauspost/compress v1.15.11
github.com/klauspost/compress v1.15.12
github.com/minio/cli v1.24.0
github.com/minio/directpv v1.4.4-0.20220805090942-948ca4731651
github.com/minio/highwayhash v1.0.2
github.com/minio/kes v0.21.1
github.com/minio/madmin-go v1.7.1
github.com/minio/mc v0.0.0-20221101010057-15e52fd862f5
github.com/minio/minio-go/v7 v7.0.41
github.com/minio/kes v0.22.0
github.com/minio/madmin-go/v2 v2.0.0
github.com/minio/mc v0.0.0-20221201184114-854b4f123f03
github.com/minio/minio-go/v7 v7.0.44
github.com/minio/operator v0.0.0-20220902184351-21e4073132b0
github.com/minio/pkg v1.5.4
github.com/minio/pkg v1.5.5
github.com/minio/selfupdate v0.5.0
github.com/mitchellh/go-homedir v1.1.0
github.com/rs/xid v1.4.0
github.com/secure-io/sio-go v0.3.1
github.com/stretchr/testify v1.8.0
github.com/stretchr/testify v1.8.1
github.com/tidwall/gjson v1.14.3
github.com/unrolled/secure v1.13.0
golang.org/x/crypto v0.1.0
golang.org/x/net v0.1.0
golang.org/x/oauth2 v0.1.0
golang.org/x/crypto v0.3.0
golang.org/x/net v0.2.0
golang.org/x/oauth2 v0.2.0
// Added to include security fix for
// https://github.com/golang/go/issues/56152
golang.org/x/text v0.4.0 // indirect
gopkg.in/yaml.v2 v2.4.0
k8s.io/api v0.25.3
k8s.io/apimachinery v0.25.3
k8s.io/client-go v0.25.3
k8s.io/utils v0.0.0-20221012122500-cfd413dd9e85
k8s.io/api v0.25.4
k8s.io/apimachinery v0.25.4
k8s.io/client-go v0.25.4
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2
)
require (
aead.dev/mem v0.2.0 // indirect
cloud.google.com/go/compute v1.7.0 // indirect
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
github.com/Azure/go-autorest/autorest v0.11.27 // indirect
@@ -96,9 +97,10 @@ require (
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/imdario/mergo v0.3.12 // indirect
github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/jedib0t/go-pretty/v6 v6.3.8 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/cpuid/v2 v2.1.2 // indirect
github.com/klauspost/cpuid/v2 v2.2.1 // indirect
github.com/kr/pretty v0.2.1 // indirect
github.com/lestrrat-go/backoff/v2 v2.0.8 // indirect
github.com/lestrrat-go/blackmagic v1.0.1 // indirect
@@ -120,6 +122,7 @@ require (
github.com/miekg/dns v1.1.48 // indirect
github.com/minio/colorjson v1.0.4 // indirect
github.com/minio/filepath v1.0.0 // indirect
github.com/minio/madmin-go v1.7.5 // indirect
github.com/minio/md5-simd v1.1.2 // indirect
github.com/minio/sha256-simd v1.0.0 // indirect
github.com/mitchellh/mapstructure v1.4.3 // indirect
@@ -160,8 +163,8 @@ require (
github.com/tidwall/match v1.1.1 // indirect
github.com/tidwall/pretty v1.2.1 // indirect
github.com/tinylib/msgp v1.1.7-0.20211026165309-e818a1881b0e // indirect
github.com/tklauser/go-sysconf v0.3.10 // indirect
github.com/tklauser/numcpus v0.5.0 // indirect
github.com/tklauser/go-sysconf v0.3.11 // indirect
github.com/tklauser/numcpus v0.6.0 // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect
go.etcd.io/etcd/api/v3 v3.5.5 // indirect
go.etcd.io/etcd/client/pkg/v3 v3.5.5 // indirect
@@ -172,8 +175,8 @@ require (
go.uber.org/zap v1.23.0 // indirect
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.1.0 // indirect
golang.org/x/term v0.1.0 // indirect
golang.org/x/sys v0.2.0 // indirect
golang.org/x/term v0.2.0 // indirect
golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 // indirect
golang.org/x/tools v0.1.12 // indirect
google.golang.org/appengine v1.6.7 // indirect

78
go.sum
View File

@@ -1,3 +1,5 @@
aead.dev/mem v0.2.0 h1:ufgkESS9+lHV/GUjxgc2ObF43FLZGSemh+W+y27QFMI=
aead.dev/mem v0.2.0/go.mod h1:4qj+sh8fjDhlvne9gm/ZaMRIX9EkmDrKOLwmyDtoMWM=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
@@ -590,6 +592,8 @@ github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc=
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jedib0t/go-pretty/v6 v6.3.8 h1:p5eZqLFMEGr7CC+9915lC4Dk7Gub6mH7NE35jDhkJsQ=
github.com/jedib0t/go-pretty/v6 v6.3.8/go.mod h1:MgmISkTWDSFu0xOqiZ0mKNntMQ2mDgOcwOkwBEkMDJI=
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
@@ -616,13 +620,14 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c=
github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
github.com/klauspost/compress v1.15.12 h1:YClS/PImqYbn+UILDnqxQCZ3RehC9N318SU3kElDUEM=
github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.1.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/klauspost/cpuid/v2 v2.1.2 h1:XhdX4fqAJUA0yj+kUwMavO0hHrSPAecYdYf1ZmxHvak=
github.com/klauspost/cpuid/v2 v2.1.2/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/klauspost/cpuid/v2 v2.2.1 h1:U33DW0aiEj633gHYw3LoDNfkDiYnE5Q8M/TKJn2f2jI=
github.com/klauspost/cpuid/v2 v2.2.1/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -709,21 +714,25 @@ github.com/minio/filepath v1.0.0 h1:fvkJu1+6X+ECRA6G3+JJETj4QeAYO9sV43I79H8ubDY=
github.com/minio/filepath v1.0.0/go.mod h1:/nRZA2ldl5z6jT9/KQuvZcQlxZIMQoFFQPvEXx9T/Bw=
github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g=
github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
github.com/minio/kes v0.21.1 h1:Af+CsnuvnOA9mGBAf05VY8ebf4vDfLDDu3uCO0VrKJU=
github.com/minio/kes v0.21.1/go.mod h1:3FW1BQkMGQW78yhy+69tUq5bdcf5rnXJizyeKB9a/tc=
github.com/minio/kes v0.22.0 h1:3PGIgjHTC5fAjmqfUcLIcSxV5CaxPyjY3q8q28UF158=
github.com/minio/kes v0.22.0/go.mod h1:q5T0uTFrr7l6GosXvF0ufCtUKkbmbSZW1Yhu4KgLKE8=
github.com/minio/madmin-go v1.6.6/go.mod h1:ATvkBOLiP3av4D++2v1UEHC/QzsGtgXD5kYvvRYzdKs=
github.com/minio/madmin-go v1.7.1 h1:4eMyMkLSVUFZmrrwxJrYnzRimy6eCoobqijaQxzYqak=
github.com/minio/madmin-go v1.7.1/go.mod h1:3SO8SROxHN++tF6QxdTii2SSUaYSrr8lnE9EJWjvz0k=
github.com/minio/mc v0.0.0-20221101010057-15e52fd862f5 h1:+G6yvmRG5YMKx8l7LFjuXU9GhRwy0Fmaqm2SU5DZyRM=
github.com/minio/mc v0.0.0-20221101010057-15e52fd862f5/go.mod h1:wbyQ/nZAvwzk/5b+cCYolP23AhIOj8PbcX5/NuZXMug=
github.com/minio/madmin-go v1.7.5 h1:IF8j2HR0jWc7msiOcy0KJ8EyY7Q3z+j+lsmSDksQm+I=
github.com/minio/madmin-go v1.7.5/go.mod h1:3SO8SROxHN++tF6QxdTii2SSUaYSrr8lnE9EJWjvz0k=
github.com/minio/madmin-go/v2 v2.0.0 h1:VR+zCIeoHPveppvMUhZ/vmok1UJp4pH38M4wkqpyT88=
github.com/minio/madmin-go/v2 v2.0.0/go.mod h1:5aFi/VLWBHC2DEFfGIlUmAeJhaF4ZAjuYpEWZFU14Zw=
github.com/minio/mc v0.0.0-20221201184114-854b4f123f03 h1:/q0NA3KjhTL+q/R9xEye0lpJECJmwaZnuIBsBn4HP28=
github.com/minio/mc v0.0.0-20221201184114-854b4f123f03/go.mod h1:+Jrdvdo6p83JtqUO38UUeTu4aspklp9cF9k6DqFkb0Q=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
github.com/minio/minio-go/v7 v7.0.41 h1:Qhc82nDRep+VSuDEPSawKUHkARnZI5st7acEqgqVX+k=
github.com/minio/minio-go/v7 v7.0.41/go.mod h1:nCrRzjoSUQh8hgKKtu3Y708OLvRLtuASMg2/nvmbarw=
github.com/minio/minio-go/v7 v7.0.44 h1:9zUJ7iU7ax2P1jOvTp6nVrgzlZq3AZlFm0XfRFDKstM=
github.com/minio/minio-go/v7 v7.0.44/go.mod h1:nCrRzjoSUQh8hgKKtu3Y708OLvRLtuASMg2/nvmbarw=
github.com/minio/operator v0.0.0-20220902184351-21e4073132b0 h1:Ak/IkcWaY/ntGIzpeZIw43hwFKMh1242qIELpk4bVqI=
github.com/minio/operator v0.0.0-20220902184351-21e4073132b0/go.mod h1:pMMJ+WzD3znzYC3Ae/clcKocdSRyenK4kzdstibdafk=
github.com/minio/pkg v1.5.4 h1:tP89j5EPym0C/kwacUm3NKgvpWEksDq2bVJJMQYLkmk=
github.com/minio/pkg v1.5.4/go.mod h1:2MOaRFdmFKULD+uOLc3qHLGTQTuxCNPKNPfLBTxC8CA=
github.com/minio/pkg v1.5.5 h1:z53jAVkXpRD+Y4LBt9cN+EaPUbWD6iOWhZuC90JvGqk=
github.com/minio/pkg v1.5.5/go.mod h1:EiGlHS2xaooa2VMxhJsxxAZHDObHVUB3HwtuoEXOCVE=
github.com/minio/selfupdate v0.5.0 h1:0UH1HlL49+2XByhovKl5FpYTjKfvrQ2sgL1zEXK6mfI=
github.com/minio/selfupdate v0.5.0/go.mod h1:mcDkzMgq8PRcpCRJo/NlPY7U45O5dfYl2Y0Rg7IustY=
github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g=
@@ -808,6 +817,7 @@ github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18=
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
github.com/pkg/xattr v0.4.9 h1:5883YPCtkSd8LFbs13nXplj9g9tlrwoJRjgpgMu1/fE=
github.com/pkg/xattr v0.4.9/go.mod h1:di8WF84zAKk8jzR1UBTEWh9AUlIZZ7M/JNt8e9B6ktU=
@@ -924,6 +934,7 @@ github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -932,8 +943,10 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/tidwall/gjson v1.14.3 h1:9jvXn7olKEHU1S9vwoMGliaT8jq1vJ7IH/n9zD9Dnlw=
@@ -947,11 +960,13 @@ github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhso
github.com/tinylib/msgp v1.1.6/go.mod h1:75BAfg2hauQhs3qedfdDZmWAPcFMAvJE5b9rGOMufyw=
github.com/tinylib/msgp v1.1.7-0.20211026165309-e818a1881b0e h1:P5tyWbssToKowBPTA1/EzqPXwrZNc8ZeNPdjgpcDEoI=
github.com/tinylib/msgp v1.1.7-0.20211026165309-e818a1881b0e/go.mod h1:g7jEyb18KPe65d9RRhGw+ThaJr5duyBH8eaFgBUor7Y=
github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw=
github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk=
github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM=
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ=
github.com/tklauser/numcpus v0.5.0 h1:ooe7gN0fg6myJ0EKoTAf5hebTZrH52px3New/D9iJ+A=
github.com/tklauser/numcpus v0.5.0/go.mod h1:OGzpTxpcIMNGYQdit2BYL1pvk/dSOaJWjKoflh+RQjo=
github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms=
github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/unrolled/secure v1.13.0 h1:sdr3Phw2+f8Px8HE5sd1EHdj1aV3yUwed/uZXChLFsk=
@@ -1051,8 +1066,8 @@ golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f/go.mod h1:IxCIyHEi3zRg3s0
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20221012134737-56aed061732a/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU=
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A=
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -1153,8 +1168,8 @@ golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
golang.org/x/net v0.0.0-20221017152216-f25eb7ecb193/go.mod h1:RpDiru2p0u2F0lLpEoqnP2+7xs0ifAuOcJ442g6GU2s=
golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0=
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1179,8 +1194,8 @@ golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7Lm
golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
golang.org/x/oauth2 v0.1.0 h1:isLCZuhj4v+tYv7eskaN4v/TM+A1begWWgyVJDdl1+Y=
golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A=
golang.org/x/oauth2 v0.2.0 h1:GtQkldQ9m7yvzCL1V+LrYow3Khe0eJH0w7RbX/VbaIU=
golang.org/x/oauth2 v0.2.0/go.mod h1:Cwn6afJ8jrQwYMxQDTpISoXmXW9I6qF6vDeuuoX3Ibs=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -1299,14 +1314,15 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0 h1:z85xZCsEl7bi/KwbNADeBYoOP0++7W1ipu+aGnpwzRM=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1663,17 +1679,17 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
k8s.io/api v0.24.3/go.mod h1:elGR/XSZrS7z7cSZPzVWaycpJuGIw57j9b95/1PdJNI=
k8s.io/api v0.25.3 h1:Q1v5UFfYe87vi5H7NU0p4RXC26PPMT8KOpr1TLQbCMQ=
k8s.io/api v0.25.3/go.mod h1:o42gKscFrEVjHdQnyRenACrMtbuJsVdP+WVjqejfzmI=
k8s.io/api v0.25.4 h1:3YO8J4RtmG7elEgaWMb4HgmpS2CfY1QlaOz9nwB+ZSs=
k8s.io/api v0.25.4/go.mod h1:IG2+RzyPQLllQxnhzD8KQNEu4c4YvyDTpSMztf4A0OQ=
k8s.io/apiextensions-apiserver v0.24.3 h1:kyx+Tmro1qEsTUr07ZGQOfvTsF61yn+AxnxytBWq8As=
k8s.io/apiextensions-apiserver v0.24.3/go.mod h1:cL0xkmUefpYM4f6IuOau+6NMFEIh6/7wXe/O4vPVJ8A=
k8s.io/apimachinery v0.24.3/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM=
k8s.io/apimachinery v0.25.3 h1:7o9ium4uyUOM76t6aunP0nZuex7gDf8VGwkR5RcJnQc=
k8s.io/apimachinery v0.25.3/go.mod h1:jaF9C/iPNM1FuLl7Zuy5b9v+n35HGSh6AQ4HYRkCqwo=
k8s.io/apimachinery v0.25.4 h1:CtXsuaitMESSu339tfhVXhQrPET+EiWnIY1rcurKnAc=
k8s.io/apimachinery v0.25.4/go.mod h1:jaF9C/iPNM1FuLl7Zuy5b9v+n35HGSh6AQ4HYRkCqwo=
k8s.io/apiserver v0.24.3/go.mod h1:aXfwtIn4U27B7lYs5f2BKgz6DRbgWy+HJeYReN1jLJ8=
k8s.io/client-go v0.24.3/go.mod h1:AAovolf5Z9bY1wIg2FZ8LPQlEdKHjLI7ZD4rw920BJw=
k8s.io/client-go v0.25.3 h1:oB4Dyl8d6UbfDHD8Bv8evKylzs3BXzzufLiO27xuPs0=
k8s.io/client-go v0.25.3/go.mod h1:t39LPczAIMwycjcXkVc+CB+PZV69jQuNx4um5ORDjQA=
k8s.io/client-go v0.25.4 h1:3RNRDffAkNU56M/a7gUfXaEzdhZlYhoW8dgViGy5fn8=
k8s.io/client-go v0.25.4/go.mod h1:8trHCAC83XKY0wsBIpbirZU4NTUpbuhc2JnI7OruGZw=
k8s.io/code-generator v0.24.3/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w=
k8s.io/component-base v0.24.3/go.mod h1:bqom2IWN9Lj+vwAkPNOv2TflsP1PeVDIwIN0lRthxYY=
k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
@@ -1688,8 +1704,8 @@ k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 h1:MQ8BAZPZlWk3S9K4a9NCkI
k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20221012122500-cfd413dd9e85 h1:cTdVh7LYu82xeClmfzGtgyspNh6UxpwLWGi8R4sspNo=
k8s.io/utils v0.0.0-20221012122500-cfd413dd9e85/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2 h1:GfD9OzL11kvZN5iArC6oTS7RTj7oJOIfnislxYlqTj8=
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=

View File

@@ -116,8 +116,8 @@ func TestLogout(t *testing.T) {
log.Println("authentication token not found in cookies response")
return
}
request, err = http.NewRequest("POST", "http://localhost:9090/api/v1/logout", requestDataBody)
logoutRequest := bytes.NewReader([]byte("{}"))
request, err = http.NewRequest("POST", "http://localhost:9090/api/v1/logout", logoutRequest)
if err != nil {
log.Println(err)
return
@@ -126,7 +126,6 @@ func TestLogout(t *testing.T) {
request.Header.Add("Content-Type", "application/json")
response, err = client.Do(request)
assert.NotNil(response, "Logout response is nil")
assert.Nil(err, "Logout errored out")
assert.Equal(response.StatusCode, 200)

View File

@@ -15,7 +15,7 @@ spec:
serviceAccountName: console-sa
containers:
- name: console
image: 'minio/console:v0.21.2'
image: 'minio/console:v0.22.2'
imagePullPolicy: "IfNotPresent"
env:
- name: CONSOLE_OPERATOR_MODE

View File

@@ -32,7 +32,7 @@ spec:
spec:
containers:
- name: console
image: 'minio/console:v0.21.2'
image: 'minio/console:v0.22.2'
imagePullPolicy: "IfNotPresent"
env:
- name: CONSOLE_MINIO_SERVER

View File

@@ -42,6 +42,9 @@ type AdminInfoResponse struct {
// Enum: [not configured available unavailable]
AdvancedMetricsStatus string `json:"advancedMetricsStatus,omitempty"`
// backend
Backend *BackendProperties `json:"backend,omitempty"`
// buckets
Buckets int64 `json:"buckets,omitempty"`
@@ -66,6 +69,10 @@ func (m *AdminInfoResponse) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
if err := m.validateBackend(formats); err != nil {
res = append(res, err)
}
if err := m.validateServers(formats); err != nil {
res = append(res, err)
}
@@ -125,6 +132,25 @@ func (m *AdminInfoResponse) validateAdvancedMetricsStatus(formats strfmt.Registr
return nil
}
func (m *AdminInfoResponse) validateBackend(formats strfmt.Registry) error {
if swag.IsZero(m.Backend) { // not required
return nil
}
if m.Backend != nil {
if err := m.Backend.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("backend")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("backend")
}
return err
}
}
return nil
}
func (m *AdminInfoResponse) validateServers(formats strfmt.Registry) error {
if swag.IsZero(m.Servers) { // not required
return nil
@@ -181,6 +207,10 @@ func (m *AdminInfoResponse) validateWidgets(formats strfmt.Registry) error {
func (m *AdminInfoResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateBackend(ctx, formats); err != nil {
res = append(res, err)
}
if err := m.contextValidateServers(ctx, formats); err != nil {
res = append(res, err)
}
@@ -195,6 +225,22 @@ func (m *AdminInfoResponse) ContextValidate(ctx context.Context, formats strfmt.
return nil
}
func (m *AdminInfoResponse) contextValidateBackend(ctx context.Context, formats strfmt.Registry) error {
if m.Backend != nil {
if err := m.Backend.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("backend")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("backend")
}
return err
}
}
return nil
}
func (m *AdminInfoResponse) contextValidateServers(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.Servers); i++ {

View File

@@ -0,0 +1,73 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// BackendProperties backend properties
//
// swagger:model BackendProperties
type BackendProperties struct {
// backend type
BackendType string `json:"backendType,omitempty"`
// rr s c parity
RrSCParity int64 `json:"rrSCParity,omitempty"`
// standard s c parity
StandardSCParity int64 `json:"standardSCParity,omitempty"`
}
// Validate validates this backend properties
func (m *BackendProperties) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this backend properties based on context it is used
func (m *BackendProperties) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *BackendProperties) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *BackendProperties) UnmarshalBinary(b []byte) error {
var res BackendProperties
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -0,0 +1,133 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"strconv"
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// IdpListConfigurationsResponse idp list configurations response
//
// swagger:model idpListConfigurationsResponse
type IdpListConfigurationsResponse struct {
// results
Results []*IdpServerConfiguration `json:"results"`
}
// Validate validates this idp list configurations response
func (m *IdpListConfigurationsResponse) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateResults(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *IdpListConfigurationsResponse) validateResults(formats strfmt.Registry) error {
if swag.IsZero(m.Results) { // not required
return nil
}
for i := 0; i < len(m.Results); i++ {
if swag.IsZero(m.Results[i]) { // not required
continue
}
if m.Results[i] != nil {
if err := m.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("results" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("results" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// ContextValidate validate this idp list configurations response based on the context it is used
func (m *IdpListConfigurationsResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateResults(ctx, formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *IdpListConfigurationsResponse) contextValidateResults(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.Results); i++ {
if m.Results[i] != nil {
if err := m.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("results" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("results" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// MarshalBinary interface implementation
func (m *IdpListConfigurationsResponse) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *IdpListConfigurationsResponse) UnmarshalBinary(b []byte) error {
var res IdpListConfigurationsResponse
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -0,0 +1,145 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"strconv"
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// IdpServerConfiguration idp server configuration
//
// swagger:model idpServerConfiguration
type IdpServerConfiguration struct {
// enabled
Enabled bool `json:"enabled,omitempty"`
// info
Info []*IdpServerConfigurationInfo `json:"info"`
// input
Input string `json:"input,omitempty"`
// name
Name string `json:"name,omitempty"`
// type
Type string `json:"type,omitempty"`
}
// Validate validates this idp server configuration
func (m *IdpServerConfiguration) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateInfo(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *IdpServerConfiguration) validateInfo(formats strfmt.Registry) error {
if swag.IsZero(m.Info) { // not required
return nil
}
for i := 0; i < len(m.Info); i++ {
if swag.IsZero(m.Info[i]) { // not required
continue
}
if m.Info[i] != nil {
if err := m.Info[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("info" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("info" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// ContextValidate validate this idp server configuration based on the context it is used
func (m *IdpServerConfiguration) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateInfo(ctx, formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *IdpServerConfiguration) contextValidateInfo(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.Info); i++ {
if m.Info[i] != nil {
if err := m.Info[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("info" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("info" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// MarshalBinary interface implementation
func (m *IdpServerConfiguration) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *IdpServerConfiguration) UnmarshalBinary(b []byte) error {
var res IdpServerConfiguration
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -0,0 +1,76 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// IdpServerConfigurationInfo idp server configuration info
//
// swagger:model idpServerConfigurationInfo
type IdpServerConfigurationInfo struct {
// is cfg
IsCfg bool `json:"isCfg,omitempty"`
// is env
IsEnv bool `json:"isEnv,omitempty"`
// key
Key string `json:"key,omitempty"`
// value
Value string `json:"value,omitempty"`
}
// Validate validates this idp server configuration info
func (m *IdpServerConfigurationInfo) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this idp server configuration info based on context it is used
func (m *IdpServerConfigurationInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *IdpServerConfigurationInfo) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *IdpServerConfigurationInfo) UnmarshalBinary(b []byte) error {
var res IdpServerConfigurationInfo
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -41,6 +41,9 @@ type LoginDetails struct {
// is direct p v
IsDirectPV bool `json:"isDirectPV,omitempty"`
// is k8 s
IsK8S bool `json:"isK8S,omitempty"`
// login strategy
// Enum: [form redirect service-account redirect-service-account]
LoginStrategy string `json:"loginStrategy,omitempty"`

View File

@@ -34,6 +34,9 @@ import (
// swagger:model loginResponse
type LoginResponse struct {
// ID p refresh token
IDPRefreshToken string `json:"IDPRefreshToken,omitempty"`
// session Id
SessionID string `json:"sessionId,omitempty"`
}

67
models/logout_request.go Normal file
View File

@@ -0,0 +1,67 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// LogoutRequest logout request
//
// swagger:model logoutRequest
type LogoutRequest struct {
// state
State string `json:"state,omitempty"`
}
// Validate validates this logout request
func (m *LogoutRequest) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this logout request based on context it is used
func (m *LogoutRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *LogoutRequest) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *LogoutRequest) UnmarshalBinary(b []byte) error {
var res LogoutRequest
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -40,6 +40,9 @@ type RewindItem struct {
// delete flag
DeleteFlag bool `json:"delete_flag,omitempty"`
// is latest
IsLatest bool `json:"is_latest,omitempty"`
// last modified
LastModified string `json:"last_modified,omitempty"`

View File

@@ -0,0 +1,67 @@
// Code generated by go-swagger; DO NOT EDIT.
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// SetIDPResponse set ID p response
//
// swagger:model setIDPResponse
type SetIDPResponse struct {
// restart
Restart bool `json:"restart,omitempty"`
}
// Validate validates this set ID p response
func (m *SetIDPResponse) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this set ID p response based on context it is used
func (m *SetIDPResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *SetIDPResponse) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *SetIDPResponse) UnmarshalBinary(b []byte) error {
var res SetIDPResponse
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}

View File

@@ -3626,6 +3626,9 @@ func init() {
"isDirectPV": {
"type": "boolean"
},
"isK8S": {
"type": "boolean"
},
"loginStrategy": {
"type": "string",
"enum": [
@@ -9622,6 +9625,9 @@ func init() {
"isDirectPV": {
"type": "boolean"
},
"isK8S": {
"type": "boolean"
},
"loginStrategy": {
"type": "string",
"enum": [

View File

@@ -25,6 +25,7 @@ import (
xoauth2 "golang.org/x/oauth2"
"github.com/minio/minio-go/v7/pkg/credentials"
"github.com/minio/pkg/env"
"github.com/minio/console/restapi"
@@ -93,6 +94,15 @@ func login(credentials restapi.ConsoleCredentialsI) (*string, error) {
return &token, nil
}
// isKubernetes returns true if minio is running in kubernetes.
func isKubernetes() bool {
// Kubernetes env used to validate if we are
// indeed running inside a kubernetes pod
// is KUBERNETES_SERVICE_HOST
// https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/kubelet_pods.go#L541
return env.Get("KUBERNETES_SERVICE_HOST", "") != ""
}
// getLoginDetailsResponse returns information regarding the Console authentication mechanism.
func getLoginDetailsResponse(params authApi.LoginDetailParams) (*models.LoginDetails, *models.Error) {
ctx, cancel := context.WithCancel(params.HTTPRequest.Context())
@@ -129,6 +139,7 @@ func getLoginDetailsResponse(params authApi.LoginDetailParams) (*models.LoginDet
LoginStrategy: loginStrategy,
RedirectRules: redirectRules,
IsDirectPV: getDirectPVEnabled(),
IsK8S: isKubernetes(),
}
return loginDetails, nil
}

View File

@@ -34,7 +34,7 @@ import (
utils2 "github.com/minio/console/pkg/http"
"github.com/minio/madmin-go"
"github.com/minio/madmin-go/v2"
"github.com/minio/console/restapi"

View File

@@ -37,6 +37,7 @@ type ProviderConfig struct {
Userinfo bool
RedirectCallbackDynamic bool
RedirectCallback string
EndSessionEndpoint string
RoleArn string // can be empty
}

View File

@@ -110,6 +110,7 @@ type Provider struct {
IDPName string
// if enabled means that we need extrace access_token as well
UserInfo bool
RefreshToken string
oauth2Config Configuration
provHTTPClient *http.Client
}
@@ -319,6 +320,7 @@ func (client *Provider) VerifyIdentity(ctx context.Context, code, state, roleARN
getWebTokenExpiry := func() (*credentials.WebIdentityToken, error) {
customCtx := context.WithValue(ctx, oauth2.HTTPClient, client.provHTTPClient)
oauth2Token, err := client.oauth2Config.Exchange(customCtx, code)
client.RefreshToken = oauth2Token.RefreshToken
if err != nil {
return nil, err
}

View File

@@ -17,7 +17,7 @@
package config
import (
"github.com/minio/madmin-go"
"github.com/minio/madmin-go/v2"
)
// Default keys

View File

@@ -28,7 +28,7 @@ import (
"github.com/minio/pkg/licverifier"
"github.com/minio/console/models"
"github.com/minio/madmin-go"
"github.com/minio/madmin-go/v2"
mc "github.com/minio/mc/cmd"
"github.com/tidwall/gjson"
)

View File

@@ -27,7 +27,7 @@ import (
xhttp "github.com/minio/console/pkg/http"
"github.com/minio/madmin-go"
"github.com/minio/madmin-go/v2"
mc "github.com/minio/mc/cmd"
"github.com/minio/pkg/env"
)

View File

@@ -1,129 +1,135 @@
{
"files": {
"main.css": "./static/css/main.b20a708b.css",
"main.js": "./static/js/main.3a920b67.js",
"static/js/1260.5248e62a.chunk.js": "./static/js/1260.5248e62a.chunk.js",
"static/js/6914.8c73a010.chunk.js": "./static/js/6914.8c73a010.chunk.js",
"static/js/4209.6cbd9842.chunk.js": "./static/js/4209.6cbd9842.chunk.js",
"static/js/1829.c686ac0f.chunk.js": "./static/js/1829.c686ac0f.chunk.js",
"static/js/5857.432b0de4.chunk.js": "./static/js/5857.432b0de4.chunk.js",
"static/js/5088.40235e2d.chunk.js": "./static/js/5088.40235e2d.chunk.js",
"main.js": "./static/js/main.2b781eaf.js",
"static/js/1260.ded6e17b.chunk.js": "./static/js/1260.ded6e17b.chunk.js",
"static/js/6914.1699f207.chunk.js": "./static/js/6914.1699f207.chunk.js",
"static/js/4209.227aa3b5.chunk.js": "./static/js/4209.227aa3b5.chunk.js",
"static/js/1829.be0f91b9.chunk.js": "./static/js/1829.be0f91b9.chunk.js",
"static/js/4455.237b7d46.chunk.js": "./static/js/4455.237b7d46.chunk.js",
"static/js/5088.db1a3894.chunk.js": "./static/js/5088.db1a3894.chunk.js",
"static/js/5140.29fde8ff.chunk.js": "./static/js/5140.29fde8ff.chunk.js",
"static/js/852.8313f23d.chunk.js": "./static/js/852.8313f23d.chunk.js",
"static/css/7588.9cb5f34b.chunk.css": "./static/css/7588.9cb5f34b.chunk.css",
"static/js/7588.aa5c4850.chunk.js": "./static/js/7588.aa5c4850.chunk.js",
"static/js/7588.120d7676.chunk.js": "./static/js/7588.120d7676.chunk.js",
"static/js/3176.59846ccd.chunk.js": "./static/js/3176.59846ccd.chunk.js",
"static/js/6137.a74f25a3.chunk.js": "./static/js/6137.a74f25a3.chunk.js",
"static/js/7045.73a51a5c.chunk.js": "./static/js/7045.73a51a5c.chunk.js",
"static/js/7092.f9d41c38.chunk.js": "./static/js/7092.f9d41c38.chunk.js",
"static/js/2338.0ee15506.chunk.js": "./static/js/2338.0ee15506.chunk.js",
"static/js/4335.8ab82b9c.chunk.js": "./static/js/4335.8ab82b9c.chunk.js",
"static/js/6604.45252fd1.chunk.js": "./static/js/6604.45252fd1.chunk.js",
"static/js/6763.d7ead4a5.chunk.js": "./static/js/6763.d7ead4a5.chunk.js",
"static/js/3543.cae2b3f6.chunk.js": "./static/js/3543.cae2b3f6.chunk.js",
"static/js/4061.d59413d5.chunk.js": "./static/js/4061.d59413d5.chunk.js",
"static/js/7092.016f352b.chunk.js": "./static/js/7092.016f352b.chunk.js",
"static/js/2338.9785d021.chunk.js": "./static/js/2338.9785d021.chunk.js",
"static/js/4335.5864f94d.chunk.js": "./static/js/4335.5864f94d.chunk.js",
"static/js/6604.fbd73f8f.chunk.js": "./static/js/6604.fbd73f8f.chunk.js",
"static/js/6763.88842a51.chunk.js": "./static/js/6763.88842a51.chunk.js",
"static/js/3543.f1a85590.chunk.js": "./static/js/3543.f1a85590.chunk.js",
"static/js/4061.d4b9a89f.chunk.js": "./static/js/4061.d4b9a89f.chunk.js",
"static/js/5112.65587729.chunk.js": "./static/js/5112.65587729.chunk.js",
"static/js/9611.dc6938ca.chunk.js": "./static/js/9611.dc6938ca.chunk.js",
"static/js/2637.2f96b150.chunk.js": "./static/js/2637.2f96b150.chunk.js",
"static/js/2637.a78c67b6.chunk.js": "./static/js/2637.a78c67b6.chunk.js",
"static/css/5503.9cb5f34b.chunk.css": "./static/css/5503.9cb5f34b.chunk.css",
"static/js/5503.863b708f.chunk.js": "./static/js/5503.863b708f.chunk.js",
"static/js/5926.ef852b88.chunk.js": "./static/js/5926.ef852b88.chunk.js",
"static/js/701.ab5785ea.chunk.js": "./static/js/701.ab5785ea.chunk.js",
"static/js/5503.8102c269.chunk.js": "./static/js/5503.8102c269.chunk.js",
"static/js/5926.a85e7cf5.chunk.js": "./static/js/5926.a85e7cf5.chunk.js",
"static/js/701.34df1a0d.chunk.js": "./static/js/701.34df1a0d.chunk.js",
"static/js/7821.461c5aa3.chunk.js": "./static/js/7821.461c5aa3.chunk.js",
"static/css/2850.9cb5f34b.chunk.css": "./static/css/2850.9cb5f34b.chunk.css",
"static/js/2850.dcbfd98c.chunk.js": "./static/js/2850.dcbfd98c.chunk.js",
"static/js/4131.e8f67352.chunk.js": "./static/js/4131.e8f67352.chunk.js",
"static/js/2850.c2c3a292.chunk.js": "./static/js/2850.c2c3a292.chunk.js",
"static/js/4131.34341b0f.chunk.js": "./static/js/4131.34341b0f.chunk.js",
"static/css/343.9cb5f34b.chunk.css": "./static/css/343.9cb5f34b.chunk.css",
"static/js/343.85ab615d.chunk.js": "./static/js/343.85ab615d.chunk.js",
"static/js/343.a3ee0915.chunk.js": "./static/js/343.a3ee0915.chunk.js",
"static/css/1199.9cb5f34b.chunk.css": "./static/css/1199.9cb5f34b.chunk.css",
"static/js/1199.0f0e2d2b.chunk.js": "./static/js/1199.0f0e2d2b.chunk.js",
"static/js/1199.cd08cdfd.chunk.js": "./static/js/1199.cd08cdfd.chunk.js",
"static/css/5517.9cb5f34b.chunk.css": "./static/css/5517.9cb5f34b.chunk.css",
"static/js/5517.23418977.chunk.js": "./static/js/5517.23418977.chunk.js",
"static/js/2555.6b5ff50d.chunk.js": "./static/js/2555.6b5ff50d.chunk.js",
"static/js/7585.2f05b1f3.chunk.js": "./static/js/7585.2f05b1f3.chunk.js",
"static/js/4902.124ab092.chunk.js": "./static/js/4902.124ab092.chunk.js",
"static/js/7847.90a046cb.chunk.js": "./static/js/7847.90a046cb.chunk.js",
"static/js/4096.f5e55618.chunk.js": "./static/js/4096.f5e55618.chunk.js",
"static/js/5517.730e0aeb.chunk.js": "./static/js/5517.730e0aeb.chunk.js",
"static/js/2555.47860755.chunk.js": "./static/js/2555.47860755.chunk.js",
"static/js/7486.83e0d248.chunk.js": "./static/js/7486.83e0d248.chunk.js",
"static/js/1377.6fbc40f3.chunk.js": "./static/js/1377.6fbc40f3.chunk.js",
"static/js/4672.7e50d90b.chunk.js": "./static/js/4672.7e50d90b.chunk.js",
"static/js/2516.5d118ef6.chunk.js": "./static/js/2516.5d118ef6.chunk.js",
"static/js/2759.3ab5d8ec.chunk.js": "./static/js/2759.3ab5d8ec.chunk.js",
"static/js/7295.c85034bf.chunk.js": "./static/js/7295.c85034bf.chunk.js",
"static/js/7585.cd3ad44f.chunk.js": "./static/js/7585.cd3ad44f.chunk.js",
"static/js/4902.b5c5ff07.chunk.js": "./static/js/4902.b5c5ff07.chunk.js",
"static/js/7847.659fc617.chunk.js": "./static/js/7847.659fc617.chunk.js",
"static/js/3097.86eccc21.chunk.js": "./static/js/3097.86eccc21.chunk.js",
"static/js/692.bf3eea50.chunk.js": "./static/js/692.bf3eea50.chunk.js",
"static/js/6413.17138886.chunk.js": "./static/js/6413.17138886.chunk.js",
"static/js/8360.105f809d.chunk.js": "./static/js/8360.105f809d.chunk.js",
"static/js/6577.8f9494b2.chunk.js": "./static/js/6577.8f9494b2.chunk.js",
"static/js/3875.7770313b.chunk.js": "./static/js/3875.7770313b.chunk.js",
"static/js/106.72d23b2d.chunk.js": "./static/js/106.72d23b2d.chunk.js",
"static/js/7223.c4364eea.chunk.js": "./static/js/7223.c4364eea.chunk.js",
"static/js/5726.dff06c96.chunk.js": "./static/js/5726.dff06c96.chunk.js",
"static/js/5643.706d28f9.chunk.js": "./static/js/5643.706d28f9.chunk.js",
"static/js/8626.b7bc68f1.chunk.js": "./static/js/8626.b7bc68f1.chunk.js",
"static/js/8360.cddfeef1.chunk.js": "./static/js/8360.cddfeef1.chunk.js",
"static/js/6577.caaa5471.chunk.js": "./static/js/6577.caaa5471.chunk.js",
"static/js/3875.7dc3910c.chunk.js": "./static/js/3875.7dc3910c.chunk.js",
"static/js/6401.82b00a73.chunk.js": "./static/js/6401.82b00a73.chunk.js",
"static/js/2949.c17a4a94.chunk.js": "./static/js/2949.c17a4a94.chunk.js",
"static/js/3119.828f52b0.chunk.js": "./static/js/3119.828f52b0.chunk.js",
"static/js/5643.5f80a628.chunk.js": "./static/js/5643.5f80a628.chunk.js",
"static/js/4781.f4794912.chunk.js": "./static/js/4781.f4794912.chunk.js",
"static/js/9478.a335fb0f.chunk.js": "./static/js/9478.a335fb0f.chunk.js",
"static/js/7164.3762a0c0.chunk.js": "./static/js/7164.3762a0c0.chunk.js",
"static/js/4414.4d74d89b.chunk.js": "./static/js/4414.4d74d89b.chunk.js",
"static/js/7798.e33e9b60.chunk.js": "./static/js/7798.e33e9b60.chunk.js",
"static/js/8833.3556cd36.chunk.js": "./static/js/8833.3556cd36.chunk.js",
"static/js/6526.296ba888.chunk.js": "./static/js/6526.296ba888.chunk.js",
"static/js/4414.7abfed46.chunk.js": "./static/js/4414.7abfed46.chunk.js",
"static/js/7798.8ed31952.chunk.js": "./static/js/7798.8ed31952.chunk.js",
"static/js/8833.9dccd2d5.chunk.js": "./static/js/8833.9dccd2d5.chunk.js",
"static/js/6526.e3612299.chunk.js": "./static/js/6526.e3612299.chunk.js",
"static/js/483.5b997456.chunk.js": "./static/js/483.5b997456.chunk.js",
"static/js/9467.d0711d5e.chunk.js": "./static/js/9467.d0711d5e.chunk.js",
"static/js/6895.54b01aaa.chunk.js": "./static/js/6895.54b01aaa.chunk.js",
"static/js/1379.d515229f.chunk.js": "./static/js/1379.d515229f.chunk.js",
"static/js/8277.4222c489.chunk.js": "./static/js/8277.4222c489.chunk.js",
"static/js/4133.a8d9e248.chunk.js": "./static/js/4133.a8d9e248.chunk.js",
"static/js/9467.8e1b707f.chunk.js": "./static/js/9467.8e1b707f.chunk.js",
"static/js/6895.488a4025.chunk.js": "./static/js/6895.488a4025.chunk.js",
"static/js/5882.41668ace.chunk.js": "./static/js/5882.41668ace.chunk.js",
"static/js/8277.e772e8bd.chunk.js": "./static/js/8277.e772e8bd.chunk.js",
"static/js/4133.2386eedc.chunk.js": "./static/js/4133.2386eedc.chunk.js",
"static/css/1367.9cb5f34b.chunk.css": "./static/css/1367.9cb5f34b.chunk.css",
"static/js/1367.00454bc0.chunk.js": "./static/js/1367.00454bc0.chunk.js",
"static/js/3956.693e1c1b.chunk.js": "./static/js/3956.693e1c1b.chunk.js",
"static/js/9221.e9f3f525.chunk.js": "./static/js/9221.e9f3f525.chunk.js",
"static/js/8896.3ab50b22.chunk.js": "./static/js/8896.3ab50b22.chunk.js",
"static/js/1367.eb3c7186.chunk.js": "./static/js/1367.eb3c7186.chunk.js",
"static/js/3956.81b98a64.chunk.js": "./static/js/3956.81b98a64.chunk.js",
"static/js/9221.38a31de2.chunk.js": "./static/js/9221.38a31de2.chunk.js",
"static/js/8896.2afd6d87.chunk.js": "./static/js/8896.2afd6d87.chunk.js",
"static/js/9134.76b1bd01.chunk.js": "./static/js/9134.76b1bd01.chunk.js",
"static/css/1268.9cb5f34b.chunk.css": "./static/css/1268.9cb5f34b.chunk.css",
"static/js/1268.408b6da9.chunk.js": "./static/js/1268.408b6da9.chunk.js",
"static/js/441.5061a06e.chunk.js": "./static/js/441.5061a06e.chunk.js",
"static/js/1268.31853f4b.chunk.js": "./static/js/1268.31853f4b.chunk.js",
"static/js/441.d647ea80.chunk.js": "./static/js/441.d647ea80.chunk.js",
"static/js/9145.85a731d5.chunk.js": "./static/js/9145.85a731d5.chunk.js",
"static/js/8998.b7518624.chunk.js": "./static/js/8998.b7518624.chunk.js",
"static/js/1501.45b91938.chunk.js": "./static/js/1501.45b91938.chunk.js",
"static/js/7770.3664e24d.chunk.js": "./static/js/7770.3664e24d.chunk.js",
"static/js/8998.5bea3a2b.chunk.js": "./static/js/8998.5bea3a2b.chunk.js",
"static/js/1501.e6260482.chunk.js": "./static/js/1501.e6260482.chunk.js",
"static/js/7770.771cea33.chunk.js": "./static/js/7770.771cea33.chunk.js",
"static/js/426.82aff597.chunk.js": "./static/js/426.82aff597.chunk.js",
"static/js/5608.bf0a4f01.chunk.js": "./static/js/5608.bf0a4f01.chunk.js",
"static/js/4298.39009639.chunk.js": "./static/js/4298.39009639.chunk.js",
"static/js/2878.8dd5ace8.chunk.js": "./static/js/2878.8dd5ace8.chunk.js",
"static/js/8495.b1689c2d.chunk.js": "./static/js/8495.b1689c2d.chunk.js",
"static/js/4934.72071d47.chunk.js": "./static/js/4934.72071d47.chunk.js",
"static/js/9942.78febb7d.chunk.js": "./static/js/9942.78febb7d.chunk.js",
"static/js/7021.a571133a.chunk.js": "./static/js/7021.a571133a.chunk.js",
"static/js/2684.adde116d.chunk.js": "./static/js/2684.adde116d.chunk.js",
"static/js/7021.62c812c9.chunk.js": "./static/js/7021.62c812c9.chunk.js",
"static/js/2684.dde9af57.chunk.js": "./static/js/2684.dde9af57.chunk.js",
"static/css/9567.9cb5f34b.chunk.css": "./static/css/9567.9cb5f34b.chunk.css",
"static/js/9567.cf023e3e.chunk.js": "./static/js/9567.cf023e3e.chunk.js",
"static/js/8350.c98738e4.chunk.js": "./static/js/8350.c98738e4.chunk.js",
"static/js/9567.93e1e8a0.chunk.js": "./static/js/9567.93e1e8a0.chunk.js",
"static/js/8350.ff17d087.chunk.js": "./static/js/8350.ff17d087.chunk.js",
"static/js/4873.9349e8b2.chunk.js": "./static/js/4873.9349e8b2.chunk.js",
"static/js/5367.6280cd0d.chunk.js": "./static/js/5367.6280cd0d.chunk.js",
"static/js/6405.7ed910f9.chunk.js": "./static/js/6405.7ed910f9.chunk.js",
"static/js/5223.96f3ec77.chunk.js": "./static/js/5223.96f3ec77.chunk.js",
"static/js/1799.46eb9579.chunk.js": "./static/js/1799.46eb9579.chunk.js",
"static/js/9297.e6332146.chunk.js": "./static/js/9297.e6332146.chunk.js",
"static/js/9968.89304e6a.chunk.js": "./static/js/9968.89304e6a.chunk.js",
"static/js/6405.379b5b82.chunk.js": "./static/js/6405.379b5b82.chunk.js",
"static/js/5223.a4346b6b.chunk.js": "./static/js/5223.a4346b6b.chunk.js",
"static/js/1799.d2996f85.chunk.js": "./static/js/1799.d2996f85.chunk.js",
"static/js/9297.466f48d4.chunk.js": "./static/js/9297.466f48d4.chunk.js",
"static/js/9968.8cde9579.chunk.js": "./static/js/9968.8cde9579.chunk.js",
"static/js/2180.ecd3ab8b.chunk.js": "./static/js/2180.ecd3ab8b.chunk.js",
"static/js/8253.fa95cf82.chunk.js": "./static/js/8253.fa95cf82.chunk.js",
"static/js/3328.5e637c6f.chunk.js": "./static/js/3328.5e637c6f.chunk.js",
"static/js/3328.72ba5ec0.chunk.js": "./static/js/3328.72ba5ec0.chunk.js",
"static/js/1440.d3fd88ff.chunk.js": "./static/js/1440.d3fd88ff.chunk.js",
"static/js/9179.c61083e7.chunk.js": "./static/js/9179.c61083e7.chunk.js",
"static/js/51.d24a0589.chunk.js": "./static/js/51.d24a0589.chunk.js",
"static/js/711.2c20424f.chunk.js": "./static/js/711.2c20424f.chunk.js",
"static/js/6901.e2472ebd.chunk.js": "./static/js/6901.e2472ebd.chunk.js",
"static/js/2185.a1da3e17.chunk.js": "./static/js/2185.a1da3e17.chunk.js",
"static/js/312.3a15e683.chunk.js": "./static/js/312.3a15e683.chunk.js",
"static/js/2112.6b7837dd.chunk.js": "./static/js/2112.6b7837dd.chunk.js",
"static/js/4619.c41b384a.chunk.js": "./static/js/4619.c41b384a.chunk.js",
"static/js/8990.8da3f1b4.chunk.js": "./static/js/8990.8da3f1b4.chunk.js",
"static/js/8455.2f5d0d0a.chunk.js": "./static/js/8455.2f5d0d0a.chunk.js",
"static/js/9179.73844de6.chunk.js": "./static/js/9179.73844de6.chunk.js",
"static/js/51.f63429fd.chunk.js": "./static/js/51.f63429fd.chunk.js",
"static/js/711.7013b9d7.chunk.js": "./static/js/711.7013b9d7.chunk.js",
"static/js/6901.cda3f1f9.chunk.js": "./static/js/6901.cda3f1f9.chunk.js",
"static/js/2185.4baca582.chunk.js": "./static/js/2185.4baca582.chunk.js",
"static/js/312.770148c8.chunk.js": "./static/js/312.770148c8.chunk.js",
"static/js/2112.c85537ec.chunk.js": "./static/js/2112.c85537ec.chunk.js",
"static/js/4619.bbf03503.chunk.js": "./static/js/4619.bbf03503.chunk.js",
"static/js/8990.4f806e82.chunk.js": "./static/js/8990.4f806e82.chunk.js",
"static/js/8455.8cf8a65d.chunk.js": "./static/js/8455.8cf8a65d.chunk.js",
"static/css/1913.9cb5f34b.chunk.css": "./static/css/1913.9cb5f34b.chunk.css",
"static/js/1913.1bb254fb.chunk.js": "./static/js/1913.1bb254fb.chunk.js",
"static/js/1913.2b54b9d3.chunk.js": "./static/js/1913.2b54b9d3.chunk.js",
"static/js/1604.fa7e2b2f.chunk.js": "./static/js/1604.fa7e2b2f.chunk.js",
"static/js/8391.0411f28f.chunk.js": "./static/js/8391.0411f28f.chunk.js",
"static/js/402.626f6141.chunk.js": "./static/js/402.626f6141.chunk.js",
"static/js/8391.ba8f9cd2.chunk.js": "./static/js/8391.ba8f9cd2.chunk.js",
"static/js/402.46c69861.chunk.js": "./static/js/402.46c69861.chunk.js",
"static/js/1705.596850eb.chunk.js": "./static/js/1705.596850eb.chunk.js",
"static/js/1581.3b60face.chunk.js": "./static/js/1581.3b60face.chunk.js",
"static/js/455.89cfe65b.chunk.js": "./static/js/455.89cfe65b.chunk.js",
"static/js/2661.89815275.chunk.js": "./static/js/2661.89815275.chunk.js",
"static/js/889.8c6af0b9.chunk.js": "./static/js/889.8c6af0b9.chunk.js",
"static/js/9088.131128ad.chunk.js": "./static/js/9088.131128ad.chunk.js",
"static/js/247.b3ec6497.chunk.js": "./static/js/247.b3ec6497.chunk.js",
"static/js/2408.40adaebd.chunk.js": "./static/js/2408.40adaebd.chunk.js",
"static/js/1581.44c0448f.chunk.js": "./static/js/1581.44c0448f.chunk.js",
"static/js/455.4b142906.chunk.js": "./static/js/455.4b142906.chunk.js",
"static/js/2661.9bd125a1.chunk.js": "./static/js/2661.9bd125a1.chunk.js",
"static/js/889.bba47c51.chunk.js": "./static/js/889.bba47c51.chunk.js",
"static/js/9088.17f4cb12.chunk.js": "./static/js/9088.17f4cb12.chunk.js",
"static/js/247.908c948c.chunk.js": "./static/js/247.908c948c.chunk.js",
"static/js/2408.4f7b17cd.chunk.js": "./static/js/2408.4f7b17cd.chunk.js",
"static/js/5171.e5224ef3.chunk.js": "./static/js/5171.e5224ef3.chunk.js",
"static/js/3691.ff436a8f.chunk.js": "./static/js/3691.ff436a8f.chunk.js",
"static/js/2813.cfbfa60f.chunk.js": "./static/js/2813.cfbfa60f.chunk.js",
@@ -136,7 +142,7 @@
"static/js/2515.322cc076.chunk.js": "./static/js/2515.322cc076.chunk.js",
"static/js/1459.03befbb8.chunk.js": "./static/js/1459.03befbb8.chunk.js",
"static/js/1465.4525f636.chunk.js": "./static/js/1465.4525f636.chunk.js",
"static/js/4455.cdf95486.chunk.js": "./static/js/4455.cdf95486.chunk.js",
"static/js/1267.ee70805c.chunk.js": "./static/js/1267.ee70805c.chunk.js",
"static/js/6172.12ed66ed.chunk.js": "./static/js/6172.12ed66ed.chunk.js",
"static/js/696.c93c6454.chunk.js": "./static/js/696.c93c6454.chunk.js",
"static/js/3388.6f330810.chunk.js": "./static/js/3388.6f330810.chunk.js",
@@ -149,157 +155,161 @@
"static/js/1790.eb475334.chunk.js": "./static/js/1790.eb475334.chunk.js",
"static/js/2331.288af2ec.chunk.js": "./static/js/2331.288af2ec.chunk.js",
"static/js/9515.a4e964be.chunk.js": "./static/js/9515.a4e964be.chunk.js",
"static/js/2983.26b296ba.chunk.js": "./static/js/2983.26b296ba.chunk.js",
"static/js/5861.af51c5d9.chunk.js": "./static/js/5861.af51c5d9.chunk.js",
"static/js/2763.fadd6aec.chunk.js": "./static/js/2763.fadd6aec.chunk.js",
"static/js/4298.d677cede.chunk.js": "./static/js/4298.d677cede.chunk.js",
"static/media/Lato-Thin.woff": "./static/media/Lato-Thin.1549cf8478615fc56aa3.woff",
"static/media/Lato-Thin.woff2": "./static/media/Lato-Thin.c84b392f9e0187c54528.woff2",
"static/media/Lato-BoldItalic.woff": "./static/media/Lato-BoldItalic.443bd94393f9d73446c8.woff",
"static/media/Lato-Italic.woff": "./static/media/Lato-Italic.251de5f48806485e4c5a.woff",
"static/media/Lato-BlackItalic.woff": "./static/media/Lato-BlackItalic.c329db2ef5efedb87a8e.woff",
"static/media/Lato-Regular.woff": "./static/media/Lato-Regular.77ca2742388f408c3be7.woff",
"static/media/Lato-Bold.woff": "./static/media/Lato-Bold.ba3a83adcb94357fc42f.woff",
"static/media/Lato-Black.woff": "./static/media/Lato-Black.efe7c183457352448e1e.woff",
"static/media/Lato-Light.woff": "./static/media/Lato-Light.91308c0216b40aad1603.woff",
"static/media/Lato-Hairline.woff": "./static/media/Lato-Hairline.8cc2841238f3d3276d9c.woff",
"static/media/Lato-BoldItalic.woff2": "./static/media/Lato-BoldItalic.84607fcdf9af8784aa6e.woff2",
"static/media/Lato-Italic.woff2": "./static/media/Lato-Italic.d9364c880eec4d4fea78.woff2",
"static/media/Lato-BlackItalic.woff2": "./static/media/Lato-BlackItalic.3061b5464316d87f5dbc.woff2",
"static/media/Lato-Regular.woff2": "./static/media/Lato-Regular.39ac38d8a27bed2a16e4.woff2",
"static/media/Lato-Bold.woff2": "./static/media/Lato-Bold.ea8a923ec6d3ea7cf7bc.woff2",
"static/media/Lato-LightItalic.woff": "./static/media/Lato-LightItalic.6876f3b2e440df8eab71.woff",
"static/media/Lato-Black.woff2": "./static/media/Lato-Black.9280d87f151e453d884c.woff2",
"static/media/Lato-HairlineItalic.woff": "./static/media/Lato-HairlineItalic.540ee912c7282b8bb151.woff",
"static/media/Lato-Light.woff2": "./static/media/Lato-Light.7e323674c33b3939aba5.woff2",
"static/media/Lato-Hairline.woff2": "./static/media/Lato-Hairline.4cf04805197605f0103e.woff2",
"static/media/Lato-LightItalic.woff2": "./static/media/Lato-LightItalic.0ea7656d6a58e3f9853b.woff2",
"static/media/Lato-HairlineItalic.woff2": "./static/media/Lato-HairlineItalic.bf1e0782291efebe06da.woff2",
"static/js/2983.e248775f.chunk.js": "./static/js/2983.e248775f.chunk.js",
"static/js/5861.65847210.chunk.js": "./static/js/5861.65847210.chunk.js",
"static/js/537.85347210.chunk.js": "./static/js/537.85347210.chunk.js",
"static/js/2763.08c6e1fd.chunk.js": "./static/js/2763.08c6e1fd.chunk.js",
"static/media/videoBG.mp4": "./static/media/videoBG.17363418b3c2246a0e27.mp4",
"static/media/loginAnimationPoster.png": "./static/media/loginAnimationPoster.9aa924bfe619e71d5d29.png",
"static/media/Inter-BoldItalic.woff": "./static/media/Inter-BoldItalic.b376885042f6c961a541.woff",
"static/media/Inter-LightItalic.woff": "./static/media/Inter-LightItalic.ef9f65d91d2b0ba9b2e4.woff",
"static/media/Inter-BlackItalic.woff": "./static/media/Inter-BlackItalic.ca1e738e4f349f27514d.woff",
"static/media/Inter-Italic.woff": "./static/media/Inter-Italic.890025e726861dba417f.woff",
"static/media/Inter-Bold.woff": "./static/media/Inter-Bold.93c1301bd9f486c573b3.woff",
"static/media/Inter-Light.woff": "./static/media/Inter-Light.994e34451cc19ede31d3.woff",
"static/media/Inter-Black.woff": "./static/media/Inter-Black.c6938660eec019fefd68.woff",
"static/media/Inter-Thin.woff": "./static/media/Inter-Thin.29b9c616a95a912abf73.woff",
"static/media/Inter-Regular.woff": "./static/media/Inter-Regular.8c206db99195777c6769.woff",
"static/media/Inter-BoldItalic.woff2": "./static/media/Inter-BoldItalic.2d26c56a606662486796.woff2",
"static/media/Inter-LightItalic.woff2": "./static/media/Inter-LightItalic.f86952265d7b0f02c921.woff2",
"static/media/Inter-BlackItalic.woff2": "./static/media/Inter-BlackItalic.cb2a7335650c690077fe.woff2",
"static/media/Inter-Italic.woff2": "./static/media/Inter-Italic.cb10ffd7684cd9836a05.woff2",
"static/media/Inter-Bold.woff2": "./static/media/Inter-Bold.ec64ea577b0349e055ad.woff2",
"static/media/Inter-Light.woff2": "./static/media/Inter-Light.2d5198822ab091ce4305.woff2",
"static/media/Inter-Black.woff2": "./static/media/Inter-Black.15ca31c0a2a68f76d2d1.woff2",
"static/media/Inter-Thin.woff2": "./static/media/Inter-Thin.fff2a096db014f6239d4.woff2",
"static/media/Inter-Regular.woff2": "./static/media/Inter-Regular.c8ba52b05a9ef10f4758.woff2",
"index.html": "./index.html",
"main.b20a708b.css.map": "./static/css/main.b20a708b.css.map",
"main.3a920b67.js.map": "./static/js/main.3a920b67.js.map",
"1260.5248e62a.chunk.js.map": "./static/js/1260.5248e62a.chunk.js.map",
"6914.8c73a010.chunk.js.map": "./static/js/6914.8c73a010.chunk.js.map",
"4209.6cbd9842.chunk.js.map": "./static/js/4209.6cbd9842.chunk.js.map",
"1829.c686ac0f.chunk.js.map": "./static/js/1829.c686ac0f.chunk.js.map",
"5857.432b0de4.chunk.js.map": "./static/js/5857.432b0de4.chunk.js.map",
"5088.40235e2d.chunk.js.map": "./static/js/5088.40235e2d.chunk.js.map",
"main.2b781eaf.js.map": "./static/js/main.2b781eaf.js.map",
"1260.ded6e17b.chunk.js.map": "./static/js/1260.ded6e17b.chunk.js.map",
"6914.1699f207.chunk.js.map": "./static/js/6914.1699f207.chunk.js.map",
"4209.227aa3b5.chunk.js.map": "./static/js/4209.227aa3b5.chunk.js.map",
"1829.be0f91b9.chunk.js.map": "./static/js/1829.be0f91b9.chunk.js.map",
"4455.237b7d46.chunk.js.map": "./static/js/4455.237b7d46.chunk.js.map",
"5088.db1a3894.chunk.js.map": "./static/js/5088.db1a3894.chunk.js.map",
"5140.29fde8ff.chunk.js.map": "./static/js/5140.29fde8ff.chunk.js.map",
"852.8313f23d.chunk.js.map": "./static/js/852.8313f23d.chunk.js.map",
"7588.9cb5f34b.chunk.css.map": "./static/css/7588.9cb5f34b.chunk.css.map",
"7588.aa5c4850.chunk.js.map": "./static/js/7588.aa5c4850.chunk.js.map",
"7588.120d7676.chunk.js.map": "./static/js/7588.120d7676.chunk.js.map",
"3176.59846ccd.chunk.js.map": "./static/js/3176.59846ccd.chunk.js.map",
"6137.a74f25a3.chunk.js.map": "./static/js/6137.a74f25a3.chunk.js.map",
"7045.73a51a5c.chunk.js.map": "./static/js/7045.73a51a5c.chunk.js.map",
"7092.f9d41c38.chunk.js.map": "./static/js/7092.f9d41c38.chunk.js.map",
"2338.0ee15506.chunk.js.map": "./static/js/2338.0ee15506.chunk.js.map",
"4335.8ab82b9c.chunk.js.map": "./static/js/4335.8ab82b9c.chunk.js.map",
"6604.45252fd1.chunk.js.map": "./static/js/6604.45252fd1.chunk.js.map",
"6763.d7ead4a5.chunk.js.map": "./static/js/6763.d7ead4a5.chunk.js.map",
"3543.cae2b3f6.chunk.js.map": "./static/js/3543.cae2b3f6.chunk.js.map",
"4061.d59413d5.chunk.js.map": "./static/js/4061.d59413d5.chunk.js.map",
"7092.016f352b.chunk.js.map": "./static/js/7092.016f352b.chunk.js.map",
"2338.9785d021.chunk.js.map": "./static/js/2338.9785d021.chunk.js.map",
"4335.5864f94d.chunk.js.map": "./static/js/4335.5864f94d.chunk.js.map",
"6604.fbd73f8f.chunk.js.map": "./static/js/6604.fbd73f8f.chunk.js.map",
"6763.88842a51.chunk.js.map": "./static/js/6763.88842a51.chunk.js.map",
"3543.f1a85590.chunk.js.map": "./static/js/3543.f1a85590.chunk.js.map",
"4061.d4b9a89f.chunk.js.map": "./static/js/4061.d4b9a89f.chunk.js.map",
"5112.65587729.chunk.js.map": "./static/js/5112.65587729.chunk.js.map",
"9611.dc6938ca.chunk.js.map": "./static/js/9611.dc6938ca.chunk.js.map",
"2637.2f96b150.chunk.js.map": "./static/js/2637.2f96b150.chunk.js.map",
"2637.a78c67b6.chunk.js.map": "./static/js/2637.a78c67b6.chunk.js.map",
"5503.9cb5f34b.chunk.css.map": "./static/css/5503.9cb5f34b.chunk.css.map",
"5503.863b708f.chunk.js.map": "./static/js/5503.863b708f.chunk.js.map",
"5926.ef852b88.chunk.js.map": "./static/js/5926.ef852b88.chunk.js.map",
"701.ab5785ea.chunk.js.map": "./static/js/701.ab5785ea.chunk.js.map",
"5503.8102c269.chunk.js.map": "./static/js/5503.8102c269.chunk.js.map",
"5926.a85e7cf5.chunk.js.map": "./static/js/5926.a85e7cf5.chunk.js.map",
"701.34df1a0d.chunk.js.map": "./static/js/701.34df1a0d.chunk.js.map",
"7821.461c5aa3.chunk.js.map": "./static/js/7821.461c5aa3.chunk.js.map",
"2850.9cb5f34b.chunk.css.map": "./static/css/2850.9cb5f34b.chunk.css.map",
"2850.dcbfd98c.chunk.js.map": "./static/js/2850.dcbfd98c.chunk.js.map",
"4131.e8f67352.chunk.js.map": "./static/js/4131.e8f67352.chunk.js.map",
"2850.c2c3a292.chunk.js.map": "./static/js/2850.c2c3a292.chunk.js.map",
"4131.34341b0f.chunk.js.map": "./static/js/4131.34341b0f.chunk.js.map",
"343.9cb5f34b.chunk.css.map": "./static/css/343.9cb5f34b.chunk.css.map",
"343.85ab615d.chunk.js.map": "./static/js/343.85ab615d.chunk.js.map",
"343.a3ee0915.chunk.js.map": "./static/js/343.a3ee0915.chunk.js.map",
"1199.9cb5f34b.chunk.css.map": "./static/css/1199.9cb5f34b.chunk.css.map",
"1199.0f0e2d2b.chunk.js.map": "./static/js/1199.0f0e2d2b.chunk.js.map",
"1199.cd08cdfd.chunk.js.map": "./static/js/1199.cd08cdfd.chunk.js.map",
"5517.9cb5f34b.chunk.css.map": "./static/css/5517.9cb5f34b.chunk.css.map",
"5517.23418977.chunk.js.map": "./static/js/5517.23418977.chunk.js.map",
"2555.6b5ff50d.chunk.js.map": "./static/js/2555.6b5ff50d.chunk.js.map",
"7585.2f05b1f3.chunk.js.map": "./static/js/7585.2f05b1f3.chunk.js.map",
"4902.124ab092.chunk.js.map": "./static/js/4902.124ab092.chunk.js.map",
"7847.90a046cb.chunk.js.map": "./static/js/7847.90a046cb.chunk.js.map",
"4096.f5e55618.chunk.js.map": "./static/js/4096.f5e55618.chunk.js.map",
"5517.730e0aeb.chunk.js.map": "./static/js/5517.730e0aeb.chunk.js.map",
"2555.47860755.chunk.js.map": "./static/js/2555.47860755.chunk.js.map",
"7486.83e0d248.chunk.js.map": "./static/js/7486.83e0d248.chunk.js.map",
"1377.6fbc40f3.chunk.js.map": "./static/js/1377.6fbc40f3.chunk.js.map",
"4672.7e50d90b.chunk.js.map": "./static/js/4672.7e50d90b.chunk.js.map",
"2516.5d118ef6.chunk.js.map": "./static/js/2516.5d118ef6.chunk.js.map",
"2759.3ab5d8ec.chunk.js.map": "./static/js/2759.3ab5d8ec.chunk.js.map",
"7295.c85034bf.chunk.js.map": "./static/js/7295.c85034bf.chunk.js.map",
"7585.cd3ad44f.chunk.js.map": "./static/js/7585.cd3ad44f.chunk.js.map",
"4902.b5c5ff07.chunk.js.map": "./static/js/4902.b5c5ff07.chunk.js.map",
"7847.659fc617.chunk.js.map": "./static/js/7847.659fc617.chunk.js.map",
"3097.86eccc21.chunk.js.map": "./static/js/3097.86eccc21.chunk.js.map",
"692.bf3eea50.chunk.js.map": "./static/js/692.bf3eea50.chunk.js.map",
"6413.17138886.chunk.js.map": "./static/js/6413.17138886.chunk.js.map",
"8360.105f809d.chunk.js.map": "./static/js/8360.105f809d.chunk.js.map",
"6577.8f9494b2.chunk.js.map": "./static/js/6577.8f9494b2.chunk.js.map",
"3875.7770313b.chunk.js.map": "./static/js/3875.7770313b.chunk.js.map",
"106.72d23b2d.chunk.js.map": "./static/js/106.72d23b2d.chunk.js.map",
"7223.c4364eea.chunk.js.map": "./static/js/7223.c4364eea.chunk.js.map",
"5726.dff06c96.chunk.js.map": "./static/js/5726.dff06c96.chunk.js.map",
"5643.706d28f9.chunk.js.map": "./static/js/5643.706d28f9.chunk.js.map",
"8626.b7bc68f1.chunk.js.map": "./static/js/8626.b7bc68f1.chunk.js.map",
"8360.cddfeef1.chunk.js.map": "./static/js/8360.cddfeef1.chunk.js.map",
"6577.caaa5471.chunk.js.map": "./static/js/6577.caaa5471.chunk.js.map",
"3875.7dc3910c.chunk.js.map": "./static/js/3875.7dc3910c.chunk.js.map",
"6401.82b00a73.chunk.js.map": "./static/js/6401.82b00a73.chunk.js.map",
"2949.c17a4a94.chunk.js.map": "./static/js/2949.c17a4a94.chunk.js.map",
"3119.828f52b0.chunk.js.map": "./static/js/3119.828f52b0.chunk.js.map",
"5643.5f80a628.chunk.js.map": "./static/js/5643.5f80a628.chunk.js.map",
"4781.f4794912.chunk.js.map": "./static/js/4781.f4794912.chunk.js.map",
"9478.a335fb0f.chunk.js.map": "./static/js/9478.a335fb0f.chunk.js.map",
"7164.3762a0c0.chunk.js.map": "./static/js/7164.3762a0c0.chunk.js.map",
"4414.4d74d89b.chunk.js.map": "./static/js/4414.4d74d89b.chunk.js.map",
"7798.e33e9b60.chunk.js.map": "./static/js/7798.e33e9b60.chunk.js.map",
"8833.3556cd36.chunk.js.map": "./static/js/8833.3556cd36.chunk.js.map",
"6526.296ba888.chunk.js.map": "./static/js/6526.296ba888.chunk.js.map",
"4414.7abfed46.chunk.js.map": "./static/js/4414.7abfed46.chunk.js.map",
"7798.8ed31952.chunk.js.map": "./static/js/7798.8ed31952.chunk.js.map",
"8833.9dccd2d5.chunk.js.map": "./static/js/8833.9dccd2d5.chunk.js.map",
"6526.e3612299.chunk.js.map": "./static/js/6526.e3612299.chunk.js.map",
"483.5b997456.chunk.js.map": "./static/js/483.5b997456.chunk.js.map",
"9467.d0711d5e.chunk.js.map": "./static/js/9467.d0711d5e.chunk.js.map",
"6895.54b01aaa.chunk.js.map": "./static/js/6895.54b01aaa.chunk.js.map",
"1379.d515229f.chunk.js.map": "./static/js/1379.d515229f.chunk.js.map",
"8277.4222c489.chunk.js.map": "./static/js/8277.4222c489.chunk.js.map",
"4133.a8d9e248.chunk.js.map": "./static/js/4133.a8d9e248.chunk.js.map",
"9467.8e1b707f.chunk.js.map": "./static/js/9467.8e1b707f.chunk.js.map",
"6895.488a4025.chunk.js.map": "./static/js/6895.488a4025.chunk.js.map",
"5882.41668ace.chunk.js.map": "./static/js/5882.41668ace.chunk.js.map",
"8277.e772e8bd.chunk.js.map": "./static/js/8277.e772e8bd.chunk.js.map",
"4133.2386eedc.chunk.js.map": "./static/js/4133.2386eedc.chunk.js.map",
"1367.9cb5f34b.chunk.css.map": "./static/css/1367.9cb5f34b.chunk.css.map",
"1367.00454bc0.chunk.js.map": "./static/js/1367.00454bc0.chunk.js.map",
"3956.693e1c1b.chunk.js.map": "./static/js/3956.693e1c1b.chunk.js.map",
"9221.e9f3f525.chunk.js.map": "./static/js/9221.e9f3f525.chunk.js.map",
"8896.3ab50b22.chunk.js.map": "./static/js/8896.3ab50b22.chunk.js.map",
"1367.eb3c7186.chunk.js.map": "./static/js/1367.eb3c7186.chunk.js.map",
"3956.81b98a64.chunk.js.map": "./static/js/3956.81b98a64.chunk.js.map",
"9221.38a31de2.chunk.js.map": "./static/js/9221.38a31de2.chunk.js.map",
"8896.2afd6d87.chunk.js.map": "./static/js/8896.2afd6d87.chunk.js.map",
"9134.76b1bd01.chunk.js.map": "./static/js/9134.76b1bd01.chunk.js.map",
"1268.9cb5f34b.chunk.css.map": "./static/css/1268.9cb5f34b.chunk.css.map",
"1268.408b6da9.chunk.js.map": "./static/js/1268.408b6da9.chunk.js.map",
"441.5061a06e.chunk.js.map": "./static/js/441.5061a06e.chunk.js.map",
"1268.31853f4b.chunk.js.map": "./static/js/1268.31853f4b.chunk.js.map",
"441.d647ea80.chunk.js.map": "./static/js/441.d647ea80.chunk.js.map",
"9145.85a731d5.chunk.js.map": "./static/js/9145.85a731d5.chunk.js.map",
"8998.b7518624.chunk.js.map": "./static/js/8998.b7518624.chunk.js.map",
"1501.45b91938.chunk.js.map": "./static/js/1501.45b91938.chunk.js.map",
"7770.3664e24d.chunk.js.map": "./static/js/7770.3664e24d.chunk.js.map",
"8998.5bea3a2b.chunk.js.map": "./static/js/8998.5bea3a2b.chunk.js.map",
"1501.e6260482.chunk.js.map": "./static/js/1501.e6260482.chunk.js.map",
"7770.771cea33.chunk.js.map": "./static/js/7770.771cea33.chunk.js.map",
"426.82aff597.chunk.js.map": "./static/js/426.82aff597.chunk.js.map",
"5608.bf0a4f01.chunk.js.map": "./static/js/5608.bf0a4f01.chunk.js.map",
"4298.39009639.chunk.js.map": "./static/js/4298.39009639.chunk.js.map",
"2878.8dd5ace8.chunk.js.map": "./static/js/2878.8dd5ace8.chunk.js.map",
"8495.b1689c2d.chunk.js.map": "./static/js/8495.b1689c2d.chunk.js.map",
"4934.72071d47.chunk.js.map": "./static/js/4934.72071d47.chunk.js.map",
"9942.78febb7d.chunk.js.map": "./static/js/9942.78febb7d.chunk.js.map",
"7021.a571133a.chunk.js.map": "./static/js/7021.a571133a.chunk.js.map",
"2684.adde116d.chunk.js.map": "./static/js/2684.adde116d.chunk.js.map",
"7021.62c812c9.chunk.js.map": "./static/js/7021.62c812c9.chunk.js.map",
"2684.dde9af57.chunk.js.map": "./static/js/2684.dde9af57.chunk.js.map",
"9567.9cb5f34b.chunk.css.map": "./static/css/9567.9cb5f34b.chunk.css.map",
"9567.cf023e3e.chunk.js.map": "./static/js/9567.cf023e3e.chunk.js.map",
"8350.c98738e4.chunk.js.map": "./static/js/8350.c98738e4.chunk.js.map",
"9567.93e1e8a0.chunk.js.map": "./static/js/9567.93e1e8a0.chunk.js.map",
"8350.ff17d087.chunk.js.map": "./static/js/8350.ff17d087.chunk.js.map",
"4873.9349e8b2.chunk.js.map": "./static/js/4873.9349e8b2.chunk.js.map",
"5367.6280cd0d.chunk.js.map": "./static/js/5367.6280cd0d.chunk.js.map",
"6405.7ed910f9.chunk.js.map": "./static/js/6405.7ed910f9.chunk.js.map",
"5223.96f3ec77.chunk.js.map": "./static/js/5223.96f3ec77.chunk.js.map",
"1799.46eb9579.chunk.js.map": "./static/js/1799.46eb9579.chunk.js.map",
"9297.e6332146.chunk.js.map": "./static/js/9297.e6332146.chunk.js.map",
"9968.89304e6a.chunk.js.map": "./static/js/9968.89304e6a.chunk.js.map",
"6405.379b5b82.chunk.js.map": "./static/js/6405.379b5b82.chunk.js.map",
"5223.a4346b6b.chunk.js.map": "./static/js/5223.a4346b6b.chunk.js.map",
"1799.d2996f85.chunk.js.map": "./static/js/1799.d2996f85.chunk.js.map",
"9297.466f48d4.chunk.js.map": "./static/js/9297.466f48d4.chunk.js.map",
"9968.8cde9579.chunk.js.map": "./static/js/9968.8cde9579.chunk.js.map",
"2180.ecd3ab8b.chunk.js.map": "./static/js/2180.ecd3ab8b.chunk.js.map",
"8253.fa95cf82.chunk.js.map": "./static/js/8253.fa95cf82.chunk.js.map",
"3328.5e637c6f.chunk.js.map": "./static/js/3328.5e637c6f.chunk.js.map",
"3328.72ba5ec0.chunk.js.map": "./static/js/3328.72ba5ec0.chunk.js.map",
"1440.d3fd88ff.chunk.js.map": "./static/js/1440.d3fd88ff.chunk.js.map",
"9179.c61083e7.chunk.js.map": "./static/js/9179.c61083e7.chunk.js.map",
"51.d24a0589.chunk.js.map": "./static/js/51.d24a0589.chunk.js.map",
"711.2c20424f.chunk.js.map": "./static/js/711.2c20424f.chunk.js.map",
"6901.e2472ebd.chunk.js.map": "./static/js/6901.e2472ebd.chunk.js.map",
"2185.a1da3e17.chunk.js.map": "./static/js/2185.a1da3e17.chunk.js.map",
"312.3a15e683.chunk.js.map": "./static/js/312.3a15e683.chunk.js.map",
"2112.6b7837dd.chunk.js.map": "./static/js/2112.6b7837dd.chunk.js.map",
"4619.c41b384a.chunk.js.map": "./static/js/4619.c41b384a.chunk.js.map",
"8990.8da3f1b4.chunk.js.map": "./static/js/8990.8da3f1b4.chunk.js.map",
"8455.2f5d0d0a.chunk.js.map": "./static/js/8455.2f5d0d0a.chunk.js.map",
"9179.73844de6.chunk.js.map": "./static/js/9179.73844de6.chunk.js.map",
"51.f63429fd.chunk.js.map": "./static/js/51.f63429fd.chunk.js.map",
"711.7013b9d7.chunk.js.map": "./static/js/711.7013b9d7.chunk.js.map",
"6901.cda3f1f9.chunk.js.map": "./static/js/6901.cda3f1f9.chunk.js.map",
"2185.4baca582.chunk.js.map": "./static/js/2185.4baca582.chunk.js.map",
"312.770148c8.chunk.js.map": "./static/js/312.770148c8.chunk.js.map",
"2112.c85537ec.chunk.js.map": "./static/js/2112.c85537ec.chunk.js.map",
"4619.bbf03503.chunk.js.map": "./static/js/4619.bbf03503.chunk.js.map",
"8990.4f806e82.chunk.js.map": "./static/js/8990.4f806e82.chunk.js.map",
"8455.8cf8a65d.chunk.js.map": "./static/js/8455.8cf8a65d.chunk.js.map",
"1913.9cb5f34b.chunk.css.map": "./static/css/1913.9cb5f34b.chunk.css.map",
"1913.1bb254fb.chunk.js.map": "./static/js/1913.1bb254fb.chunk.js.map",
"1913.2b54b9d3.chunk.js.map": "./static/js/1913.2b54b9d3.chunk.js.map",
"1604.fa7e2b2f.chunk.js.map": "./static/js/1604.fa7e2b2f.chunk.js.map",
"8391.0411f28f.chunk.js.map": "./static/js/8391.0411f28f.chunk.js.map",
"402.626f6141.chunk.js.map": "./static/js/402.626f6141.chunk.js.map",
"8391.ba8f9cd2.chunk.js.map": "./static/js/8391.ba8f9cd2.chunk.js.map",
"402.46c69861.chunk.js.map": "./static/js/402.46c69861.chunk.js.map",
"1705.596850eb.chunk.js.map": "./static/js/1705.596850eb.chunk.js.map",
"1581.3b60face.chunk.js.map": "./static/js/1581.3b60face.chunk.js.map",
"455.89cfe65b.chunk.js.map": "./static/js/455.89cfe65b.chunk.js.map",
"2661.89815275.chunk.js.map": "./static/js/2661.89815275.chunk.js.map",
"889.8c6af0b9.chunk.js.map": "./static/js/889.8c6af0b9.chunk.js.map",
"9088.131128ad.chunk.js.map": "./static/js/9088.131128ad.chunk.js.map",
"247.b3ec6497.chunk.js.map": "./static/js/247.b3ec6497.chunk.js.map",
"2408.40adaebd.chunk.js.map": "./static/js/2408.40adaebd.chunk.js.map",
"1581.44c0448f.chunk.js.map": "./static/js/1581.44c0448f.chunk.js.map",
"455.4b142906.chunk.js.map": "./static/js/455.4b142906.chunk.js.map",
"2661.9bd125a1.chunk.js.map": "./static/js/2661.9bd125a1.chunk.js.map",
"889.bba47c51.chunk.js.map": "./static/js/889.bba47c51.chunk.js.map",
"9088.17f4cb12.chunk.js.map": "./static/js/9088.17f4cb12.chunk.js.map",
"247.908c948c.chunk.js.map": "./static/js/247.908c948c.chunk.js.map",
"2408.4f7b17cd.chunk.js.map": "./static/js/2408.4f7b17cd.chunk.js.map",
"5171.e5224ef3.chunk.js.map": "./static/js/5171.e5224ef3.chunk.js.map",
"3691.ff436a8f.chunk.js.map": "./static/js/3691.ff436a8f.chunk.js.map",
"2813.cfbfa60f.chunk.js.map": "./static/js/2813.cfbfa60f.chunk.js.map",
@@ -312,7 +322,7 @@
"2515.322cc076.chunk.js.map": "./static/js/2515.322cc076.chunk.js.map",
"1459.03befbb8.chunk.js.map": "./static/js/1459.03befbb8.chunk.js.map",
"1465.4525f636.chunk.js.map": "./static/js/1465.4525f636.chunk.js.map",
"4455.cdf95486.chunk.js.map": "./static/js/4455.cdf95486.chunk.js.map",
"1267.ee70805c.chunk.js.map": "./static/js/1267.ee70805c.chunk.js.map",
"6172.12ed66ed.chunk.js.map": "./static/js/6172.12ed66ed.chunk.js.map",
"696.c93c6454.chunk.js.map": "./static/js/696.c93c6454.chunk.js.map",
"3388.6f330810.chunk.js.map": "./static/js/3388.6f330810.chunk.js.map",
@@ -325,13 +335,13 @@
"1790.eb475334.chunk.js.map": "./static/js/1790.eb475334.chunk.js.map",
"2331.288af2ec.chunk.js.map": "./static/js/2331.288af2ec.chunk.js.map",
"9515.a4e964be.chunk.js.map": "./static/js/9515.a4e964be.chunk.js.map",
"2983.26b296ba.chunk.js.map": "./static/js/2983.26b296ba.chunk.js.map",
"5861.af51c5d9.chunk.js.map": "./static/js/5861.af51c5d9.chunk.js.map",
"2763.fadd6aec.chunk.js.map": "./static/js/2763.fadd6aec.chunk.js.map",
"4298.d677cede.chunk.js.map": "./static/js/4298.d677cede.chunk.js.map"
"2983.e248775f.chunk.js.map": "./static/js/2983.e248775f.chunk.js.map",
"5861.65847210.chunk.js.map": "./static/js/5861.65847210.chunk.js.map",
"537.85347210.chunk.js.map": "./static/js/537.85347210.chunk.js.map",
"2763.08c6e1fd.chunk.js.map": "./static/js/2763.08c6e1fd.chunk.js.map"
},
"entrypoints": [
"static/css/main.b20a708b.css",
"static/js/main.3a920b67.js"
"static/js/main.2b781eaf.js"
]
}

View File

@@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="/"/><meta content="width=device-width,initial-scale=1" name="viewport"/><meta content="#081C42" media="(prefers-color-scheme: light)" name="theme-color"/><meta content="#081C42" media="(prefers-color-scheme: dark)" name="theme-color"/><meta content="MinIO Console" name="description"/><link href="./styles/root-styles.css" rel="stylesheet"/><link href="./apple-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"/><link href="./favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="./favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="./favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="./manifest.json" rel="manifest"/><link color="#3a4e54" href="./safari-pinned-tab.svg" rel="mask-icon"/><title>MinIO Console</title><script defer="defer" src="./static/js/main.3a920b67.js"></script><link href="./static/css/main.b20a708b.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"><div id="preload"><img src="./images/background.svg"/> <img src="./images/background-wave-orig2.svg"/></div><div id="loader-block"><img src="./Loader.svg"/></div></div></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="/"/><meta content="width=device-width,initial-scale=1" name="viewport"/><meta content="#081C42" media="(prefers-color-scheme: light)" name="theme-color"/><meta content="#081C42" media="(prefers-color-scheme: dark)" name="theme-color"/><meta content="MinIO Console" name="description"/><link href="./styles/root-styles.css" rel="stylesheet"/><link href="./apple-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"/><link href="./favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="./favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="./favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="./manifest.json" rel="manifest"/><link color="#3a4e54" href="./safari-pinned-tab.svg" rel="mask-icon"/><title>MinIO Console</title><script defer="defer" src="./static/js/main.2b781eaf.js"></script><link href="./static/css/main.b20a708b.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"><div id="preload"><img src="./images/background.svg"/> <img src="./images/background-wave-orig2.svg"/></div><div id="loader-block"><img src="./Loader.svg"/></div></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +0,0 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1260],{1260:function(t,e,n){n.r(e);n(72791);var o=n(16871),a=n(25469),r=n(45248),u=n(81207),c=n(87995),l=n(46078),i=n(80184);e.default=function(){var t=(0,a.TL)(),e=(0,o.s0)();return function(){var n=function(){(0,r.Ov)(),t((0,c.wr)(!1)),localStorage.setItem("userLoggedIn",""),localStorage.setItem("redirect-path",""),t((0,l.lX)()),e("login")};u.Z.invoke("POST","/api/v1/logout").then((function(){n()})).catch((function(t){console.log(t),n()}))}(),(0,i.jsx)(i.Fragment,{})}}}]);
//# sourceMappingURL=1260.5248e62a.chunk.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"static/js/1260.5248e62a.chunk.js","mappings":"6MAmDA,UA1BmB,WACjB,IAAMA,GAAWC,EAAAA,EAAAA,MACXC,GAAWC,EAAAA,EAAAA,MAqBjB,OApBe,WACb,IAAMC,EAAgB,YACpBC,EAAAA,EAAAA,MACAL,GAASM,EAAAA,EAAAA,KAAW,IACpBC,aAAaC,QAAQ,eAAgB,IACrCD,aAAaC,QAAQ,gBAAiB,IACtCR,GAASS,EAAAA,EAAAA,OACTP,EAAS,QACV,EACDQ,EAAAA,EAAAA,OACU,OADV,kBAEGC,MAAK,WACJP,GACD,IACAQ,OAAM,SAACC,GACNC,QAAQC,IAAIF,GACZT,GACD,GACJ,CACDY,IACO,uBACR,C","sources":["screens/LogoutPage/LogoutPage.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../store\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport { clearSession } from \"../../common/utils\";\nimport api from \"../../common/api\";\nimport { userLogged } from \"../../systemSlice\";\nimport { resetSession } from \"../Console/consoleSlice\";\n\nconst LogoutPage = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const logout = () => {\n const deleteSession = () => {\n clearSession();\n dispatch(userLogged(false));\n localStorage.setItem(\"userLoggedIn\", \"\");\n localStorage.setItem(\"redirect-path\", \"\");\n dispatch(resetSession());\n navigate(`login`);\n };\n api\n .invoke(\"POST\", `/api/v1/logout`)\n .then(() => {\n deleteSession();\n })\n .catch((err: ErrorResponseHandler) => {\n console.log(err);\n deleteSession();\n });\n };\n logout();\n return <></>;\n};\n\nexport default LogoutPage;\n"],"names":["dispatch","useAppDispatch","navigate","useNavigate","deleteSession","clearSession","userLogged","localStorage","setItem","resetSession","api","then","catch","err","console","log","logout"],"sourceRoot":""}

View File

@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1260],{1260:function(t,e,o){o.r(e);o(72791);var a=o(16871),n=o(25469),u=o(45248),c=o(87995),l=o(46078),r=o(81207),i=o(7241),s=o(80184);e.default=function(){var t=(0,n.TL)(),e=(0,a.s0)();return function(){var o=function(){(0,u.Ov)(),t((0,c.wr)(!1)),localStorage.setItem("userLoggedIn",""),localStorage.setItem("redirect-path",""),t((0,l.lX)()),e("/login")},a=localStorage.getItem("auth-state");r.Z.invoke("POST","/api/v1/logout",{state:a}).then((function(){o()})).catch((function(t){console.log(t),o()}))}(),(0,s.jsx)(i.Z,{})}}}]);
//# sourceMappingURL=1260.ded6e17b.chunk.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"static/js/1260.ded6e17b.chunk.js","mappings":"uNAqDA,UA3BmB,WACjB,IAAMA,GAAWC,EAAAA,EAAAA,MACXC,GAAWC,EAAAA,EAAAA,MAsBjB,OArBe,WACb,IAAMC,EAAgB,YACpBC,EAAAA,EAAAA,MACAL,GAASM,EAAAA,EAAAA,KAAW,IACpBC,aAAaC,QAAQ,eAAgB,IACrCD,aAAaC,QAAQ,gBAAiB,IACtCR,GAASS,EAAAA,EAAAA,OACTP,EAAS,SACV,EACKQ,EAAQH,aAAaI,QAAQ,cACnCC,EAAAA,EAAAA,OACU,OADV,iBACoC,CAAEF,MAAAA,IACnCG,MAAK,WACJT,GACD,IACAU,OAAM,SAACC,GACNC,QAAQC,IAAIF,GACZX,GACD,GACJ,CACDc,IACO,SAAC,IAAD,GACR,C","sources":["screens/LogoutPage/LogoutPage.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../store\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport { clearSession } from \"../../common/utils\";\nimport { userLogged } from \"../../systemSlice\";\nimport { resetSession } from \"../Console/consoleSlice\";\nimport api from \"../../common/api\";\nimport LoadingComponent from \"../../common/LoadingComponent\";\n\nconst LogoutPage = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const logout = () => {\n const deleteSession = () => {\n clearSession();\n dispatch(userLogged(false));\n localStorage.setItem(\"userLoggedIn\", \"\");\n localStorage.setItem(\"redirect-path\", \"\");\n dispatch(resetSession());\n navigate(`/login`);\n };\n const state = localStorage.getItem(\"auth-state\");\n api\n .invoke(\"POST\", `/api/v1/logout`, { state })\n .then(() => {\n deleteSession();\n })\n .catch((err: ErrorResponseHandler) => {\n console.log(err);\n deleteSession();\n });\n };\n logout();\n return <LoadingComponent />;\n};\n\nexport default LogoutPage;\n"],"names":["dispatch","useAppDispatch","navigate","useNavigate","deleteSession","clearSession","userLogged","localStorage","setItem","resetSession","state","getItem","api","then","catch","err","console","log","logout"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1377],{81377:function(u,e,n){n.r(e);n(72791);var t=n(11135),r=n(25787),s=n(44959),i=n(80184);e.default=(0,r.Z)((function(u){return(0,t.Z)({})}))((function(u){u.classes;return(0,i.jsx)(s.Z,{idpType:"openid"})}))}}]);
//# sourceMappingURL=1377.6fbc40f3.chunk.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"static/js/1377.6fbc40f3.chunk.js","mappings":"6KAiCA,WAAeA,EAAAA,EAAAA,IANA,SAACC,GAAD,OAAkBC,EAAAA,EAAAA,GAAa,CAAC,EAAhC,GAMf,EAJgC,SAAC,GAA8C,EAA5CC,QACjC,OAAO,SAAC,IAAD,CAAmBC,QAAS,UACpC,G","sources":["screens/Console/IDP/IDPOpenIDConfigurations.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React from \"react\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport IDPConfigurations from \"./IDPConfigurations\";\n\ntype IDPOpenIDConfigurationsProps = {\n classes?: any;\n};\n\nconst styles = (theme: Theme) => createStyles({});\n\nconst IDPOpenIDConfigurations = ({ classes }: IDPOpenIDConfigurationsProps) => {\n return <IDPConfigurations idpType={\"openid\"} />;\n};\n\nexport default withStyles(styles)(IDPOpenIDConfigurations);\n"],"names":["withStyles","theme","createStyles","classes","idpType"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1581],{1581:function(e,t,a){a.r(t);var n=a(29439),s=a(1413),i=a(72791),l=a(40986),o=a(75952),c=a(11135),r=a(25787),u=a(61889),d=a(45248),f=a(23814),m=a(37516),x=a(21435),Z=a(56028),h=a(81207),p=a(38588),j=a(56578),v=a(87995),b=a(25469),g=a(80184);t.default=(0,r.Z)((function(e){return(0,c.Z)((0,s.Z)((0,s.Z)({},f.DF),f.ID))}))((function(e){var t=e.classes,a=e.open,s=e.enabled,c=e.cfg,r=e.selectedBucket,f=e.closeModalAndRefresh,k=(0,b.TL)(),C=(0,i.useState)(!1),S=(0,n.Z)(C,2),N=S[0],P=S[1],q=(0,i.useState)(!1),B=(0,n.Z)(q,2),w=B[0],y=B[1],z=(0,i.useState)("1"),E=(0,n.Z)(z,2),_=E[0],M=E[1],D=(0,i.useState)("Ti"),T=(0,n.Z)(D,2),F=T[0],I=T[1],L=(0,i.useState)(!1),Q=(0,n.Z)(L,2),R=Q[0],W=Q[1];(0,i.useEffect)((function(){if(s&&(y(!0),c)){var e=(0,d.Am)(c.quota,!0,!1,!0);M(e.total.toString()),I(e.unit),W(!0)}}),[s,c]),(0,i.useEffect)((function(){W(!w||/^\d*(?:\.\d{1,2})?$/.test(_))}),[w,_]);return(0,g.jsx)(Z.Z,{modalOpen:a,onClose:function(){f()},title:"Enable Bucket Quota",titleIcon:(0,g.jsx)(p.Wqw,{}),children:(0,g.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),function(){if(!N&&R){var e={enabled:w,amount:parseInt((0,d.Pw)(_,F,!0)),quota_type:"hard"};h.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/quota"),e).then((function(){P(!1),f()})).catch((function(e){P(!1),k((0,v.zb)(e))}))}}()},children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,g.jsx)(m.Z,{value:"bucket_quota",id:"bucket_quota",name:"bucket_quota",checked:w,onChange:function(e){y(e.target.checked)},label:"Enabled"})}),w&&(0,g.jsx)(i.Fragment,{children:(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,g.jsx)(u.ZP,{container:!0,children:(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(x.Z,{id:"quota_size",name:"quota_size",onChange:function(e){M(e.target.value),e.target.validity.valid?W(!0):W(!1)},label:"Quota",value:_,required:!0,min:"1",overlayObject:(0,g.jsx)(j.Z,{id:"quota_unit",onUnitChange:function(e){I(e)},unitSelected:F,unitsList:(0,d.zQ)(["Ki"]),disabled:!1}),error:R?"":"Please enter a valid quota"})})})})})]}),(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,g.jsx)(o.zx,{id:"cancel",type:"button",variant:"regular",disabled:N,onClick:function(){f()},label:"Cancel"}),(0,g.jsx)(o.zx,{id:"save",type:"submit",variant:"callAction",disabled:N||!R,label:"Save"})]}),N&&(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(l.Z,{})})]})})})}))},56028:function(e,t,a){var n=a(29439),s=a(1413),i=a(72791),l=a(60364),o=a(13400),c=a(55646),r=a(5574),u=a(65661),d=a(39157),f=a(11135),m=a(25787),x=a(23814),Z=a(25469),h=a(29823),p=a(28057),j=a(87995),v=a(80184);t.Z=(0,m.Z)((function(e){return(0,f.Z)((0,s.Z)((0,s.Z)({},x.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))((function(e){var t=e.onClose,a=e.modalOpen,f=e.title,m=e.children,x=e.classes,b=e.wideLimit,g=void 0===b||b,k=e.noContentPadding,C=e.titleIcon,S=void 0===C?null:C,N=(0,Z.TL)(),P=(0,i.useState)(!1),q=(0,n.Z)(P,2),B=q[0],w=q[1],y=(0,l.v9)((function(e){return e.system.modalSnackBar}));(0,i.useEffect)((function(){N((0,j.MK)(""))}),[N]),(0,i.useEffect)((function(){if(y){if(""===y.message)return void w(!1);"error"!==y.type&&w(!0)}}),[y]);var z=g?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return y&&(E=y.detailedErrorMsg,(""===y.detailedErrorMsg||y.detailedErrorMsg.length<5)&&(E=y.message)),(0,v.jsxs)(r.Z,(0,s.Z)((0,s.Z)({open:a,classes:x},z),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&t()},className:x.root,children:[(0,v.jsxs)(u.Z,{className:x.title,children:[(0,v.jsxs)("div",{className:x.titleText,children:[S," ",f]}),(0,v.jsx)("div",{className:x.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:x.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,v.jsx)(h.Z,{})})})]}),(0,v.jsx)(p.Z,{isModal:!0}),(0,v.jsx)(c.Z,{open:B,className:x.snackBarModal,onClose:function(){w(!1),N((0,j.MK)(""))},message:E,ContentProps:{className:"".concat(x.snackBar," ").concat(y&&"error"===y.type?x.errorSnackBar:"")},autoHideDuration:y&&"error"===y.type?1e4:5e3}),(0,v.jsx)(d.Z,{className:k?"":x.content,children:m})]}))}))}}]);
//# sourceMappingURL=1581.3b60face.chunk.js.map
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1581],{1581:function(e,t,a){a.r(t);var n=a(29439),s=a(1413),i=a(72791),l=a(40986),o=a(75952),c=a(11135),r=a(25787),u=a(61889),d=a(45248),f=a(23814),m=a(37516),x=a(21435),Z=a(56028),h=a(81207),p=a(56096),j=a(56578),v=a(87995),b=a(25469),g=a(80184);t.default=(0,r.Z)((function(e){return(0,c.Z)((0,s.Z)((0,s.Z)({},f.DF),f.ID))}))((function(e){var t=e.classes,a=e.open,s=e.enabled,c=e.cfg,r=e.selectedBucket,f=e.closeModalAndRefresh,k=(0,b.TL)(),C=(0,i.useState)(!1),S=(0,n.Z)(C,2),N=S[0],P=S[1],q=(0,i.useState)(!1),B=(0,n.Z)(q,2),w=B[0],y=B[1],z=(0,i.useState)("1"),E=(0,n.Z)(z,2),_=E[0],M=E[1],D=(0,i.useState)("Ti"),T=(0,n.Z)(D,2),F=T[0],I=T[1],L=(0,i.useState)(!1),Q=(0,n.Z)(L,2),R=Q[0],W=Q[1];(0,i.useEffect)((function(){if(s&&(y(!0),c)){var e=(0,d.Am)(c.quota,!0,!1,!0);M(e.total.toString()),I(e.unit),W(!0)}}),[s,c]),(0,i.useEffect)((function(){W(!w||/^\d*(?:\.\d{1,2})?$/.test(_))}),[w,_]);return(0,g.jsx)(Z.Z,{modalOpen:a,onClose:function(){f()},title:"Enable Bucket Quota",titleIcon:(0,g.jsx)(p.Wqw,{}),children:(0,g.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),function(){if(!N&&R){var e={enabled:w,amount:parseInt((0,d.Pw)(_,F,!0)),quota_type:"hard"};h.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/quota"),e).then((function(){P(!1),f()})).catch((function(e){P(!1),k((0,v.zb)(e))}))}}()},children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,g.jsx)(m.Z,{value:"bucket_quota",id:"bucket_quota",name:"bucket_quota",checked:w,onChange:function(e){y(e.target.checked)},label:"Enabled"})}),w&&(0,g.jsx)(i.Fragment,{children:(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,g.jsx)(u.ZP,{container:!0,children:(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(x.Z,{id:"quota_size",name:"quota_size",onChange:function(e){M(e.target.value),e.target.validity.valid?W(!0):W(!1)},label:"Quota",value:_,required:!0,min:"1",overlayObject:(0,g.jsx)(j.Z,{id:"quota_unit",onUnitChange:function(e){I(e)},unitSelected:F,unitsList:(0,d.zQ)(["Ki"]),disabled:!1}),error:R?"":"Please enter a valid quota"})})})})})]}),(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,g.jsx)(o.zx,{id:"cancel",type:"button",variant:"regular",disabled:N,onClick:function(){f()},label:"Cancel"}),(0,g.jsx)(o.zx,{id:"save",type:"submit",variant:"callAction",disabled:N||!R,label:"Save"})]}),N&&(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(l.Z,{})})]})})})}))},56028:function(e,t,a){var n=a(29439),s=a(1413),i=a(72791),l=a(60364),o=a(13400),c=a(55646),r=a(5574),u=a(65661),d=a(39157),f=a(11135),m=a(25787),x=a(23814),Z=a(25469),h=a(29823),p=a(28057),j=a(87995),v=a(80184);t.Z=(0,m.Z)((function(e){return(0,f.Z)((0,s.Z)((0,s.Z)({},x.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))((function(e){var t=e.onClose,a=e.modalOpen,f=e.title,m=e.children,x=e.classes,b=e.wideLimit,g=void 0===b||b,k=e.noContentPadding,C=e.titleIcon,S=void 0===C?null:C,N=(0,Z.TL)(),P=(0,i.useState)(!1),q=(0,n.Z)(P,2),B=q[0],w=q[1],y=(0,l.v9)((function(e){return e.system.modalSnackBar}));(0,i.useEffect)((function(){N((0,j.MK)(""))}),[N]),(0,i.useEffect)((function(){if(y){if(""===y.message)return void w(!1);"error"!==y.type&&w(!0)}}),[y]);var z=g?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return y&&(E=y.detailedErrorMsg,(""===y.detailedErrorMsg||y.detailedErrorMsg.length<5)&&(E=y.message)),(0,v.jsxs)(r.Z,(0,s.Z)((0,s.Z)({open:a,classes:x},z),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&t()},className:x.root,children:[(0,v.jsxs)(u.Z,{className:x.title,children:[(0,v.jsxs)("div",{className:x.titleText,children:[S," ",f]}),(0,v.jsx)("div",{className:x.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:x.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,v.jsx)(h.Z,{})})})]}),(0,v.jsx)(p.Z,{isModal:!0}),(0,v.jsx)(c.Z,{open:B,className:x.snackBarModal,onClose:function(){w(!1),N((0,j.MK)(""))},message:E,ContentProps:{className:"".concat(x.snackBar," ").concat(y&&"error"===y.type?x.errorSnackBar:"")},autoHideDuration:y&&"error"===y.type?1e4:5e3}),(0,v.jsx)(d.Z,{className:k?"":x.content,children:m})]}))}))}}]);
//# sourceMappingURL=1581.44c0448f.chunk.js.map

View File

@@ -1,2 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1799],{64163:function(e,n,t){var i=t(1413),r=t(72791),s=t(61889),o=t(11135),a=t(25787),c=t(23814),l=t(80184);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,i.Z)({},c.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,o=e.content,a=e.multiLine,c=void 0!==a&&a,d=e.actionButton;return(0,l.jsx)(r.Fragment,{children:(0,l.jsxs)(s.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,l.jsx)(s.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,l.jsxs)(s.ZP,{item:!0,xs:12,className:"".concat(n.predefinedList," ").concat(d?n.includesActionButton:""),children:[(0,l.jsx)(s.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:o}),d&&(0,l.jsx)("div",{className:n.overlayShareOption,children:d})]})]})})}))},61799:function(e,n,t){t.r(n);var i=t(29439),r=t(72791),s=t(51691),o=t(61889),a=t(40986),c=t(81207),l=t(21435),d=t(64163),u=t(37516),f=t(23508),x=t(38588),m=t(87995),h=t(25469),j=t(80184);n.default=function(e){var n=e.closeFormatModalAndRefresh,t=e.deleteOpen,v=e.allDrives,Z=e.drivesToFormat,b=(0,h.TL)(),p=(0,r.useState)(!1),g=(0,i.Z)(p,2),C=g[0],P=g[1],F=(0,r.useState)(""),S=(0,i.Z)(F,2),k=S[0],A=S[1],D=(0,r.useState)(!1),E=(0,i.Z)(D,2),L=E[0],N=E[1];return(0,j.jsx)(f.Z,{title:"Format ".concat(v?"All ":""," Drives"),confirmText:"Format Drive".concat(Z.length>1||v?"s":""),confirmButtonProps:{disabled:"YES, PROCEED"!==k},isOpen:t,isLoading:C,onConfirm:function(){C||(P(!0),c.Z.invoke("POST","/api/v1/directpv/drives/format",{drives:Z,force:L}).then((function(e){P(!1),n(!0,e.formatIssuesList)})).catch((function(e){P(!1),b((0,m.Ih)(e))})))},onClose:function(){n(!1,[])},titleIcon:(0,j.jsx)(x.QaX,{}),confirmationContent:(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(s.Z,{children:[!v&&(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(d.Z,{label:"Selected Drive".concat(Z.length>1?"s":""),content:Z.join(", ")}),(0,j.jsx)("br",{})]}),(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(u.Z,{value:"force",id:"force",name:"force",checked:L,onChange:function(e){N(e.target.checked)},label:"Force Format",indicatorLabels:["Yes","No"]})}),"Are you sure you want to format"," ",v?(0,j.jsx)("strong",{children:"All"}):"the selected"," drive",Z.length>1||v?"s":"","?.",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),(0,j.jsx)("strong",{children:"All information contained will be erased and cannot be recovered"}),(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"To continue please type ",(0,j.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(l.Z,{id:"format-confirm",name:"format-confirm",onChange:function(e){A(e.target.value)},label:"",value:k})})]}),C&&(0,j.jsx)(a.Z,{})]})})}}}]);
//# sourceMappingURL=1799.46eb9579.chunk.js.map
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1799],{64163:function(e,n,t){var i=t(1413),r=t(72791),s=t(61889),o=t(11135),a=t(25787),c=t(23814),l=t(80184);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,i.Z)({},c.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,o=e.content,a=e.multiLine,c=void 0!==a&&a,d=e.actionButton;return(0,l.jsx)(r.Fragment,{children:(0,l.jsxs)(s.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,l.jsx)(s.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,l.jsxs)(s.ZP,{item:!0,xs:12,className:"".concat(n.predefinedList," ").concat(d?n.includesActionButton:""),children:[(0,l.jsx)(s.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:o}),d&&(0,l.jsx)("div",{className:n.overlayShareOption,children:d})]})]})})}))},61799:function(e,n,t){t.r(n);var i=t(29439),r=t(72791),s=t(51691),o=t(61889),a=t(40986),c=t(81207),l=t(21435),d=t(64163),u=t(37516),f=t(23508),x=t(56096),m=t(87995),h=t(25469),j=t(80184);n.default=function(e){var n=e.closeFormatModalAndRefresh,t=e.deleteOpen,v=e.allDrives,Z=e.drivesToFormat,b=(0,h.TL)(),p=(0,r.useState)(!1),g=(0,i.Z)(p,2),C=g[0],P=g[1],F=(0,r.useState)(""),S=(0,i.Z)(F,2),k=S[0],A=S[1],D=(0,r.useState)(!1),E=(0,i.Z)(D,2),L=E[0],N=E[1];return(0,j.jsx)(f.Z,{title:"Format ".concat(v?"All ":""," Drives"),confirmText:"Format Drive".concat(Z.length>1||v?"s":""),confirmButtonProps:{disabled:"YES, PROCEED"!==k},isOpen:t,isLoading:C,onConfirm:function(){C||(P(!0),c.Z.invoke("POST","/api/v1/directpv/drives/format",{drives:Z,force:L}).then((function(e){P(!1),n(!0,e.formatIssuesList)})).catch((function(e){P(!1),b((0,m.Ih)(e))})))},onClose:function(){n(!1,[])},titleIcon:(0,j.jsx)(x.QaX,{}),confirmationContent:(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(s.Z,{children:[!v&&(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(d.Z,{label:"Selected Drive".concat(Z.length>1?"s":""),content:Z.join(", ")}),(0,j.jsx)("br",{})]}),(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(u.Z,{value:"force",id:"force",name:"force",checked:L,onChange:function(e){N(e.target.checked)},label:"Force Format",indicatorLabels:["Yes","No"]})}),"Are you sure you want to format"," ",v?(0,j.jsx)("strong",{children:"All"}):"the selected"," drive",Z.length>1||v?"s":"","?.",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),(0,j.jsx)("strong",{children:"All information contained will be erased and cannot be recovered"}),(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"To continue please type ",(0,j.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(l.Z,{id:"format-confirm",name:"format-confirm",onChange:function(e){A(e.target.value)},label:"",value:k})})]}),C&&(0,j.jsx)(a.Z,{})]})})}}}]);
//# sourceMappingURL=1799.d2996f85.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2112],{32112:function(e,n,t){t.r(n);var a=t(29439),o=t(72791),r=t(51691),i=t(21435),c=t(61889),s=t(9505),l=t(23508),u=t(38588),p=t(87995),f=t(25469),d=t(80184);n.default=function(e){var n=e.deleteOpen,t=e.selectedPVC,m=e.closeDeleteModalAndRefresh,h=(0,f.TL)(),C=(0,o.useState)(""),x=(0,a.Z)(C,2),v=x[0],P=x[1],Z=(0,s.Z)((function(){return m(!0)}),(function(e){return h((0,p.Ih)(e))})),b=(0,a.Z)(Z,2),j=b[0],T=b[1];return(0,d.jsx)(l.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:n,titleIcon:(0,d.jsx)(u.NvT,{}),isLoading:j,onConfirm:function(){v===t.name?T("DELETE","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.tenant,"/pvc/").concat(t.name)):h((0,p.Ih)({errorMessage:"PVC name is incorrect",detailedError:""}))},onClose:function(){return m(!1)},confirmButtonProps:{disabled:v!==t.name||j},confirmationContent:(0,d.jsxs)(r.Z,{children:["To continue please type ",(0,d.jsx)("b",{children:t.name})," in the box.",(0,d.jsx)(c.ZP,{item:!0,xs:12,children:(0,d.jsx)(i.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(e){P(e.target.value)},label:"",value:v})})]})})}}}]);
//# sourceMappingURL=2112.6b7837dd.chunk.js.map
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2112],{32112:function(e,n,t){t.r(n);var a=t(29439),o=t(72791),r=t(51691),i=t(21435),c=t(61889),s=t(9505),l=t(23508),u=t(56096),p=t(87995),f=t(25469),d=t(80184);n.default=function(e){var n=e.deleteOpen,t=e.selectedPVC,m=e.closeDeleteModalAndRefresh,h=(0,f.TL)(),C=(0,o.useState)(""),x=(0,a.Z)(C,2),v=x[0],P=x[1],Z=(0,s.Z)((function(){return m(!0)}),(function(e){return h((0,p.Ih)(e))})),b=(0,a.Z)(Z,2),j=b[0],T=b[1];return(0,d.jsx)(l.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:n,titleIcon:(0,d.jsx)(u.NvT,{}),isLoading:j,onConfirm:function(){v===t.name?T("DELETE","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.tenant,"/pvc/").concat(t.name)):h((0,p.Ih)({errorMessage:"PVC name is incorrect",detailedError:""}))},onClose:function(){return m(!1)},confirmButtonProps:{disabled:v!==t.name||j},confirmationContent:(0,d.jsxs)(r.Z,{children:["To continue please type ",(0,d.jsx)("b",{children:t.name})," in the box.",(0,d.jsx)(c.ZP,{item:!0,xs:12,children:(0,d.jsx)(i.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(e){P(e.target.value)},label:"",value:v})})]})})}}}]);
//# sourceMappingURL=2112.c85537ec.chunk.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"static/js/2112.6b7837dd.chunk.js","mappings":"gPAkGA,UA/DkB,SAAC,GAIA,IAHjBA,EAGgB,EAHhBA,WACAC,EAEgB,EAFhBA,YACAC,EACgB,EADhBA,2BAEMC,GAAWC,EAAAA,EAAAA,MACjB,GAAkCC,EAAAA,EAAAA,UAAS,IAA3C,eAAOC,EAAP,KAAkBC,EAAlB,KAOA,GAAyCC,EAAAA,EAAAA,IALpB,kBAAMN,GAA2B,EAAjC,IACF,SAACO,GAAD,OACjBN,GAASO,EAAAA,EAAAA,IAAqBD,GADb,IAInB,eAAOE,EAAP,KAAsBC,EAAtB,KAkBA,OACE,SAAC,IAAD,CACEC,MAAK,aACLC,YAAa,SACbC,OAAQf,EACRgB,WAAW,SAAC,MAAD,IACXC,UAAWN,EACXO,UAvBoB,WAClBZ,IAAcL,EAAYkB,KAS9BP,EACE,SADa,6BAESX,EAAYmB,UAFrB,oBAE0CnB,EAAYoB,OAFtD,gBAEoEpB,EAAYkB,OAV7FhB,GACEO,EAAAA,EAAAA,IAAqB,CACnBY,aAAc,wBACdC,cAAe,KAStB,EAUGC,QA5BY,kBAAMtB,GAA2B,EAAjC,EA6BZuB,mBAAoB,CAClBC,SAAUpB,IAAcL,EAAYkB,MAAQR,GAE9CgB,qBACE,UAAC,IAAD,uCAC0B,uBAAI1B,EAAYkB,OAD1C,gBAEE,SAAC,KAAD,CAAMS,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEC,GAAG,aACHX,KAAK,aACLY,SAAU,SAACC,GACTzB,EAAayB,EAAMC,OAAOC,MAC3B,EACDC,MAAM,GACND,MAAO5B,UAOpB,C","sources":["screens/Console/Tenants/TenantDetails/DeletePVC.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { IStoragePVCs } from \"../../Storage/types\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n}: IDeletePVC) => {\n const dispatch = useAppDispatch();\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePVC !== selectedPVC.name) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\n })\n );\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPVC.namespace}/tenants/${selectedPVC.tenant}/pvc/${selectedPVC.name}`\n );\n };\n\n return (\n <ConfirmDialog\n title={`Delete PVC`}\n confirmText={\"Delete\"}\n isOpen={deleteOpen}\n titleIcon={<ConfirmDeleteIcon />}\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePVC !== selectedPVC.name || deleteLoading,\n }}\n confirmationContent={\n <DialogContentText>\n To continue please type <b>{selectedPVC.name}</b> in the box.\n <Grid item xs={12}>\n <InputBoxWrapper\n id=\"retype-PVC\"\n name=\"retype-PVC\"\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n setRetypePVC(event.target.value);\n }}\n label=\"\"\n value={retypePVC}\n />\n </Grid>\n </DialogContentText>\n }\n />\n );\n};\n\nexport default DeletePVC;\n"],"names":["deleteOpen","selectedPVC","closeDeleteModalAndRefresh","dispatch","useAppDispatch","useState","retypePVC","setRetypePVC","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","namespace","tenant","errorMessage","detailedError","onClose","confirmButtonProps","disabled","confirmationContent","item","xs","id","onChange","event","target","value","label"],"sourceRoot":""}
{"version":3,"file":"static/js/2112.c85537ec.chunk.js","mappings":"gPAkGA,UA/DkB,SAAC,GAIA,IAHjBA,EAGgB,EAHhBA,WACAC,EAEgB,EAFhBA,YACAC,EACgB,EADhBA,2BAEMC,GAAWC,EAAAA,EAAAA,MACjB,GAAkCC,EAAAA,EAAAA,UAAS,IAA3C,eAAOC,EAAP,KAAkBC,EAAlB,KAOA,GAAyCC,EAAAA,EAAAA,IALpB,kBAAMN,GAA2B,EAAjC,IACF,SAACO,GAAD,OACjBN,GAASO,EAAAA,EAAAA,IAAqBD,GADb,IAInB,eAAOE,EAAP,KAAsBC,EAAtB,KAkBA,OACE,SAAC,IAAD,CACEC,MAAK,aACLC,YAAa,SACbC,OAAQf,EACRgB,WAAW,SAAC,MAAD,IACXC,UAAWN,EACXO,UAvBoB,WAClBZ,IAAcL,EAAYkB,KAS9BP,EACE,SADa,6BAESX,EAAYmB,UAFrB,oBAE0CnB,EAAYoB,OAFtD,gBAEoEpB,EAAYkB,OAV7FhB,GACEO,EAAAA,EAAAA,IAAqB,CACnBY,aAAc,wBACdC,cAAe,KAStB,EAUGC,QA5BY,kBAAMtB,GAA2B,EAAjC,EA6BZuB,mBAAoB,CAClBC,SAAUpB,IAAcL,EAAYkB,MAAQR,GAE9CgB,qBACE,UAAC,IAAD,uCAC0B,uBAAI1B,EAAYkB,OAD1C,gBAEE,SAAC,KAAD,CAAMS,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEC,GAAG,aACHX,KAAK,aACLY,SAAU,SAACC,GACTzB,EAAayB,EAAMC,OAAOC,MAC3B,EACDC,MAAM,GACND,MAAO5B,UAOpB,C","sources":["screens/Console/Tenants/TenantDetails/DeletePVC.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { IStoragePVCs } from \"../../Storage/types\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n}: IDeletePVC) => {\n const dispatch = useAppDispatch();\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePVC !== selectedPVC.name) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\n })\n );\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPVC.namespace}/tenants/${selectedPVC.tenant}/pvc/${selectedPVC.name}`\n );\n };\n\n return (\n <ConfirmDialog\n title={`Delete PVC`}\n confirmText={\"Delete\"}\n isOpen={deleteOpen}\n titleIcon={<ConfirmDeleteIcon />}\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePVC !== selectedPVC.name || deleteLoading,\n }}\n confirmationContent={\n <DialogContentText>\n To continue please type <b>{selectedPVC.name}</b> in the box.\n <Grid item xs={12}>\n <InputBoxWrapper\n id=\"retype-PVC\"\n name=\"retype-PVC\"\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n setRetypePVC(event.target.value);\n }}\n label=\"\"\n value={retypePVC}\n />\n </Grid>\n </DialogContentText>\n }\n />\n );\n};\n\nexport default DeletePVC;\n"],"names":["deleteOpen","selectedPVC","closeDeleteModalAndRefresh","dispatch","useAppDispatch","useState","retypePVC","setRetypePVC","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","namespace","tenant","errorMessage","detailedError","onClose","confirmButtonProps","disabled","confirmationContent","item","xs","id","onChange","event","target","value","label"],"sourceRoot":""}

View File

@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2185],{62185:function(e,t,n){n.r(t);var r=n(29439),a=n(1413),o=n(72791),i=n(16871),s=n(75952),l=n(56028),c=n(61889),u=n(21435),d=n(11135),f=n(25787),h=n(23814),m=n(60364),x=n(45248),p=n(56096),j=n(25469),v=n(87995),b=n(80184),w=(0,m.$j)((function(e){return{simplePath:e.objectBrowser.simplePath}}));t.default=w((0,f.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({},h.ID),h.DF))}))((function(e){var t=e.modalOpen,n=(e.folderName,e.bucketName),a=e.onClose,d=e.classes,f=e.simplePath,h=(0,j.TL)(),w=(0,i.s0)(),Z=(0,o.useState)(""),P=(0,r.Z)(Z,2),C=P[0],g=P[1],k=(0,o.useState)(!1),F=(0,r.Z)(k,2),N=F[0],y=F[1],E=(0,o.useState)(n),S=(0,r.Z)(E,2),z=S[0],B=S[1],I=(0,m.v9)((function(e){return e.objectBrowser.records}));(0,o.useEffect)((function(){if(f){var e="".concat(n).concat(n.endsWith("/")||f.startsWith("/")?"":"/").concat(f);B(e)}}),[f,n]);var L=function(){var e="/";f&&(e=f.endsWith("/")?f:"".concat(f,"/"));if(-1===I.findIndex((function(t){return t.name===e+C}))){var t=C.split("/").filter((function(e){return""!==e.trim()})).join("/"),r="/buckets/".concat(n,"/browse/").concat((0,x.LL)("".concat(e).concat(t,"/")));w(r),a()}else h((0,v.zb)({errorMessage:"Folder cannot have the same name as an existing file",detailedError:""}))};(0,o.useEffect)((function(){var e=!0;0===C.trim().length&&(e=!1),y(e)}),[C]);return(0,b.jsx)(o.Fragment,{children:(0,b.jsx)(l.Z,{modalOpen:t,title:"Choose or create a new path",onClose:a,titleIcon:(0,b.jsx)(p.Z9m,{}),children:(0,b.jsxs)(c.ZP,{container:!0,children:[(0,b.jsxs)(c.ZP,{item:!0,xs:12,className:d.formFieldRow,children:[(0,b.jsx)("strong",{children:"Current Path:"})," ",(0,b.jsx)("br",{}),(0,b.jsx)("div",{style:{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",fontSize:14,textAlign:"left"},dir:"rtl",children:z})]}),(0,b.jsx)(c.ZP,{item:!0,xs:12,className:d.formFieldRow,children:(0,b.jsx)(u.Z,{value:C,label:"New Folder Path",id:"folderPath",name:"folderPath",placeholder:"Enter the new Folder Path",onChange:function(e){g(e.target.value)},onKeyPress:function(e){"Enter"===e.code&&""!==C&&L()},required:!0})}),(0,b.jsxs)(c.ZP,{item:!0,xs:12,className:d.modalButtonBar,children:[(0,b.jsx)(s.zx,{id:"clear",type:"button",color:"primary",variant:"regular",onClick:function(){g("")},label:"Clear"}),(0,b.jsx)(s.zx,{id:"create",type:"submit",variant:"callAction",disabled:!N,onClick:L,label:"Create"})]})]})})})})))}}]);
//# sourceMappingURL=2185.4baca582.chunk.js.map

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +0,0 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2185],{62185:function(e,t,n){n.r(t);var a=n(29439),r=n(1413),i=n(72791),l=n(16871),s=n(75952),o=n(56028),c=n(61889),u=n(21435),d=n(11135),f=n(25787),h=n(23814),m=n(60364),x=n(45248),p=n(38588),j=n(25469),v=n(87995),b=n(80184),Z=(0,m.$j)((function(e){return{simplePath:e.objectBrowser.simplePath}}));t.default=Z((0,f.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)({},h.ID),h.DF))}))((function(e){var t=e.modalOpen,n=(e.folderName,e.bucketName),r=e.onClose,d=e.classes,f=e.existingFiles,h=e.simplePath,m=(0,j.TL)(),Z=(0,l.s0)(),w=(0,i.useState)(""),P=(0,a.Z)(w,2),C=P[0],g=P[1],k=(0,i.useState)(!1),F=(0,a.Z)(k,2),N=F[0],y=F[1],E=(0,i.useState)(n),S=(0,a.Z)(E,2),z=S[0],B=S[1];(0,i.useEffect)((function(){if(h){var e="".concat(n).concat(n.endsWith("/")||h.startsWith("/")?"":"/").concat(h);B(e)}}),[h,n]);var I=function(){var e="/";h&&(e=h.endsWith("/")?h:"".concat(h,"/"));if(-1===f.findIndex((function(t){return t.name===e+C}))){var t=C.split("/").filter((function(e){return""!==e.trim()})).join("/"),a="/buckets/".concat(n,"/browse/").concat((0,x.LL)("".concat(e).concat(t,"/")));Z(a),r()}else m((0,v.zb)({errorMessage:"Folder cannot have the same name as an existing file",detailedError:""}))};(0,i.useEffect)((function(){var e=!0;0===C.trim().length&&(e=!1),y(e)}),[C]);return(0,b.jsx)(i.Fragment,{children:(0,b.jsx)(o.Z,{modalOpen:t,title:"Choose or create a new path",onClose:r,titleIcon:(0,b.jsx)(p.Z9m,{}),children:(0,b.jsxs)(c.ZP,{container:!0,children:[(0,b.jsxs)(c.ZP,{item:!0,xs:12,className:d.formFieldRow,children:[(0,b.jsx)("strong",{children:"Current Path:"})," ",(0,b.jsx)("br",{}),(0,b.jsx)("div",{style:{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",fontSize:14,textAlign:"left"},dir:"rtl",children:z})]}),(0,b.jsx)(c.ZP,{item:!0,xs:12,className:d.formFieldRow,children:(0,b.jsx)(u.Z,{value:C,label:"New Folder Path",id:"folderPath",name:"folderPath",placeholder:"Enter the new Folder Path",onChange:function(e){g(e.target.value)},onKeyPress:function(e){"Enter"===e.code&&""!==C&&I()},required:!0})}),(0,b.jsxs)(c.ZP,{item:!0,xs:12,className:d.modalButtonBar,children:[(0,b.jsx)(s.zx,{id:"clear",type:"button",color:"primary",variant:"regular",onClick:function(){g("")},label:"Clear"}),(0,b.jsx)(s.zx,{id:"create",type:"submit",variant:"callAction",disabled:!N,onClick:I,label:"Create"})]})]})})})})))}}]);
//# sourceMappingURL=2185.a1da3e17.chunk.js.map

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2338],{51654:function(e,t,n){n(72791);var r=n(64554),i=n(80184);t.Z=function(e){var t=e.children;return(0,i.jsx)(r.Z,{sx:{border:"1px solid #eaeaea",padding:{lg:"40px",xs:"15px"}},children:t})}},72338:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var r=n(72791),i=n(16871),o=n(64554),s=n(34345),a=n(56087),l=n(32291),c=n(84669),u=n(74794),g=n(80184),d=function(e){var t=e.onClick,n=e.icon,r=e.name;return(0,g.jsxs)("button",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start",padding:10,background:"transparent",border:"1px solid #E5E5E5",borderRadius:2,cursor:"pointer"},onClick:function(){t(r)},children:[n?(0,g.jsx)(o.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:n}):null,(0,g.jsx)("div",{style:{fontWeight:600,marginLeft:20},children:r})]})},x=n(51654),f=function(){var e=(0,i.s0)();return(0,g.jsxs)(r.Fragment,{children:[(0,g.jsx)(l.Z,{label:(0,g.jsx)(r.Fragment,{children:(0,g.jsx)(c.Z,{to:a.gA.TIERS,label:"Tier Types"})}),actions:(0,g.jsx)(r.Fragment,{})}),(0,g.jsx)(u.Z,{children:(0,g.jsxs)(x.Z,{children:[(0,g.jsx)("div",{style:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Select Tier Type"}),(0,g.jsx)(o.Z,{sx:{margin:"0 auto",display:"grid",gridGap:"47px",gridTemplateColumns:{xs:"repeat(1, 1fr)",sm:"repeat(2, 1fr)",md:"repeat(3, 1fr)",lg:"repeat(4, 1fr)"}},children:s.Bh.map((function(t,n){return(0,g.jsx)(d,{name:t.targetTitle,onClick:function(){var n;n=t.serviceName,e("".concat(a.gA.TIERS_ADD,"/").concat(n))},icon:t.logo},"tierOpt-".concat(n.toString,"-").concat(t.targetTitle))}))})]})})]})}},34345:function(e,t,n){n.d(t,{Bh:function(){return c},Pp:function(){return o},b2:function(){return a},f0:function(){return s},vB:function(){return l}});var r=n(38588),i=n(80184),o="minio",s="gcs",a="s3",l="azure",c=[{serviceName:o,targetTitle:"MinIO",logo:(0,i.jsx)(r.$E9,{}),logoXs:(0,i.jsx)(r.YEz,{})},{serviceName:s,targetTitle:"Google Cloud Storage",logo:(0,i.jsx)(r.UQG,{}),logoXs:(0,i.jsx)(r.Vwu,{})},{serviceName:a,targetTitle:"AWS S3",logo:(0,i.jsx)(r.feu,{}),logoXs:(0,i.jsx)(r.Xj3,{})},{serviceName:l,targetTitle:"Azure",logo:(0,i.jsx)(r.jze,{}),logoXs:(0,i.jsx)(r.nAe,{})}]}}]);
//# sourceMappingURL=2338.0ee15506.chunk.js.map
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2338],{51654:function(e,t,n){n(72791);var r=n(64554),i=n(80184);t.Z=function(e){var t=e.children;return(0,i.jsx)(r.Z,{sx:{border:"1px solid #eaeaea",padding:{lg:"40px",xs:"15px"}},children:t})}},72338:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var r=n(72791),i=n(16871),o=n(64554),s=n(34345),a=n(56087),l=n(32291),c=n(84669),u=n(74794),g=n(80184),d=function(e){var t=e.onClick,n=e.icon,r=e.name;return(0,g.jsxs)("button",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start",padding:10,background:"transparent",border:"1px solid #E5E5E5",borderRadius:2,cursor:"pointer"},onClick:function(){t(r)},children:[n?(0,g.jsx)(o.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:n}):null,(0,g.jsx)("div",{style:{fontWeight:600,marginLeft:20},children:r})]})},x=n(51654),f=function(){var e=(0,i.s0)();return(0,g.jsxs)(r.Fragment,{children:[(0,g.jsx)(l.Z,{label:(0,g.jsx)(r.Fragment,{children:(0,g.jsx)(c.Z,{to:a.gA.TIERS,label:"Tier Types"})}),actions:(0,g.jsx)(r.Fragment,{})}),(0,g.jsx)(u.Z,{children:(0,g.jsxs)(x.Z,{children:[(0,g.jsx)("div",{style:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Select Tier Type"}),(0,g.jsx)(o.Z,{sx:{margin:"0 auto",display:"grid",gridGap:"47px",gridTemplateColumns:{xs:"repeat(1, 1fr)",sm:"repeat(2, 1fr)",md:"repeat(3, 1fr)",lg:"repeat(4, 1fr)"}},children:s.Bh.map((function(t,n){return(0,g.jsx)(d,{name:t.targetTitle,onClick:function(){var n;n=t.serviceName,e("".concat(a.gA.TIERS_ADD,"/").concat(n))},icon:t.logo},"tierOpt-".concat(n.toString,"-").concat(t.targetTitle))}))})]})})]})}},34345:function(e,t,n){n.d(t,{Bh:function(){return c},Pp:function(){return o},b2:function(){return a},f0:function(){return s},vB:function(){return l}});var r=n(56096),i=n(80184),o="minio",s="gcs",a="s3",l="azure",c=[{serviceName:o,targetTitle:"MinIO",logo:(0,i.jsx)(r.$E9,{}),logoXs:(0,i.jsx)(r.YEz,{})},{serviceName:s,targetTitle:"Google Cloud Storage",logo:(0,i.jsx)(r.UQG,{}),logoXs:(0,i.jsx)(r.Vwu,{})},{serviceName:a,targetTitle:"AWS S3",logo:(0,i.jsx)(r.feu,{}),logoXs:(0,i.jsx)(r.Xj3,{})},{serviceName:l,targetTitle:"Azure",logo:(0,i.jsx)(r.jze,{}),logoXs:(0,i.jsx)(r.nAe,{})}]}}]);
//# sourceMappingURL=2338.9785d021.chunk.js.map

View File

@@ -1,2 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2408],{22763:function(e,t,n){n.r(t);var r=n(29439),u=n(1413),o=(n(72791),n(51691)),s=n(11135),a=n(25787),c=n(23814),i=n(9505),l=n(23508),f=n(38588),d=n(87995),p=n(25469),Z=n(80184);t.default=(0,a.Z)((function(e){return(0,s.Z)((0,u.Z)({},c.oO))}))((function(e){var t=e.deleteOpen,n=e.currentTags,s=e.selectedTag,a=e.onCloseAndUpdate,c=e.bucketName,T=e.classes,g=(0,p.TL)(),h=(0,r.Z)(s,2),k=h[0],x=h[1],C=(0,i.Z)((function(){return a(!0)}),(function(e){return g((0,d.Ih)(e))})),b=(0,r.Z)(C,2),m=b[0],v=b[1];if(!s)return null;return(0,Z.jsx)(l.Z,{title:"Delete Tag",confirmText:"Delete",isOpen:t,titleIcon:(0,Z.jsx)(f.NvT,{}),isLoading:m,onConfirm:function(){var e=(0,u.Z)({},n);delete e[k],v("PUT","/api/v1/buckets/".concat(c,"/tags"),{tags:e})},onClose:function(){return a(!1)},confirmationContent:(0,Z.jsxs)(o.Z,{children:["Are you sure you want to delete the tag"," ",(0,Z.jsxs)("b",{className:T.wrapText,children:[k," : ",x]})," ","?"]})})}))}}]);
//# sourceMappingURL=2408.40adaebd.chunk.js.map
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2408],{22763:function(e,t,n){n.r(t);var r=n(29439),u=n(1413),o=(n(72791),n(51691)),s=n(11135),a=n(25787),c=n(23814),i=n(9505),l=n(23508),f=n(56096),d=n(87995),p=n(25469),Z=n(80184);t.default=(0,a.Z)((function(e){return(0,s.Z)((0,u.Z)({},c.oO))}))((function(e){var t=e.deleteOpen,n=e.currentTags,s=e.selectedTag,a=e.onCloseAndUpdate,c=e.bucketName,T=e.classes,g=(0,p.TL)(),h=(0,r.Z)(s,2),k=h[0],x=h[1],C=(0,i.Z)((function(){return a(!0)}),(function(e){return g((0,d.Ih)(e))})),b=(0,r.Z)(C,2),m=b[0],v=b[1];if(!s)return null;return(0,Z.jsx)(l.Z,{title:"Delete Tag",confirmText:"Delete",isOpen:t,titleIcon:(0,Z.jsx)(f.NvT,{}),isLoading:m,onConfirm:function(){var e=(0,u.Z)({},n);delete e[k],v("PUT","/api/v1/buckets/".concat(c,"/tags"),{tags:e})},onClose:function(){return a(!1)},confirmationContent:(0,Z.jsxs)(o.Z,{children:["Are you sure you want to delete the tag"," ",(0,Z.jsxs)("b",{className:T.wrapText,children:[k," : ",x]})," ","?"]})})}))}}]);
//# sourceMappingURL=2408.4f7b17cd.chunk.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"static/js/2408.40adaebd.chunk.js","mappings":"qQAiGA,WAAeA,EAAAA,EAAAA,IA1DA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,IAFQ,GA0Df,EArD6B,SAAC,GAOA,IAN5BC,EAM2B,EAN3BA,WACAC,EAK2B,EAL3BA,YACAC,EAI2B,EAJ3BA,YACAC,EAG2B,EAH3BA,iBACAC,EAE2B,EAF3BA,WACAC,EAC2B,EAD3BA,QAEMC,GAAWC,EAAAA,EAAAA,MACjB,UAA2BL,EAA3B,GAAOM,EAAP,KAAeC,EAAf,KAOA,GAAyCC,EAAAA,EAAAA,IALpB,kBAAMP,GAAiB,EAAvB,IACF,SAACQ,GAAD,OACjBL,GAASM,EAAAA,EAAAA,IAAqBD,GADb,IAInB,eAAOE,EAAP,KAAsBC,EAAtB,KAEA,IAAKZ,EACH,OAAO,KAYT,OACE,SAAC,IAAD,CACEa,MAAK,aACLC,YAAa,SACbC,OAAQjB,EACRkB,WAAW,SAAC,MAAD,IACXC,UAAWN,EACXO,UAhBoB,WACtB,IAAMC,GAAW,UAAQpB,UAClBoB,EAAYb,GAEnBM,EAAgB,MAAD,0BAA2BV,EAA3B,SAA8C,CAC3DkB,KAAMD,GAET,EAUGE,QAzBY,kBAAMpB,GAAiB,EAAvB,EA0BZqB,qBACE,UAAC,IAAD,qDAC0C,KACxC,eAAGC,UAAWpB,EAAQqB,SAAtB,UACGlB,EADH,MACcC,KACT,IAJP,QAUP,G","sources":["screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React from \"react\";\n\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeleteBucketTagModal {\n deleteOpen: boolean;\n currentTags: any;\n bucketName: string;\n selectedTag: string[];\n onCloseAndUpdate: (refresh: boolean) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst DeleteBucketTagModal = ({\n deleteOpen,\n currentTags,\n selectedTag,\n onCloseAndUpdate,\n bucketName,\n classes,\n}: IDeleteBucketTagModal) => {\n const dispatch = useAppDispatch();\n const [tagKey, tagLabel] = selectedTag;\n\n const onDelSuccess = () => onCloseAndUpdate(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => onCloseAndUpdate(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedTag) {\n return null;\n }\n\n const onConfirmDelete = () => {\n const cleanObject = { ...currentTags };\n delete cleanObject[tagKey];\n\n invokeDeleteApi(\"PUT\", `/api/v1/buckets/${bucketName}/tags`, {\n tags: cleanObject,\n });\n };\n\n return (\n <ConfirmDialog\n title={`Delete Tag`}\n confirmText={\"Delete\"}\n isOpen={deleteOpen}\n titleIcon={<ConfirmDeleteIcon />}\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n <DialogContentText>\n Are you sure you want to delete the tag{\" \"}\n <b className={classes.wrapText}>\n {tagKey} : {tagLabel}\n </b>{\" \"}\n ?\n </DialogContentText>\n }\n />\n );\n};\n\nexport default withStyles(styles)(DeleteBucketTagModal);\n"],"names":["withStyles","theme","createStyles","modalBasic","deleteOpen","currentTags","selectedTag","onCloseAndUpdate","bucketName","classes","dispatch","useAppDispatch","tagKey","tagLabel","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","cleanObject","tags","onClose","confirmationContent","className","wrapText"],"sourceRoot":""}
{"version":3,"file":"static/js/2408.4f7b17cd.chunk.js","mappings":"qQAiGA,WAAeA,EAAAA,EAAAA,IA1DA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,IAFQ,GA0Df,EArD6B,SAAC,GAOA,IAN5BC,EAM2B,EAN3BA,WACAC,EAK2B,EAL3BA,YACAC,EAI2B,EAJ3BA,YACAC,EAG2B,EAH3BA,iBACAC,EAE2B,EAF3BA,WACAC,EAC2B,EAD3BA,QAEMC,GAAWC,EAAAA,EAAAA,MACjB,UAA2BL,EAA3B,GAAOM,EAAP,KAAeC,EAAf,KAOA,GAAyCC,EAAAA,EAAAA,IALpB,kBAAMP,GAAiB,EAAvB,IACF,SAACQ,GAAD,OACjBL,GAASM,EAAAA,EAAAA,IAAqBD,GADb,IAInB,eAAOE,EAAP,KAAsBC,EAAtB,KAEA,IAAKZ,EACH,OAAO,KAYT,OACE,SAAC,IAAD,CACEa,MAAK,aACLC,YAAa,SACbC,OAAQjB,EACRkB,WAAW,SAAC,MAAD,IACXC,UAAWN,EACXO,UAhBoB,WACtB,IAAMC,GAAW,UAAQpB,UAClBoB,EAAYb,GAEnBM,EAAgB,MAAD,0BAA2BV,EAA3B,SAA8C,CAC3DkB,KAAMD,GAET,EAUGE,QAzBY,kBAAMpB,GAAiB,EAAvB,EA0BZqB,qBACE,UAAC,IAAD,qDAC0C,KACxC,eAAGC,UAAWpB,EAAQqB,SAAtB,UACGlB,EADH,MACcC,KACT,IAJP,QAUP,G","sources":["screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React from \"react\";\n\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeleteBucketTagModal {\n deleteOpen: boolean;\n currentTags: any;\n bucketName: string;\n selectedTag: string[];\n onCloseAndUpdate: (refresh: boolean) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst DeleteBucketTagModal = ({\n deleteOpen,\n currentTags,\n selectedTag,\n onCloseAndUpdate,\n bucketName,\n classes,\n}: IDeleteBucketTagModal) => {\n const dispatch = useAppDispatch();\n const [tagKey, tagLabel] = selectedTag;\n\n const onDelSuccess = () => onCloseAndUpdate(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => onCloseAndUpdate(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedTag) {\n return null;\n }\n\n const onConfirmDelete = () => {\n const cleanObject = { ...currentTags };\n delete cleanObject[tagKey];\n\n invokeDeleteApi(\"PUT\", `/api/v1/buckets/${bucketName}/tags`, {\n tags: cleanObject,\n });\n };\n\n return (\n <ConfirmDialog\n title={`Delete Tag`}\n confirmText={\"Delete\"}\n isOpen={deleteOpen}\n titleIcon={<ConfirmDeleteIcon />}\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n <DialogContentText>\n Are you sure you want to delete the tag{\" \"}\n <b className={classes.wrapText}>\n {tagKey} : {tagLabel}\n </b>{\" \"}\n ?\n </DialogContentText>\n }\n />\n );\n};\n\nexport default withStyles(styles)(DeleteBucketTagModal);\n"],"names":["withStyles","theme","createStyles","modalBasic","deleteOpen","currentTags","selectedTag","onCloseAndUpdate","bucketName","classes","dispatch","useAppDispatch","tagKey","tagLabel","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","cleanObject","tags","onClose","confirmationContent","className","wrapText"],"sourceRoot":""}

View File

@@ -1,2 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[247],{40247:function(e,a,n){n.r(a);var t=n(29439),s=n(1413),l=n(72791),i=n(75952),o=n(61889),r=n(11135),c=n(25787),d=n(23814),u=n(21435),m=n(56028),Z=n(81207),g=n(38588),p=n(87995),f=n(25469),x=n(80184);a.default=(0,c.Z)((function(e){return(0,r.Z)((0,s.Z)((0,s.Z)((0,s.Z)({},d.DF),d.ID),d.bK))}))((function(e){var a=e.modalOpen,n=e.currentTags,r=e.onCloseAndUpdate,c=e.bucketName,d=e.classes,h=(0,f.TL)(),v=(0,l.useState)(""),b=(0,t.Z)(v,2),j=b[0],N=b[1],k=(0,l.useState)(""),C=(0,t.Z)(k,2),w=C[0],T=C[1],y=(0,l.useState)(!1),B=(0,t.Z)(y,2),S=B[0],E=B[1];return(0,x.jsx)(m.Z,{modalOpen:a,title:"Add New Tag ",onClose:function(){r(!1)},titleIcon:(0,x.jsx)(g.OCT,{}),children:(0,x.jsxs)(o.ZP,{container:!0,children:[(0,x.jsxs)("div",{className:d.spacerBottom,children:[(0,x.jsx)("strong",{children:"Bucket"}),": ",c]}),(0,x.jsx)(o.ZP,{item:!0,xs:12,className:d.formFieldRow,children:(0,x.jsx)(u.Z,{value:j,label:"New Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter New Tag Key",onChange:function(e){N(e.target.value)}})}),(0,x.jsx)(o.ZP,{item:!0,xs:12,className:d.formFieldRow,children:(0,x.jsx)(u.Z,{value:w,label:"New Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter New Tag Label",onChange:function(e){T(e.target.value)}})}),(0,x.jsxs)(o.ZP,{item:!0,xs:12,className:d.modalButtonBar,children:[(0,x.jsx)(i.zx,{id:"clear",type:"button",variant:"regular",onClick:function(){T(""),N("")},label:"Clear"}),(0,x.jsx)(i.zx,{id:"save-add-bucket-tag",type:"submit",variant:"callAction",color:"primary",disabled:""===w.trim()||""===j.trim()||S,onClick:function(){E(!0);var e={};e[j]=w;var a=(0,s.Z)((0,s.Z)({},n),e);Z.Z.invoke("PUT","/api/v1/buckets/".concat(c,"/tags"),{tags:a}).then((function(e){E(!1),r(!0)})).catch((function(e){h((0,p.zb)(e)),E(!1)}))},label:"Save"})]})]})})}))},56028:function(e,a,n){var t=n(29439),s=n(1413),l=n(72791),i=n(60364),o=n(13400),r=n(55646),c=n(5574),d=n(65661),u=n(39157),m=n(11135),Z=n(25787),g=n(23814),p=n(25469),f=n(29823),x=n(28057),h=n(87995),v=n(80184);a.Z=(0,Z.Z)((function(e){return(0,m.Z)((0,s.Z)((0,s.Z)({},g.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},g.sN))}))((function(e){var a=e.onClose,n=e.modalOpen,m=e.title,Z=e.children,g=e.classes,b=e.wideLimit,j=void 0===b||b,N=e.noContentPadding,k=e.titleIcon,C=void 0===k?null:k,w=(0,p.TL)(),T=(0,l.useState)(!1),y=(0,t.Z)(T,2),B=y[0],S=y[1],E=(0,i.v9)((function(e){return e.system.modalSnackBar}));(0,l.useEffect)((function(){w((0,h.MK)(""))}),[w]),(0,l.useEffect)((function(){if(E){if(""===E.message)return void S(!1);"error"!==E.type&&S(!0)}}),[E]);var K=j?{classes:{paper:g.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},L="";return E&&(L=E.detailedErrorMsg,(""===E.detailedErrorMsg||E.detailedErrorMsg.length<5)&&(L=E.message)),(0,v.jsxs)(c.Z,(0,s.Z)((0,s.Z)({open:n,classes:g},K),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:g.root,children:[(0,v.jsxs)(d.Z,{className:g.title,children:[(0,v.jsxs)("div",{className:g.titleText,children:[C," ",m]}),(0,v.jsx)("div",{className:g.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:g.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,v.jsx)(f.Z,{})})})]}),(0,v.jsx)(x.Z,{isModal:!0}),(0,v.jsx)(r.Z,{open:B,className:g.snackBarModal,onClose:function(){S(!1),w((0,h.MK)(""))},message:L,ContentProps:{className:"".concat(g.snackBar," ").concat(E&&"error"===E.type?g.errorSnackBar:"")},autoHideDuration:E&&"error"===E.type?1e4:5e3}),(0,v.jsx)(u.Z,{className:N?"":g.content,children:Z})]}))}))}}]);
//# sourceMappingURL=247.b3ec6497.chunk.js.map
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[247],{40247:function(e,a,n){n.r(a);var t=n(29439),s=n(1413),l=n(72791),i=n(75952),o=n(61889),r=n(11135),c=n(25787),d=n(23814),u=n(21435),m=n(56028),Z=n(81207),g=n(56096),p=n(87995),f=n(25469),x=n(80184);a.default=(0,c.Z)((function(e){return(0,r.Z)((0,s.Z)((0,s.Z)((0,s.Z)({},d.DF),d.ID),d.bK))}))((function(e){var a=e.modalOpen,n=e.currentTags,r=e.onCloseAndUpdate,c=e.bucketName,d=e.classes,h=(0,f.TL)(),v=(0,l.useState)(""),b=(0,t.Z)(v,2),j=b[0],N=b[1],k=(0,l.useState)(""),C=(0,t.Z)(k,2),w=C[0],T=C[1],y=(0,l.useState)(!1),B=(0,t.Z)(y,2),S=B[0],E=B[1];return(0,x.jsx)(m.Z,{modalOpen:a,title:"Add New Tag ",onClose:function(){r(!1)},titleIcon:(0,x.jsx)(g.OCT,{}),children:(0,x.jsxs)(o.ZP,{container:!0,children:[(0,x.jsxs)("div",{className:d.spacerBottom,children:[(0,x.jsx)("strong",{children:"Bucket"}),": ",c]}),(0,x.jsx)(o.ZP,{item:!0,xs:12,className:d.formFieldRow,children:(0,x.jsx)(u.Z,{value:j,label:"New Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter New Tag Key",onChange:function(e){N(e.target.value)}})}),(0,x.jsx)(o.ZP,{item:!0,xs:12,className:d.formFieldRow,children:(0,x.jsx)(u.Z,{value:w,label:"New Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter New Tag Label",onChange:function(e){T(e.target.value)}})}),(0,x.jsxs)(o.ZP,{item:!0,xs:12,className:d.modalButtonBar,children:[(0,x.jsx)(i.zx,{id:"clear",type:"button",variant:"regular",onClick:function(){T(""),N("")},label:"Clear"}),(0,x.jsx)(i.zx,{id:"save-add-bucket-tag",type:"submit",variant:"callAction",color:"primary",disabled:""===w.trim()||""===j.trim()||S,onClick:function(){E(!0);var e={};e[j]=w;var a=(0,s.Z)((0,s.Z)({},n),e);Z.Z.invoke("PUT","/api/v1/buckets/".concat(c,"/tags"),{tags:a}).then((function(e){E(!1),r(!0)})).catch((function(e){h((0,p.zb)(e)),E(!1)}))},label:"Save"})]})]})})}))},56028:function(e,a,n){var t=n(29439),s=n(1413),l=n(72791),i=n(60364),o=n(13400),r=n(55646),c=n(5574),d=n(65661),u=n(39157),m=n(11135),Z=n(25787),g=n(23814),p=n(25469),f=n(29823),x=n(28057),h=n(87995),v=n(80184);a.Z=(0,Z.Z)((function(e){return(0,m.Z)((0,s.Z)((0,s.Z)({},g.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},g.sN))}))((function(e){var a=e.onClose,n=e.modalOpen,m=e.title,Z=e.children,g=e.classes,b=e.wideLimit,j=void 0===b||b,N=e.noContentPadding,k=e.titleIcon,C=void 0===k?null:k,w=(0,p.TL)(),T=(0,l.useState)(!1),y=(0,t.Z)(T,2),B=y[0],S=y[1],E=(0,i.v9)((function(e){return e.system.modalSnackBar}));(0,l.useEffect)((function(){w((0,h.MK)(""))}),[w]),(0,l.useEffect)((function(){if(E){if(""===E.message)return void S(!1);"error"!==E.type&&S(!0)}}),[E]);var K=j?{classes:{paper:g.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},L="";return E&&(L=E.detailedErrorMsg,(""===E.detailedErrorMsg||E.detailedErrorMsg.length<5)&&(L=E.message)),(0,v.jsxs)(c.Z,(0,s.Z)((0,s.Z)({open:n,classes:g},K),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:g.root,children:[(0,v.jsxs)(d.Z,{className:g.title,children:[(0,v.jsxs)("div",{className:g.titleText,children:[C," ",m]}),(0,v.jsx)("div",{className:g.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:g.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,v.jsx)(f.Z,{})})})]}),(0,v.jsx)(x.Z,{isModal:!0}),(0,v.jsx)(r.Z,{open:B,className:g.snackBarModal,onClose:function(){S(!1),w((0,h.MK)(""))},message:L,ContentProps:{className:"".concat(g.snackBar," ").concat(E&&"error"===E.type?g.errorSnackBar:"")},autoHideDuration:E&&"error"===E.type?1e4:5e3}),(0,v.jsx)(u.Z,{className:N?"":g.content,children:Z})]}))}))}}]);
//# sourceMappingURL=247.908c948c.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More