Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6bc4efbac1 | ||
|
|
cc0164a67b | ||
|
|
b968cc25ad | ||
|
|
d116a35a6d | ||
|
|
49f856bdd5 | ||
|
|
0d628f589a | ||
|
|
4387b2149f | ||
|
|
8cc602434e | ||
|
|
6411dc9504 | ||
|
|
32c34b0a11 | ||
|
|
6e8f5e0fc2 | ||
|
|
3ce377dbd1 | ||
|
|
ad502b9f18 | ||
|
|
fde186a5a3 | ||
|
|
0823f623c8 | ||
|
|
6cec113304 | ||
|
|
cd42d77a46 | ||
|
|
35907beaca | ||
|
|
a062a59288 | ||
|
|
842c2decd0 | ||
|
|
d1069ed359 | ||
|
|
6d81a1b1f8 | ||
|
|
b2fe478dae | ||
|
|
02ed6a6e8b | ||
|
|
1b271ab467 | ||
|
|
bacb5f8901 | ||
|
|
ae7371da95 | ||
|
|
60f5eb603b | ||
|
|
420ed00f55 | ||
|
|
b975871e9d | ||
|
|
803ffe2960 |
138
.github/workflows/jobs.yaml
vendored
138
.github/workflows/jobs.yaml
vendored
@@ -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
51
.github/workflows/vulncheck.yaml
vendored
Normal 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
|
||||
21
CHANGELOG.md
21
CHANGELOG.md
@@ -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
3
go.mod
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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>
|
||||
2
portal-ui/build/static/css/main.02c1b6fd.css
Normal file
2
portal-ui/build/static/css/main.02c1b6fd.css
Normal file
File diff suppressed because one or more lines are too long
1
portal-ui/build/static/css/main.02c1b6fd.css.map
Normal file
1
portal-ui/build/static/css/main.02c1b6fd.css.map
Normal file
File diff suppressed because one or more lines are too long
@@ -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
2
portal-ui/build/static/js/1329.79996c21.chunk.js
Normal file
2
portal-ui/build/static/js/1329.79996c21.chunk.js
Normal 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
|
||||
1
portal-ui/build/static/js/1329.79996c21.chunk.js.map
Normal file
1
portal-ui/build/static/js/1329.79996c21.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -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
2
portal-ui/build/static/js/1516.67512c50.chunk.js
Normal file
2
portal-ui/build/static/js/1516.67512c50.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
portal-ui/build/static/js/1516.67512c50.chunk.js.map
Normal file
1
portal-ui/build/static/js/1516.67512c50.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
2
portal-ui/build/static/js/1581.a911ee27.chunk.js
Normal file
2
portal-ui/build/static/js/1581.a911ee27.chunk.js
Normal 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
|
||||
1
portal-ui/build/static/js/1581.a911ee27.chunk.js.map
Normal file
1
portal-ui/build/static/js/1581.a911ee27.chunk.js.map
Normal file
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
2
portal-ui/build/static/js/1604.2dfa540d.chunk.js
Normal file
2
portal-ui/build/static/js/1604.2dfa540d.chunk.js
Normal 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
|
||||
1
portal-ui/build/static/js/1604.2dfa540d.chunk.js.map
Normal file
1
portal-ui/build/static/js/1604.2dfa540d.chunk.js.map
Normal file
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
2
portal-ui/build/static/js/1690.fa631de9.chunk.js
Normal file
2
portal-ui/build/static/js/1690.fa631de9.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
portal-ui/build/static/js/1690.fa631de9.chunk.js.map
Normal file
1
portal-ui/build/static/js/1690.fa631de9.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -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
2
portal-ui/build/static/js/1705.a54c5659.chunk.js
Normal file
2
portal-ui/build/static/js/1705.a54c5659.chunk.js
Normal 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
|
||||
1
portal-ui/build/static/js/1705.a54c5659.chunk.js.map
Normal file
1
portal-ui/build/static/js/1705.a54c5659.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
2
portal-ui/build/static/js/1715.b85c256f.chunk.js
Normal file
2
portal-ui/build/static/js/1715.b85c256f.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
portal-ui/build/static/js/1715.b85c256f.chunk.js.map
Normal file
1
portal-ui/build/static/js/1715.b85c256f.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
2
portal-ui/build/static/js/1829.0e821c64.chunk.js
Normal file
2
portal-ui/build/static/js/1829.0e821c64.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
portal-ui/build/static/js/1829.0e821c64.chunk.js.map
Normal file
1
portal-ui/build/static/js/1829.0e821c64.chunk.js.map
Normal file
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
2
portal-ui/build/static/js/2074.7e79443f.chunk.js
Normal file
2
portal-ui/build/static/js/2074.7e79443f.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
portal-ui/build/static/js/2074.7e79443f.chunk.js.map
Normal file
1
portal-ui/build/static/js/2074.7e79443f.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
2
portal-ui/build/static/js/2185.1940263e.chunk.js
Normal file
2
portal-ui/build/static/js/2185.1940263e.chunk.js
Normal 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
|
||||
1
portal-ui/build/static/js/2185.1940263e.chunk.js.map
Normal file
1
portal-ui/build/static/js/2185.1940263e.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -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
2
portal-ui/build/static/js/225.a62217d0.chunk.js
Normal file
2
portal-ui/build/static/js/225.a62217d0.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
portal-ui/build/static/js/225.a62217d0.chunk.js.map
Normal file
1
portal-ui/build/static/js/225.a62217d0.chunk.js.map
Normal file
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
2
portal-ui/build/static/js/247.2a7f8e21.chunk.js
Normal file
2
portal-ui/build/static/js/247.2a7f8e21.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
portal-ui/build/static/js/247.2a7f8e21.chunk.js.map
Normal file
1
portal-ui/build/static/js/247.2a7f8e21.chunk.js.map
Normal file
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
2
portal-ui/build/static/js/2603.19110315.chunk.js
Normal file
2
portal-ui/build/static/js/2603.19110315.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
portal-ui/build/static/js/2603.19110315.chunk.js.map
Normal file
1
portal-ui/build/static/js/2603.19110315.chunk.js.map
Normal file
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
@@ -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
|
||||
1
portal-ui/build/static/js/2661.7ae2f0e2.chunk.js.map
Normal file
1
portal-ui/build/static/js/2661.7ae2f0e2.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
portal-ui/build/static/js/2763.8a8f4e01.chunk.js
Normal file
2
portal-ui/build/static/js/2763.8a8f4e01.chunk.js
Normal 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
|
||||
1
portal-ui/build/static/js/2763.8a8f4e01.chunk.js.map
Normal file
1
portal-ui/build/static/js/2763.8a8f4e01.chunk.js.map
Normal 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":""}
|
||||
@@ -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
|
||||
@@ -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
Reference in New Issue
Block a user