Compare commits

..

31 Commits

Author SHA1 Message Date
Alex
6bc4efbac1 Release v0.35.0 (#2981) 2023-08-03 14:54:29 -07:00
Alex
cc0164a67b Initial Tools Pages Migrations (#2978)
Tools Pages Migrations

- Call Home
- Inspect
- Profile
- Health

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-08-03 15:26:17 -06:00
Prakash Senthil Vel
b968cc25ad feat: download multiple object selection as zip ignoring any deleted objects selected (#2965) 2023-08-02 18:28:25 -06:00
jinapurapu
d116a35a6d Fix subpath button (#2977)
Added bucketName to permissions check for subpath
2023-08-02 15:26:39 -07:00
Alex
49f856bdd5 Added Exclude Folders & Exclude Prefixes support (#2973)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-08-02 13:35:00 -06:00
Cesar Celis Hernandez
0d628f589a Removing white spaces from provided values (#2922) 2023-07-31 22:29:11 -06:00
Cesar N
4387b2149f Update Github jobs to use hardcoded testcafe version (#2972) 2023-07-31 16:11:28 -07:00
Alex
8cc602434e Release v0.34.0 (#2969)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-07-28 16:31:50 -07:00
Anis Eleuch
6411dc9504 auth: Avoid forcing one hour expiration for IDP sts creds (#2966) 2023-07-27 22:25:47 -06:00
Alex
32c34b0a11 Migrated Buckets Pages to mds (#2960) 2023-07-27 19:27:43 -07:00
jinapurapu
6e8f5e0fc2 Fixed subnet Health report upload (#2927)
Fixed subnet file upload to allow upload of different report types
2023-07-27 15:29:30 -07:00
Alex
3ce377dbd1 Changed Download Handler Behavior (#2964)
- Updated Handler for files with size of 49GB or less
- Used Browser Handler tor size of more than 50GB

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-07-26 21:08:35 -07:00
Alex
ad502b9f18 Fixed issue with folders named as the bucket in rewind mode (#2963)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-07-26 13:53:04 -07:00
Alex
fde186a5a3 Release v0.33.0 (#2956)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-07-20 22:26:32 -07:00
Prakash Senthil Vel
0823f623c8 fix configuration page to include configs based on supported config subsystems (#2946) 2023-07-20 14:43:17 -06:00
Prakash Senthil Vel
6cec113304 fix: add new dashboard metrics (#2952) 2023-07-20 07:57:41 -07:00
dependabot[bot]
cd42d77a46 Bump word-wrap from 1.2.3 to 1.2.4 in /portal-ui (#2953) 2023-07-19 11:40:03 -06:00
Alex
35907beaca Updated Prettier to v3.0.0 (#2949)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-07-18 09:58:21 -06:00
MinIO Bot
a062a59288 mds-released-v0.7.0 (#2948) 2023-07-18 09:53:53 +05:30
Prakash Senthil Vel
842c2decd0 fix console dashboard node io prometheus metric WChar and RChar (#2947) 2023-07-17 10:51:59 -07:00
Prakash Senthil Vel
d1069ed359 fix loading of objects at a path when url is shared opened elsewhere (#2944)
- fix loading of objects at a path when url is shared and opened elsewhere
- fix bug when a path is created and objects are uploaded it is not refreshed
2023-07-17 09:03:31 -07:00
Prakash Senthil Vel
6d81a1b1f8 add support for preview based on content type (#2930) 2023-07-13 18:29:56 -06:00
Alex
b2fe478dae Updated vulnerabilities checks & workflows (#2941) 2023-07-12 22:05:54 -06:00
Prakash Senthil Vel
02ed6a6e8b Fix delete share download options permission check in sidebar (#2935) 2023-07-12 11:07:18 -06:00
jinapurapu
1b271ab467 Removed extra 'Event Destination' text (#2938) 2023-07-12 10:35:39 -06:00
Prakash Senthil Vel
bacb5f8901 Preserve white space in breadcrumb disply and navigation (#2932) 2023-07-11 22:32:03 -06:00
MinIO Bot
ae7371da95 mds-released-v0.6.9 (#2934) 2023-07-10 22:56:44 -06:00
Prakash Senthil Vel
60f5eb603b remove warning message in delete bucket replication rule (#2931) 2023-07-10 14:29:23 -06:00
Prakash Senthil Vel
420ed00f55 Fix object metadata section crash due to un escaped characters (#2928) 2023-07-07 12:21:06 -06:00
Alex
b975871e9d Migrated remaining LDAP subcomponents to mds (#2926)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-07-06 22:21:19 -06:00
Alex
803ffe2960 Migrated OpenID module components to mds (#2925)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-07-06 14:14:10 -06:00
681 changed files with 7100 additions and 6902 deletions

View File

@@ -42,26 +42,6 @@ jobs:
run: |
make verifiers
vulnerable-dependencies-checks:
name: "Check for vulnerable dependencies"
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [1.20.x]
steps:
- name: Check out code
uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}
cache: true
check-latest: true
- name: Get govulncheck
run: go install golang.org/x/vuln/cmd/govulncheck@latest
shell: bash
- name: Run govulncheck
run: govulncheck ./...
shell: bash
semgrep-static-code-analysis:
name: "semgrep checks"
runs-on: ubuntu-latest
@@ -220,29 +200,6 @@ jobs:
run: |
make console
react-code-known-vulnerabilities:
name: "React Code Has No Known Vulnerable Deps"
needs:
- ui-assets
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [1.20.x]
os: [ubuntu-latest]
steps:
- name: Check out code
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ env.NVMRC }}
cache: "yarn"
cache-dependency-path: portal-ui/yarn.lock
- name: Checks for known security issues with the installed packages
working-directory: ./portal-ui
continue-on-error: false
run: |
yarn audit --groups dependencies
all-permissions-1:
name: Permissions Tests Part 1
needs:
@@ -281,10 +238,11 @@ jobs:
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-1/ --skip-js-errors -c 3'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-1/ -q --skip-js-errors -c 3
- name: Clean up users & policies
run: |
@@ -327,10 +285,11 @@ jobs:
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-2/ --skip-js-errors -c 3'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-2/ -q --skip-js-errors -c 3
- name: Clean up users & policies
run: |
@@ -373,10 +332,11 @@ jobs:
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-3/ --skip-js-errors -c 3'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-3/ -q --skip-js-errors -c 3
- name: Clean up users & policies
run: |
@@ -418,11 +378,14 @@ jobs:
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
timeout-minutes: 10
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-4/ --skip-js-errors'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-4/ --skip-js-errors
all-permissions-5:
name: Permissions Tests Part 5
needs:
@@ -458,11 +421,14 @@ jobs:
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
timeout-minutes: 5
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-5/ --skip-js-errors'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-5/ --skip-js-errors
all-permissions-6:
name: Permissions Tests Part 6
needs:
@@ -498,11 +464,14 @@ jobs:
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
timeout-minutes: 5
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-6/ --skip-js-errors'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-6/ --skip-js-errors
all-permissions-7:
name: Permissions Tests Part 7
needs:
@@ -538,11 +507,13 @@ jobs:
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
timeout-minutes: 5
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-7/ --skip-js-errors'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-7/ --skip-js-errors
all-permissions-8:
name: Permissions Tests Part 8
needs:
@@ -578,11 +549,14 @@ jobs:
- name: Start Console, front-end app and initialize users/policies
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
timeout-minutes: 5
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-8/ --skip-js-errors'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-8/ --skip-js-errors
all-permissions-9:
name: Permissions Tests Part 9
needs:
@@ -619,10 +593,11 @@ jobs:
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-9/ --skip-js-errors -c 3'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-9/ --skip-js-errors -c 3
- name: Clean up users & policies
run: |
@@ -664,10 +639,11 @@ jobs:
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-A/ --skip-js-errors -c 3'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-A/ --skip-js-errors -c 3
- name: Clean up users & policies
run: |
@@ -709,10 +685,11 @@ jobs:
run: |
(./console server) & (make initialize-permissions)
- name: Install TestCafe
run: npm install testcafe@3.0.0
- name: Run TestCafe Tests
uses: DevExpress/testcafe-action@latest
with:
args: '"chrome --headless --no-sandbox" portal-ui/tests/permissions-B/ --skip-js-errors -c 3'
run: npx testcafe "chrome:headless" portal-ui/tests/permissions-B/ --skip-js-errors -c 3
- name: Clean up users & policies
run: |
@@ -1158,7 +1135,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [1.19.x]
go-version: [1.20.x]
os: [ubuntu-latest]
steps:
- name: Check out code
@@ -1188,11 +1165,6 @@ jobs:
continue-on-error: false
run: |
./check-warnings-istanbul-coverage.sh
- name: Check if Files are Prettified
working-directory: ./portal-ui
continue-on-error: false
run: |
./check-prettier.sh
compile-binary-istanbul-coverage:
name: "Compile Console Binary with Istanbul Plugin for Coverage"
@@ -1204,7 +1176,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [1.19.x]
go-version: [1.20.x]
os: [ubuntu-latest]
steps:
- name: Check out code

51
.github/workflows/vulncheck.yaml vendored Normal file
View File

@@ -0,0 +1,51 @@
name: Vulnerability Check
on:
pull_request:
branches:
- master
push:
branches:
- master
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
vulncheck:
name: Analysis
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.20.x
check-latest: true
- name: Get official govulncheck
run: go install golang.org/x/vuln/cmd/govulncheck@latest
shell: bash
- name: Run govulncheck
run: govulncheck ./...
shell: bash
react-code-known-vulnerabilities:
name: "React Code Has No Known Vulnerable Deps"
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [ 1.20.x ]
os: [ ubuntu-latest ]
steps:
- name: Check out code
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ env.NVMRC }}
cache: "yarn"
cache-dependency-path: portal-ui/yarn.lock
- name: Checks for known security issues with the installed packages
working-directory: ./portal-ui
continue-on-error: false
run: |
yarn audit --groups dependencies

View File

@@ -2,6 +2,27 @@
# Changelog
## Release v0.34.0
Features:
- Updated Buckets components
Bug Fix:
- Fixed SUBNET Health report upload
- Updated Download Handler
- Fixes issue with rewind
- Avoid 1 hour expiration for IDP credentials
---
## Release v0.33.0
Features:
- Updated OpenID, LDAP components
Bug Fix:
- Fixed security issues
- Fixed navigation issues in Object Browser
- Fixed Dashboard metrics
---
## Release v0.32.0
Features:
- Updated Users and Groups components

3
go.mod
View File

@@ -42,6 +42,8 @@ require (
gopkg.in/yaml.v2 v2.4.0 // indirect
)
require github.com/mattn/go-ieproxy v0.0.1
require (
aead.dev/mem v0.2.0 // indirect
aead.dev/minisign v0.2.0 // indirect
@@ -89,7 +91,6 @@ require (
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-ieproxy v0.0.1 // indirect
github.com/mattn/go-isatty v0.0.18 // indirect
github.com/mattn/go-localereader v0.0.1 // indirect
github.com/mattn/go-runewidth v0.0.14 // indirect

View File

@@ -31,7 +31,7 @@ import (
func Test_AddAccessRuleAPI(t *testing.T) {
assert := assert.New(t)
AddBucket("testaccessruleadd", false, false, nil, nil)
AddBucket("testaccessruleadd", false, nil, nil, nil)
type args struct {
bucket string
@@ -111,7 +111,7 @@ func Test_AddAccessRuleAPI(t *testing.T) {
func Test_GetAccessRulesAPI(t *testing.T) {
assert := assert.New(t)
AddBucket("testaccessruleget", false, false, nil, nil)
AddBucket("testaccessruleget", false, nil, nil, nil)
type args struct {
bucket string
@@ -161,7 +161,7 @@ func Test_GetAccessRulesAPI(t *testing.T) {
func Test_DeleteAccessRuleAPI(t *testing.T) {
assert := assert.New(t)
AddBucket("testaccessruledelete", false, false, nil, nil)
AddBucket("testaccessruledelete", false, nil, nil, nil)
type args struct {
prefix string

View File

@@ -17,8 +17,10 @@
package integration
import (
"bytes"
"context"
"encoding/base64"
"encoding/json"
"fmt"
"log"
"math/rand"
@@ -194,3 +196,86 @@ func TestObjectGet(t *testing.T) {
})
}
}
func downloadMultipleFiles(bucketName string, objects []string) (*http.Response, error) {
requestURL := fmt.Sprintf("http://localhost:9090/api/v1/buckets/%s/objects/download-multiple", bucketName)
postReqParams, _ := json.Marshal(objects)
reqBody := bytes.NewReader(postReqParams)
request, err := http.NewRequest(
"POST", requestURL, reqBody)
if err != nil {
log.Println(err)
return nil, nil
}
request.Header.Add("Cookie", fmt.Sprintf("token=%s", token))
request.Header.Add("Content-Type", "application/json")
client := &http.Client{
Timeout: 2 * time.Second,
}
response, err := client.Do(request)
return response, err
}
func TestDownloadMultipleFiles(t *testing.T) {
assert := assert.New(t)
type args struct {
bucketName string
objectLis []string
}
tests := []struct {
name string
args args
expectedStatus int
expectedError bool
}{
{
name: "Test empty Bucket",
args: args{
bucketName: "",
},
expectedStatus: 400,
expectedError: true,
},
{
name: "Test empty object list",
args: args{
bucketName: "test-bucket",
},
expectedStatus: 400,
expectedError: true,
},
{
name: "Test with bucket and object list",
args: args{
bucketName: "test-bucket",
objectLis: []string{
"my-object.txt",
"test-prefix/",
"test-prefix/nested-prefix/",
"test-prefix/nested-prefix/deep-nested/",
},
},
expectedStatus: 200,
expectedError: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
resp, err := downloadMultipleFiles(tt.args.bucketName, tt.args.objectLis)
if tt.expectedError {
assert.Nil(err)
if err != nil {
log.Println(err)
return
}
}
if resp != nil {
assert.NotNil(resp)
}
})
}
}

View File

@@ -42,14 +42,14 @@ import (
type AddBucketOps struct {
Name string
Locking bool
Versioning bool
Versioning map[string]interface{}
Quota map[string]interface{}
Retention map[string]interface{}
Endpoint *string
UseToken *string
}
func AddBucket(name string, locking, versioning bool, quota, retention map[string]interface{}) (*http.Response, error) {
func AddBucket(name string, locking bool, versioning, quota, retention map[string]interface{}) (*http.Response, error) {
return AddBucketWithOpts(&AddBucketOps{
Name: name,
Locking: locking,
@@ -142,11 +142,11 @@ func getTokenForEndpoint(endpoint string) string {
return loginToken
}
func setupBucket(name string, locking, versioning bool, quota, retention map[string]interface{}, assert *assert.Assertions, expected int) bool {
func setupBucket(name string, locking bool, versioning, quota, retention map[string]interface{}, assert *assert.Assertions, expected int) bool {
return setupBucketForEndpoint(name, locking, versioning, quota, retention, assert, expected, nil, nil)
}
func setupBucketForEndpoint(name string, locking, versioning bool, quota, retention map[string]interface{}, assert *assert.Assertions, expected int, endpoint, endpointToken *string) bool {
func setupBucketForEndpoint(name string, locking bool, versioning, quota, retention map[string]interface{}, assert *assert.Assertions, expected int, endpoint, endpointToken *string) bool {
/*
The intention of this function is to return either true or false to
reduce the code by performing the verification in one place only.
@@ -751,7 +751,7 @@ func TestPutObjectsLegalholdStatus(t *testing.T) {
status := "enabled"
// 1. Create bucket
if !setupBucket(bucketName, true, true, nil, nil, assert, 200) {
if !setupBucket(bucketName, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
@@ -838,7 +838,7 @@ func TestGetBucketQuota(t *testing.T) {
validBucket := "testgetbucketquota"
// 1. Create bucket
if !setupBucket(validBucket, true, true, nil, nil, assert, 200) {
if !setupBucket(validBucket, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
@@ -915,7 +915,7 @@ func TestPutBucketQuota(t *testing.T) {
validBucket := "testputbucketquota"
// 1. Create bucket
if !setupBucket(validBucket, true, true, nil, nil, assert, 200) {
if !setupBucket(validBucket, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
@@ -974,7 +974,7 @@ func TestListBucketEvents(t *testing.T) {
validBucket := "testlistbucketevents"
// 1. Create bucket
if !setupBucket(validBucket, true, true, nil, nil, assert, 200) {
if !setupBucket(validBucket, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
@@ -1032,7 +1032,7 @@ func TestDeleteObjectsRetentionStatus(t *testing.T) {
validPrefix := encodeBase64(fileName)
// 1. Create bucket
if !setupBucket(bucketName, true, true, nil, nil, assert, 200) {
if !setupBucket(bucketName, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
@@ -1139,7 +1139,7 @@ func TestBucketSetPolicy(t *testing.T) {
validBucketName := "testbucketsetpolicy"
// 1. Create bucket
if !setupBucket(validBucketName, true, true, nil, nil, assert, 200) {
if !setupBucket(validBucketName, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
@@ -1200,7 +1200,7 @@ func TestRestoreObjectToASelectedVersion(t *testing.T) {
validPrefix := encodeBase64(fileName)
// 1. Create bucket
if !setupBucket(bucketName, true, true, nil, nil, assert, 200) {
if !setupBucket(bucketName, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
@@ -1288,7 +1288,7 @@ func TestPutBucketsTags(t *testing.T) {
// 1. Create the bucket
assert := assert.New(t)
validBucketName := "testputbuckettags1"
if !setupBucket(validBucketName, false, false, nil, nil, assert, 200) {
if !setupBucket(validBucketName, false, nil, nil, nil, assert, 200) {
return
}
@@ -1346,7 +1346,7 @@ func TestGetsTheMetadataOfAnObject(t *testing.T) {
tags["tag"] = "testputobjecttagbucketonetagone"
// 1. Create the bucket
if !setupBucket(bucketName, false, false, nil, nil, assert, 200) {
if !setupBucket(bucketName, false, nil, nil, nil, assert, 200) {
return
}
@@ -1417,7 +1417,7 @@ func TestPutObjectsRetentionStatus(t *testing.T) {
prefix := encodeBase64(fileName)
// 1. Create bucket
if !setupBucket(bucketName, true, true, nil, nil, assert, 200) {
if !setupBucket(bucketName, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
@@ -1515,7 +1515,7 @@ func TestShareObjectOnURL(t *testing.T) {
versionID := "null"
// 1. Create the bucket
if !setupBucket(bucketName, false, false, nil, nil, assert, 200) {
if !setupBucket(bucketName, false, nil, nil, nil, assert, 200) {
return
}
@@ -1589,7 +1589,7 @@ func TestListObjects(t *testing.T) {
fileName := "testlistobjecttobucket1.txt"
// 1. Create the bucket
if !setupBucket(bucketName, false, false, nil, nil, assert, 200) {
if !setupBucket(bucketName, false, nil, nil, nil, assert, 200) {
return
}
@@ -1637,7 +1637,7 @@ func TestDeleteObject(t *testing.T) {
numberOfFiles := 2
// 1. Create bucket
if !setupBucket(bucketName, true, true, nil, nil, assert, 200) {
if !setupBucket(bucketName, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
@@ -1703,7 +1703,7 @@ func TestUploadObjectToBucket(t *testing.T) {
fileName := "sample.txt"
// 1. Create the bucket
if !setupBucket(bucketName, false, false, nil, nil, assert, 200) {
if !setupBucket(bucketName, false, nil, nil, nil, assert, 200) {
return
}
@@ -1738,7 +1738,7 @@ func TestDownloadObject(t *testing.T) {
}
// 1. Create the bucket
if !setupBucket(bucketName, true, true, nil, nil, assert, 200) {
if !setupBucket(bucketName, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
@@ -1800,7 +1800,7 @@ func TestDeleteMultipleObjects(t *testing.T) {
fileName := "testdeletemultipleobjs"
// 1. Create a bucket for this particular test
if !setupBucket(bucketName, false, false, nil, nil, assert, 200) {
if !setupBucket(bucketName, false, nil, nil, nil, assert, 200) {
return
}
@@ -1877,7 +1877,7 @@ func TestPutObjectTag(t *testing.T) {
versionID := "null"
// 1. Create the bucket
if !setupBucket(bucketName, false, false, nil, nil, assert, 200) {
if !setupBucket(bucketName, false, nil, nil, nil, assert, 200) {
return
}
@@ -1951,7 +1951,7 @@ func TestBucketRetention(t *testing.T) {
retention["mode"] = "compliance"
retention["unit"] = "years"
retention["validity"] = 2
if !setupBucket("setbucketretention1", true, true, nil, retention, assert, 200) {
if !setupBucket("setbucketretention1", true, map[string]interface{}{"enabled": true}, nil, retention, assert, 200) {
return
}
@@ -2002,7 +2002,7 @@ func TestBucketInformationGenericErrorResponse(t *testing.T) {
// 1. Create the bucket
assert := assert.New(t)
if !setupBucket("bucketinformation2", false, false, nil, nil, assert, 200) {
if !setupBucket("bucketinformation2", false, nil, nil, nil, assert, 200) {
return
}
@@ -2047,7 +2047,7 @@ func TestBucketInformationSuccessfulResponse(t *testing.T) {
// 1. Create the bucket
assert := assert.New(t)
if !setupBucket("bucketinformation1", false, false, nil, nil, assert, 200) {
if !setupBucket("bucketinformation1", false, nil, nil, nil, assert, 200) {
return
}
@@ -2160,7 +2160,7 @@ func TestListBuckets(t *testing.T) {
// 1. Create buckets
numberOfBuckets := 3
for i := 1; i <= numberOfBuckets; i++ {
if !setupBucket("testlistbuckets"+strconv.Itoa(i), false, false, nil, nil, assert, 200) {
if !setupBucket("testlistbuckets"+strconv.Itoa(i), false, nil, nil, nil, assert, 200) {
return
}
}
@@ -2267,7 +2267,7 @@ func TestBucketVersioning(t *testing.T) {
requestDataBody := bytes.NewReader(requestDataJSON)
if !setupBucket("test2", true, false, nil, nil, assert, 200) {
if !setupBucket("test2", true, nil, nil, nil, assert, 200) {
return
}
@@ -2335,7 +2335,7 @@ func TestSetBucketTags(t *testing.T) {
}
// put bucket
if !setupBucket("test4", false, false, nil, nil, assert, 200) {
if !setupBucket("test4", false, nil, nil, nil, assert, 200) {
return
}
@@ -2402,7 +2402,7 @@ func TestGetBucket(t *testing.T) {
Timeout: 2 * time.Second,
}
if !setupBucket("test3", false, false, nil, nil, assert, 200) {
if !setupBucket("test3", false, nil, nil, nil, assert, 200) {
return
}
@@ -2455,7 +2455,7 @@ func TestAddBucket(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if !setupBucket(tt.args.bucketName, false, false, nil, nil, assert, tt.expectedStatus) {
if !setupBucket(tt.args.bucketName, false, nil, nil, nil, assert, tt.expectedStatus) {
return
}
})
@@ -3000,7 +3000,7 @@ func TestReturnsTheStatusOfObjectLockingSupportOnTheBucket(t *testing.T) {
)
}
func SetBucketVersioning(bucketName string, versioning bool, endpoint, useToken *string) (*http.Response, error) {
func SetBucketVersioning(bucketName string, versioning map[string]interface{}, endpoint, useToken *string) (*http.Response, error) {
/*
Helper function to set Bucket Versioning
*/
@@ -3037,7 +3037,7 @@ func TestSetBucketVersioning(t *testing.T) {
assert := assert.New(t)
bucket := "test-set-bucket-versioning"
locking := false
versioning := true
versioning := map[string]interface{}{"enabled": true}
// 1. Create bucket with versioning as true and locking as false
if !setupBucket(bucket, locking, versioning, nil, nil, assert, 200) {
@@ -3045,7 +3045,7 @@ func TestSetBucketVersioning(t *testing.T) {
}
// 2. Set versioning as False i.e Suspend versioning
response, err := SetBucketVersioning(bucket, false, nil, nil)
response, err := SetBucketVersioning(bucket, map[string]interface{}{"enabled": false}, nil, nil)
assert.Nil(err)
if err != nil {
log.Println(err)
@@ -3118,12 +3118,11 @@ func TestEnableBucketEncryption(t *testing.T) {
assert := assert.New(t)
bucketName := "test-enable-bucket-encryption"
locking := false
versioning := false
encType := "sse-s3"
kmsKeyID := ""
// 1. Add bucket
if !setupBucket(bucketName, locking, versioning, nil, nil, assert, 200) {
if !setupBucket(bucketName, locking, nil, nil, nil, assert, 200) {
return
}
@@ -3381,7 +3380,6 @@ func TestBucketLifeCycle(t *testing.T) {
assert := assert.New(t)
bucketName := "test-bucket-life-cycle"
locking := false
versioning := false
ltype := "expiry"
prefix := ""
tags := ""
@@ -3392,7 +3390,7 @@ func TestBucketLifeCycle(t *testing.T) {
var noncurrentversionExpirationDays int64
// 1. Add bucket
if !setupBucket(bucketName, locking, versioning, nil, nil, assert, 200) {
if !setupBucket(bucketName, locking, nil, nil, nil, assert, 200) {
return
}
@@ -3597,12 +3595,11 @@ func TestAccessRule(t *testing.T) {
assert := assert.New(t)
bucketName := "test-access-rule-bucket"
locking := false
versioning := false
prefix := "prefix"
access := "readonly"
// 1. Add bucket
if !setupBucket(bucketName, locking, versioning, nil, nil, assert, 200) {
if !setupBucket(bucketName, locking, nil, nil, nil, assert, 200) {
return
}
@@ -3846,16 +3843,16 @@ func TestAddRemoteBucket(t *testing.T) {
fmt.Println("targetBucket: ", targetBucket)
// 1. Create bucket
if !setupBucket("source", true, true, nil, nil, assert, 200) {
if !setupBucket("source", true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
// 1.1. Create target bucket
targetEndpoint := "http://localhost:9092"
targetToken := getTokenForEndpoint(targetEndpoint)
if !setupBucketForEndpoint(targetBucket, true, true, nil, nil, assert, 200, &targetEndpoint, &targetToken) {
if !setupBucketForEndpoint(targetBucket, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200, &targetEndpoint, &targetToken) {
log.Println("bucket already exists")
}
_, err := SetBucketVersioning(targetBucket, false, &targetURL, &targetToken)
_, err := SetBucketVersioning(targetBucket, map[string]interface{}{"enabled": false}, &targetURL, &targetToken)
if err != nil {
log.Println("bucket already has versioning")
}
@@ -3905,16 +3902,16 @@ func TestDeleteRemoteBucket(t *testing.T) {
fmt.Println("targetBucket: ", targetBucket)
// 1. Create bucket
if !setupBucket("deletesource", true, true, nil, nil, assert, 200) {
if !setupBucket("deletesource", true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200) {
return
}
// 1.1. Create target bucket
targetEndpoint := "http://localhost:9092"
targetToken := getTokenForEndpoint(targetEndpoint)
if !setupBucketForEndpoint(targetBucket, true, true, nil, nil, assert, 200, &targetEndpoint, &targetToken) {
if !setupBucketForEndpoint(targetBucket, true, map[string]interface{}{"enabled": true}, nil, nil, assert, 200, &targetEndpoint, &targetToken) {
log.Println("bucket already exists")
}
_, err := SetBucketVersioning(targetBucket, false, &targetURL, &targetToken)
_, err := SetBucketVersioning(targetBucket, map[string]interface{}{"enabled": false}, &targetURL, &targetToken)
if err != nil {
log.Println("bucket already has versioning")
}

View File

@@ -50,7 +50,7 @@ type MakeBucketRequest struct {
Retention *PutBucketRetentionRequest `json:"retention,omitempty"`
// versioning
Versioning bool `json:"versioning,omitempty"`
Versioning *SetBucketVersioning `json:"versioning,omitempty"`
}
// Validate validates this make bucket request
@@ -69,6 +69,10 @@ func (m *MakeBucketRequest) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
if err := m.validateVersioning(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -122,6 +126,25 @@ func (m *MakeBucketRequest) validateRetention(formats strfmt.Registry) error {
return nil
}
func (m *MakeBucketRequest) validateVersioning(formats strfmt.Registry) error {
if swag.IsZero(m.Versioning) { // not required
return nil
}
if m.Versioning != nil {
if err := m.Versioning.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("versioning")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("versioning")
}
return err
}
}
return nil
}
// ContextValidate validate this make bucket request based on the context it is used
func (m *MakeBucketRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
@@ -134,6 +157,10 @@ func (m *MakeBucketRequest) ContextValidate(ctx context.Context, formats strfmt.
res = append(res, err)
}
if err := m.contextValidateVersioning(ctx, formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -172,6 +199,22 @@ func (m *MakeBucketRequest) contextValidateRetention(ctx context.Context, format
return nil
}
func (m *MakeBucketRequest) contextValidateVersioning(ctx context.Context, formats strfmt.Registry) error {
if m.Versioning != nil {
if err := m.Versioning.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("versioning")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("versioning")
}
return err
}
}
return nil
}
// MarshalBinary interface implementation
func (m *MakeBucketRequest) MarshalBinary() ([]byte, error) {
if m == nil {

View File

@@ -34,8 +34,14 @@ import (
// swagger:model setBucketVersioning
type SetBucketVersioning struct {
// versioning
Versioning bool `json:"versioning,omitempty"`
// enabled
Enabled bool `json:"enabled,omitempty"`
// exclude folders
ExcludeFolders bool `json:"excludeFolders,omitempty"`
// exclude prefixes
ExcludePrefixes []string `json:"excludePrefixes"`
}
// Validate validates this set bucket versioning

View File

@@ -20,7 +20,9 @@ package oauth2
import (
"crypto/sha1"
"strconv"
"strings"
"time"
"github.com/minio/console/pkg/auth/token"
"github.com/minio/pkg/env"
@@ -105,7 +107,14 @@ func getIDPScopes() string {
return env.Get(ConsoleIDPScopes, "openid,profile,email")
}
// getIDPTokenExpiration return default token expiration for access token (in seconds)
func getIDPTokenExpiration() string {
return env.Get(ConsoleIDPTokenExpiration, "3600")
// getIDPTokenExpiration return default token expiration for access token
func getIDPTokenExpiration() time.Duration {
expiration := 12 * 3600
if expStr := env.Get(ConsoleIDPTokenExpiration, ""); expStr != "" {
if exp, err := strconv.Atoi(expStr); err == nil {
expiration = exp
}
}
return time.Duration(expiration) * time.Second
}

View File

@@ -25,13 +25,13 @@ import (
"fmt"
"net/http"
"net/url"
"strconv"
"strings"
"time"
"github.com/minio/minio-go/v7/pkg/credentials"
"github.com/minio/minio-go/v7/pkg/set"
"github.com/minio/console/pkg/auth/token"
"github.com/minio/console/pkg/auth/utils"
"golang.org/x/crypto/pbkdf2"
"golang.org/x/oauth2"
@@ -331,22 +331,23 @@ func (client *Provider) VerifyIdentity(ctx context.Context, code, state, roleARN
return nil, errors.New("invalid token")
}
// expiration configured in the token itself
expiration := int(oauth2Token.Expiry.Sub(time.Now().UTC()).Seconds())
// check if user configured a hardcoded expiration for console via env variables
// and override the incoming expiration
userConfiguredExpiration := getIDPTokenExpiration()
if userConfiguredExpiration != "" {
expiration, _ = strconv.Atoi(userConfiguredExpiration)
expiration := token.GetConsoleSTSDuration()
if exp := getIDPTokenExpiration(); exp > 0 {
expiration = exp
}
// Use the expiration configured in the token itself if it is closer than the configured value
if exp := oauth2Token.Expiry.Sub(time.Now().UTC()); exp < expiration {
expiration = exp
}
idToken := oauth2Token.Extra("id_token")
if idToken == nil {
return nil, errors.New("missing id_token")
}
token := &credentials.WebIdentityToken{
Token: idToken.(string),
Expiry: expiration,
Expiry: int(expiration.Seconds()),
}
if client.UserInfo { // look for access_token only if userinfo is requested.
accessToken := oauth2Token.Extra("access_token")

View File

@@ -26,7 +26,7 @@ import (
// GetConsoleSTSDuration returns the default session duration for the STS requested tokens (defaults to 12h)
func GetConsoleSTSDuration() time.Duration {
duration, err := time.ParseDuration(env.Get(ConsoleSTSDuration, "12h"))
if err != nil {
if err != nil || duration <= 0 {
duration = 12 * time.Hour
}
return duration

View File

@@ -19,14 +19,20 @@ package subnet
import (
"bytes"
"compress/gzip"
"crypto/tls"
"encoding/base64"
"encoding/json"
"errors"
"fmt"
"io"
"mime/multipart"
"net"
"net/http"
"time"
"github.com/mattn/go-ieproxy"
xhttp "github.com/minio/console/pkg/http"
"github.com/tidwall/gjson"
"github.com/minio/madmin-go/v3"
mc "github.com/minio/mc/cmd"
@@ -73,8 +79,15 @@ func UploadAuthHeaders(apiKey string) map[string]string {
return map[string]string{"x-subnet-api-key": apiKey}
}
func UploadFileToSubnet(info interface{}, client *xhttp.Client, filename string, reqURL string, headers map[string]string) (string, error) {
req, e := subnetUploadReq(info, reqURL, filename)
func ProcessUploadInfo(info interface{}, uploadType string, filename string) ([]byte, string, error) {
if uploadType == "health" {
return processHealthReport(info, filename)
}
return nil, "", errors.New("invalid Subnet upload type")
}
func UploadFileToSubnet(info []byte, client *xhttp.Client, reqURL string, headers map[string]string, formDataType string) (string, error) {
req, e := subnetUploadReq(info, reqURL, formDataType)
if e != nil {
return "", e
}
@@ -82,7 +95,7 @@ func UploadFileToSubnet(info interface{}, client *xhttp.Client, filename string,
return resp, e
}
func subnetUploadReq(info interface{}, url string, filename string) (*http.Request, error) {
func processHealthReport(info interface{}, filename string) ([]byte, string, error) {
var body bytes.Buffer
writer := multipart.NewWriter(&body)
zipWriter := gzip.NewWriter(&body)
@@ -94,29 +107,33 @@ func subnetUploadReq(info interface{}, url string, filename string) (*http.Reque
}{Version: version}
if e := enc.Encode(header); e != nil {
return nil, e
return nil, "", e
}
if e := enc.Encode(info); e != nil {
return nil, e
return nil, "", e
}
zipWriter.Close()
temp := body
part, e := writer.CreateFormFile("file", filename)
if e != nil {
return nil, e
return nil, "", e
}
if _, e = io.Copy(part, &temp); e != nil {
return nil, e
return nil, "", e
}
writer.Close()
return body.Bytes(), writer.FormDataContentType(), nil
}
r, e := http.NewRequest(http.MethodPost, url, &body)
func subnetUploadReq(body []byte, url string, formDataType string) (*http.Request, error) {
uploadDataBody := bytes.NewReader(body)
r, e := http.NewRequest(http.MethodPost, url, uploadDataBody)
if e != nil {
return nil, e
}
r.Header.Add("Content-Type", writer.FormDataContentType())
r.Header.Add("Content-Type", formDataType)
return r, nil
}
@@ -226,3 +243,93 @@ func getDriveSpaceInfo(admInfo madmin.InfoMessage) (uint64, uint64) {
}
return total, used
}
func GetSubnetAPIKeyUsingLicense(lic string) (string, error) {
return getSubnetAPIKeyUsingAuthHeaders(subnetLicenseAuthHeaders(lic))
}
func getSubnetAPIKeyUsingAuthHeaders(authHeaders map[string]string) (string, error) {
resp, e := subnetGetReqMC(subnetAPIKeyURL(), authHeaders)
if e != nil {
return "", e
}
return extractSubnetCred("api_key", gjson.Parse(resp))
}
func extractSubnetCred(key string, resp gjson.Result) (string, error) {
result := resp.Get(key)
if result.Index == 0 {
return "", fmt.Errorf("Couldn't extract %s from SUBNET response: %s", key, resp)
}
return result.String(), nil
}
func subnetLicenseAuthHeaders(lic string) map[string]string {
return map[string]string{"x-subnet-license": lic}
}
func subnetGetReqMC(reqURL string, headers map[string]string) (string, error) {
r, e := http.NewRequest(http.MethodGet, reqURL, nil)
if e != nil {
return "", e
}
return subnetReqDoMC(r, headers)
}
func subnetReqDoMC(r *http.Request, headers map[string]string) (string, error) {
for k, v := range headers {
r.Header.Add(k, v)
}
ct := r.Header.Get("Content-Type")
if len(ct) == 0 {
r.Header.Add("Content-Type", "application/json")
}
resp, e := subnetHTTPDo(r)
if e != nil {
return "", e
}
defer resp.Body.Close()
respBytes, e := io.ReadAll(io.LimitReader(resp.Body, subnetRespBodyLimit))
if e != nil {
return "", e
}
respStr := string(respBytes)
if resp.StatusCode == http.StatusOK {
return respStr, nil
}
return respStr, fmt.Errorf("Request failed with code %d with error: %s", resp.StatusCode, respStr)
}
func subnetHTTPDo(req *http.Request) (*http.Response, error) {
return getSubnetClient().Do(req)
}
func getSubnetClient() *http.Client {
client := httpClientSubnet(0)
return client
}
func httpClientSubnet(reqTimeout time.Duration) *http.Client {
return &http.Client{
Timeout: reqTimeout,
Transport: &http.Transport{
DialContext: (&net.Dialer{
Timeout: 10 * time.Second,
}).DialContext,
Proxy: ieproxy.GetProxyFunc(),
TLSClientConfig: &tls.Config{
// Can't use SSLv3 because of POODLE and BEAST
// Can't use TLSv1.0 because of POODLE and BEAST using CBC cipher
// Can't use TLSv1.1 because of RC4 cipher usage
MinVersion: tls.VersionTLS12,
},
IdleConnTimeout: 90 * time.Second,
TLSHandshakeTimeout: 10 * time.Second,
ExpectContinueTimeout: 10 * time.Second,
},
}
}

View File

@@ -1,129 +1,123 @@
{
"files": {
"main.css": "./static/css/main.7f39beab.css",
"main.js": "./static/js/main.81adfdde.js",
"main.css": "./static/css/main.02c1b6fd.css",
"main.js": "./static/js/main.72f8505e.js",
"static/js/1260.a025e586.chunk.js": "./static/js/1260.a025e586.chunk.js",
"static/js/6914.9ab32297.chunk.js": "./static/js/6914.9ab32297.chunk.js",
"static/js/9121.813c1df9.chunk.js": "./static/js/9121.813c1df9.chunk.js",
"static/js/1829.11d4b426.chunk.js": "./static/js/1829.11d4b426.chunk.js",
"static/js/6272.59e477e4.chunk.js": "./static/js/6272.59e477e4.chunk.js",
"static/js/5088.bae6da67.chunk.js": "./static/js/5088.bae6da67.chunk.js",
"static/js/9121.0c08c03c.chunk.js": "./static/js/9121.0c08c03c.chunk.js",
"static/js/1829.0e821c64.chunk.js": "./static/js/1829.0e821c64.chunk.js",
"static/js/6272.3c9cfd32.chunk.js": "./static/js/6272.3c9cfd32.chunk.js",
"static/js/5088.8ed4fd39.chunk.js": "./static/js/5088.8ed4fd39.chunk.js",
"static/js/6122.8195a695.chunk.js": "./static/js/6122.8195a695.chunk.js",
"static/js/808.fb70b906.chunk.js": "./static/js/808.fb70b906.chunk.js",
"static/js/808.0827cf07.chunk.js": "./static/js/808.0827cf07.chunk.js",
"static/js/8060.060ad94e.chunk.js": "./static/js/8060.060ad94e.chunk.js",
"static/js/9635.fa7788f9.chunk.js": "./static/js/9635.fa7788f9.chunk.js",
"static/js/9635.de2db92c.chunk.js": "./static/js/9635.de2db92c.chunk.js",
"static/js/2338.f2a282fa.chunk.js": "./static/js/2338.f2a282fa.chunk.js",
"static/js/4335.16fc17e3.chunk.js": "./static/js/4335.16fc17e3.chunk.js",
"static/js/1892.e7ffbb89.chunk.js": "./static/js/1892.e7ffbb89.chunk.js",
"static/js/3543.b1838b1c.chunk.js": "./static/js/3543.b1838b1c.chunk.js",
"static/js/2074.307a0b66.chunk.js": "./static/js/2074.307a0b66.chunk.js",
"static/js/3067.fb364091.chunk.js": "./static/js/3067.fb364091.chunk.js",
"static/js/4335.1ddacb73.chunk.js": "./static/js/4335.1ddacb73.chunk.js",
"static/js/9390.ea2a39c3.chunk.js": "./static/js/9390.ea2a39c3.chunk.js",
"static/js/3543.be1d6ea8.chunk.js": "./static/js/3543.be1d6ea8.chunk.js",
"static/js/2074.7e79443f.chunk.js": "./static/js/2074.7e79443f.chunk.js",
"static/js/3067.56476c2f.chunk.js": "./static/js/3067.56476c2f.chunk.js",
"static/js/2637.be6faba9.chunk.js": "./static/js/2637.be6faba9.chunk.js",
"static/js/5962.812f802a.chunk.js": "./static/js/5962.812f802a.chunk.js",
"static/js/701.9eceec77.chunk.js": "./static/js/701.9eceec77.chunk.js",
"static/js/5962.5aaa4901.chunk.js": "./static/js/5962.5aaa4901.chunk.js",
"static/js/701.13e798d1.chunk.js": "./static/js/701.13e798d1.chunk.js",
"static/js/7821.12244c04.chunk.js": "./static/js/7821.12244c04.chunk.js",
"static/js/2545.ffac2fbb.chunk.js": "./static/js/2545.ffac2fbb.chunk.js",
"static/js/8388.bbb04702.chunk.js": "./static/js/8388.bbb04702.chunk.js",
"static/js/4131.8f58d53d.chunk.js": "./static/js/4131.8f58d53d.chunk.js",
"static/js/4065.506dd294.chunk.js": "./static/js/4065.506dd294.chunk.js",
"static/js/5935.edc7edfc.chunk.js": "./static/js/5935.edc7edfc.chunk.js",
"static/js/4563.121b75a9.chunk.js": "./static/js/4563.121b75a9.chunk.js",
"static/js/191.fd21cdcc.chunk.js": "./static/js/191.fd21cdcc.chunk.js",
"static/js/1329.ebb06e52.chunk.js": "./static/js/1329.ebb06e52.chunk.js",
"static/js/7614.18dd1f73.chunk.js": "./static/js/7614.18dd1f73.chunk.js",
"static/js/1690.5ad5531b.chunk.js": "./static/js/1690.5ad5531b.chunk.js",
"static/js/6491.4be25794.chunk.js": "./static/js/6491.4be25794.chunk.js",
"static/js/1329.79996c21.chunk.js": "./static/js/1329.79996c21.chunk.js",
"static/js/7614.ec6383d7.chunk.js": "./static/js/7614.ec6383d7.chunk.js",
"static/js/1690.fa631de9.chunk.js": "./static/js/1690.fa631de9.chunk.js",
"static/js/6491.de57d3e6.chunk.js": "./static/js/6491.de57d3e6.chunk.js",
"static/js/4902.ded1f1f5.chunk.js": "./static/js/4902.ded1f1f5.chunk.js",
"static/js/1432.963da344.chunk.js": "./static/js/1432.963da344.chunk.js",
"static/js/841.31434f9c.chunk.js": "./static/js/841.31434f9c.chunk.js",
"static/js/3171.5a1ef12c.chunk.js": "./static/js/3171.5a1ef12c.chunk.js",
"static/js/8360.965868c4.chunk.js": "./static/js/8360.965868c4.chunk.js",
"static/js/6577.a8d6a01c.chunk.js": "./static/js/6577.a8d6a01c.chunk.js",
"static/js/6577.d4559543.chunk.js": "./static/js/6577.d4559543.chunk.js",
"static/js/3875.b530d1e3.chunk.js": "./static/js/3875.b530d1e3.chunk.js",
"static/js/3115.365838bd.chunk.js": "./static/js/3115.365838bd.chunk.js",
"static/js/2603.9ebd9b9e.chunk.js": "./static/js/2603.9ebd9b9e.chunk.js",
"static/js/977.a9e8a839.chunk.js": "./static/js/977.a9e8a839.chunk.js",
"static/js/3115.f9b2e7fc.chunk.js": "./static/js/3115.f9b2e7fc.chunk.js",
"static/js/2603.19110315.chunk.js": "./static/js/2603.19110315.chunk.js",
"static/js/977.7dc10141.chunk.js": "./static/js/977.7dc10141.chunk.js",
"static/js/6686.0c756aaf.chunk.js": "./static/js/6686.0c756aaf.chunk.js",
"static/js/2486.1ecaac74.chunk.js": "./static/js/2486.1ecaac74.chunk.js",
"static/js/4882.6b280860.chunk.js": "./static/js/4882.6b280860.chunk.js",
"static/js/7586.17376d83.chunk.js": "./static/js/7586.17376d83.chunk.js",
"static/js/6158.62f2536c.chunk.js": "./static/js/6158.62f2536c.chunk.js",
"static/js/738.eed2fa45.chunk.js": "./static/js/738.eed2fa45.chunk.js",
"static/js/8305.b35690ca.chunk.js": "./static/js/8305.b35690ca.chunk.js",
"static/js/4414.930d89fc.chunk.js": "./static/js/4414.930d89fc.chunk.js",
"static/js/8833.91a69c65.chunk.js": "./static/js/8833.91a69c65.chunk.js",
"static/js/1516.216550a5.chunk.js": "./static/js/1516.216550a5.chunk.js",
"static/js/483.31c46d8b.chunk.js": "./static/js/483.31c46d8b.chunk.js",
"static/js/8045.312c59ab.chunk.js": "./static/js/8045.312c59ab.chunk.js",
"static/js/6895.10e498b4.chunk.js": "./static/js/6895.10e498b4.chunk.js",
"static/js/4874.1901748a.chunk.js": "./static/js/4874.1901748a.chunk.js",
"static/js/8833.27a34b4e.chunk.js": "./static/js/8833.27a34b4e.chunk.js",
"static/js/1516.67512c50.chunk.js": "./static/js/1516.67512c50.chunk.js",
"static/js/483.f00aef93.chunk.js": "./static/js/483.f00aef93.chunk.js",
"static/js/8045.40b15543.chunk.js": "./static/js/8045.40b15543.chunk.js",
"static/js/6895.26443f5f.chunk.js": "./static/js/6895.26443f5f.chunk.js",
"static/js/4874.157a2b95.chunk.js": "./static/js/4874.157a2b95.chunk.js",
"static/js/1191.6a8f1e3d.chunk.js": "./static/js/1191.6a8f1e3d.chunk.js",
"static/js/3956.27299d66.chunk.js": "./static/js/3956.27299d66.chunk.js",
"static/js/9221.ef026a1e.chunk.js": "./static/js/9221.ef026a1e.chunk.js",
"static/js/8896.ef691d94.chunk.js": "./static/js/8896.ef691d94.chunk.js",
"static/js/9134.a8ccdcdb.chunk.js": "./static/js/9134.a8ccdcdb.chunk.js",
"static/js/5223.d053b523.chunk.js": "./static/js/5223.d053b523.chunk.js",
"static/js/5661.e6b097aa.chunk.js": "./static/js/5661.e6b097aa.chunk.js",
"static/js/7134.a6c4a49e.chunk.js": "./static/js/7134.a6c4a49e.chunk.js",
"static/js/3034.ce980176.chunk.js": "./static/js/3034.ce980176.chunk.js",
"static/js/3138.314a2ab9.chunk.js": "./static/js/3138.314a2ab9.chunk.js",
"static/js/6171.621123fe.chunk.js": "./static/js/6171.621123fe.chunk.js",
"static/js/7134.5516568a.chunk.js": "./static/js/7134.5516568a.chunk.js",
"static/js/3034.18978581.chunk.js": "./static/js/3034.18978581.chunk.js",
"static/js/3138.36694643.chunk.js": "./static/js/3138.36694643.chunk.js",
"static/js/711.aec34a54.chunk.js": "./static/js/711.aec34a54.chunk.js",
"static/js/6901.67563dd6.chunk.js": "./static/js/6901.67563dd6.chunk.js",
"static/js/2185.8253dd66.chunk.js": "./static/js/2185.8253dd66.chunk.js",
"static/js/9968.392f895d.chunk.js": "./static/js/9968.392f895d.chunk.js",
"static/js/7494.72e35f55.chunk.js": "./static/js/7494.72e35f55.chunk.js",
"static/js/4267.a5055b3c.chunk.js": "./static/js/4267.a5055b3c.chunk.js",
"static/js/9918.87077127.chunk.js": "./static/js/9918.87077127.chunk.js",
"static/js/5702.71c4b7ad.chunk.js": "./static/js/5702.71c4b7ad.chunk.js",
"static/js/2512.770aacc4.chunk.js": "./static/js/2512.770aacc4.chunk.js",
"static/js/51.2c941d38.chunk.js": "./static/js/51.2c941d38.chunk.js",
"static/js/6901.ec452642.chunk.js": "./static/js/6901.ec452642.chunk.js",
"static/js/2185.1940263e.chunk.js": "./static/js/2185.1940263e.chunk.js",
"static/js/9968.741ebf65.chunk.js": "./static/js/9968.741ebf65.chunk.js",
"static/js/7494.bad4da61.chunk.js": "./static/js/7494.bad4da61.chunk.js",
"static/js/4738.0bbac05c.chunk.js": "./static/js/4738.0bbac05c.chunk.js",
"static/js/3989.d6c1eb51.chunk.js": "./static/js/3989.d6c1eb51.chunk.js",
"static/js/5702.6a08188b.chunk.js": "./static/js/5702.6a08188b.chunk.js",
"static/js/5759.47541c57.chunk.js": "./static/js/5759.47541c57.chunk.js",
"static/js/51.8430c021.chunk.js": "./static/js/51.8430c021.chunk.js",
"static/js/312.04cab7e8.chunk.js": "./static/js/312.04cab7e8.chunk.js",
"static/js/2032.54dedb37.chunk.js": "./static/js/2032.54dedb37.chunk.js",
"static/js/4619.56a4fe9f.chunk.js": "./static/js/4619.56a4fe9f.chunk.js",
"static/js/8990.a79c2757.chunk.js": "./static/js/8990.a79c2757.chunk.js",
"static/js/8455.c65159aa.chunk.js": "./static/js/8455.c65159aa.chunk.js",
"static/js/9816.9d5974a5.chunk.js": "./static/js/9816.9d5974a5.chunk.js",
"static/js/7584.620b5003.chunk.js": "./static/js/7584.620b5003.chunk.js",
"static/js/9952.df7cc0cb.chunk.js": "./static/js/9952.df7cc0cb.chunk.js",
"static/js/402.b4ce85d2.chunk.js": "./static/js/402.b4ce85d2.chunk.js",
"static/js/1705.0632aaa2.chunk.js": "./static/js/1705.0632aaa2.chunk.js",
"static/js/1581.ec29a0a8.chunk.js": "./static/js/1581.ec29a0a8.chunk.js",
"static/js/4619.1535ff32.chunk.js": "./static/js/4619.1535ff32.chunk.js",
"static/js/8990.17dc8411.chunk.js": "./static/js/8990.17dc8411.chunk.js",
"static/js/8455.97773e2f.chunk.js": "./static/js/8455.97773e2f.chunk.js",
"static/js/3690.b6d7d3b6.chunk.js": "./static/js/3690.b6d7d3b6.chunk.js",
"static/js/1604.2dfa540d.chunk.js": "./static/js/1604.2dfa540d.chunk.js",
"static/js/9952.e9660829.chunk.js": "./static/js/9952.e9660829.chunk.js",
"static/js/402.b31b43fa.chunk.js": "./static/js/402.b31b43fa.chunk.js",
"static/js/1705.a54c5659.chunk.js": "./static/js/1705.a54c5659.chunk.js",
"static/js/1581.a911ee27.chunk.js": "./static/js/1581.a911ee27.chunk.js",
"static/js/455.3198900d.chunk.js": "./static/js/455.3198900d.chunk.js",
"static/js/2661.f8e2dfa6.chunk.js": "./static/js/2661.f8e2dfa6.chunk.js",
"static/js/889.5dfe989a.chunk.js": "./static/js/889.5dfe989a.chunk.js",
"static/js/9088.f4b08dc0.chunk.js": "./static/js/9088.f4b08dc0.chunk.js",
"static/js/247.3ae1405a.chunk.js": "./static/js/247.3ae1405a.chunk.js",
"static/js/2763.94aac2f6.chunk.js": "./static/js/2763.94aac2f6.chunk.js",
"static/js/5473.e6936445.chunk.js": "./static/js/5473.e6936445.chunk.js",
"static/js/5994.42cc3b8c.chunk.js": "./static/js/5994.42cc3b8c.chunk.js",
"static/js/2661.7ae2f0e2.chunk.js": "./static/js/2661.7ae2f0e2.chunk.js",
"static/js/3509.f3bae3cd.chunk.js": "./static/js/3509.f3bae3cd.chunk.js",
"static/js/889.c7eff573.chunk.js": "./static/js/889.c7eff573.chunk.js",
"static/js/9088.9dd285c2.chunk.js": "./static/js/9088.9dd285c2.chunk.js",
"static/js/247.2a7f8e21.chunk.js": "./static/js/247.2a7f8e21.chunk.js",
"static/js/2763.8a8f4e01.chunk.js": "./static/js/2763.8a8f4e01.chunk.js",
"static/js/5473.5690bac9.chunk.js": "./static/js/5473.5690bac9.chunk.js",
"static/js/1715.b85c256f.chunk.js": "./static/js/1715.b85c256f.chunk.js",
"static/js/5994.6d90bd33.chunk.js": "./static/js/5994.6d90bd33.chunk.js",
"static/js/7391.c53687b2.chunk.js": "./static/js/7391.c53687b2.chunk.js",
"static/js/222.7f3906bd.chunk.js": "./static/js/222.7f3906bd.chunk.js",
"static/js/8800.e03c4db0.chunk.js": "./static/js/8800.e03c4db0.chunk.js",
"static/js/9518.2593e387.chunk.js": "./static/js/9518.2593e387.chunk.js",
"static/js/6993.cff4fa3c.chunk.js": "./static/js/6993.cff4fa3c.chunk.js",
"static/js/7847.d7a7fbd9.chunk.js": "./static/js/7847.d7a7fbd9.chunk.js",
"static/js/2909.e78ef785.chunk.js": "./static/js/2909.e78ef785.chunk.js",
"static/js/7981.8a6db645.chunk.js": "./static/js/7981.8a6db645.chunk.js",
"static/js/2260.71dd3e05.chunk.js": "./static/js/2260.71dd3e05.chunk.js",
"static/js/6459.b16c70ac.chunk.js": "./static/js/6459.b16c70ac.chunk.js",
"static/js/3801.e125737d.chunk.js": "./static/js/3801.e125737d.chunk.js",
"static/js/7564.37011454.chunk.js": "./static/js/7564.37011454.chunk.js",
"static/js/9518.d8f8ed8b.chunk.js": "./static/js/9518.d8f8ed8b.chunk.js",
"static/js/7847.234cbf0e.chunk.js": "./static/js/7847.234cbf0e.chunk.js",
"static/js/225.a62217d0.chunk.js": "./static/js/225.a62217d0.chunk.js",
"static/js/9897.6cbb5c3f.chunk.js": "./static/js/9897.6cbb5c3f.chunk.js",
"static/js/601.0071eb88.chunk.js": "./static/js/601.0071eb88.chunk.js",
"static/js/5739.ccea8dc9.chunk.js": "./static/js/5739.ccea8dc9.chunk.js",
"static/js/4884.a13f2bb5.chunk.js": "./static/js/4884.a13f2bb5.chunk.js",
"static/js/4882.9c5a4b90.chunk.js": "./static/js/4882.9c5a4b90.chunk.js",
"static/js/134.117c7fbe.chunk.js": "./static/js/134.117c7fbe.chunk.js",
"static/js/433.19458394.chunk.js": "./static/js/433.19458394.chunk.js",
"static/js/4738.4778b57f.chunk.js": "./static/js/4738.4778b57f.chunk.js",
"static/js/6748.23cfa162.chunk.js": "./static/js/6748.23cfa162.chunk.js",
"static/js/5004.19f9c421.chunk.js": "./static/js/5004.19f9c421.chunk.js",
"static/js/107.a58afd7d.chunk.js": "./static/js/107.a58afd7d.chunk.js",
"static/js/130.d84d2f5e.chunk.js": "./static/js/130.d84d2f5e.chunk.js",
"static/js/7299.cf8881c8.chunk.js": "./static/js/7299.cf8881c8.chunk.js",
"static/js/5032.d66e5016.chunk.js": "./static/js/5032.d66e5016.chunk.js",
"static/js/1450.4439b103.chunk.js": "./static/js/1450.4439b103.chunk.js",
"static/js/6975.e867afc1.chunk.js": "./static/js/6975.e867afc1.chunk.js",
"static/js/9444.da7eb5e5.chunk.js": "./static/js/9444.da7eb5e5.chunk.js",
"static/js/241.7f8c105e.chunk.js": "./static/js/241.7f8c105e.chunk.js",
"static/js/9054.2401fce4.chunk.js": "./static/js/9054.2401fce4.chunk.js",
"static/js/2791.35d976a5.chunk.js": "./static/js/2791.35d976a5.chunk.js",
"static/js/9581.11fc652e.chunk.js": "./static/js/9581.11fc652e.chunk.js",
"static/js/6662.f9187fb2.chunk.js": "./static/js/6662.f9187fb2.chunk.js",
"static/js/9817.97fe9a05.chunk.js": "./static/js/9817.97fe9a05.chunk.js",
"static/js/4670.9cad71d4.chunk.js": "./static/js/4670.9cad71d4.chunk.js",
"static/js/221.9704100d.chunk.js": "./static/js/221.9704100d.chunk.js",
"static/js/2983.3ffd4ad8.chunk.js": "./static/js/2983.3ffd4ad8.chunk.js",
"static/js/91.e520a97c.chunk.js": "./static/js/91.e520a97c.chunk.js",
"static/js/3801.e125737d.chunk.js": "./static/js/3801.e125737d.chunk.js",
"static/js/5515.a73ad9ea.chunk.js": "./static/js/5515.a73ad9ea.chunk.js",
"static/js/9062.9dba9f0e.chunk.js": "./static/js/9062.9dba9f0e.chunk.js",
"static/js/6624.237b6430.chunk.js": "./static/js/6624.237b6430.chunk.js",
"static/js/8098.86babd6f.chunk.js": "./static/js/8098.86babd6f.chunk.js",
"static/js/2791.a64fa77e.chunk.js": "./static/js/2791.a64fa77e.chunk.js",
"static/js/7981.b08cd322.chunk.js": "./static/js/7981.b08cd322.chunk.js",
"static/js/9581.35e0c780.chunk.js": "./static/js/9581.35e0c780.chunk.js",
"static/js/9817.d6ea67be.chunk.js": "./static/js/9817.d6ea67be.chunk.js",
"static/js/8831.4150b126.chunk.js": "./static/js/8831.4150b126.chunk.js",
"static/js/3203.d42c8f43.chunk.js": "./static/js/3203.d42c8f43.chunk.js",
"static/js/5442.657ff257.chunk.js": "./static/js/5442.657ff257.chunk.js",
"static/js/3554.597b92f6.chunk.js": "./static/js/3554.597b92f6.chunk.js",
"static/js/2983.24d52eba.chunk.js": "./static/js/2983.24d52eba.chunk.js",
"static/js/8308.24f46a88.chunk.js": "./static/js/8308.24f46a88.chunk.js",
"static/media/videoBG.mp4": "./static/media/videoBG.17363418b3c2246a0e27.mp4",
"static/media/loginAnimationPoster.png": "./static/media/loginAnimationPoster.9aa924bfe619e71d5d29.png",
@@ -147,134 +141,128 @@
"static/media/Inter-Regular.woff2": "./static/media/Inter-Regular.c8ba52b05a9ef10f4758.woff2",
"static/media/placeholderimage.png": "./static/media/placeholderimage.077ea48bd1ef1f4a883f.png",
"index.html": "./index.html",
"main.7f39beab.css.map": "./static/css/main.7f39beab.css.map",
"main.81adfdde.js.map": "./static/js/main.81adfdde.js.map",
"main.02c1b6fd.css.map": "./static/css/main.02c1b6fd.css.map",
"main.72f8505e.js.map": "./static/js/main.72f8505e.js.map",
"1260.a025e586.chunk.js.map": "./static/js/1260.a025e586.chunk.js.map",
"6914.9ab32297.chunk.js.map": "./static/js/6914.9ab32297.chunk.js.map",
"9121.813c1df9.chunk.js.map": "./static/js/9121.813c1df9.chunk.js.map",
"1829.11d4b426.chunk.js.map": "./static/js/1829.11d4b426.chunk.js.map",
"6272.59e477e4.chunk.js.map": "./static/js/6272.59e477e4.chunk.js.map",
"5088.bae6da67.chunk.js.map": "./static/js/5088.bae6da67.chunk.js.map",
"9121.0c08c03c.chunk.js.map": "./static/js/9121.0c08c03c.chunk.js.map",
"1829.0e821c64.chunk.js.map": "./static/js/1829.0e821c64.chunk.js.map",
"6272.3c9cfd32.chunk.js.map": "./static/js/6272.3c9cfd32.chunk.js.map",
"5088.8ed4fd39.chunk.js.map": "./static/js/5088.8ed4fd39.chunk.js.map",
"6122.8195a695.chunk.js.map": "./static/js/6122.8195a695.chunk.js.map",
"808.fb70b906.chunk.js.map": "./static/js/808.fb70b906.chunk.js.map",
"808.0827cf07.chunk.js.map": "./static/js/808.0827cf07.chunk.js.map",
"8060.060ad94e.chunk.js.map": "./static/js/8060.060ad94e.chunk.js.map",
"9635.fa7788f9.chunk.js.map": "./static/js/9635.fa7788f9.chunk.js.map",
"9635.de2db92c.chunk.js.map": "./static/js/9635.de2db92c.chunk.js.map",
"2338.f2a282fa.chunk.js.map": "./static/js/2338.f2a282fa.chunk.js.map",
"4335.16fc17e3.chunk.js.map": "./static/js/4335.16fc17e3.chunk.js.map",
"1892.e7ffbb89.chunk.js.map": "./static/js/1892.e7ffbb89.chunk.js.map",
"3543.b1838b1c.chunk.js.map": "./static/js/3543.b1838b1c.chunk.js.map",
"2074.307a0b66.chunk.js.map": "./static/js/2074.307a0b66.chunk.js.map",
"3067.fb364091.chunk.js.map": "./static/js/3067.fb364091.chunk.js.map",
"4335.1ddacb73.chunk.js.map": "./static/js/4335.1ddacb73.chunk.js.map",
"9390.ea2a39c3.chunk.js.map": "./static/js/9390.ea2a39c3.chunk.js.map",
"3543.be1d6ea8.chunk.js.map": "./static/js/3543.be1d6ea8.chunk.js.map",
"2074.7e79443f.chunk.js.map": "./static/js/2074.7e79443f.chunk.js.map",
"3067.56476c2f.chunk.js.map": "./static/js/3067.56476c2f.chunk.js.map",
"2637.be6faba9.chunk.js.map": "./static/js/2637.be6faba9.chunk.js.map",
"5962.812f802a.chunk.js.map": "./static/js/5962.812f802a.chunk.js.map",
"701.9eceec77.chunk.js.map": "./static/js/701.9eceec77.chunk.js.map",
"5962.5aaa4901.chunk.js.map": "./static/js/5962.5aaa4901.chunk.js.map",
"701.13e798d1.chunk.js.map": "./static/js/701.13e798d1.chunk.js.map",
"7821.12244c04.chunk.js.map": "./static/js/7821.12244c04.chunk.js.map",
"2545.ffac2fbb.chunk.js.map": "./static/js/2545.ffac2fbb.chunk.js.map",
"8388.bbb04702.chunk.js.map": "./static/js/8388.bbb04702.chunk.js.map",
"4131.8f58d53d.chunk.js.map": "./static/js/4131.8f58d53d.chunk.js.map",
"4065.506dd294.chunk.js.map": "./static/js/4065.506dd294.chunk.js.map",
"5935.edc7edfc.chunk.js.map": "./static/js/5935.edc7edfc.chunk.js.map",
"4563.121b75a9.chunk.js.map": "./static/js/4563.121b75a9.chunk.js.map",
"191.fd21cdcc.chunk.js.map": "./static/js/191.fd21cdcc.chunk.js.map",
"1329.ebb06e52.chunk.js.map": "./static/js/1329.ebb06e52.chunk.js.map",
"7614.18dd1f73.chunk.js.map": "./static/js/7614.18dd1f73.chunk.js.map",
"1690.5ad5531b.chunk.js.map": "./static/js/1690.5ad5531b.chunk.js.map",
"6491.4be25794.chunk.js.map": "./static/js/6491.4be25794.chunk.js.map",
"1329.79996c21.chunk.js.map": "./static/js/1329.79996c21.chunk.js.map",
"7614.ec6383d7.chunk.js.map": "./static/js/7614.ec6383d7.chunk.js.map",
"1690.fa631de9.chunk.js.map": "./static/js/1690.fa631de9.chunk.js.map",
"6491.de57d3e6.chunk.js.map": "./static/js/6491.de57d3e6.chunk.js.map",
"4902.ded1f1f5.chunk.js.map": "./static/js/4902.ded1f1f5.chunk.js.map",
"1432.963da344.chunk.js.map": "./static/js/1432.963da344.chunk.js.map",
"841.31434f9c.chunk.js.map": "./static/js/841.31434f9c.chunk.js.map",
"3171.5a1ef12c.chunk.js.map": "./static/js/3171.5a1ef12c.chunk.js.map",
"8360.965868c4.chunk.js.map": "./static/js/8360.965868c4.chunk.js.map",
"6577.a8d6a01c.chunk.js.map": "./static/js/6577.a8d6a01c.chunk.js.map",
"6577.d4559543.chunk.js.map": "./static/js/6577.d4559543.chunk.js.map",
"3875.b530d1e3.chunk.js.map": "./static/js/3875.b530d1e3.chunk.js.map",
"3115.365838bd.chunk.js.map": "./static/js/3115.365838bd.chunk.js.map",
"2603.9ebd9b9e.chunk.js.map": "./static/js/2603.9ebd9b9e.chunk.js.map",
"977.a9e8a839.chunk.js.map": "./static/js/977.a9e8a839.chunk.js.map",
"3115.f9b2e7fc.chunk.js.map": "./static/js/3115.f9b2e7fc.chunk.js.map",
"2603.19110315.chunk.js.map": "./static/js/2603.19110315.chunk.js.map",
"977.7dc10141.chunk.js.map": "./static/js/977.7dc10141.chunk.js.map",
"6686.0c756aaf.chunk.js.map": "./static/js/6686.0c756aaf.chunk.js.map",
"2486.1ecaac74.chunk.js.map": "./static/js/2486.1ecaac74.chunk.js.map",
"4882.6b280860.chunk.js.map": "./static/js/4882.6b280860.chunk.js.map",
"7586.17376d83.chunk.js.map": "./static/js/7586.17376d83.chunk.js.map",
"6158.62f2536c.chunk.js.map": "./static/js/6158.62f2536c.chunk.js.map",
"738.eed2fa45.chunk.js.map": "./static/js/738.eed2fa45.chunk.js.map",
"8305.b35690ca.chunk.js.map": "./static/js/8305.b35690ca.chunk.js.map",
"4414.930d89fc.chunk.js.map": "./static/js/4414.930d89fc.chunk.js.map",
"8833.91a69c65.chunk.js.map": "./static/js/8833.91a69c65.chunk.js.map",
"1516.216550a5.chunk.js.map": "./static/js/1516.216550a5.chunk.js.map",
"483.31c46d8b.chunk.js.map": "./static/js/483.31c46d8b.chunk.js.map",
"8045.312c59ab.chunk.js.map": "./static/js/8045.312c59ab.chunk.js.map",
"6895.10e498b4.chunk.js.map": "./static/js/6895.10e498b4.chunk.js.map",
"4874.1901748a.chunk.js.map": "./static/js/4874.1901748a.chunk.js.map",
"8833.27a34b4e.chunk.js.map": "./static/js/8833.27a34b4e.chunk.js.map",
"1516.67512c50.chunk.js.map": "./static/js/1516.67512c50.chunk.js.map",
"483.f00aef93.chunk.js.map": "./static/js/483.f00aef93.chunk.js.map",
"8045.40b15543.chunk.js.map": "./static/js/8045.40b15543.chunk.js.map",
"6895.26443f5f.chunk.js.map": "./static/js/6895.26443f5f.chunk.js.map",
"4874.157a2b95.chunk.js.map": "./static/js/4874.157a2b95.chunk.js.map",
"1191.6a8f1e3d.chunk.js.map": "./static/js/1191.6a8f1e3d.chunk.js.map",
"3956.27299d66.chunk.js.map": "./static/js/3956.27299d66.chunk.js.map",
"9221.ef026a1e.chunk.js.map": "./static/js/9221.ef026a1e.chunk.js.map",
"8896.ef691d94.chunk.js.map": "./static/js/8896.ef691d94.chunk.js.map",
"9134.a8ccdcdb.chunk.js.map": "./static/js/9134.a8ccdcdb.chunk.js.map",
"5223.d053b523.chunk.js.map": "./static/js/5223.d053b523.chunk.js.map",
"5661.e6b097aa.chunk.js.map": "./static/js/5661.e6b097aa.chunk.js.map",
"7134.a6c4a49e.chunk.js.map": "./static/js/7134.a6c4a49e.chunk.js.map",
"3034.ce980176.chunk.js.map": "./static/js/3034.ce980176.chunk.js.map",
"3138.314a2ab9.chunk.js.map": "./static/js/3138.314a2ab9.chunk.js.map",
"6171.621123fe.chunk.js.map": "./static/js/6171.621123fe.chunk.js.map",
"7134.5516568a.chunk.js.map": "./static/js/7134.5516568a.chunk.js.map",
"3034.18978581.chunk.js.map": "./static/js/3034.18978581.chunk.js.map",
"3138.36694643.chunk.js.map": "./static/js/3138.36694643.chunk.js.map",
"711.aec34a54.chunk.js.map": "./static/js/711.aec34a54.chunk.js.map",
"6901.67563dd6.chunk.js.map": "./static/js/6901.67563dd6.chunk.js.map",
"2185.8253dd66.chunk.js.map": "./static/js/2185.8253dd66.chunk.js.map",
"9968.392f895d.chunk.js.map": "./static/js/9968.392f895d.chunk.js.map",
"7494.72e35f55.chunk.js.map": "./static/js/7494.72e35f55.chunk.js.map",
"4267.a5055b3c.chunk.js.map": "./static/js/4267.a5055b3c.chunk.js.map",
"9918.87077127.chunk.js.map": "./static/js/9918.87077127.chunk.js.map",
"5702.71c4b7ad.chunk.js.map": "./static/js/5702.71c4b7ad.chunk.js.map",
"2512.770aacc4.chunk.js.map": "./static/js/2512.770aacc4.chunk.js.map",
"51.2c941d38.chunk.js.map": "./static/js/51.2c941d38.chunk.js.map",
"6901.ec452642.chunk.js.map": "./static/js/6901.ec452642.chunk.js.map",
"2185.1940263e.chunk.js.map": "./static/js/2185.1940263e.chunk.js.map",
"9968.741ebf65.chunk.js.map": "./static/js/9968.741ebf65.chunk.js.map",
"7494.bad4da61.chunk.js.map": "./static/js/7494.bad4da61.chunk.js.map",
"4738.0bbac05c.chunk.js.map": "./static/js/4738.0bbac05c.chunk.js.map",
"3989.d6c1eb51.chunk.js.map": "./static/js/3989.d6c1eb51.chunk.js.map",
"5702.6a08188b.chunk.js.map": "./static/js/5702.6a08188b.chunk.js.map",
"5759.47541c57.chunk.js.map": "./static/js/5759.47541c57.chunk.js.map",
"51.8430c021.chunk.js.map": "./static/js/51.8430c021.chunk.js.map",
"312.04cab7e8.chunk.js.map": "./static/js/312.04cab7e8.chunk.js.map",
"2032.54dedb37.chunk.js.map": "./static/js/2032.54dedb37.chunk.js.map",
"4619.56a4fe9f.chunk.js.map": "./static/js/4619.56a4fe9f.chunk.js.map",
"8990.a79c2757.chunk.js.map": "./static/js/8990.a79c2757.chunk.js.map",
"8455.c65159aa.chunk.js.map": "./static/js/8455.c65159aa.chunk.js.map",
"9816.9d5974a5.chunk.js.map": "./static/js/9816.9d5974a5.chunk.js.map",
"7584.620b5003.chunk.js.map": "./static/js/7584.620b5003.chunk.js.map",
"9952.df7cc0cb.chunk.js.map": "./static/js/9952.df7cc0cb.chunk.js.map",
"402.b4ce85d2.chunk.js.map": "./static/js/402.b4ce85d2.chunk.js.map",
"1705.0632aaa2.chunk.js.map": "./static/js/1705.0632aaa2.chunk.js.map",
"1581.ec29a0a8.chunk.js.map": "./static/js/1581.ec29a0a8.chunk.js.map",
"4619.1535ff32.chunk.js.map": "./static/js/4619.1535ff32.chunk.js.map",
"8990.17dc8411.chunk.js.map": "./static/js/8990.17dc8411.chunk.js.map",
"8455.97773e2f.chunk.js.map": "./static/js/8455.97773e2f.chunk.js.map",
"3690.b6d7d3b6.chunk.js.map": "./static/js/3690.b6d7d3b6.chunk.js.map",
"1604.2dfa540d.chunk.js.map": "./static/js/1604.2dfa540d.chunk.js.map",
"9952.e9660829.chunk.js.map": "./static/js/9952.e9660829.chunk.js.map",
"402.b31b43fa.chunk.js.map": "./static/js/402.b31b43fa.chunk.js.map",
"1705.a54c5659.chunk.js.map": "./static/js/1705.a54c5659.chunk.js.map",
"1581.a911ee27.chunk.js.map": "./static/js/1581.a911ee27.chunk.js.map",
"455.3198900d.chunk.js.map": "./static/js/455.3198900d.chunk.js.map",
"2661.f8e2dfa6.chunk.js.map": "./static/js/2661.f8e2dfa6.chunk.js.map",
"889.5dfe989a.chunk.js.map": "./static/js/889.5dfe989a.chunk.js.map",
"9088.f4b08dc0.chunk.js.map": "./static/js/9088.f4b08dc0.chunk.js.map",
"247.3ae1405a.chunk.js.map": "./static/js/247.3ae1405a.chunk.js.map",
"2763.94aac2f6.chunk.js.map": "./static/js/2763.94aac2f6.chunk.js.map",
"5473.e6936445.chunk.js.map": "./static/js/5473.e6936445.chunk.js.map",
"5994.42cc3b8c.chunk.js.map": "./static/js/5994.42cc3b8c.chunk.js.map",
"2661.7ae2f0e2.chunk.js.map": "./static/js/2661.7ae2f0e2.chunk.js.map",
"3509.f3bae3cd.chunk.js.map": "./static/js/3509.f3bae3cd.chunk.js.map",
"889.c7eff573.chunk.js.map": "./static/js/889.c7eff573.chunk.js.map",
"9088.9dd285c2.chunk.js.map": "./static/js/9088.9dd285c2.chunk.js.map",
"247.2a7f8e21.chunk.js.map": "./static/js/247.2a7f8e21.chunk.js.map",
"2763.8a8f4e01.chunk.js.map": "./static/js/2763.8a8f4e01.chunk.js.map",
"5473.5690bac9.chunk.js.map": "./static/js/5473.5690bac9.chunk.js.map",
"1715.b85c256f.chunk.js.map": "./static/js/1715.b85c256f.chunk.js.map",
"5994.6d90bd33.chunk.js.map": "./static/js/5994.6d90bd33.chunk.js.map",
"7391.c53687b2.chunk.js.map": "./static/js/7391.c53687b2.chunk.js.map",
"222.7f3906bd.chunk.js.map": "./static/js/222.7f3906bd.chunk.js.map",
"8800.e03c4db0.chunk.js.map": "./static/js/8800.e03c4db0.chunk.js.map",
"9518.2593e387.chunk.js.map": "./static/js/9518.2593e387.chunk.js.map",
"6993.cff4fa3c.chunk.js.map": "./static/js/6993.cff4fa3c.chunk.js.map",
"7847.d7a7fbd9.chunk.js.map": "./static/js/7847.d7a7fbd9.chunk.js.map",
"2909.e78ef785.chunk.js.map": "./static/js/2909.e78ef785.chunk.js.map",
"7981.8a6db645.chunk.js.map": "./static/js/7981.8a6db645.chunk.js.map",
"2260.71dd3e05.chunk.js.map": "./static/js/2260.71dd3e05.chunk.js.map",
"6459.b16c70ac.chunk.js.map": "./static/js/6459.b16c70ac.chunk.js.map",
"3801.e125737d.chunk.js.map": "./static/js/3801.e125737d.chunk.js.map",
"7564.37011454.chunk.js.map": "./static/js/7564.37011454.chunk.js.map",
"9518.d8f8ed8b.chunk.js.map": "./static/js/9518.d8f8ed8b.chunk.js.map",
"7847.234cbf0e.chunk.js.map": "./static/js/7847.234cbf0e.chunk.js.map",
"225.a62217d0.chunk.js.map": "./static/js/225.a62217d0.chunk.js.map",
"9897.6cbb5c3f.chunk.js.map": "./static/js/9897.6cbb5c3f.chunk.js.map",
"601.0071eb88.chunk.js.map": "./static/js/601.0071eb88.chunk.js.map",
"5739.ccea8dc9.chunk.js.map": "./static/js/5739.ccea8dc9.chunk.js.map",
"4884.a13f2bb5.chunk.js.map": "./static/js/4884.a13f2bb5.chunk.js.map",
"4882.9c5a4b90.chunk.js.map": "./static/js/4882.9c5a4b90.chunk.js.map",
"134.117c7fbe.chunk.js.map": "./static/js/134.117c7fbe.chunk.js.map",
"433.19458394.chunk.js.map": "./static/js/433.19458394.chunk.js.map",
"4738.4778b57f.chunk.js.map": "./static/js/4738.4778b57f.chunk.js.map",
"6748.23cfa162.chunk.js.map": "./static/js/6748.23cfa162.chunk.js.map",
"5004.19f9c421.chunk.js.map": "./static/js/5004.19f9c421.chunk.js.map",
"107.a58afd7d.chunk.js.map": "./static/js/107.a58afd7d.chunk.js.map",
"130.d84d2f5e.chunk.js.map": "./static/js/130.d84d2f5e.chunk.js.map",
"7299.cf8881c8.chunk.js.map": "./static/js/7299.cf8881c8.chunk.js.map",
"5032.d66e5016.chunk.js.map": "./static/js/5032.d66e5016.chunk.js.map",
"1450.4439b103.chunk.js.map": "./static/js/1450.4439b103.chunk.js.map",
"6975.e867afc1.chunk.js.map": "./static/js/6975.e867afc1.chunk.js.map",
"9444.da7eb5e5.chunk.js.map": "./static/js/9444.da7eb5e5.chunk.js.map",
"241.7f8c105e.chunk.js.map": "./static/js/241.7f8c105e.chunk.js.map",
"9054.2401fce4.chunk.js.map": "./static/js/9054.2401fce4.chunk.js.map",
"2791.35d976a5.chunk.js.map": "./static/js/2791.35d976a5.chunk.js.map",
"9581.11fc652e.chunk.js.map": "./static/js/9581.11fc652e.chunk.js.map",
"6662.f9187fb2.chunk.js.map": "./static/js/6662.f9187fb2.chunk.js.map",
"9817.97fe9a05.chunk.js.map": "./static/js/9817.97fe9a05.chunk.js.map",
"4670.9cad71d4.chunk.js.map": "./static/js/4670.9cad71d4.chunk.js.map",
"221.9704100d.chunk.js.map": "./static/js/221.9704100d.chunk.js.map",
"2983.3ffd4ad8.chunk.js.map": "./static/js/2983.3ffd4ad8.chunk.js.map",
"91.e520a97c.chunk.js.map": "./static/js/91.e520a97c.chunk.js.map",
"3801.e125737d.chunk.js.map": "./static/js/3801.e125737d.chunk.js.map",
"5515.a73ad9ea.chunk.js.map": "./static/js/5515.a73ad9ea.chunk.js.map",
"9062.9dba9f0e.chunk.js.map": "./static/js/9062.9dba9f0e.chunk.js.map",
"6624.237b6430.chunk.js.map": "./static/js/6624.237b6430.chunk.js.map",
"8098.86babd6f.chunk.js.map": "./static/js/8098.86babd6f.chunk.js.map",
"2791.a64fa77e.chunk.js.map": "./static/js/2791.a64fa77e.chunk.js.map",
"7981.b08cd322.chunk.js.map": "./static/js/7981.b08cd322.chunk.js.map",
"9581.35e0c780.chunk.js.map": "./static/js/9581.35e0c780.chunk.js.map",
"9817.d6ea67be.chunk.js.map": "./static/js/9817.d6ea67be.chunk.js.map",
"8831.4150b126.chunk.js.map": "./static/js/8831.4150b126.chunk.js.map",
"3203.d42c8f43.chunk.js.map": "./static/js/3203.d42c8f43.chunk.js.map",
"5442.657ff257.chunk.js.map": "./static/js/5442.657ff257.chunk.js.map",
"3554.597b92f6.chunk.js.map": "./static/js/3554.597b92f6.chunk.js.map",
"2983.24d52eba.chunk.js.map": "./static/js/2983.24d52eba.chunk.js.map",
"8308.24f46a88.chunk.js.map": "./static/js/8308.24f46a88.chunk.js.map"
},
"entrypoints": [
"static/css/main.7f39beab.css",
"static/js/main.81adfdde.js"
"static/css/main.02c1b6fd.css",
"static/js/main.72f8505e.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"/><meta name="minio-license" content="apgl"/><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.81adfdde.js"></script><link href="./static/css/main.7f39beab.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"/><meta name="minio-license" content="apgl"/><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.72f8505e.js"></script><link href="./static/css/main.02c1b6fd.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

View File

@@ -1,2 +0,0 @@
.ReactVirtualized__Table__headerRow{font-weight:700;text-transform:uppercase}.ReactVirtualized__Table__headerRow,.ReactVirtualized__Table__row{align-items:center;display:flex;flex-direction:row}.ReactVirtualized__Table__headerTruncatedText{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ReactVirtualized__Table__headerColumn,.ReactVirtualized__Table__rowColumn{margin-right:10px;min-width:0}.ReactVirtualized__Table__rowColumn{text-overflow:ellipsis;white-space:nowrap}.ReactVirtualized__Table__headerColumn:first-of-type,.ReactVirtualized__Table__rowColumn:first-of-type{margin-left:10px}.ReactVirtualized__Table__sortableHeaderColumn{cursor:pointer}.ReactVirtualized__Table__sortableHeaderIconContainer{align-items:center;display:flex}.ReactVirtualized__Table__sortableHeaderIcon{fill:currentColor;flex:0 0 24px;height:1em;width:1em}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item.resizing{will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;-o-user-select:none;user-select:none;z-index:2}.react-grid-item>.react-resizable-handle{height:20px;position:absolute;width:20px}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid rgba(0,0,0,.4);border-right:2px solid rgba(0,0,0,.4);bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.removeArrows input::-webkit-inner-spin-button,.removeArrows input::-webkit-outer-spin-button,input.removeArrows::-webkit-inner-spin-button,input.removeArrows::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.removeArrows input[type=number],input.removeArrows[type=number]{-moz-appearance:textfield}
/*# sourceMappingURL=main.7f39beab.css.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

View File

@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1329],{51270:function(e,n,t){var i=t(29439),r=t(72791),o=t(29945),s=t(87995),c=t(81551),a=t(9505),u=t(23508),l=t(80184);n.Z=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,d=e.idp,f=e.idpType,p=(0,c.TL)(),x=(0,a.Z)((function(e){n(!0),p((0,s.cN)(!0===e.restart))}),(function(e){return p((0,s.Ih)(e))})),j=(0,i.Z)(x,2),C=j[0],h=j[1];if(!d)return null;var D="_"===d?"Default":d;return(0,l.jsx)(u.Z,{title:"Delete ".concat(D),confirmText:"Delete",isOpen:t,titleIcon:(0,l.jsx)(o.NvT,{}),isLoading:C,onConfirm:function(){h("DELETE","/api/v1/idp/".concat(f,"/").concat(d))},onClose:function(){return n(!1)},confirmButtonProps:{disabled:C},confirmationContent:(0,l.jsxs)(r.Fragment,{children:["Are you sure you want to delete IDP ",(0,l.jsx)("b",{children:D})," ","configuration? ",(0,l.jsx)("br",{})]})})}},31329:function(e,n,t){t.r(n),t.d(n,{default:function(){return Z}});var i=t(72791),r=t(1413),o=t(74165),s=t(15861),c=t(29439),a=t(29945),u=t(57689),l=t(31776),d=t(82342),f=t(81551),p=t(56087),x=t(38442),j=t(87995),C=t(23814),h=t(27454),D=t(51270),m=t(47974),y=t(99670),b=t(80184),F=function(e){var n=e.idpType,t=(0,f.TL)(),F=(0,u.s0)(),Z=(0,i.useState)(!1),_=(0,c.Z)(Z,2),A=_[0],I=_[1],T=(0,i.useState)(""),g=(0,c.Z)(T,2),N=g[0],v=g[1],E=(0,i.useState)(!1),k=(0,c.Z)(E,2),P=k[0],O=k[1],M=(0,i.useState)([]),w=(0,c.Z)(M,2),U=w[0],G=w[1],K=(0,x.F)(p.C3,[p.Ft.ADMIN_CONFIG_UPDATE]),L=(0,x.F)(p.C3,[p.Ft.ADMIN_CONFIG_UPDATE]),S=(0,x.F)(p.C3,[p.Ft.ADMIN_CONFIG_UPDATE]);(0,i.useEffect)((function(){R()}),[]),(0,i.useEffect)((function(){P&&(S?l.h.idp.listConfigurations(n).then((function(e){O(!1),e.data.results&&G(e.data.results.map((function(e){return e.name="_"===e.name?"Default":e.name,e.enabled=!0===e.enabled?"Enabled":"Disabled",e})))})).catch((function(e){O(!1),t((0,j.Ih)((0,d.g)(e.error)))})):O(!1))}),[P,O,G,t,S,n]);var R=function(){O(!0)},B=function(){var e=(0,s.Z)((0,o.Z)().mark((function e(n){return(0,o.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:I(!1),n&&R();case 2:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),z=[{type:"view",onClick:function(e){var t="Default"===e.name?"_":e.name;F("/identity/idp/".concat(n,"/configurations/").concat(t))},disableButtonFunction:function(){return!L}},{type:"delete",onClick:function(e){I(!0),v(e="Default"===e?"_":e)},sendOnlyId:!0,disableButtonFunction:function(e){return!K||"Default"===e}}];return(0,i.useEffect)((function(){t((0,j.Sc)("idp_configs"))}),[]),(0,b.jsxs)(i.Fragment,{children:[A&&(0,b.jsx)(D.Z,{deleteOpen:A,idp:N,idpType:n,closeDeleteModalAndRefresh:B}),(0,b.jsx)(m.Z,{label:"".concat(n.toUpperCase()," Configurations"),actions:(0,b.jsx)(y.Z,{})}),(0,b.jsx)(a.Xgh,{children:(0,b.jsxs)(a.rjZ,{container:!0,children:[(0,b.jsxs)(a.rjZ,{item:!0,xs:12,sx:(0,r.Z)((0,r.Z)({},C.OR.actionsTray),{},{justifyContent:"flex-end",gap:8}),children:[(0,b.jsx)(x.s,{scopes:[p.Ft.ADMIN_CONFIG_UPDATE],resource:p.C3,errorProps:{disabled:!0},children:(0,b.jsx)(h.Z,{tooltip:"Refresh",children:(0,b.jsx)(a.zxk,{id:"refresh-keys",variant:"regular",icon:(0,b.jsx)(a.DuK,{}),onClick:function(){return O(!0)}})})}),(0,b.jsx)(x.s,{scopes:[p.Ft.ADMIN_CONFIG_UPDATE],resource:p.C3,errorProps:{disabled:!0},children:(0,b.jsx)(h.Z,{tooltip:"Create ".concat(n," configuration"),children:(0,b.jsx)(a.zxk,{id:"create-idp",label:"Create Configuration",variant:"callAction",icon:(0,b.jsx)(a.dtP,{}),onClick:function(){return F("/identity/idp/".concat(n,"/configurations/add-idp"))}})})})]}),(0,b.jsx)(a.rjZ,{item:!0,xs:12,children:(0,b.jsx)(x.s,{scopes:[p.Ft.ADMIN_CONFIG_UPDATE],resource:p.C3,errorProps:{disabled:!0},children:(0,b.jsx)(a.wQF,{itemActions:z,columns:[{label:"Name",elementKey:"name"},{label:"Type",elementKey:"type"},{label:"Enabled",elementKey:"enabled"}],isLoading:P,records:U,entityName:"Keys",idField:"name"})})})]})})]})},Z=function(){return(0,b.jsx)(F,{idpType:"openid"})}}}]);
//# sourceMappingURL=1329.79996c21.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([[1329],{51270:function(e,n,t){var i=t(29439),r=(t(72791),t(51691)),o=t(9505),s=t(23508),a=t(29945),c=t(87995),u=t(81551),l=t(80184);n.Z=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,d=e.idp,f=e.idpType,p=(0,u.TL)(),x=(0,o.Z)((function(e){n(!0),p((0,c.cN)(!0===e.restart))}),(function(e){return p((0,c.Ih)(e))})),C=(0,i.Z)(x,2),h=C[0],m=C[1];if(!d)return null;var j="_"===d?"Default":d;return(0,l.jsx)(s.Z,{title:"Delete ".concat(j),confirmText:"Delete",isOpen:t,titleIcon:(0,l.jsx)(a.NvT,{}),isLoading:h,onConfirm:function(){m("DELETE","/api/v1/idp/".concat(f,"/").concat(d))},onClose:function(){return n(!1)},confirmButtonProps:{disabled:h},confirmationContent:(0,l.jsxs)(r.Z,{children:["Are you sure you want to delete IDP ",(0,l.jsx)("b",{children:j})," ","configuration? ",(0,l.jsx)("br",{})]})})}},31329:function(e,n,t){t.r(n),t.d(n,{default:function(){return N}});var i=t(72791),r=t(74165),o=t(15861),s=t(29439),a=t(1413),c=t(11135),u=t(25787),l=t(81551),d=t(57689),f=t(56087),p=t(38442),x=t(87995),C=t(23814),h=t(61889),m=t(27454),j=t(29945),D=t(92983),Z=t(51270),b=t(47974),y=t(99670),F=t(31776),_=t(82342),g=t(80184),I=(0,u.Z)((function(e){return(0,c.Z)((0,a.Z)({},C.Bz))}))((function(e){var n=e.classes,t=e.idpType,a=(0,l.TL)(),c=(0,d.s0)(),u=(0,i.useState)(!1),C=(0,s.Z)(u,2),I=C[0],N=C[1],A=(0,i.useState)(""),T=(0,s.Z)(A,2),P=T[0],v=T[1],E=(0,i.useState)(!1),k=(0,s.Z)(E,2),O=k[0],M=k[1],U=(0,i.useState)([]),w=(0,s.Z)(U,2),G=w[0],L=w[1],B=(0,p.F)(f.C3,[f.Ft.ADMIN_CONFIG_UPDATE]),K=(0,p.F)(f.C3,[f.Ft.ADMIN_CONFIG_UPDATE]),S=(0,p.F)(f.C3,[f.Ft.ADMIN_CONFIG_UPDATE]);(0,i.useEffect)((function(){z()}),[]),(0,i.useEffect)((function(){O&&(S?F.h.idp.listConfigurations(t).then((function(e){M(!1),e.data.results&&L(e.data.results.map((function(e){return e.name="_"===e.name?"Default":e.name,e.enabled=!0===e.enabled?"Enabled":"Disabled",e})))})).catch((function(e){M(!1),a((0,x.Ih)((0,_.g)(e.error)))})):M(!1))}),[O,M,L,a,S,t]);var z=function(){M(!0)},R=function(){var e=(0,o.Z)((0,r.Z)().mark((function e(n){return(0,r.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:N(!1),n&&z();case 2:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),X=[{type:"view",onClick:function(e){var n="Default"===e.name?"_":e.name;c("/identity/idp/".concat(t,"/configurations/").concat(n))},disableButtonFunction:function(){return!K}},{type:"delete",onClick:function(e){N(!0),v(e="Default"===e?"_":e)},sendOnlyId:!0,disableButtonFunction:function(e){return!B||"Default"===e}}];return(0,i.useEffect)((function(){a((0,x.Sc)("idp_configs"))}),[]),(0,g.jsxs)(i.Fragment,{children:[I&&(0,g.jsx)(Z.Z,{deleteOpen:I,idp:P,idpType:t,closeDeleteModalAndRefresh:R}),(0,g.jsx)(b.Z,{label:"".concat(t.toUpperCase()," Configurations"),actions:(0,g.jsx)(y.Z,{})}),(0,g.jsx)(j.Xgh,{className:n.pageContainer,children:(0,g.jsxs)(h.ZP,{container:!0,spacing:1,children:[(0,g.jsxs)(h.ZP,{item:!0,xs:12,display:"flex",alignItems:"center",justifyContent:"flex-end",sx:{"& button":{marginLeft:"8px"}},children:[(0,g.jsx)(p.s,{scopes:[f.Ft.ADMIN_CONFIG_UPDATE],resource:f.C3,errorProps:{disabled:!0},children:(0,g.jsx)(m.Z,{tooltip:"Refresh",children:(0,g.jsx)(j.zxk,{id:"refresh-keys",variant:"regular",icon:(0,g.jsx)(j.DuK,{}),onClick:function(){return M(!0)}})})}),(0,g.jsx)(p.s,{scopes:[f.Ft.ADMIN_CONFIG_UPDATE],resource:f.C3,errorProps:{disabled:!0},children:(0,g.jsx)(m.Z,{tooltip:"Create ".concat(t," configuration"),children:(0,g.jsx)(j.zxk,{id:"create-idp",label:"Create Configuration",variant:"callAction",icon:(0,g.jsx)(j.dtP,{}),onClick:function(){return c("/identity/idp/".concat(t,"/configurations/add-idp"))}})})})]}),(0,g.jsx)(h.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,g.jsx)(p.s,{scopes:[f.Ft.ADMIN_CONFIG_UPDATE],resource:f.C3,errorProps:{disabled:!0},children:(0,g.jsx)(D.Z,{itemActions:X,columns:[{label:"Name",elementKey:"name"},{label:"Type",elementKey:"type"},{label:"Enabled",elementKey:"enabled"}],isLoading:O,records:G,entityName:"Keys",idField:"name"})})})]})})]})})),N=function(){return(0,g.jsx)(I,{idpType:"openid"})}}}]);
//# sourceMappingURL=1329.ebb06e52.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

View File

@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1581],{1581:function(t,e,n){n.r(e);var a=n(29439),o=n(72791),i=n(29945),u=n(45248),r=n(23814),l=n(56028),c=n(84741),s=n(87995),d=n(81551),f=n(31776),b=n(82342),h=n(40986),v=n(80184);e.default=function(t){var e=t.open,n=t.enabled,x=t.cfg,g=t.selectedBucket,p=t.closeModalAndRefresh,m=(0,d.TL)(),j=(0,o.useState)(!1),k=(0,a.Z)(j,2),Z=k[0],C=k[1],S=(0,o.useState)(!1),q=(0,a.Z)(S,2),z=q[0],_=q[1],y=(0,o.useState)("1"),B=(0,a.Z)(y,2),w=B[0],E=B[1],T=(0,o.useState)("Ti"),F=(0,a.Z)(T,2),O=F[0],Q=F[1],A=(0,o.useState)(!1),I=(0,a.Z)(A,2),L=I[0],P=I[1];(0,o.useEffect)((function(){if(n&&(_(!0),x)){var t=(0,u.Am)(x.quota||0,!0,!1,!0);E(t.total.toString()),Q(t.unit),P(!0)}}),[n,x]),(0,o.useEffect)((function(){P(!z||/^\d*(?:\.\d{1,2})?$/.test(w))}),[z,w]);return(0,v.jsx)(l.Z,{modalOpen:e,onClose:function(){p()},title:"Enable Bucket Quota",titleIcon:(0,v.jsx)(i.Wqw,{}),children:(0,v.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(t){t.preventDefault(),!Z&&L&&f.h.buckets.setBucketQuota(g,{enabled:z,amount:parseInt((0,u.Pw)(w,O,!0)),quota_type:"hard"}).then((function(){C(!1),p()})).catch((function(t){C(!1),m((0,s.zb)((0,b.g)(t.error)))}))},children:(0,v.jsxs)(i.ltY,{withBorders:!1,containerPadding:!1,children:[(0,v.jsx)(i.rsf,{value:"bucket_quota",id:"bucket_quota",name:"bucket_quota",checked:z,onChange:function(t){_(t.target.checked)},label:"Enabled"}),z&&(0,v.jsx)(i.Wzg,{id:"quota_size",name:"quota_size",onChange:function(t){E(t.target.value),t.target.validity.valid?P(!0):P(!1)},label:"Quota",value:w,required:!0,min:"1",overlayObject:(0,v.jsx)(c.Z,{id:"quota_unit",onUnitChange:function(t){Q(t)},unitSelected:O,unitsList:(0,u.zQ)(["Ki"]),disabled:!1}),error:L?"":"Please enter a valid quota"}),(0,v.jsxs)(i.rjZ,{item:!0,xs:12,sx:r.ID.modalButtonBar,children:[(0,v.jsx)(i.zxk,{id:"cancel",type:"button",variant:"regular",disabled:Z,onClick:function(){p()},label:"Cancel"}),(0,v.jsx)(i.zxk,{id:"save",type:"submit",variant:"callAction",disabled:Z||!L,label:"Save"})]}),Z&&(0,v.jsx)(i.rjZ,{item:!0,xs:12,children:(0,v.jsx)(h.Z,{})})]})})})}},84741:function(t,e,n){var a=n(29439),o=n(72791),i=n(11135),u=n(25787),r=n(71715),l=n(77865),c=n(80184);e.Z=(0,u.Z)((function(t){return(0,i.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(t){var e=t.classes,n=t.id,i=t.unitSelected,u=t.unitsList,s=t.disabled,d=void 0!==s&&s,f=t.onUnitChange,b=o.useState(null),h=(0,a.Z)(b,2),v=h[0],x=h[1],g=Boolean(v),p=function(t){x(null),""!==t&&f&&f(t)};return(0,c.jsxs)(o.Fragment,{children:[(0,c.jsx)("button",{id:"".concat(n,"-button"),"aria-controls":"".concat(n,"-menu"),"aria-haspopup":"true","aria-expanded":g?"true":void 0,onClick:function(t){x(t.currentTarget)},className:e.buttonTrigger,disabled:d,type:"button",children:i}),(0,c.jsx)(r.Z,{id:"".concat(n,"-menu"),"aria-labelledby":"".concat(n,"-button"),anchorEl:v,open:g,onClose:function(){p("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:u.map((function(t){return(0,c.jsx)(l.Z,{onClick:function(){return p(t.value)},children:t.label},"itemUnit-".concat(t.value,"-").concat(t.label))}))})]})}))}}]);
//# sourceMappingURL=1581.a911ee27.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

View File

@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1604],{1604:function(e,t,n){n.r(t);var a=n(29439),i=n(72791),o=n(29945),l=n(31776),u=n(66315),r=n(82342),s=n(40986),c=n(23814),d=n(87995),f=n(81551),m=n(56028),b=n(80184);t.default=function(e){var t=e.open,n=e.bucketName,h=e.closeModalAndRefresh,p=(0,f.TL)(),v=(0,i.useState)(!1),g=(0,a.Z)(v,2),x=g[0],y=g[1],C=(0,i.useState)(!0),j=(0,a.Z)(C,2),k=j[0],S=j[1],Z=(0,i.useState)(u.oO.Compliance),R=(0,a.Z)(Z,2),_=R[0],z=R[1],N=(0,i.useState)(u.zR.Days),w=(0,a.Z)(N,2),B=w[0],D=w[1],O=(0,i.useState)(1),E=(0,a.Z)(O,2),V=E[0],A=E[1],M=(0,i.useState)(!1),Y=(0,a.Z)(M,2),q=Y[0],G=Y[1];return(0,i.useEffect)((function(){Number.isNaN(V)||(V||1)<1?G(!1):G(!0)}),[V]),(0,i.useEffect)((function(){k&&l.h.buckets.getBucketRetentionConfig(n).then((function(e){S(!1),z(e.data.mode),A(e.data.validity),D(e.data.unit)})).catch((function(){S(!1)}))}),[k,n]),(0,b.jsx)(m.Z,{title:"Set Retention Configuration",modalOpen:t,onClose:function(){h()},children:k?(0,b.jsx)(o.aNw,{style:{width:16,height:16}}):(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),x||(y(!0),l.h.buckets.setBucketRetentionConfig(n,{mode:_||u.oO.Compliance,unit:B||u.zR.Days,validity:V||1}).then((function(){y(!1),h()})).catch((function(e){y(!1),p((0,d.zb)((0,r.g)(e.error)))})))},children:(0,b.jsxs)(o.ltY,{containerPadding:!1,withBorders:!1,children:[(0,b.jsx)(o.Eep,{currentValue:_,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){z(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]}),(0,b.jsx)(o.Eep,{currentValue:B,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){D(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]}),(0,b.jsx)(o.Wzg,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){A(e.target.valueAsNumber)},label:"Retention Validity",value:String(V),required:!0,min:"1"}),(0,b.jsxs)(o.rjZ,{item:!0,xs:12,sx:c.ID.modalButtonBar,children:[(0,b.jsx)(o.zxk,{id:"cancel",type:"button",variant:"regular",disabled:x,onClick:function(){h()},label:"Cancel"}),(0,b.jsx)(o.zxk,{id:"set",type:"submit",variant:"callAction",color:"primary",disabled:x||!q,label:"Set"})]}),x&&(0,b.jsx)(o.rjZ,{item:!0,xs:12,children:(0,b.jsx)(s.Z,{})})]})})})}}}]);
//# sourceMappingURL=1604.2dfa540d.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

View File

@@ -1,2 +0,0 @@
(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1705],{71705:function(n,e,t){"use strict";t.r(e);var u=t(29439),r=t(72791),o=t(9505),c=t(64554),i=t(56087),l=t(38442),s=t(26181),a=t.n(s),f=t(81918),d=t(29823),p=t(42419),v=t(75578),Z=t(29945),h=t(87995),x=t(81551),_=t(80184),T=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(5473),t.e(5994),t.e(7391),t.e(247)]).then(t.bind(t,40247))}))),b=(0,v.Z)(r.lazy((function(){return t.e(2763).then(t.bind(t,22763))})));e.default=function(n){var e=n.bucketName,t=(0,x.TL)(),s=(0,r.useState)(null),v=(0,u.Z)(s,2),m=v[0],j=v[1],C=(0,r.useState)(!1),g=(0,u.Z)(C,2),S=g[0],k=g[1],y=(0,r.useState)([]),G=(0,u.Z)(y,2),I=G[0],P=G[1],A=(0,r.useState)(["",""]),E=(0,u.Z)(A,2),F=E[0],N=E[1],U=(0,r.useState)(!1),w=(0,u.Z)(U,2),O=w[0],z=w[1],M=(0,o.Z)((function(n){var e,t;null!=n&&null!=(null===n||void 0===n?void 0:n.details)&&"tags"in(null===n||void 0===n?void 0:n.details)&&(j(null===n||void 0===n||null===(e=n.details)||void 0===e?void 0:e.tags),P(Object.keys(null===n||void 0===n||null===(t=n.details)||void 0===t?void 0:t.tags)))}),(function(n){t((0,h.Ih)(n))})),B=(0,u.Z)(M,2),D=B[0],K=B[1],R=function(){K("GET","/api/v1/buckets/".concat(e))};return(0,r.useEffect)((function(){R()}),[e]),(0,_.jsxs)(c.Z,{children:[D?(0,_.jsx)(Z.aNw,{style:{width:16,height:16}}):null,(0,_.jsx)(l.s,{scopes:[i.Ft.S3_GET_BUCKET_TAGGING,i.Ft.S3_GET_ACTIONS],resource:e,children:(0,_.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,_.jsx)(c.Z,{children:I&&I.map((function(n,t){var u=a()(m,"".concat(n),"");return""!==u?(0,_.jsx)(l.s,{scopes:[i.Ft.S3_PUT_BUCKET_TAGGING,i.Ft.S3_PUT_ACTIONS],resource:e,matchAll:!0,errorProps:{deleteIcon:null,onDelete:null},children:(0,_.jsx)(f.Z,{style:{textTransform:"none",marginRight:"5px"},size:"small",label:"".concat(n," : ").concat(u),color:"primary",deleteIcon:(0,_.jsx)(d.Z,{}),onDelete:function(){!function(n,e){N([n,e]),z(!0)}(n,u)}})},"chip-".concat(t)):null}))}),(0,_.jsx)(l.s,{scopes:[i.Ft.S3_PUT_BUCKET_TAGGING,i.Ft.S3_PUT_ACTIONS],resource:e,errorProps:{disabled:!0,onClick:null},children:(0,_.jsx)(f.Z,{style:{maxWidth:80,marginTop:"10px"},icon:(0,_.jsx)(p.Z,{}),clickable:!0,size:"small",label:"Add tag",color:"primary",variant:"outlined",onClick:function(){k(!0)}})})]})}),S&&(0,_.jsx)(T,{modalOpen:S,currentTags:m,bucketName:e,onCloseAndUpdate:function(n){k(!1),n&&R()}}),O&&(0,_.jsx)(b,{deleteOpen:O,currentTags:m,bucketName:e,onCloseAndUpdate:function(n){z(!1),n&&R()},selectedTag:F})]})}},42419:function(n,e,t){"use strict";var u=t(64836);e.Z=void 0;var r=u(t(45649)),o=t(80184),c=(0,r.default)((0,o.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");e.Z=c},29823:function(n,e,t){"use strict";var u=t(64836);e.Z=void 0;var r=u(t(45649)),o=t(80184),c=(0,r.default)((0,o.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");e.Z=c},45649:function(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return u.createSvgIcon}});var u=t(28610)},31260:function(n,e,t){"use strict";var u=t(78949);e.Z=u.Z},28610:function(n,e,t){"use strict";t.r(e),t.d(e,{capitalize:function(){return r.Z},createChainedFunction:function(){return o.Z},createSvgIcon:function(){return c.Z},debounce:function(){return i.Z},deprecatedPropType:function(){return l},isMuiElement:function(){return s.Z},ownerDocument:function(){return a.Z},ownerWindow:function(){return f.Z},requirePropFactory:function(){return d},setRef:function(){return p},unstable_ClassNameGenerator:function(){return m},unstable_useEnhancedEffect:function(){return v.Z},unstable_useId:function(){return Z.Z},unsupportedProp:function(){return h},useControlled:function(){return x.Z},useEventCallback:function(){return _.Z},useForkRef:function(){return T.Z},useIsFocusVisible:function(){return b.Z}});var u=t(55902),r=t(14036),o=t(31260),c=t(76189),i=t(83199);var l=function(n,e){return function(){return null}},s=t(19103),a=t(98301),f=t(17602);t(87462);var d=function(n,e){return function(){return null}},p=t(62971).Z,v=t(40162),Z=t(67384);var h=function(n,e,t,u,r){return null},x=t(98278),_=t(89683),T=t(42071),b=t(23031),m={configure:function(n){u.Z.configure(n)}}},64836:function(n){n.exports=function(n){return n&&n.__esModule?n:{default:n}},n.exports.__esModule=!0,n.exports.default=n.exports}}]);
//# sourceMappingURL=1705.0632aaa2.chunk.js.map

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([[1705],{71705:function(e,n,t){t.r(n);var l=t(29439),s=t(72791),c=t(26181),a=t.n(c),o=t(29945),u=t(56087),i=t(38442),r=t(87995),d=t(81551),p=t(9505),f=t(75578),x=t(80184),T=(0,f.Z)(s.lazy((function(){return Promise.all([t.e(5473),t.e(1715),t.e(5994),t.e(7391),t.e(247)]).then(t.bind(t,40247))}))),h=(0,f.Z)(s.lazy((function(){return t.e(2763).then(t.bind(t,22763))})));n.default=function(e){var n=e.bucketName,t=(0,d.TL)(),c=(0,s.useState)(null),f=(0,l.Z)(c,2),v=f[0],_=f[1],S=(0,s.useState)(!1),j=(0,l.Z)(S,2),b=j[0],g=j[1],C=(0,s.useState)([]),G=(0,l.Z)(C,2),k=G[0],m=G[1],A=(0,s.useState)(["",""]),N=(0,l.Z)(A,2),U=N[0],Z=N[1],I=(0,s.useState)(!1),P=(0,l.Z)(I,2),E=P[0],F=P[1],w=(0,p.Z)((function(e){if(e&&null!=(null===e||void 0===e?void 0:e.details)){var n,t;if(e.details.tags)return _(null===e||void 0===e||null===(n=e.details)||void 0===n?void 0:n.tags),void m(Object.keys(null===e||void 0===e||null===(t=e.details)||void 0===t?void 0:t.tags));_([]),m([])}}),(function(e){t((0,r.Ih)(e))})),y=(0,l.Z)(w,2),O=y[0],B=y[1],K=function(){B("GET","/api/v1/buckets/".concat(n))};return(0,s.useEffect)((function(){K()}),[n]),(0,x.jsxs)(o.xuv,{children:[O?(0,x.jsx)(o.aNw,{style:{width:16,height:16}}):null,(0,x.jsx)(i.s,{scopes:[u.Ft.S3_GET_BUCKET_TAGGING,u.Ft.S3_GET_ACTIONS],resource:n,children:(0,x.jsx)(o.xuv,{sx:{display:"flex",flexFlow:"column",marginTop:5},children:(0,x.jsxs)(o.xuv,{sx:{display:"flex",gap:8,flexWrap:"wrap"},children:[k&&k.map((function(e,t){var l=a()(v,"".concat(e),"");return""!==l?(0,x.jsx)(i.s,{scopes:[u.Ft.S3_PUT_BUCKET_TAGGING,u.Ft.S3_PUT_ACTIONS],resource:n,matchAll:!0,errorProps:{deleteIcon:null,onDelete:null},children:(0,x.jsx)(o.Vp9,{label:"".concat(e," : ").concat(l),id:"tag-".concat(e,"-").concat(l),onDelete:function(){!function(e,n){Z([e,n]),F(!0)}(e,l)}})},"chip-".concat(t)):null})),(0,x.jsx)(i.s,{scopes:[u.Ft.S3_PUT_BUCKET_TAGGING,u.Ft.S3_PUT_ACTIONS],resource:n,errorProps:{disabled:!0,onClick:null},children:(0,x.jsx)(o.Vp9,{label:"Add tag",icon:(0,x.jsx)(o.dtP,{}),id:"create-tag",variant:"outlined",onClick:function(){g(!0)},sx:{cursor:"pointer",maxWidth:90}})})]})})}),b&&(0,x.jsx)(T,{modalOpen:b,currentTags:v,bucketName:n,onCloseAndUpdate:function(e){g(!1),e&&K()}}),E&&(0,x.jsx)(h,{deleteOpen:E,currentTags:v,bucketName:n,onCloseAndUpdate:function(e){F(!1),e&&K()},selectedTag:U})]})}}}]);
//# sourceMappingURL=1705.a54c5659.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

View File

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

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([[2661],{82661:function(e,n,t){t.r(n),t.d(n,{default:function(){return E}});var l=t(1413),a=t(93433),i=t(29439),s=t(72791),u=t(29945),o=t(87995),c=t(81551),r=t(31776),d=t(66315),f=t(56028),x=t(61889),p=t(27391),v=t(30829),h=t(20068),j=t(68096),b=t(72455),m=t(67252),Z=t(11135),g=t(25787),C=t(23814),k=t(80184),S=(0,b.Z)((function(e){return(0,Z.Z)((0,l.Z)({},C.gM))}));function F(e){var n=S();return(0,k.jsx)(p.Z,(0,l.Z)({InputProps:{classes:n}},e))}var L=(0,g.Z)((function(e){return(0,Z.Z)((0,l.Z)((0,l.Z)({},C.YI),C.Hr))}))((function(e){var n=e.classes,t=e.id,a=e.name,o=e.onChange,c=e.options,r=e.label,d=e.tooltip,f=void 0===d?"":d,p=e.value,b=e.disabled,Z=void 0!==b&&b,g=(0,s.useState)(c[0]),C=(0,i.Z)(g,2),S=C[0],L=C[1];return(0,k.jsx)(s.Fragment,{children:(0,k.jsxs)(x.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==r&&(0,k.jsxs)(v.Z,{htmlFor:t,className:n.inputLabel,children:[(0,k.jsx)("span",{children:r}),""!==f&&(0,k.jsx)("div",{className:n.tooltipContainer,children:(0,k.jsx)(h.Z,{title:f,placement:"top-start",children:(0,k.jsx)("div",{className:n.tooltip,children:(0,k.jsx)(u.byK,{})})})})]}),(0,k.jsx)(j.Z,{fullWidth:!0,children:(0,k.jsx)(m.Z,{id:t,options:c,getOptionLabel:function(e){return e.label},isOptionEqualToValue:function(e){return e.value===p},disabled:Z,renderInput:function(e){return(0,k.jsx)(F,(0,l.Z)((0,l.Z)({},e),{},{name:a}))},value:S,onChange:function(e,n){n&&(o(n.value),L(n))},autoHighlight:!0})})]})})})),E=function(e){var n=e.open,t=e.selectedBucket,x=e.closeModalAndRefresh,p=(0,c.TL)(),v=(0,s.useState)(!1),h=(0,i.Z)(v,2),j=h[0],b=h[1],m=(0,s.useState)(""),Z=(0,i.Z)(m,2),g=Z[0],S=Z[1],F=(0,s.useState)(""),E=(0,i.Z)(F,2),I=E[0],O=E[1],D=(0,s.useState)(""),R=(0,i.Z)(D,2),w=R[0],P=R[1],T=(0,s.useState)([]),y=(0,i.Z)(T,2),z=y[0],B=y[1],N=(0,s.useState)([]),A=(0,i.Z)(N,2),M=A[0],W=A[1],H=(0,s.useCallback)((function(){b(!0),r.h.admin.arnList().then((function(e){null!==e.data.arns&&W(e.data.arns),b(!1)})).catch((function(e){b(!1),p((0,o.zb)(e))}))}),[p]);(0,s.useEffect)((function(){H()}),[H]);var G=[{label:"PUT - Object Uploaded",value:d.Ln.Put},{label:"GET - Object accessed",value:d.Ln.Get},{label:"DELETE - Object Deleted",value:d.Ln.Delete},{label:"REPLICA - Object Replicated",value:d.Ln.Replica},{label:"ILM - Object Transitioned",value:d.Ln.Ilm}],K=null===M||void 0===M?void 0:M.map((function(e){return{label:e,value:e}}));return(0,k.jsx)(f.Z,{modalOpen:n,onClose:function(){x()},title:"Subscribe To Bucket Events",titleIcon:(0,k.jsx)(u.c3W,{}),children:(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),j||(b(!0),r.h.buckets.createBucketEvent(t,{configuration:{arn:w,events:z,prefix:g,suffix:I},ignoreExisting:!0}).then((function(){b(!1),x()})).catch((function(e){b(!1),p((0,o.zb)(e))})))},children:(0,k.jsxs)(u.rjZ,{container:!0,children:[(0,k.jsxs)(u.rjZ,{item:!0,xs:12,sx:C.oO.formScrollable,children:[(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:(0,l.Z)((0,l.Z)({},C.DF.formFieldRow),{},{"& div div .MuiOutlinedInput-root":{padding:0}}),children:(0,k.jsx)(L,{onChange:function(e){P(e)},id:"select-access-policy",name:"select-access-policy",label:"ARN",value:w,options:K||[]})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.Wzg,{id:"prefix-input",name:"prefix-input",label:"Prefix",value:g,onChange:function(e){S(e.target.value)}})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.Wzg,{id:"suffix-input",name:"suffix-input",label:"Suffix",value:I,onChange:function(e){O(e.target.value)}})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.wQF,{columns:[{label:"Event",elementKey:"label"}],idField:"value",records:G,onSelect:function(e){var n=e.target,t=n.value,l=n.checked,i=(0,a.Z)(z);l?i.push(t):i=i.filter((function(e){return e!==t})),B(i)},selectedItems:z,noBackground:!0,customPaperHeight:"260px"})})]}),(0,k.jsxs)(u.rjZ,{item:!0,xs:12,sx:C.ID.modalButtonBar,children:[(0,k.jsx)(u.zxk,{id:"cancel-add-event",type:"button",variant:"regular",disabled:j,onClick:function(){x()},label:"Cancel"}),(0,k.jsx)(u.zxk,{id:"save-event",type:"submit",variant:"callAction",disabled:j||""===w||0===z.length,label:"Save"})]})]})})})}}}]);
//# sourceMappingURL=2661.f8e2dfa6.chunk.js.map
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2661],{82661:function(e,n,t){t.r(n),t.d(n,{default:function(){return E}});var l=t(1413),a=t(93433),i=t(29439),s=t(72791),u=t(29945),o=t(87995),c=t(81551),r=t(31776),d=t(66315),f=t(56028),x=t(61889),p=t(27391),v=t(30829),h=t(20068),j=t(68096),b=t(72455),m=t(35739),Z=t(11135),g=t(25787),C=t(23814),k=t(80184),S=(0,b.Z)((function(e){return(0,Z.Z)((0,l.Z)({},C.gM))}));function F(e){var n=S();return(0,k.jsx)(p.Z,(0,l.Z)({InputProps:{classes:n}},e))}var L=(0,g.Z)((function(e){return(0,Z.Z)((0,l.Z)((0,l.Z)({},C.YI),C.Hr))}))((function(e){var n=e.classes,t=e.id,a=e.name,o=e.onChange,c=e.options,r=e.label,d=e.tooltip,f=void 0===d?"":d,p=e.value,b=e.disabled,Z=void 0!==b&&b,g=(0,s.useState)(c[0]),C=(0,i.Z)(g,2),S=C[0],L=C[1];return(0,k.jsx)(s.Fragment,{children:(0,k.jsxs)(x.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==r&&(0,k.jsxs)(v.Z,{htmlFor:t,className:n.inputLabel,children:[(0,k.jsx)("span",{children:r}),""!==f&&(0,k.jsx)("div",{className:n.tooltipContainer,children:(0,k.jsx)(h.Z,{title:f,placement:"top-start",children:(0,k.jsx)("div",{className:n.tooltip,children:(0,k.jsx)(u.byK,{})})})})]}),(0,k.jsx)(j.Z,{fullWidth:!0,children:(0,k.jsx)(m.Z,{id:t,options:c,getOptionLabel:function(e){return e.label},isOptionEqualToValue:function(e){return e.value===p},disabled:Z,renderInput:function(e){return(0,k.jsx)(F,(0,l.Z)((0,l.Z)({},e),{},{name:a}))},value:S,onChange:function(e,n){n&&(o(n.value),L(n))},autoHighlight:!0})})]})})})),E=function(e){var n=e.open,t=e.selectedBucket,x=e.closeModalAndRefresh,p=(0,c.TL)(),v=(0,s.useState)(!1),h=(0,i.Z)(v,2),j=h[0],b=h[1],m=(0,s.useState)(""),Z=(0,i.Z)(m,2),g=Z[0],S=Z[1],F=(0,s.useState)(""),E=(0,i.Z)(F,2),I=E[0],O=E[1],D=(0,s.useState)(""),R=(0,i.Z)(D,2),w=R[0],P=R[1],T=(0,s.useState)([]),y=(0,i.Z)(T,2),z=y[0],B=y[1],N=(0,s.useState)([]),A=(0,i.Z)(N,2),M=A[0],W=A[1],H=(0,s.useCallback)((function(){b(!0),r.h.admin.arnList().then((function(e){null!==e.data.arns&&W(e.data.arns),b(!1)})).catch((function(e){b(!1),p((0,o.zb)(e))}))}),[p]);(0,s.useEffect)((function(){H()}),[H]);var G=[{label:"PUT - Object Uploaded",value:d.Ln.Put},{label:"GET - Object accessed",value:d.Ln.Get},{label:"DELETE - Object Deleted",value:d.Ln.Delete},{label:"REPLICA - Object Replicated",value:d.Ln.Replica},{label:"ILM - Object Transitioned",value:d.Ln.Ilm}],K=null===M||void 0===M?void 0:M.map((function(e){return{label:e,value:e}}));return(0,k.jsx)(f.Z,{modalOpen:n,onClose:function(){x()},title:"Subscribe To Bucket Events",titleIcon:(0,k.jsx)(u.c3W,{}),children:(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),j||(b(!0),r.h.buckets.createBucketEvent(t,{configuration:{arn:w,events:z,prefix:g,suffix:I},ignoreExisting:!0}).then((function(){b(!1),x()})).catch((function(e){b(!1),p((0,o.zb)(e))})))},children:(0,k.jsxs)(u.rjZ,{container:!0,children:[(0,k.jsxs)(u.rjZ,{item:!0,xs:12,sx:C.oO.formScrollable,children:[(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:(0,l.Z)((0,l.Z)({},C.DF.formFieldRow),{},{"& div div .MuiOutlinedInput-root":{padding:0}}),children:(0,k.jsx)(L,{onChange:function(e){P(e)},id:"select-access-policy",name:"select-access-policy",label:"ARN",value:w,options:K||[]})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.Wzg,{id:"prefix-input",name:"prefix-input",label:"Prefix",value:g,onChange:function(e){S(e.target.value)}})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.Wzg,{id:"suffix-input",name:"suffix-input",label:"Suffix",value:I,onChange:function(e){O(e.target.value)}})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.wQF,{columns:[{label:"Event",elementKey:"label"}],idField:"value",records:G,onSelect:function(e){var n=e.target,t=n.value,l=n.checked,i=(0,a.Z)(z);l?i.push(t):i=i.filter((function(e){return e!==t})),B(i)},selectedItems:z,noBackground:!0,customPaperHeight:"260px"})})]}),(0,k.jsxs)(u.rjZ,{item:!0,xs:12,sx:C.ID.modalButtonBar,children:[(0,k.jsx)(u.zxk,{id:"cancel-add-event",type:"button",variant:"regular",disabled:j,onClick:function(){x()},label:"Cancel"}),(0,k.jsx)(u.zxk,{id:"save-event",type:"submit",variant:"callAction",disabled:j||""===w||0===z.length,label:"Save"})]})]})})})}}}]);
//# sourceMappingURL=2661.7ae2f0e2.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

View File

@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2763],{22763:function(e,t,n){n.r(t);var r=n(1413),a=n(29439),o=n(72791),u=n(9505),i=n(23508),s=n(29945),c=n(87995),l=n(81551),d=n(80184);t.default=function(e){var t=e.deleteOpen,n=e.currentTags,f=e.selectedTag,p=e.onCloseAndUpdate,h=e.bucketName,g=(0,l.TL)(),k=(0,a.Z)(f,2),m=k[0],T=k[1],b=(0,u.Z)((function(){return p(!0)}),(function(e){return g((0,c.Ih)(e))})),w=(0,a.Z)(b,2),x=w[0],C=w[1];if(!f)return null;return(0,d.jsx)(i.Z,{title:"Delete Tag",confirmText:"Delete",isOpen:t,titleIcon:(0,d.jsx)(s.NvT,{}),isLoading:x,onConfirm:function(){var e=(0,r.Z)({},n);delete e[m],C("PUT","/api/v1/buckets/".concat(h,"/tags"),{tags:e})},onClose:function(){return p(!1)},confirmationContent:(0,d.jsxs)(o.Fragment,{children:["Are you sure you want to delete the tag"," ",(0,d.jsxs)("b",{style:{maxWidth:200,whiteSpace:"normal",wordWrap:"break-word"},children:[m," : ",T]})," ","?"]})})}}}]);
//# sourceMappingURL=2763.8a8f4e01.chunk.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"static/js/2763.8a8f4e01.chunk.js","mappings":"yNA0FA,UA1D6B,SAAHA,GAMI,IAL5BC,EAAUD,EAAVC,WACAC,EAAWF,EAAXE,YACAC,EAAWH,EAAXG,YACAC,EAAgBJ,EAAhBI,iBACAC,EAAUL,EAAVK,WAEMC,GAAWC,EAAAA,EAAAA,MACjBC,GAAAC,EAAAA,EAAAA,GAA2BN,EAAW,GAA/BO,EAAMF,EAAA,GAAEG,EAAQH,EAAA,GAOvBI,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAAST,GAAiB,EAAM,IAC/B,SAACU,GAAyB,OAC3CR,GAASS,EAAAA,EAAAA,IAAqBD,GAAM,IAGmCE,GAAAP,EAAAA,EAAAA,GAAAG,EAAA,GAAlEK,EAAaD,EAAA,GAAEE,EAAeF,EAAA,GAErC,IAAKb,EACH,OAAO,KAYT,OACEgB,EAAAA,EAAAA,KAACC,EAAAA,EAAa,CACZC,MAAK,aACLC,YAAa,SACbC,OAAQtB,EACRuB,WAAWL,EAAAA,EAAAA,KAACM,EAAAA,IAAiB,IAC7BC,UAAWT,EACXU,UAhBoB,WACtB,IAAMC,GAAWC,EAAAA,EAAAA,GAAA,GAAQ3B,UAClB0B,EAAYlB,GAEnBQ,EAAgB,MAAM,mBAADY,OAAqBzB,EAAU,SAAS,CAC3D0B,KAAMH,GAEV,EAUII,QAzBY,WAAH,OAAS5B,GAAiB,EAAO,EA0B1C6B,qBACEC,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,CAAC,0CACgC,KACxCF,EAAAA,EAAAA,MAAA,KACEG,MAAO,CACLC,SAAU,IACVC,WAAY,SACZC,SAAU,cACVJ,SAAA,CAED1B,EAAO,MAAIC,KACT,IAAI,QAMnB,C","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, { Fragment } from \"react\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { ConfirmDeleteIcon } from \"mds\";\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}\n\nconst DeleteBucketTagModal = ({\n deleteOpen,\n currentTags,\n selectedTag,\n onCloseAndUpdate,\n bucketName,\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 <Fragment>\n Are you sure you want to delete the tag{\" \"}\n <b\n style={{\n maxWidth: 200,\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n }}\n >\n {tagKey} : {tagLabel}\n </b>{\" \"}\n ?\n </Fragment>\n }\n />\n );\n};\n\nexport default DeleteBucketTagModal;\n"],"names":["_ref","deleteOpen","currentTags","selectedTag","onCloseAndUpdate","bucketName","dispatch","useAppDispatch","_selectedTag","_slicedToArray","tagKey","tagLabel","_useApi","useApi","err","setErrorSnackMessage","_useApi2","deleteLoading","invokeDeleteApi","_jsx","ConfirmDialog","title","confirmText","isOpen","titleIcon","ConfirmDeleteIcon","isLoading","onConfirm","cleanObject","_objectSpread","concat","tags","onClose","confirmationContent","_jsxs","Fragment","children","style","maxWidth","whiteSpace","wordWrap"],"sourceRoot":""}

View File

@@ -1,2 +0,0 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2763],{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(29945),d=n(87995),p=n(81551),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=2763.94aac2f6.chunk.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"static/js/2763.94aac2f6.chunk.js","mappings":"qQAiGA,WAAeA,EAAAA,EAAAA,IA1DA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,GAAC,CAAC,EACTC,EAAAA,IACF,GAuDL,EArD6B,SAAHC,GAOI,IAN5BC,EAAUD,EAAVC,WACAC,EAAWF,EAAXE,YACAC,EAAWH,EAAXG,YACAC,EAAgBJ,EAAhBI,iBACAC,EAAUL,EAAVK,WACAC,EAAON,EAAPM,QAEMC,GAAWC,EAAAA,EAAAA,MACjBC,GAAAC,EAAAA,EAAAA,GAA2BP,EAAW,GAA/BQ,EAAMF,EAAA,GAAEG,EAAQH,EAAA,GAOvBI,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAASV,GAAiB,EAAM,IAC/B,SAACW,GAAyB,OAC3CR,GAASS,EAAAA,EAAAA,IAAqBD,GAAM,IAGmCE,GAAAP,EAAAA,EAAAA,GAAAG,EAAA,GAAlEK,EAAaD,EAAA,GAAEE,EAAeF,EAAA,GAErC,IAAKd,EACH,OAAO,KAYT,OACEiB,EAAAA,EAAAA,KAACC,EAAAA,EAAa,CACZC,MAAK,aACLC,YAAa,SACbC,OAAQvB,EACRwB,WAAWL,EAAAA,EAAAA,KAACM,EAAAA,IAAiB,IAC7BC,UAAWT,EACXU,UAhBoB,WACtB,IAAMC,GAAW/B,EAAAA,EAAAA,GAAA,GAAQI,UAClB2B,EAAYlB,GAEnBQ,EAAgB,MAAM,mBAADW,OAAqBzB,EAAU,SAAS,CAC3D0B,KAAMF,GAEV,EAUIG,QAzBY,WAAH,OAAS5B,GAAiB,EAAO,EA0B1C6B,qBACEC,EAAAA,EAAAA,MAACC,EAAAA,EAAiB,CAAAC,SAAA,CAAC,0CACuB,KACxCF,EAAAA,EAAAA,MAAA,KAAGG,UAAW/B,EAAQgC,SAASF,SAAA,CAC5BzB,EAAO,MAAIC,KACT,IAAI,QAMnB,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 \"mds\";\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","_objectSpread","modalBasic","_ref","deleteOpen","currentTags","selectedTag","onCloseAndUpdate","bucketName","classes","dispatch","useAppDispatch","_selectedTag","_slicedToArray","tagKey","tagLabel","_useApi","useApi","err","setErrorSnackMessage","_useApi2","deleteLoading","invokeDeleteApi","_jsx","ConfirmDialog","title","confirmText","isOpen","titleIcon","ConfirmDeleteIcon","isLoading","onConfirm","cleanObject","concat","tags","onClose","confirmationContent","_jsxs","DialogContentText","children","className","wrapText"],"sourceRoot":""}

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