Compare commits

...

58 Commits

Author SHA1 Message Date
Cesar N
74030aa067 Release 0.42.0 (#3148) 2023-12-06 16:04:01 -08:00
Cesar N
07b8c745e6 Remove prints from delete handlers (#3147) 2023-12-06 16:59:10 -06:00
Prakash Senthil Vel
6767bfa2d2 add encoded filename as part of delete api url (#3141) 2023-12-06 14:28:46 -08:00
Prakash Senthil Vel
607d94fef4 add encoded filename as part of upload url (#3140) 2023-12-06 14:14:25 -08:00
Alex
83b060ef94 Updated govuln check to use latest version (#3146)
Updated go vuln check to use latest version

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-12-06 15:13:22 -06:00
dependabot[bot]
cb14cb94ce Bump @adobe/css-tools from 4.3.1 to 4.3.2 in /portal-ui (#3139) 2023-12-06 11:31:55 -06:00
Daniel Valdivia
2b9de49fbe Upgrade to Go 1.21 (#3142)
Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com>
2023-12-01 18:23:24 -06:00
Alex
290f273bdf Updated mds version to v0.13.0 (#3138) 2023-11-28 17:11:54 -08:00
Prakash Senthil Vel
7b43779fb0 Fix share option should not be enabled for a prefix (#3135) 2023-11-28 18:45:24 -06:00
Prakash Senthil Vel
924c38faa6 Fix actions on a del marker in object list view (#3134) 2023-11-23 22:32:08 -06:00
Prakash Senthil Vel
e4d5f9610e access keys ui details improvement and edit (#3116) 2023-11-21 22:08:23 -06:00
jinapurapu
04e9cb0ac8 Enable Create Path button on BrowserBreadcrumbs if User can create subPath (#3131) 2023-11-17 13:21:07 -06:00
jinapurapu
da53daff37 Add UI to select number of non-current versions subject to ILM expiry rule (#3088) 2023-11-16 13:34:04 -06:00
Alex
8c26eff2c1 Added matchMedia mock function for Testing purposes (#3130)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-11-15 15:51:55 -06:00
Alex
044c265423 Enabled Dark Mode in Console (#3129)
- Dark mode will be tied to system settings if not set
- Dark mode will be stored in Application storage once set

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-11-15 13:33:05 -06:00
jinapurapu
0053658d5d Added OIDC docs and blog to helpMenu (#3127) 2023-11-15 09:30:39 -06:00
Alex
99cf3b378f Removed MUI dependencies from console (#3126)
- Updated DateTime Selector
- Updated last dependency functions
- Removed mui theming tools

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-11-14 10:22:47 -06:00
jinapurapu
78293eab62 Added new blog and video content to HelpMenu (#3124) 2023-11-13 12:11:55 -06:00
Cesar N
1a84be5782 Ignore server file from swagger-gen make command (#3123) 2023-11-06 14:01:02 -08:00
Alex
178f82b675 Release v0.41.0 (#3121)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-11-02 16:30:50 -07:00
Alex
ec5fbbcd1e Updated Login Error Callback page to mds (#3120)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-11-01 15:21:24 -06:00
Alex
78164054d4 Updated HelpMenu components to use only mds subcomponents (#3119)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-11-01 09:54:14 -06:00
Alex
6d5d11d5b4 Updated common bars (#3118)
- Updated common Loading Bars
- Updated Restart MinIO notification bar

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-11-01 09:53:42 -06:00
nreisingercres
9e3b93d385 Fix days selector to ignore daylight savings (#3117) 2023-10-31 14:30:10 -06:00
jiuker
d77cf93193 update the madmin-go dep (#3115) 2023-10-31 11:03:26 -06:00
Alex
2cca3f3722 Updated Logs Page to use mds components (#3114)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-31 10:12:23 -06:00
Anis Eleuch
36d96a1791 Support resolving of listen addrs to multiple IPv4/IPv6 (#3100)
If you specify --console-address "myaddress:9001" while myaddress can be
resolved to one IPv4 address and another IPv6 address, Console ignores
the IPv6 address. This commit fixes that.

Authored-by: Anis Elleuch <anis@min.io>
2023-10-30 17:47:16 -07:00
Alex
82e34a5df2 Replaced MenuDropdown components with mds variables (#3113)
- Replaced menu dropdown in Files Button
- Input Unit Menu dropdown replacement
- Migrated Download Widget dropdown

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-30 16:46:22 -06:00
Alex
7b83f4b1dc Restored ENV var display support in Console Configuration pages. (#3112)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-30 14:38:33 -06:00
Andreas Auernhammer
7d9910d1ca update docker file to ubi9 base image (#3109)
This commit improves and updates the docker file
to the UBI 9 base image.

Signed-off-by: Andreas Auernhammer <github@aead.dev>
2023-10-30 13:20:43 -06:00
Alex
7a63f6da56 Migrated Object Manager components to mds (#3108) 2023-10-27 06:36:01 -07:00
Alex
0043833f36 Migrated Date Selectors & Chart Tooltips styles (#3107)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-26 22:41:40 -06:00
Alex
3ad3bccadb Autocomplete component replacement (#3104)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-26 11:54:34 -06:00
Alex
39e94c890e Replaced Notification components with mds variants (#3103)
Replaced Notification components for mds variants

- Updated Warning Message components
- Replaced Snackbar component

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-25 11:38:35 -06:00
Alex
701039454a MDS Console improvements (#3102)
- Removed mui badge component
- Updated icons screen
- Migrated Wizard Component
- Improved modals styles
- Updated KMS Status page

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-24 14:09:22 -06:00
Alex
ec77a03d7c Replace missing icons from mui (#3101)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-24 09:28:33 -07:00
Alex
8dbad84a58 Improved error handling in Object Browser (#3097)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-23 10:17:44 -06:00
Cesar N
1767a37162 Add share link exp api (#3095) 2023-10-19 16:03:14 -05:00
Javier Adriel
622c3a067a Add global params for limit and offset (#3096) 2023-10-19 15:38:31 -05:00
Cesar N
4389548b64 Update swagger generated files with latest swagger version (#3094) 2023-10-19 12:49:38 -07:00
Alex
8cb0f1e558 Replaced mui accordion with mds component (#3089)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-17 10:32:23 -05:00
Alex
faafb77c73 Updated mds version to v0.9.6 (#3090)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-16 18:17:05 -05:00
Alex
0ecd1c73c1 Updated styling methods to remove mui and replace it with mds (#3085)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-13 12:02:29 -05:00
Shubhendu
88bf40f9a6 Use the new golang version 1.21.3 (#3087)
Signed-off-by: Shubhendu Ram Tripathi <shubhendu@minio.io>
2023-10-12 11:50:15 -05:00
dependabot[bot]
a025163b34 Bump golang.org/x/net from 0.15.0 to 0.17.0 (#3086) 2023-10-12 11:50:00 -05:00
Alex
07c80462b7 mui Grid component replacement (#3084)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-11 13:59:04 -07:00
Alex
79ac2277d4 Migrated mui Box to use mds component (#3082)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-11 13:58:33 -07:00
Alex
1c27bee9d0 Removed FormSwitchWrapper component (#3081)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-10 12:29:24 -05:00
Alex
56dc58b0b8 Components cleanup (#3079)
Removed old component wrappers and replaced them with their mds equivalent components:

- InputBoxWrapper
- CommentBoxWrapper
- CheckboxWrapper
- PredefinedList

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-09 14:41:23 -05:00
Adrian Najera
4018addd79 Fix: cache clientIP in GetConsoleHTTPClient (#3056) 2023-10-09 14:40:54 -05:00
jinapurapu
429dfb4314 Add HelpTips to Console (#3054) 2023-10-06 15:38:55 -05:00
Alex
1d7bb0bb2b Removed mui support from PasswordSelector component (#3078)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-06 14:09:44 -05:00
Alex
476eb673bb Updated FileSelector and removed old component (#3076)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-06 09:12:13 -07:00
Alex
71681b710c Removed deprecated components and replaced them with mds ones (#3077)
- SectionTitle
- AButton
- ScreenTitle

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-06 09:11:48 -07:00
Alex
fb02a7da06 Updated README file (#3074)
Updated README file

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-05 12:31:06 -05:00
MinIO Bot
5fdc341138 mds-released-v0.9.3 (#3073) 2023-10-04 19:17:16 -05:00
Alex
15de6caf75 Fixed Failing integration test (#3071)
Added a wait time after bucket creation to list the new buckets list
2023-10-04 09:09:55 -07:00
Alex
77bc2d5006 Updated Playwright tests (#3070)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
2023-10-03 20:09:33 -05:00
726 changed files with 10781 additions and 11043 deletions

View File

@@ -1169,7 +1169,7 @@ jobs:
go tool cover -func=all.out | grep total > tmp2
result=`cat tmp2 | awk 'END {print $3}'`
result=${result%\%}
threshold=71.4
threshold=71.3
echo "Result:"
echo "$result%"
if (( $(echo "$result >= $threshold" |bc -l) )); then

View File

@@ -22,7 +22,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.21.1
go-version: 1.21.5
check-latest: true
- name: Get official govulncheck
run: go install golang.org/x/vuln/cmd/govulncheck@latest
@@ -36,8 +36,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [1.21.1]
os: [ubuntu-latest]
go-version: [ 1.21.5 ]
os: [ ubuntu-latest ]
steps:
- name: Check out code
uses: actions/checkout@v3

View File

@@ -2,6 +2,33 @@
# Changelog
## Release v0.42.0
Features:
- Introducing Dark Mode
Bug Fix:
- Fixed vulnerabilities
- Changes on Upload and Delete object urls
- Fixed blocking subpath creation if not enough permissions
- Removed share object option at prefix level
- Updated allowed actions for a deleted object
## Release v0.41.0
Features:
- Updated pages to use mds components
- support for resolving IPv4/IPv6
Bug Fix:
- Remove cache for ClientIP
- Fixed override environment variables display in settings page
- Fixed daylight savings time support in share modal
## Release v0.40.0
Features:
@@ -9,7 +36,6 @@ Features:
- Updated OpenID page
- Added New bucket event types support
Bug Fix:
- Fixed crash in access keys page
@@ -23,7 +49,6 @@ Features:
- Migrated metrics page to mds
- Migrated Register page to mds
Bug Fix:
- Fixed LDAP configuration page issues

View File

@@ -1,17 +1,10 @@
FROM --platform=linux/amd64 registry.access.redhat.com/ubi8/ubi-minimal:8.7 as build
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.2 as build
RUN microdnf update --nodocs && microdnf install ca-certificates --nodocs
RUN curl -s -q https://raw.githubusercontent.com/minio/kes/master/LICENSE -o LICENSE
RUN curl -s -q https://raw.githubusercontent.com/minio/kes/master/CREDITS -o CREDITS
FROM registry.access.redhat.com/ubi8/ubi-micro:8.7
FROM registry.access.redhat.com/ubi9/ubi-micro:9.2
# On RHEL the certificate bundle is located at:
# - /etc/pki/tls/certs/ca-bundle.crt (RHEL 6)
# - /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem (RHEL 7)
COPY --from=build /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/pki/ca-trust/extracted/pem/
COPY --from=build LICENSE /LICENSE
COPY --from=build CREDITS /CREDITS
ARG TAG
LABEL name="MinIO" \
vendor="MinIO Inc <dev@min.io>" \
@@ -21,7 +14,14 @@ LABEL name="MinIO" \
summary="A graphical user interface for MinIO" \
description="MinIO object storage is fundamentally different. Designed for performance and the S3 API, it is 100% open-source. MinIO is ideal for large, private cloud environments with stringent security requirements and delivers mission-critical availability across a diverse range of workloads."
EXPOSE 9090
# On RHEL the certificate bundle is located at:
# - /etc/pki/tls/certs/ca-bundle.crt (RHEL 6)
# - /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem (RHEL 7)
COPY --from=build /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/pki/ca-trust/extracted/pem/
COPY LICENSE /LICENSE
COPY CREDITS /CREDITS
COPY console /console
EXPOSE 9090
ENTRYPOINT ["/console"]

View File

@@ -55,6 +55,7 @@ swagger-console:
@swagger generate server -A console --main-package=management --server-package=restapi --exclude-main -P models.Principal -f ./swagger.yml -r NOTICE
@echo "Generating typescript api"
@npx swagger-typescript-api -p ./swagger.yml -o ./portal-ui/src/api -n consoleApi.ts
@git restore restapi/server.go
assets:

View File

@@ -12,48 +12,25 @@ A graphical user interface for [MinIO](https://github.com/minio/minio)
**Table of Contents**
- [MinIO Console](#minio-console)
- [Install](#install)
- [Binary Releases](#binary-releases)
- [Docker](#docker)
- [Build from source](#build-from-source)
- [Setup](#setup)
- [1. Create a user `console` using `mc`](#1-create-a-user-console-using-mc)
- [2. Create a policy for `console` with admin access to all resources (for testing)](#2-create-a-policy-for-console-with-admin-access-to-all-resources-for-testing)
- [3. Set the policy for the new `console` user](#3-set-the-policy-for-the-new-console-user)
- [Start Console service:](#start-console-service)
- [Start Console service with TLS:](#start-console-service-with-tls)
- [Connect Console to a Minio using TLS and a self-signed certificate](#connect-console-to-a-minio-using-tls-and-a-self-signed-certificate)
- [Install](#install)
- [Build from source](#build-from-source)
- [Setup](#setup)
- [1. Create a user `console` using `mc`](#1-create-a-user-console-using-mc)
- [2. Create a policy for `console` with admin access to all resources (for testing)](#2-create-a-policy-for-console-with-admin-access-to-all-resources-for-testing)
- [3. Set the policy for the new `console` user](#3-set-the-policy-for-the-new-console-user)
- [Start Console service:](#start-console-service)
- [Start Console service with TLS:](#start-console-service-with-tls)
- [Connect Console to a Minio using TLS and a self-signed certificate](#connect-console-to-a-minio-using-tls-and-a-self-signed-certificate)
- [Contribute to console Project](#contribute-to-console-project)
<!-- markdown-toc end -->
## Install
### Binary Releases
MinIO Console is a library that provides a management and browser UI overlay for the MinIO Server.
The standalone binary installation path has been removed.
| OS | ARCH | Binary |
|:-------:|:-------:|:----------------------------------------------------------------------------------------------------:|
| Linux | amd64 | [linux-amd64](https://github.com/minio/console/releases/latest/download/console-linux-amd64) |
| Linux | arm64 | [linux-arm64](https://github.com/minio/console/releases/latest/download/console-linux-arm64) |
| Linux | ppc64le | [linux-ppc64le](https://github.com/minio/console/releases/latest/download/console-linux-ppc64le) |
| Linux | s390x | [linux-s390x](https://github.com/minio/console/releases/latest/download/console-linux-s390x) |
| Apple | amd64 | [darwin-amd64](https://github.com/minio/console/releases/latest/download/console-darwin-amd64) |
| Windows | amd64 | [windows-amd64](https://github.com/minio/console/releases/latest/download/console-windows-amd64.exe) |
You can also verify the binary with [minisign](https://jedisct1.github.io/minisign/) by downloading the
corresponding [`.minisig`](https://github.com/minio/console/releases/latest) signature file. Then run:
```
minisign -Vm console-<OS>-<ARCH> -P RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav
```
### Docker
Pull the latest release via:
```
docker pull minio/console
```
In case a Console standalone binary is needed, it can be generated by building this package from source as follows:
### Build from source

27
go.mod
View File

@@ -1,6 +1,6 @@
module github.com/minio/console
go 1.20
go 1.21
require (
github.com/blang/semver/v4 v4.0.0
@@ -21,8 +21,8 @@ require (
github.com/minio/cli v1.24.2
github.com/minio/highwayhash v1.0.2
github.com/minio/kes v0.22.3
github.com/minio/madmin-go/v3 v3.0.18
github.com/minio/mc v0.0.0-20230907224855-9dcef8825fae
github.com/minio/madmin-go/v3 v3.0.29
github.com/minio/mc v0.0.0-20231030184332-9f2fb2b6a9f8
github.com/minio/minio-go/v7 v7.0.64-0.20230920204636-e783c9ba11b3
github.com/minio/selfupdate v0.6.0
github.com/minio/websocket v1.6.0
@@ -32,8 +32,8 @@ require (
github.com/stretchr/testify v1.8.4
github.com/tidwall/gjson v1.16.0
github.com/unrolled/secure v1.13.0
golang.org/x/crypto v0.13.0
golang.org/x/net v0.15.0
golang.org/x/crypto v0.14.0
golang.org/x/net v0.17.0
golang.org/x/oauth2 v0.12.0
// Added to include security fix for
// https://github.com/golang/go/issues/56152
@@ -43,13 +43,14 @@ require (
require (
github.com/mattn/go-ieproxy v0.0.11
github.com/minio/pkg/v2 v2.0.1
github.com/minio/pkg/v2 v2.0.2
)
require (
aead.dev/mem v0.2.0 // indirect
aead.dev/minisign v0.2.0 // indirect
github.com/VividCortex/ewma v1.2.0 // indirect
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
@@ -126,6 +127,7 @@ require (
github.com/rivo/tview v0.0.0-20230909130259-ba6a2a345459 // indirect
github.com/rivo/uniseg v0.4.4 // indirect
github.com/rjeczalik/notify v0.9.3 // indirect
github.com/safchain/ethtool v0.3.0 // indirect
github.com/shirou/gopsutil/v3 v3.23.8 // indirect
github.com/shoenig/go-m1cpu v0.1.6 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
@@ -134,6 +136,7 @@ require (
github.com/tinylib/msgp v1.1.8 // indirect
github.com/tklauser/go-sysconf v0.3.12 // indirect
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/vbauerster/mpb/v8 v8.6.2 // indirect
github.com/yusufpapurcu/wmi v1.2.3 // indirect
go.etcd.io/etcd/api/v3 v3.5.9 // indirect
go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect
@@ -142,13 +145,13 @@ require (
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.25.0 // indirect
golang.org/x/sync v0.3.0 // indirect
golang.org/x/sys v0.12.0 // indirect
golang.org/x/term v0.12.0 // indirect
golang.org/x/sys v0.13.0 // indirect
golang.org/x/term v0.13.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20230911183012-2d3300fd4832 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230911183012-2d3300fd4832 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230911183012-2d3300fd4832 // indirect
google.golang.org/grpc v1.58.0 // indirect
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230913181813-007df8e322eb // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb // indirect
google.golang.org/grpc v1.58.3 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/h2non/filetype.v1 v1.0.5 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect

55
go.sum
View File

@@ -7,12 +7,15 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow=
github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4=
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8=
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
@@ -181,6 +184,7 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxv
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@@ -241,17 +245,18 @@ github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA
github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
github.com/minio/kes v0.22.3 h1:aSPW9uCMVaLax5POxvoQJxCU4MNo/KzMXA7WfmC/lRw=
github.com/minio/kes v0.22.3/go.mod h1:wnhmdwWX2rpurNPKn3yDFImg2wuc7j3e+IU5rVkR9UY=
github.com/minio/madmin-go/v3 v3.0.18 h1:HuuuGf+uv6O3wlbx/VgIPjXGtVQXMrNk9qcrtE5VusU=
github.com/minio/madmin-go/v3 v3.0.18/go.mod h1:B2EgtEGrfWx+AkXv+OAcS6IHwoIJcd1p75QfDPSPd6Q=
github.com/minio/mc v0.0.0-20230907224855-9dcef8825fae h1:LteOWEz6ZnP8hm6AEScDmnyxyJLUe7v1f/cPHmOpkV8=
github.com/minio/mc v0.0.0-20230907224855-9dcef8825fae/go.mod h1:M/RN4OtnloGZLgLd/HicgzoEQdYXYz0taYqZzoBqVrc=
github.com/minio/madmin-go/v3 v3.0.29 h1:3bNLArtxIFud5wyb5/DnF5DGLBvcSJyzCA44EclX1Ow=
github.com/minio/madmin-go/v3 v3.0.29/go.mod h1:4QN2NftLSV7MdlT50dkrenOMmNVHluxTvlqJou3hte8=
github.com/minio/mc v0.0.0-20231030184332-9f2fb2b6a9f8 h1:3WUMQABG8FytpYHRtLHjrnztcUB09hlIrh7rQI9H+tY=
github.com/minio/mc v0.0.0-20231030184332-9f2fb2b6a9f8/go.mod h1:SoPU55ntH5d6IEq6jRBn6e/7SpwI/eSNdBDWmH7nwHk=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
github.com/minio/minio-go/v7 v7.0.64-0.20230920204636-e783c9ba11b3 h1:0DtfDxg67S/IRcGnIBKgzyjZ0GXyk3jN1Fy5/+8CQlM=
github.com/minio/minio-go/v7 v7.0.64-0.20230920204636-e783c9ba11b3/go.mod h1:Q6X7Qjb7WMhvG65qKf4gUgA5XaiSox74kR1uAEjxRS4=
github.com/minio/mux v1.9.0 h1:dWafQFyEfGhJvK6AwLOt83bIG5bxKxKJnKMCi0XAaoA=
github.com/minio/pkg/v2 v2.0.1 h1:MI3xMGCxoN5EEBRp98uEU5J0LlaF+8fLPtL8oHTHLX0=
github.com/minio/pkg/v2 v2.0.1/go.mod h1:6xTAr5M9yobpUroXAAaTrGJ9fhOZIqKYOT0I87u2yZ4=
github.com/minio/mux v1.9.0/go.mod h1:1pAare17ZRL5GpmNL+9YmqHoWnLmMZF9C/ioUCfy0BQ=
github.com/minio/pkg/v2 v2.0.2 h1:cytXmC21fBNS+0NVKEE5FuYmQfY+HFTqis6Kkj3U9ac=
github.com/minio/pkg/v2 v2.0.2/go.mod h1:6xTAr5M9yobpUroXAAaTrGJ9fhOZIqKYOT0I87u2yZ4=
github.com/minio/selfupdate v0.6.0 h1:i76PgT0K5xO9+hjzKcacQtO7+MjJ4JKA8Ak8XQ9DDwU=
github.com/minio/selfupdate v0.6.0/go.mod h1:bO02GTIPCMQFTEvE5h4DjYB58bCoZ35XLeBf0buTDdM=
github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
@@ -328,8 +333,11 @@ github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc=
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/safchain/ethtool v0.3.0 h1:gimQJpsI6sc1yIqP/y8GYgiXn/NjgvpM0RNoWLVVmP0=
github.com/safchain/ethtool v0.3.0/go.mod h1:SA9BwrgyAqNo7M+uaL6IYbxpm5wk3L7Mm6ocLW+CJUs=
github.com/secure-io/sio-go v0.3.1 h1:dNvY9awjabXTYGsTF1PiCySl9Ltofk9GA3VdWlo7rRc=
github.com/secure-io/sio-go v0.3.1/go.mod h1:+xbkjDzPjwh4Axd07pRKSNriS9SCiYksWnZqdnfpQxs=
github.com/shirou/gopsutil/v3 v3.23.8 h1:xnATPiybo6GgdRoC4YoGnxXZFRc3dqQTGi73oLvvBrE=
@@ -376,6 +384,8 @@ github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+F
github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
github.com/unrolled/secure v1.13.0 h1:sdr3Phw2+f8Px8HE5sd1EHdj1aV3yUwed/uZXChLFsk=
github.com/unrolled/secure v1.13.0/go.mod h1:BmF5hyM6tXczk3MpQkFf1hpKSRqCyhqcbiQtiAF7+40=
github.com/vbauerster/mpb/v8 v8.6.2 h1:9EhnJGQRtvgDVCychJgR96EDCOqgg2NsMuk5JUcX4DA=
github.com/vbauerster/mpb/v8 v8.6.2/go.mod h1:oVJ7T+dib99kZ/VBjoBaC8aPXiSAihnzuKmotuihyFo=
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g=
@@ -401,6 +411,7 @@ go.mongodb.org/mongo-driver v1.10.0/go.mod h1:wsihk0Kdgv8Kqu1Anit4sfK+22vSFbUrAV
go.mongodb.org/mongo-driver v1.12.1 h1:nLkghSU8fQNaK7oUmDhQFsnrtcoNy7Z6LVFKsEecqgE=
go.mongodb.org/mongo-driver v1.12.1/go.mod h1:/rGBTebI3XYboVmgz+Wv3Bcbl3aD0QF9zl6kDDw18rQ=
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c=
@@ -416,8 +427,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20211209193657-4570a0811e8b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
@@ -435,8 +446,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4=
golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -482,16 +493,16 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -520,14 +531,14 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto v0.0.0-20230911183012-2d3300fd4832 h1:/30npZKtUjXqju7ZA2MsvpkGKD4mQFtf+zPnZasABjg=
google.golang.org/genproto v0.0.0-20230911183012-2d3300fd4832/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
google.golang.org/genproto/googleapis/api v0.0.0-20230911183012-2d3300fd4832 h1:4E7rZzBdR5LmiZx6n47Dg4AjH8JLhMQWywsYqvXNLcs=
google.golang.org/genproto/googleapis/api v0.0.0-20230911183012-2d3300fd4832/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230911183012-2d3300fd4832 h1:o4LtQxebKIJ4vkzyhtD2rfUNZ20Zf0ik5YVP5E7G7VE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230911183012-2d3300fd4832/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o=
google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb h1:XFBgcDwm7irdHTbz4Zk2h7Mh+eis4nfJEFQFYzJzuIA=
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
google.golang.org/genproto/googleapis/api v0.0.0-20230913181813-007df8e322eb h1:lK0oleSc7IQsUxO3U5TjL9DWlsxpEBemh+zpB7IqhWI=
google.golang.org/genproto/googleapis/api v0.0.0-20230913181813-007df8e322eb/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb h1:Isk1sSH7bovx8Rti2wZK0UZF6oraBDK74uoyLEEVFN0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ=
google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=

View File

@@ -28,7 +28,6 @@ import (
"github.com/go-openapi/swag"
iampolicy "github.com/minio/pkg/v2/policy"
"github.com/stretchr/testify/assert"
)
@@ -52,6 +51,21 @@ func TestAddServiceAccount(t *testing.T) {
requestDataAddServiceAccount := map[string]interface{}{
"accessKey": "testuser1",
"secretKey": "password",
"policy": `{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}`,
}
requestDataJSON, _ := json.Marshal(requestDataAddServiceAccount)
@@ -75,75 +89,6 @@ func TestAddServiceAccount(t *testing.T) {
assert.Equal(201, response.StatusCode, "Status Code is incorrect")
}
requestDataPolicy := map[string]interface{}{
"policy": `
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}`,
}
requestDataJSON, _ = json.Marshal(requestDataPolicy)
requestDataBody = bytes.NewReader(requestDataJSON)
request, err = http.NewRequest(
"PUT", "http://localhost:9090/api/v1/service-accounts/"+base64.StdEncoding.EncodeToString([]byte("testuser1"))+"/policy", requestDataBody)
if err != nil {
log.Println(err)
return
}
request.Header.Add("Cookie", fmt.Sprintf("token=%s", token))
request.Header.Add("Content-Type", "application/json")
response, err = client.Do(request)
if err != nil {
log.Println(err)
return
}
if response != nil {
fmt.Println("POST StatusCode:", response.StatusCode)
assert.Equal(200, response.StatusCode, "Status Code is incorrect")
}
// Test policy
request, err = http.NewRequest(
"GET", "http://localhost:9090/api/v1/service-accounts/"+base64.StdEncoding.EncodeToString([]byte("testuser1"))+"/policy", nil)
if err != nil {
log.Println(err)
return
}
request.Header.Add("Cookie", fmt.Sprintf("token=%s", token))
request.Header.Add("Content-Type", "application/json")
response, err = client.Do(request)
if err != nil {
log.Println(err)
return
}
if response != nil {
fmt.Println("POST StatusCode:", response.StatusCode)
assert.Equal(200, response.StatusCode, "Status Code is incorrect")
buf := new(bytes.Buffer)
buf.ReadFrom(response.Body)
var actual *iampolicy.Policy
var expected *iampolicy.Policy
json.Unmarshal(buf.Bytes(), actual)
policy, err := json.Marshal(requestDataAddServiceAccount["policy"])
if err != nil {
log.Println(err)
return
}
json.Unmarshal(policy, expected)
assert.Equal(expected, actual)
}
// {{baseUrl}}/user?name=proident velit
// Investiga como se borra en el browser.
request, err = http.NewRequest(

View File

@@ -21,6 +21,7 @@ package integration
import (
"bytes"
"context"
"encoding/base64"
"encoding/json"
"errors"
"fmt"
@@ -395,9 +396,10 @@ func UploadAnObject(bucketName, fileName string) (*http.Response, error) {
contentType + boundaryEnd
arrayOfBytes := []byte(file)
requestDataBody := bytes.NewReader(arrayOfBytes)
apiURL := "http://localhost:9090/api/v1/buckets/" + bucketName + "/objects/upload" + "?prefix=" + base64.StdEncoding.EncodeToString([]byte(fileName))
request, err := http.NewRequest(
"POST",
"http://localhost:9090/api/v1/buckets/"+bucketName+"/objects/upload",
apiURL,
requestDataBody,
)
if err != nil {
@@ -421,8 +423,9 @@ func DeleteObject(bucketName, path string, recursive, allVersions bool) (*http.R
DELETE:
{{baseUrl}}/buckets/bucketName/objects?path=Y2VzYXJpby50eHQ=&recursive=false&all_versions=false
*/
url := "http://localhost:9090/api/v1/buckets/" + bucketName + "/objects?path=" +
path + "&recursive=" + strconv.FormatBool(recursive) + "&all_versions=" +
prefixEncoded := base64.StdEncoding.EncodeToString([]byte(path))
url := "http://localhost:9090/api/v1/buckets/" + bucketName + "/objects?prefix=" +
prefixEncoded + "&recursive=" + strconv.FormatBool(recursive) + "&all_versions=" +
strconv.FormatBool(allVersions)
request, err := http.NewRequest(
"DELETE",
@@ -488,9 +491,11 @@ func PutObjectsRetentionStatus(bucketName, prefix, versionID, mode, expires stri
}
requestDataJSON, _ := json.Marshal(requestDataAdd)
requestDataBody := bytes.NewReader(requestDataJSON)
apiURL := "http://localhost:9090/api/v1/buckets/" + bucketName + "/objects/retention?prefix=" + prefix + "&version_id=" + versionID
request, err := http.NewRequest(
"PUT",
"http://localhost:9090/api/v1/buckets/"+bucketName+"/objects/retention?prefix="+prefix+"&version_id="+versionID,
apiURL,
requestDataBody,
)
if err != nil {
@@ -726,9 +731,10 @@ func PutObjectsLegalholdStatus(bucketName, prefix, status, versionID string) (*h
}
requestDataJSON, _ := json.Marshal(requestDataAdd)
requestDataBody := bytes.NewReader(requestDataJSON)
apiURL := "http://localhost:9090/api/v1/buckets/" + bucketName + "/objects/legalhold?prefix=" + prefix + "&version_id=" + versionID
request, err := http.NewRequest(
"PUT",
"http://localhost:9090/api/v1/buckets/"+bucketName+"/objects/legalhold?prefix="+prefix+"&version_id="+versionID,
apiURL,
requestDataBody,
)
if err != nil {
@@ -747,8 +753,8 @@ func TestPutObjectsLegalholdStatus(t *testing.T) {
// Variables
assert := assert.New(t)
bucketName := "testputobjectslegalholdstatus"
fileName := "testputobjectslegalholdstatus.txt"
prefix := "dGVzdHB1dG9iamVjdHNsZWdhbGhvbGRzdGF0dXMudHh0" // encoded base64
objName := "testputobjectslegalholdstatus.txt" // // encoded base64 of testputobjectslegalholdstatus.txt = dGVzdHB1dG9iamVjdHNsZWdhbGhvbGRzdGF0dXMudHh0
objectNameEncoded := "dGVzdHB1dG9iamVjdHNsZWdhbGhvbGRzdGF0dXMudHh0"
status := "enabled"
// 1. Create bucket
@@ -759,7 +765,7 @@ func TestPutObjectsLegalholdStatus(t *testing.T) {
// 2. Add object
uploadResponse, uploadError := UploadAnObject(
bucketName,
fileName,
objName,
)
assert.Nil(uploadError)
if uploadError != nil {
@@ -776,7 +782,7 @@ func TestPutObjectsLegalholdStatus(t *testing.T) {
}
// Get versionID
listResponse, _ := ListObjects(bucketName, prefix, "true")
listResponse, _ := ListObjects(bucketName, "", "true")
bodyBytes, _ := io.ReadAll(listResponse.Body)
listObjs := models.ListObjectsResponse{}
err := json.Unmarshal(bodyBytes, &listObjs)
@@ -814,7 +820,7 @@ func TestPutObjectsLegalholdStatus(t *testing.T) {
// 3. Put Objects Legal Status
putResponse, putError := PutObjectsLegalholdStatus(
bucketName,
prefix,
objectNameEncoded,
status,
tt.args.versionID,
)
@@ -1634,7 +1640,6 @@ func TestDeleteObject(t *testing.T) {
assert := assert.New(t)
bucketName := "testdeleteobjectbucket1"
fileName := "testdeleteobjectfile"
path := "dGVzdGRlbGV0ZW9iamVjdGZpbGUxLnR4dA==" // fileName encoded base64
numberOfFiles := 2
// 1. Create bucket
@@ -1657,8 +1662,9 @@ func TestDeleteObject(t *testing.T) {
}
}
objPathFull := fileName + "1.txt" // would be encoded in DeleteObject util method.
// 3. Delete only one object from the bucket.
deleteResponse, deleteError := DeleteObject(bucketName, path, false, false)
deleteResponse, deleteError := DeleteObject(bucketName, objPathFull, false, false)
assert.Nil(deleteError)
if deleteError != nil {
log.Println(deleteError)
@@ -2166,6 +2172,9 @@ func TestListBuckets(t *testing.T) {
}
}
// Waiting to retrieve the new list of buckets
time.Sleep(3 * time.Second)
// 2. List buckets
listBucketsResponse, listBucketsError := ListBuckets()
assert.Nil(listBucketsError)

View File

@@ -46,6 +46,9 @@ type AddBucketLifecycle struct {
// Required in case of expiry_date or transition fields are not set. it defines an expiry days for ILM
ExpiryDays int32 `json:"expiry_days,omitempty"`
// Non required, can be set in case of expiration is enabled
NewerNoncurrentversionExpirationVersions int32 `json:"newer_noncurrentversion_expiration_versions,omitempty"`
// Non required, can be set in case of expiration is enabled
NoncurrentversionExpirationDays int32 `json:"noncurrentversion_expiration_days,omitempty"`

View File

@@ -228,6 +228,11 @@ func (m *AdminInfoResponse) ContextValidate(ctx context.Context, formats strfmt.
func (m *AdminInfoResponse) contextValidateBackend(ctx context.Context, formats strfmt.Registry) error {
if m.Backend != nil {
if swag.IsZero(m.Backend) { // not required
return nil
}
if err := m.Backend.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("backend")
@@ -246,6 +251,11 @@ func (m *AdminInfoResponse) contextValidateServers(ctx context.Context, formats
for i := 0; i < len(m.Servers); i++ {
if m.Servers[i] != nil {
if swag.IsZero(m.Servers[i]) { // not required
return nil
}
if err := m.Servers[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("servers" + "." + strconv.Itoa(i))
@@ -266,6 +276,11 @@ func (m *AdminInfoResponse) contextValidateWidgets(ctx context.Context, formats
for i := 0; i < len(m.Widgets); i++ {
if m.Widgets[i] != nil {
if swag.IsZero(m.Widgets[i]) { // not required
return nil
}
if err := m.Widgets[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("widgets" + "." + strconv.Itoa(i))

View File

@@ -185,6 +185,11 @@ func (m *Bucket) ContextValidate(ctx context.Context, formats strfmt.Registry) e
func (m *Bucket) contextValidateAccess(ctx context.Context, formats strfmt.Registry) error {
if m.Access != nil {
if swag.IsZero(m.Access) { // not required
return nil
}
if err := m.Access.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("access")
@@ -201,6 +206,11 @@ func (m *Bucket) contextValidateAccess(ctx context.Context, formats strfmt.Regis
func (m *Bucket) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error {
if m.Details != nil {
if swag.IsZero(m.Details) { // not required
return nil
}
if err := m.Details.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("details")
@@ -217,6 +227,11 @@ func (m *Bucket) contextValidateDetails(ctx context.Context, formats strfmt.Regi
func (m *Bucket) contextValidateRwAccess(ctx context.Context, formats strfmt.Registry) error {
if m.RwAccess != nil {
if swag.IsZero(m.RwAccess) { // not required
return nil
}
if err := m.RwAccess.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rw_access")
@@ -322,6 +337,11 @@ func (m *BucketDetails) ContextValidate(ctx context.Context, formats strfmt.Regi
func (m *BucketDetails) contextValidateQuota(ctx context.Context, formats strfmt.Registry) error {
if m.Quota != nil {
if swag.IsZero(m.Quota) { // not required
return nil
}
if err := m.Quota.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("details" + "." + "quota")

View File

@@ -92,6 +92,11 @@ func (m *BucketEncryptionRequest) ContextValidate(ctx context.Context, formats s
func (m *BucketEncryptionRequest) contextValidateEncType(ctx context.Context, formats strfmt.Registry) error {
if m.EncType != nil {
if swag.IsZero(m.EncType) { // not required
return nil
}
if err := m.EncType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("encType")

View File

@@ -95,6 +95,7 @@ func (m *BucketEventRequest) ContextValidate(ctx context.Context, formats strfmt
func (m *BucketEventRequest) contextValidateConfiguration(ctx context.Context, formats strfmt.Registry) error {
if m.Configuration != nil {
if err := m.Configuration.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("configuration")

View File

@@ -99,6 +99,11 @@ func (m *BucketLifecycleResponse) contextValidateLifecycle(ctx context.Context,
for i := 0; i < len(m.Lifecycle); i++ {
if m.Lifecycle[i] != nil {
if swag.IsZero(m.Lifecycle[i]) { // not required
return nil
}
if err := m.Lifecycle[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("lifecycle" + "." + strconv.Itoa(i))

View File

@@ -99,6 +99,11 @@ func (m *BucketReplicationResponse) contextValidateRules(ctx context.Context, fo
for i := 0; i < len(m.Rules); i++ {
if m.Rules[i] != nil {
if swag.IsZero(m.Rules[i]) { // not required
return nil
}
if err := m.Rules[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rules" + "." + strconv.Itoa(i))

View File

@@ -224,6 +224,11 @@ func (m *BucketReplicationRule) ContextValidate(ctx context.Context, formats str
func (m *BucketReplicationRule) contextValidateDestination(ctx context.Context, formats strfmt.Registry) error {
if m.Destination != nil {
if swag.IsZero(m.Destination) { // not required
return nil
}
if err := m.Destination.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("destination")

View File

@@ -108,6 +108,11 @@ func (m *BucketVersioningResponse) contextValidateExcludedPrefixes(ctx context.C
for i := 0; i < len(m.ExcludedPrefixes); i++ {
if m.ExcludedPrefixes[i] != nil {
if swag.IsZero(m.ExcludedPrefixes[i]) { // not required
return nil
}
if err := m.ExcludedPrefixes[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("excludedPrefixes" + "." + strconv.Itoa(i))

View File

@@ -102,6 +102,11 @@ func (m *Configuration) contextValidateKeyValues(ctx context.Context, formats st
for i := 0; i < len(m.KeyValues); i++ {
if m.KeyValues[i] != nil {
if swag.IsZero(m.KeyValues[i]) { // not required
return nil
}
if err := m.KeyValues[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("key_values" + "." + strconv.Itoa(i))

View File

@@ -95,6 +95,11 @@ func (m *ConfigurationKV) ContextValidate(ctx context.Context, formats strfmt.Re
func (m *ConfigurationKV) contextValidateEnvOverride(ctx context.Context, formats strfmt.Registry) error {
if m.EnvOverride != nil {
if swag.IsZero(m.EnvOverride) { // not required
return nil
}
if err := m.EnvOverride.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("env_override")

View File

@@ -43,6 +43,9 @@ type ExpirationResponse struct {
// delete marker
DeleteMarker bool `json:"delete_marker,omitempty"`
// newer noncurrent expiration versions
NewerNoncurrentExpirationVersions int64 `json:"newer_noncurrent_expiration_versions,omitempty"`
// noncurrent expiration days
NoncurrentExpirationDays int64 `json:"noncurrent_expiration_days,omitempty"`
}

View File

@@ -117,6 +117,10 @@ func (m *GetBucketRetentionConfig) ContextValidate(ctx context.Context, formats
func (m *GetBucketRetentionConfig) contextValidateMode(ctx context.Context, formats strfmt.Registry) error {
if swag.IsZero(m.Mode) { // not required
return nil
}
if err := m.Mode.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("mode")
@@ -131,6 +135,10 @@ func (m *GetBucketRetentionConfig) contextValidateMode(ctx context.Context, form
func (m *GetBucketRetentionConfig) contextValidateUnit(ctx context.Context, formats strfmt.Registry) error {
if swag.IsZero(m.Unit) { // not required
return nil
}
if err := m.Unit.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("unit")

View File

@@ -102,6 +102,11 @@ func (m *IamPolicy) contextValidateStatement(ctx context.Context, formats strfmt
for i := 0; i < len(m.Statement); i++ {
if m.Statement[i] != nil {
if swag.IsZero(m.Statement[i]) { // not required
return nil
}
if err := m.Statement[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("statement" + "." + strconv.Itoa(i))

View File

@@ -99,6 +99,11 @@ func (m *IdpListConfigurationsResponse) contextValidateResults(ctx context.Conte
for i := 0; i < len(m.Results); i++ {
if m.Results[i] != nil {
if swag.IsZero(m.Results[i]) { // not required
return nil
}
if err := m.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("results" + "." + strconv.Itoa(i))

View File

@@ -111,6 +111,11 @@ func (m *IdpServerConfiguration) contextValidateInfo(ctx context.Context, format
for i := 0; i < len(m.Info); i++ {
if m.Info[i] != nil {
if swag.IsZero(m.Info[i]) { // not required
return nil
}
if err := m.Info[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("info" + "." + strconv.Itoa(i))

View File

@@ -99,6 +99,11 @@ func (m *KmsAPIsResponse) contextValidateResults(ctx context.Context, formats st
for i := 0; i < len(m.Results); i++ {
if m.Results[i] != nil {
if swag.IsZero(m.Results[i]) { // not required
return nil
}
if err := m.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("results" + "." + strconv.Itoa(i))

View File

@@ -104,6 +104,11 @@ func (m *KmsDescribeSelfIdentityResponse) ContextValidate(ctx context.Context, f
func (m *KmsDescribeSelfIdentityResponse) contextValidatePolicy(ctx context.Context, formats strfmt.Registry) error {
if m.Policy != nil {
if swag.IsZero(m.Policy) { // not required
return nil
}
if err := m.Policy.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("policy")

View File

@@ -99,6 +99,11 @@ func (m *KmsListIdentitiesResponse) contextValidateResults(ctx context.Context,
for i := 0; i < len(m.Results); i++ {
if m.Results[i] != nil {
if swag.IsZero(m.Results[i]) { // not required
return nil
}
if err := m.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("results" + "." + strconv.Itoa(i))

View File

@@ -99,6 +99,11 @@ func (m *KmsListKeysResponse) contextValidateResults(ctx context.Context, format
for i := 0; i < len(m.Results); i++ {
if m.Results[i] != nil {
if swag.IsZero(m.Results[i]) { // not required
return nil
}
if err := m.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("results" + "." + strconv.Itoa(i))

View File

@@ -99,6 +99,11 @@ func (m *KmsListPoliciesResponse) contextValidateResults(ctx context.Context, fo
for i := 0; i < len(m.Results); i++ {
if m.Results[i] != nil {
if swag.IsZero(m.Results[i]) { // not required
return nil
}
if err := m.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("results" + "." + strconv.Itoa(i))

View File

@@ -309,6 +309,11 @@ func (m *KmsMetricsResponse) contextValidateLatencyHistogram(ctx context.Context
for i := 0; i < len(m.LatencyHistogram); i++ {
if m.LatencyHistogram[i] != nil {
if swag.IsZero(m.LatencyHistogram[i]) { // not required
return nil
}
if err := m.LatencyHistogram[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("latencyHistogram" + "." + strconv.Itoa(i))

View File

@@ -105,6 +105,11 @@ func (m *KmsStatusResponse) contextValidateEndpoints(ctx context.Context, format
for i := 0; i < len(m.Endpoints); i++ {
if m.Endpoints[i] != nil {
if swag.IsZero(m.Endpoints[i]) { // not required
return nil
}
if err := m.Endpoints[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("endpoints" + "." + strconv.Itoa(i))

View File

@@ -176,6 +176,11 @@ func (m *LdapEntities) contextValidateGroups(ctx context.Context, formats strfmt
for i := 0; i < len(m.Groups); i++ {
if m.Groups[i] != nil {
if swag.IsZero(m.Groups[i]) { // not required
return nil
}
if err := m.Groups[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("groups" + "." + strconv.Itoa(i))
@@ -196,6 +201,11 @@ func (m *LdapEntities) contextValidatePolicies(ctx context.Context, formats strf
for i := 0; i < len(m.Policies); i++ {
if m.Policies[i] != nil {
if swag.IsZero(m.Policies[i]) { // not required
return nil
}
if err := m.Policies[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("policies" + "." + strconv.Itoa(i))
@@ -216,6 +226,11 @@ func (m *LdapEntities) contextValidateUsers(ctx context.Context, formats strfmt.
for i := 0; i < len(m.Users); i++ {
if m.Users[i] != nil {
if swag.IsZero(m.Users[i]) { // not required
return nil
}
if err := m.Users[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("users" + "." + strconv.Itoa(i))

View File

@@ -102,6 +102,11 @@ func (m *ListAccessRulesResponse) contextValidateAccessRules(ctx context.Context
for i := 0; i < len(m.AccessRules); i++ {
if m.AccessRules[i] != nil {
if swag.IsZero(m.AccessRules[i]) { // not required
return nil
}
if err := m.AccessRules[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("accessRules" + "." + strconv.Itoa(i))

View File

@@ -102,6 +102,11 @@ func (m *ListBucketEventsResponse) contextValidateEvents(ctx context.Context, fo
for i := 0; i < len(m.Events); i++ {
if m.Events[i] != nil {
if swag.IsZero(m.Events[i]) { // not required
return nil
}
if err := m.Events[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("events" + "." + strconv.Itoa(i))

View File

@@ -102,6 +102,11 @@ func (m *ListBucketsResponse) contextValidateBuckets(ctx context.Context, format
for i := 0; i < len(m.Buckets); i++ {
if m.Buckets[i] != nil {
if swag.IsZero(m.Buckets[i]) { // not required
return nil
}
if err := m.Buckets[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("buckets" + "." + strconv.Itoa(i))

View File

@@ -102,6 +102,11 @@ func (m *ListConfigResponse) contextValidateConfigurations(ctx context.Context,
for i := 0; i < len(m.Configurations); i++ {
if m.Configurations[i] != nil {
if swag.IsZero(m.Configurations[i]) { // not required
return nil
}
if err := m.Configurations[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("configurations" + "." + strconv.Itoa(i))

View File

@@ -102,6 +102,11 @@ func (m *ListObjectsResponse) contextValidateObjects(ctx context.Context, format
for i := 0; i < len(m.Objects); i++ {
if m.Objects[i] != nil {
if swag.IsZero(m.Objects[i]) { // not required
return nil
}
if err := m.Objects[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("objects" + "." + strconv.Itoa(i))

View File

@@ -102,6 +102,11 @@ func (m *ListPoliciesResponse) contextValidatePolicies(ctx context.Context, form
for i := 0; i < len(m.Policies); i++ {
if m.Policies[i] != nil {
if swag.IsZero(m.Policies[i]) { // not required
return nil
}
if err := m.Policies[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("policies" + "." + strconv.Itoa(i))

View File

@@ -102,6 +102,11 @@ func (m *ListRemoteBucketsResponse) contextValidateBuckets(ctx context.Context,
for i := 0; i < len(m.Buckets); i++ {
if m.Buckets[i] != nil {
if swag.IsZero(m.Buckets[i]) { // not required
return nil
}
if err := m.Buckets[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("buckets" + "." + strconv.Itoa(i))

View File

@@ -99,6 +99,11 @@ func (m *ListUsersResponse) contextValidateUsers(ctx context.Context, formats st
for i := 0; i < len(m.Users); i++ {
if m.Users[i] != nil {
if swag.IsZero(m.Users[i]) { // not required
return nil
}
if err := m.Users[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("users" + "." + strconv.Itoa(i))

View File

@@ -163,6 +163,11 @@ func (m *LoginDetails) contextValidateRedirectRules(ctx context.Context, formats
for i := 0; i < len(m.RedirectRules); i++ {
if m.RedirectRules[i] != nil {
if swag.IsZero(m.RedirectRules[i]) { // not required
return nil
}
if err := m.RedirectRules[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("redirectRules" + "." + strconv.Itoa(i))

View File

@@ -98,6 +98,11 @@ func (m *LoginRequest) ContextValidate(ctx context.Context, formats strfmt.Regis
func (m *LoginRequest) contextValidateFeatures(ctx context.Context, formats strfmt.Registry) error {
if m.Features != nil {
if swag.IsZero(m.Features) { // not required
return nil
}
if err := m.Features.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("features")

View File

@@ -170,6 +170,11 @@ func (m *MakeBucketRequest) ContextValidate(ctx context.Context, formats strfmt.
func (m *MakeBucketRequest) contextValidateQuota(ctx context.Context, formats strfmt.Registry) error {
if m.Quota != nil {
if swag.IsZero(m.Quota) { // not required
return nil
}
if err := m.Quota.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("quota")
@@ -186,6 +191,11 @@ func (m *MakeBucketRequest) contextValidateQuota(ctx context.Context, formats st
func (m *MakeBucketRequest) contextValidateRetention(ctx context.Context, formats strfmt.Registry) error {
if m.Retention != nil {
if swag.IsZero(m.Retention) { // not required
return nil
}
if err := m.Retention.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("retention")
@@ -202,6 +212,11 @@ func (m *MakeBucketRequest) contextValidateRetention(ctx context.Context, format
func (m *MakeBucketRequest) contextValidateVersioning(ctx context.Context, formats strfmt.Registry) error {
if m.Versioning != nil {
if swag.IsZero(m.Versioning) { // not required
return nil
}
if err := m.Versioning.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("versioning")

View File

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

View File

@@ -244,6 +244,11 @@ func (m *MultiBucketReplication) contextValidateBucketsRelation(ctx context.Cont
for i := 0; i < len(m.BucketsRelation); i++ {
if m.BucketsRelation[i] != nil {
if swag.IsZero(m.BucketsRelation[i]) { // not required
return nil
}
if err := m.BucketsRelation[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("bucketsRelation" + "." + strconv.Itoa(i))

View File

@@ -99,6 +99,11 @@ func (m *MultiBucketResponseState) contextValidateReplicationState(ctx context.C
for i := 0; i < len(m.ReplicationState); i++ {
if m.ReplicationState[i] != nil {
if swag.IsZero(m.ReplicationState[i]) { // not required
return nil
}
if err := m.ReplicationState[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("replicationState" + "." + strconv.Itoa(i))

View File

@@ -99,6 +99,11 @@ func (m *MultiLifecycleResult) contextValidateResults(ctx context.Context, forma
for i := 0; i < len(m.Results); i++ {
if m.Results[i] != nil {
if swag.IsZero(m.Results[i]) { // not required
return nil
}
if err := m.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("results" + "." + strconv.Itoa(i))

View File

@@ -99,6 +99,11 @@ func (m *NotifEndpointResponse) contextValidateNotificationEndpoints(ctx context
for i := 0; i < len(m.NotificationEndpoints); i++ {
if m.NotificationEndpoints[i] != nil {
if swag.IsZero(m.NotificationEndpoints[i]) { // not required
return nil
}
if err := m.NotificationEndpoints[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("notification_endpoints" + "." + strconv.Itoa(i))

View File

@@ -120,6 +120,10 @@ func (m *NotificationConfig) contextValidateEvents(ctx context.Context, formats
for i := 0; i < len(m.Events); i++ {
if swag.IsZero(m.Events[i]) { // not required
return nil
}
if err := m.Events[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("events" + "." + strconv.Itoa(i))

View File

@@ -130,6 +130,10 @@ func (m *NotificationDeleteRequest) contextValidateEvents(ctx context.Context, f
for i := 0; i < len(m.Events); i++ {
if swag.IsZero(m.Events[i]) { // not required
return nil
}
if err := m.Events[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("events" + "." + strconv.Itoa(i))

View File

@@ -130,6 +130,7 @@ func (m *NotificationEndpoint) ContextValidate(ctx context.Context, formats strf
func (m *NotificationEndpoint) contextValidateService(ctx context.Context, formats strfmt.Registry) error {
if m.Service != nil {
if err := m.Service.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("service")

View File

@@ -92,6 +92,10 @@ func (m *NotificationEndpointItem) ContextValidate(ctx context.Context, formats
func (m *NotificationEndpointItem) contextValidateService(ctx context.Context, formats strfmt.Registry) error {
if swag.IsZero(m.Service) { // not required
return nil
}
if err := m.Service.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("service")

View File

@@ -166,6 +166,11 @@ func (m *ObjectBucketLifecycle) ContextValidate(ctx context.Context, formats str
func (m *ObjectBucketLifecycle) contextValidateExpiration(ctx context.Context, formats strfmt.Registry) error {
if m.Expiration != nil {
if swag.IsZero(m.Expiration) { // not required
return nil
}
if err := m.Expiration.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("expiration")
@@ -184,6 +189,11 @@ func (m *ObjectBucketLifecycle) contextValidateTags(ctx context.Context, formats
for i := 0; i < len(m.Tags); i++ {
if m.Tags[i] != nil {
if swag.IsZero(m.Tags[i]) { // not required
return nil
}
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
@@ -202,6 +212,11 @@ func (m *ObjectBucketLifecycle) contextValidateTags(ctx context.Context, formats
func (m *ObjectBucketLifecycle) contextValidateTransition(ctx context.Context, formats strfmt.Registry) error {
if m.Transition != nil {
if swag.IsZero(m.Transition) { // not required
return nil
}
if err := m.Transition.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("transition")

View File

@@ -149,6 +149,7 @@ func (m *PutBucketRetentionRequest) ContextValidate(ctx context.Context, formats
func (m *PutBucketRetentionRequest) contextValidateMode(ctx context.Context, formats strfmt.Registry) error {
if m.Mode != nil {
if err := m.Mode.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("mode")
@@ -165,6 +166,7 @@ func (m *PutBucketRetentionRequest) contextValidateMode(ctx context.Context, for
func (m *PutBucketRetentionRequest) contextValidateUnit(ctx context.Context, formats strfmt.Registry) error {
if m.Unit != nil {
if err := m.Unit.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("unit")

View File

@@ -96,6 +96,7 @@ func (m *PutObjectLegalHoldRequest) ContextValidate(ctx context.Context, formats
func (m *PutObjectLegalHoldRequest) contextValidateStatus(ctx context.Context, formats strfmt.Registry) error {
if m.Status != nil {
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")

View File

@@ -116,6 +116,7 @@ func (m *PutObjectRetentionRequest) ContextValidate(ctx context.Context, formats
func (m *PutObjectRetentionRequest) contextValidateMode(ctx context.Context, formats strfmt.Registry) error {
if m.Mode != nil {
if err := m.Mode.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("mode")

View File

@@ -104,6 +104,11 @@ func (m *ReleaseInfo) ContextValidate(ctx context.Context, formats strfmt.Regist
func (m *ReleaseInfo) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error {
if m.Metadata != nil {
if swag.IsZero(m.Metadata) { // not required
return nil
}
if err := m.Metadata.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("metadata")

View File

@@ -99,6 +99,11 @@ func (m *ReleaseListResponse) contextValidateResults(ctx context.Context, format
for i := 0; i < len(m.Results); i++ {
if m.Results[i] != nil {
if swag.IsZero(m.Results[i]) { // not required
return nil
}
if err := m.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("results" + "." + strconv.Itoa(i))

View File

@@ -134,6 +134,11 @@ func (m *ReleaseMetadata) ContextValidate(ctx context.Context, formats strfmt.Re
func (m *ReleaseMetadata) contextValidateAuthor(ctx context.Context, formats strfmt.Registry) error {
if m.Author != nil {
if swag.IsZero(m.Author) { // not required
return nil
}
if err := m.Author.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("author")

View File

@@ -105,6 +105,11 @@ func (m *ResultTarget) contextValidateResult(ctx context.Context, formats strfmt
for i := 0; i < len(m.Result); i++ {
if m.Result[i] != nil {
if swag.IsZero(m.Result[i]) { // not required
return nil
}
if err := m.Result[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("result" + "." + strconv.Itoa(i))

View File

@@ -99,6 +99,11 @@ func (m *RewindResponse) contextValidateObjects(ctx context.Context, formats str
for i := 0; i < len(m.Objects); i++ {
if m.Objects[i] != nil {
if swag.IsZero(m.Objects[i]) { // not required
return nil
}
if err := m.Objects[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("objects" + "." + strconv.Itoa(i))

View File

@@ -120,6 +120,11 @@ func (m *ServerProperties) contextValidateDrives(ctx context.Context, formats st
for i := 0; i < len(m.Drives); i++ {
if m.Drives[i] != nil {
if swag.IsZero(m.Drives[i]) { // not required
return nil
}
if err := m.Drives[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("drives" + "." + strconv.Itoa(i))

85
models/service_account.go Normal file
View File

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

View File

@@ -34,6 +34,18 @@ import (
// swagger:model serviceAccountRequest
type ServiceAccountRequest struct {
// comment
Comment string `json:"comment,omitempty"`
// description
Description string `json:"description,omitempty"`
// expiry
Expiry string `json:"expiry,omitempty"`
// name
Name string `json:"name,omitempty"`
// policy to be applied to the Service Account if any
Policy string `json:"policy,omitempty"`
}

View File

@@ -37,6 +37,18 @@ type ServiceAccountRequestCreds struct {
// access key
AccessKey string `json:"accessKey,omitempty"`
// comment
Comment string `json:"comment,omitempty"`
// description
Description string `json:"description,omitempty"`
// expiry
Expiry string `json:"expiry,omitempty"`
// name
Name string `json:"name,omitempty"`
// policy to be applied to the Service Account if any
Policy string `json:"policy,omitempty"`

View File

@@ -71,6 +71,11 @@ func (m ServiceAccounts) ContextValidate(ctx context.Context, formats strfmt.Reg
for i := 0; i < len(m); i++ {
if m[i] != nil {
if swag.IsZero(m[i]) { // not required
return nil
}
if err := m[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName(strconv.Itoa(i))

View File

@@ -196,6 +196,11 @@ func (m *SessionResponse) contextValidateAllowResources(ctx context.Context, for
for i := 0; i < len(m.AllowResources); i++ {
if m.AllowResources[i] != nil {
if swag.IsZero(m.AllowResources[i]) { // not required
return nil
}
if err := m.AllowResources[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("allowResources" + "." + strconv.Itoa(i))
@@ -214,6 +219,11 @@ func (m *SessionResponse) contextValidateAllowResources(ctx context.Context, for
func (m *SessionResponse) contextValidateEnvConstants(ctx context.Context, formats strfmt.Registry) error {
if m.EnvConstants != nil {
if swag.IsZero(m.EnvConstants) { // not required
return nil
}
if err := m.EnvConstants.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("envConstants")

View File

@@ -99,6 +99,7 @@ func (m *SetBucketPolicyRequest) ContextValidate(ctx context.Context, formats st
func (m *SetBucketPolicyRequest) contextValidateAccess(ctx context.Context, formats strfmt.Registry) error {
if m.Access != nil {
if err := m.Access.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("access")

View File

@@ -112,6 +112,11 @@ func (m *SetConfigRequest) contextValidateKeyValues(ctx context.Context, formats
for i := 0; i < len(m.KeyValues); i++ {
if m.KeyValues[i] != nil {
if swag.IsZero(m.KeyValues[i]) { // not required
return nil
}
if err := m.KeyValues[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("key_values" + "." + strconv.Itoa(i))

View File

@@ -133,6 +133,7 @@ func (m *SetNotificationEndpointResponse) ContextValidate(ctx context.Context, f
func (m *SetNotificationEndpointResponse) contextValidateService(ctx context.Context, formats strfmt.Registry) error {
if m.Service != nil {
if err := m.Service.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("service")

View File

@@ -128,6 +128,10 @@ func (m *SetPolicyMultipleNameRequest) contextValidateGroups(ctx context.Context
for i := 0; i < len(m.Groups); i++ {
if swag.IsZero(m.Groups[i]) { // not required
return nil
}
if err := m.Groups[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("groups" + "." + strconv.Itoa(i))
@@ -146,6 +150,10 @@ func (m *SetPolicyMultipleNameRequest) contextValidateUsers(ctx context.Context,
for i := 0; i < len(m.Users); i++ {
if swag.IsZero(m.Users[i]) { // not required
return nil
}
if err := m.Users[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("users" + "." + strconv.Itoa(i))

View File

@@ -130,6 +130,7 @@ func (m *SetPolicyNameRequest) ContextValidate(ctx context.Context, formats strf
func (m *SetPolicyNameRequest) contextValidateEntityType(ctx context.Context, formats strfmt.Registry) error {
if m.EntityType != nil {
if err := m.EntityType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("entityType")

View File

@@ -113,6 +113,7 @@ func (m *SetPolicyRequest) ContextValidate(ctx context.Context, formats strfmt.R
func (m *SetPolicyRequest) contextValidateEntityType(ctx context.Context, formats strfmt.Registry) error {
if m.EntityType != nil {
if err := m.EntityType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("entityType")

View File

@@ -71,6 +71,11 @@ func (m SiteReplicationAddRequest) ContextValidate(ctx context.Context, formats
for i := 0; i < len(m); i++ {
if m[i] != nil {
if swag.IsZero(m[i]) { // not required
return nil
}
if err := m[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName(strconv.Itoa(i))

View File

@@ -108,6 +108,11 @@ func (m *SiteReplicationInfoResponse) contextValidateSites(ctx context.Context,
for i := 0; i < len(m.Sites); i++ {
if m.Sites[i] != nil {
if swag.IsZero(m.Sites[i]) { // not required
return nil
}
if err := m.Sites[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("sites" + "." + strconv.Itoa(i))

View File

@@ -102,6 +102,11 @@ func (m *StartProfilingList) contextValidateStartResults(ctx context.Context, fo
for i := 0; i < len(m.StartResults); i++ {
if m.StartResults[i] != nil {
if swag.IsZero(m.StartResults[i]) { // not required
return nil
}
if err := m.StartResults[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("startResults" + "." + strconv.Itoa(i))

View File

@@ -108,6 +108,11 @@ func (m *SubnetLoginResponse) contextValidateOrganizations(ctx context.Context,
for i := 0; i < len(m.Organizations); i++ {
if m.Organizations[i] != nil {
if swag.IsZero(m.Organizations[i]) { // not required
return nil
}
if err := m.Organizations[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("organizations" + "." + strconv.Itoa(i))

View File

@@ -243,6 +243,11 @@ func (m *Tier) ContextValidate(ctx context.Context, formats strfmt.Registry) err
func (m *Tier) contextValidateAzure(ctx context.Context, formats strfmt.Registry) error {
if m.Azure != nil {
if swag.IsZero(m.Azure) { // not required
return nil
}
if err := m.Azure.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("azure")
@@ -259,6 +264,11 @@ func (m *Tier) contextValidateAzure(ctx context.Context, formats strfmt.Registry
func (m *Tier) contextValidateGcs(ctx context.Context, formats strfmt.Registry) error {
if m.Gcs != nil {
if swag.IsZero(m.Gcs) { // not required
return nil
}
if err := m.Gcs.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("gcs")
@@ -275,6 +285,11 @@ func (m *Tier) contextValidateGcs(ctx context.Context, formats strfmt.Registry)
func (m *Tier) contextValidateMinio(ctx context.Context, formats strfmt.Registry) error {
if m.Minio != nil {
if swag.IsZero(m.Minio) { // not required
return nil
}
if err := m.Minio.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("minio")
@@ -291,6 +306,11 @@ func (m *Tier) contextValidateMinio(ctx context.Context, formats strfmt.Registry
func (m *Tier) contextValidateS3(ctx context.Context, formats strfmt.Registry) error {
if m.S3 != nil {
if swag.IsZero(m.S3) { // not required
return nil
}
if err := m.S3.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("s3")

View File

@@ -99,6 +99,11 @@ func (m *TierListResponse) contextValidateItems(ctx context.Context, formats str
for i := 0; i < len(m.Items); i++ {
if m.Items[i] != nil {
if swag.IsZero(m.Items[i]) { // not required
return nil
}
if err := m.Items[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("items" + "." + strconv.Itoa(i))

View File

@@ -31,18 +31,33 @@ import (
"github.com/go-openapi/validate"
)
// AddServiceAccountPolicyRequest add service account policy request
// UpdateServiceAccountRequest update service account request
//
// swagger:model addServiceAccountPolicyRequest
type AddServiceAccountPolicyRequest struct {
// swagger:model updateServiceAccountRequest
type UpdateServiceAccountRequest struct {
// description
Description string `json:"description,omitempty"`
// expiry
Expiry string `json:"expiry,omitempty"`
// name
Name string `json:"name,omitempty"`
// policy
// Required: true
Policy *string `json:"policy"`
// secret key
SecretKey string `json:"secretKey,omitempty"`
// status
Status string `json:"status,omitempty"`
}
// Validate validates this add service account policy request
func (m *AddServiceAccountPolicyRequest) Validate(formats strfmt.Registry) error {
// Validate validates this update service account request
func (m *UpdateServiceAccountRequest) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validatePolicy(formats); err != nil {
@@ -55,7 +70,7 @@ func (m *AddServiceAccountPolicyRequest) Validate(formats strfmt.Registry) error
return nil
}
func (m *AddServiceAccountPolicyRequest) validatePolicy(formats strfmt.Registry) error {
func (m *UpdateServiceAccountRequest) validatePolicy(formats strfmt.Registry) error {
if err := validate.Required("policy", "body", m.Policy); err != nil {
return err
@@ -64,13 +79,13 @@ func (m *AddServiceAccountPolicyRequest) validatePolicy(formats strfmt.Registry)
return nil
}
// ContextValidate validates this add service account policy request based on context it is used
func (m *AddServiceAccountPolicyRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
// ContextValidate validates this update service account request based on context it is used
func (m *UpdateServiceAccountRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *AddServiceAccountPolicyRequest) MarshalBinary() ([]byte, error) {
func (m *UpdateServiceAccountRequest) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
@@ -78,8 +93,8 @@ func (m *AddServiceAccountPolicyRequest) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
func (m *AddServiceAccountPolicyRequest) UnmarshalBinary(b []byte) error {
var res AddServiceAccountPolicyRequest
func (m *UpdateServiceAccountRequest) UnmarshalBinary(b []byte) error {
var res UpdateServiceAccountRequest
if err := swag.ReadJSON(b, &res); err != nil {
return err
}

View File

@@ -102,6 +102,11 @@ func (m *UserServiceAccountSummary) contextValidateUserServiceAccountList(ctx co
for i := 0; i < len(m.UserServiceAccountList); i++ {
if m.UserServiceAccountList[i] != nil {
if swag.IsZero(m.UserServiceAccountList[i]) { // not required
return nil
}
if err := m.UserServiceAccountList[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("userServiceAccountList" + "." + strconv.Itoa(i))

View File

@@ -136,6 +136,11 @@ func (m *Widget) ContextValidate(ctx context.Context, formats strfmt.Registry) e
func (m *Widget) contextValidateOptions(ctx context.Context, formats strfmt.Registry) error {
if m.Options != nil {
if swag.IsZero(m.Options) { // not required
return nil
}
if err := m.Options.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("options")
@@ -154,6 +159,11 @@ func (m *Widget) contextValidateTargets(ctx context.Context, formats strfmt.Regi
for i := 0; i < len(m.Targets); i++ {
if m.Targets[i] != nil {
if swag.IsZero(m.Targets[i]) { // not required
return nil
}
if err := m.Targets[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("targets" + "." + strconv.Itoa(i))
@@ -246,6 +256,11 @@ func (m *WidgetOptions) ContextValidate(ctx context.Context, formats strfmt.Regi
func (m *WidgetOptions) contextValidateReduceOptions(ctx context.Context, formats strfmt.Registry) error {
if m.ReduceOptions != nil {
if swag.IsZero(m.ReduceOptions) { // not required
return nil
}
if err := m.ReduceOptions.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("options" + "." + "reduceOptions")

View File

@@ -136,6 +136,11 @@ func (m *WidgetDetails) ContextValidate(ctx context.Context, formats strfmt.Regi
func (m *WidgetDetails) contextValidateOptions(ctx context.Context, formats strfmt.Registry) error {
if m.Options != nil {
if swag.IsZero(m.Options) { // not required
return nil
}
if err := m.Options.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("options")
@@ -154,6 +159,11 @@ func (m *WidgetDetails) contextValidateTargets(ctx context.Context, formats strf
for i := 0; i < len(m.Targets); i++ {
if m.Targets[i] != nil {
if swag.IsZero(m.Targets[i]) { // not required
return nil
}
if err := m.Targets[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("targets" + "." + strconv.Itoa(i))
@@ -246,6 +256,11 @@ func (m *WidgetDetailsOptions) ContextValidate(ctx context.Context, formats strf
func (m *WidgetDetailsOptions) contextValidateReduceOptions(ctx context.Context, formats strfmt.Registry) error {
if m.ReduceOptions != nil {
if swag.IsZero(m.ReduceOptions) { // not required
return nil
}
if err := m.ReduceOptions.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("options" + "." + "reduceOptions")

View File

@@ -1,2 +1,3 @@
build
coverage
.nyc_output

View File

@@ -20,6 +20,6 @@ find-deadcode:
./check-deadcode.sh
prettify:
yarn prettier --write . --loglevel warn
yarn prettier --write . --log-level warn
pretty: prettify

View File

@@ -1,114 +1,102 @@
{
"files": {
"main.css": "./static/css/main.e60e4760.css",
"main.js": "./static/js/main.ca749b3b.js",
"static/js/1260.1bfa3ef3.chunk.js": "./static/js/1260.1bfa3ef3.chunk.js",
"static/js/6914.62c54850.chunk.js": "./static/js/6914.62c54850.chunk.js",
"static/js/9121.99feaddd.chunk.js": "./static/js/9121.99feaddd.chunk.js",
"static/js/1829.9db2921b.chunk.js": "./static/js/1829.9db2921b.chunk.js",
"static/js/6272.1dc1f3f1.chunk.js": "./static/js/6272.1dc1f3f1.chunk.js",
"static/js/5088.b53be05e.chunk.js": "./static/js/5088.b53be05e.chunk.js",
"static/js/6122.c29df041.chunk.js": "./static/js/6122.c29df041.chunk.js",
"static/js/808.6b19d840.chunk.js": "./static/js/808.6b19d840.chunk.js",
"static/js/8060.a5309a8c.chunk.js": "./static/js/8060.a5309a8c.chunk.js",
"static/js/9635.495d0211.chunk.js": "./static/js/9635.495d0211.chunk.js",
"static/js/2338.6e3ddba5.chunk.js": "./static/js/2338.6e3ddba5.chunk.js",
"static/js/4335.09096e69.chunk.js": "./static/js/4335.09096e69.chunk.js",
"static/js/8521.06664483.chunk.js": "./static/js/8521.06664483.chunk.js",
"static/js/3543.d91de02c.chunk.js": "./static/js/3543.d91de02c.chunk.js",
"static/js/2074.1f0d525f.chunk.js": "./static/js/2074.1f0d525f.chunk.js",
"static/js/3067.76cd4ffe.chunk.js": "./static/js/3067.76cd4ffe.chunk.js",
"static/js/2637.96b15c1c.chunk.js": "./static/js/2637.96b15c1c.chunk.js",
"static/js/5962.b97f970a.chunk.js": "./static/js/5962.b97f970a.chunk.js",
"static/js/701.6661257a.chunk.js": "./static/js/701.6661257a.chunk.js",
"static/js/416.8346e1f6.chunk.js": "./static/js/416.8346e1f6.chunk.js",
"static/js/7821.a2de4d84.chunk.js": "./static/js/7821.a2de4d84.chunk.js",
"static/js/2545.ff1b01f5.chunk.js": "./static/js/2545.ff1b01f5.chunk.js",
"static/js/8388.af3ddceb.chunk.js": "./static/js/8388.af3ddceb.chunk.js",
"static/js/4065.546ae369.chunk.js": "./static/js/4065.546ae369.chunk.js",
"static/js/5935.e874456b.chunk.js": "./static/js/5935.e874456b.chunk.js",
"static/js/4563.be189475.chunk.js": "./static/js/4563.be189475.chunk.js",
"static/js/191.7f06526e.chunk.js": "./static/js/191.7f06526e.chunk.js",
"static/js/1329.df839007.chunk.js": "./static/js/1329.df839007.chunk.js",
"static/js/7614.b687ba7f.chunk.js": "./static/js/7614.b687ba7f.chunk.js",
"static/js/1764.ba7b49eb.chunk.js": "./static/js/1764.ba7b49eb.chunk.js",
"static/js/6491.5f7a419d.chunk.js": "./static/js/6491.5f7a419d.chunk.js",
"static/js/4902.89f3e9e1.chunk.js": "./static/js/4902.89f3e9e1.chunk.js",
"static/js/3379.6be9ca7b.chunk.js": "./static/js/3379.6be9ca7b.chunk.js",
"static/js/3171.a4ead4ca.chunk.js": "./static/js/3171.a4ead4ca.chunk.js",
"static/js/8360.8ac053e0.chunk.js": "./static/js/8360.8ac053e0.chunk.js",
"static/js/6577.02d2b685.chunk.js": "./static/js/6577.02d2b685.chunk.js",
"static/js/3875.1266ad37.chunk.js": "./static/js/3875.1266ad37.chunk.js",
"static/js/3115.0561791c.chunk.js": "./static/js/3115.0561791c.chunk.js",
"static/js/8270.47bda2ac.chunk.js": "./static/js/8270.47bda2ac.chunk.js",
"static/js/977.39e86031.chunk.js": "./static/js/977.39e86031.chunk.js",
"static/js/6686.3284b22b.chunk.js": "./static/js/6686.3284b22b.chunk.js",
"static/js/9059.521ca60c.chunk.js": "./static/js/9059.521ca60c.chunk.js",
"static/js/4770.08d9efec.chunk.js": "./static/js/4770.08d9efec.chunk.js",
"static/js/6247.bb8bb4b7.chunk.js": "./static/js/6247.bb8bb4b7.chunk.js",
"static/js/4414.1db328e3.chunk.js": "./static/js/4414.1db328e3.chunk.js",
"static/js/8833.50d1395d.chunk.js": "./static/js/8833.50d1395d.chunk.js",
"static/js/1516.75dc9a97.chunk.js": "./static/js/1516.75dc9a97.chunk.js",
"static/js/483.8c83b198.chunk.js": "./static/js/483.8c83b198.chunk.js",
"static/js/8045.820a2282.chunk.js": "./static/js/8045.820a2282.chunk.js",
"static/js/6895.f365fd4e.chunk.js": "./static/js/6895.f365fd4e.chunk.js",
"static/js/4874.5e5b3042.chunk.js": "./static/js/4874.5e5b3042.chunk.js",
"static/js/1191.a7906808.chunk.js": "./static/js/1191.a7906808.chunk.js",
"static/js/3956.3d92ba64.chunk.js": "./static/js/3956.3d92ba64.chunk.js",
"static/js/9221.5b85a40b.chunk.js": "./static/js/9221.5b85a40b.chunk.js",
"static/js/8896.dbf5cc38.chunk.js": "./static/js/8896.dbf5cc38.chunk.js",
"static/js/9134.63488b77.chunk.js": "./static/js/9134.63488b77.chunk.js",
"static/js/5223.d053b523.chunk.js": "./static/js/5223.d053b523.chunk.js",
"static/js/9382.bd8214f2.chunk.js": "./static/js/9382.bd8214f2.chunk.js",
"static/js/7134.1a5a0c34.chunk.js": "./static/js/7134.1a5a0c34.chunk.js",
"static/js/3034.e1fff37c.chunk.js": "./static/js/3034.e1fff37c.chunk.js",
"static/js/3138.47ee08f2.chunk.js": "./static/js/3138.47ee08f2.chunk.js",
"static/js/711.bc7ee5ed.chunk.js": "./static/js/711.bc7ee5ed.chunk.js",
"static/js/6901.9f19a060.chunk.js": "./static/js/6901.9f19a060.chunk.js",
"static/js/2185.dabc2b42.chunk.js": "./static/js/2185.dabc2b42.chunk.js",
"static/js/9968.c45ff8f4.chunk.js": "./static/js/9968.c45ff8f4.chunk.js",
"static/js/7494.883411d0.chunk.js": "./static/js/7494.883411d0.chunk.js",
"static/js/4738.c8ae5b4a.chunk.js": "./static/js/4738.c8ae5b4a.chunk.js",
"static/js/3989.7bc0050a.chunk.js": "./static/js/3989.7bc0050a.chunk.js",
"static/js/5702.0d80f056.chunk.js": "./static/js/5702.0d80f056.chunk.js",
"static/js/5759.edc8340c.chunk.js": "./static/js/5759.edc8340c.chunk.js",
"static/js/51.872b251a.chunk.js": "./static/js/51.872b251a.chunk.js",
"static/js/312.a4a9011b.chunk.js": "./static/js/312.a4a9011b.chunk.js",
"static/js/2032.27438209.chunk.js": "./static/js/2032.27438209.chunk.js",
"static/js/4619.471aee8b.chunk.js": "./static/js/4619.471aee8b.chunk.js",
"static/js/8990.58d88bc9.chunk.js": "./static/js/8990.58d88bc9.chunk.js",
"static/js/8455.6e72f5ad.chunk.js": "./static/js/8455.6e72f5ad.chunk.js",
"static/js/3690.6957ca61.chunk.js": "./static/js/3690.6957ca61.chunk.js",
"static/js/1604.64ec26a0.chunk.js": "./static/js/1604.64ec26a0.chunk.js",
"static/js/9952.977159a7.chunk.js": "./static/js/9952.977159a7.chunk.js",
"static/js/402.64814df4.chunk.js": "./static/js/402.64814df4.chunk.js",
"static/js/1705.8c12b37a.chunk.js": "./static/js/1705.8c12b37a.chunk.js",
"static/js/1581.9e1d2acf.chunk.js": "./static/js/1581.9e1d2acf.chunk.js",
"static/js/455.3a91ee14.chunk.js": "./static/js/455.3a91ee14.chunk.js",
"static/js/2661.88895459.chunk.js": "./static/js/2661.88895459.chunk.js",
"static/js/3509.3accc3d1.chunk.js": "./static/js/3509.3accc3d1.chunk.js",
"static/js/889.a30c4ca5.chunk.js": "./static/js/889.a30c4ca5.chunk.js",
"static/js/9088.b641525f.chunk.js": "./static/js/9088.b641525f.chunk.js",
"static/js/247.83abc0ba.chunk.js": "./static/js/247.83abc0ba.chunk.js",
"static/js/2763.ced3d1e6.chunk.js": "./static/js/2763.ced3d1e6.chunk.js",
"static/js/911.85827a45.chunk.js": "./static/js/911.85827a45.chunk.js",
"static/js/4549.3d93db81.chunk.js": "./static/js/4549.3d93db81.chunk.js",
"static/js/817.ae83167e.chunk.js": "./static/js/817.ae83167e.chunk.js",
"static/js/9518.37a0f445.chunk.js": "./static/js/9518.37a0f445.chunk.js",
"static/js/2193.a74f0e37.chunk.js": "./static/js/2193.a74f0e37.chunk.js",
"static/js/225.4a99e6a2.chunk.js": "./static/js/225.4a99e6a2.chunk.js",
"static/js/601.0071eb88.chunk.js": "./static/js/601.0071eb88.chunk.js",
"static/js/9955.92b905ab.chunk.js": "./static/js/9955.92b905ab.chunk.js",
"static/js/6786.1f6da6c6.chunk.js": "./static/js/6786.1f6da6c6.chunk.js",
"static/js/8265.889d47d3.chunk.js": "./static/js/8265.889d47d3.chunk.js",
"static/js/134.3f6d60a2.chunk.js": "./static/js/134.3f6d60a2.chunk.js",
"static/js/3801.bece6d36.chunk.js": "./static/js/3801.bece6d36.chunk.js",
"static/js/1748.291be92f.chunk.js": "./static/js/1748.291be92f.chunk.js",
"static/js/2121.6000774d.chunk.js": "./static/js/2121.6000774d.chunk.js",
"static/js/7082.e66ba30d.chunk.js": "./static/js/7082.e66ba30d.chunk.js",
"static/js/1520.8019c157.chunk.js": "./static/js/1520.8019c157.chunk.js",
"static/js/6008.10fb9564.chunk.js": "./static/js/6008.10fb9564.chunk.js",
"static/js/7784.c0448d91.chunk.js": "./static/js/7784.c0448d91.chunk.js",
"main.js": "./static/js/main.f7f3913c.js",
"static/js/1260.291b50cb.chunk.js": "./static/js/1260.291b50cb.chunk.js",
"static/js/6914.9c5fdb44.chunk.js": "./static/js/6914.9c5fdb44.chunk.js",
"static/js/9121.1e573e4c.chunk.js": "./static/js/9121.1e573e4c.chunk.js",
"static/js/1829.2aaefda6.chunk.js": "./static/js/1829.2aaefda6.chunk.js",
"static/js/6272.7c00db9b.chunk.js": "./static/js/6272.7c00db9b.chunk.js",
"static/js/5088.e2681925.chunk.js": "./static/js/5088.e2681925.chunk.js",
"static/js/6122.5f0c62fb.chunk.js": "./static/js/6122.5f0c62fb.chunk.js",
"static/js/808.db305a8e.chunk.js": "./static/js/808.db305a8e.chunk.js",
"static/js/8060.d2d3cabe.chunk.js": "./static/js/8060.d2d3cabe.chunk.js",
"static/js/9635.d9fa4193.chunk.js": "./static/js/9635.d9fa4193.chunk.js",
"static/js/2338.d41810b3.chunk.js": "./static/js/2338.d41810b3.chunk.js",
"static/js/4439.fab85879.chunk.js": "./static/js/4439.fab85879.chunk.js",
"static/js/3832.03027a58.chunk.js": "./static/js/3832.03027a58.chunk.js",
"static/js/3543.c6901e5b.chunk.js": "./static/js/3543.c6901e5b.chunk.js",
"static/js/2074.a60ce6fb.chunk.js": "./static/js/2074.a60ce6fb.chunk.js",
"static/js/3067.3ea1776d.chunk.js": "./static/js/3067.3ea1776d.chunk.js",
"static/js/2637.b1c2479f.chunk.js": "./static/js/2637.b1c2479f.chunk.js",
"static/js/5962.e82e6096.chunk.js": "./static/js/5962.e82e6096.chunk.js",
"static/js/701.4d3a4a90.chunk.js": "./static/js/701.4d3a4a90.chunk.js",
"static/js/416.3c6ca278.chunk.js": "./static/js/416.3c6ca278.chunk.js",
"static/js/7821.c63e0acc.chunk.js": "./static/js/7821.c63e0acc.chunk.js",
"static/js/2545.508d30a1.chunk.js": "./static/js/2545.508d30a1.chunk.js",
"static/js/8388.25bfdfd9.chunk.js": "./static/js/8388.25bfdfd9.chunk.js",
"static/js/4065.1550985f.chunk.js": "./static/js/4065.1550985f.chunk.js",
"static/js/5935.407e1355.chunk.js": "./static/js/5935.407e1355.chunk.js",
"static/js/4563.e3edf2d9.chunk.js": "./static/js/4563.e3edf2d9.chunk.js",
"static/js/191.1da33595.chunk.js": "./static/js/191.1da33595.chunk.js",
"static/js/1329.b71d618a.chunk.js": "./static/js/1329.b71d618a.chunk.js",
"static/js/7614.0c31f239.chunk.js": "./static/js/7614.0c31f239.chunk.js",
"static/js/1690.8063e908.chunk.js": "./static/js/1690.8063e908.chunk.js",
"static/js/6491.d0d6e818.chunk.js": "./static/js/6491.d0d6e818.chunk.js",
"static/js/4902.5f84da7e.chunk.js": "./static/js/4902.5f84da7e.chunk.js",
"static/js/1432.4da0630f.chunk.js": "./static/js/1432.4da0630f.chunk.js",
"static/js/3171.25ccb4e9.chunk.js": "./static/js/3171.25ccb4e9.chunk.js",
"static/js/8360.56659846.chunk.js": "./static/js/8360.56659846.chunk.js",
"static/js/6577.d820c471.chunk.js": "./static/js/6577.d820c471.chunk.js",
"static/js/3875.458718d4.chunk.js": "./static/js/3875.458718d4.chunk.js",
"static/js/3115.a031bcba.chunk.js": "./static/js/3115.a031bcba.chunk.js",
"static/js/2603.dca1b3d2.chunk.js": "./static/js/2603.dca1b3d2.chunk.js",
"static/js/977.a8d976d8.chunk.js": "./static/js/977.a8d976d8.chunk.js",
"static/js/6686.01ae5612.chunk.js": "./static/js/6686.01ae5612.chunk.js",
"static/js/9059.25ffd18e.chunk.js": "./static/js/9059.25ffd18e.chunk.js",
"static/js/4770.3307793f.chunk.js": "./static/js/4770.3307793f.chunk.js",
"static/js/6247.0d3bc8c3.chunk.js": "./static/js/6247.0d3bc8c3.chunk.js",
"static/js/4414.28a3e046.chunk.js": "./static/js/4414.28a3e046.chunk.js",
"static/js/8833.ee6a6f70.chunk.js": "./static/js/8833.ee6a6f70.chunk.js",
"static/js/1516.73fcb9af.chunk.js": "./static/js/1516.73fcb9af.chunk.js",
"static/js/483.d65ba5d6.chunk.js": "./static/js/483.d65ba5d6.chunk.js",
"static/js/9467.206b0190.chunk.js": "./static/js/9467.206b0190.chunk.js",
"static/js/6895.69a264e5.chunk.js": "./static/js/6895.69a264e5.chunk.js",
"static/js/4874.03b6bb42.chunk.js": "./static/js/4874.03b6bb42.chunk.js",
"static/js/1191.77653544.chunk.js": "./static/js/1191.77653544.chunk.js",
"static/js/3956.338d4453.chunk.js": "./static/js/3956.338d4453.chunk.js",
"static/js/9221.bee84518.chunk.js": "./static/js/9221.bee84518.chunk.js",
"static/js/8896.7b660eaa.chunk.js": "./static/js/8896.7b660eaa.chunk.js",
"static/js/9134.f3e24a40.chunk.js": "./static/js/9134.f3e24a40.chunk.js",
"static/js/5223.cca523cd.chunk.js": "./static/js/5223.cca523cd.chunk.js",
"static/js/5661.ed95de3e.chunk.js": "./static/js/5661.ed95de3e.chunk.js",
"static/js/7134.f87a706a.chunk.js": "./static/js/7134.f87a706a.chunk.js",
"static/js/3034.11907001.chunk.js": "./static/js/3034.11907001.chunk.js",
"static/js/3138.9f03424b.chunk.js": "./static/js/3138.9f03424b.chunk.js",
"static/js/711.e6c691c6.chunk.js": "./static/js/711.e6c691c6.chunk.js",
"static/js/6901.bc8e3c58.chunk.js": "./static/js/6901.bc8e3c58.chunk.js",
"static/js/2185.e19ab290.chunk.js": "./static/js/2185.e19ab290.chunk.js",
"static/js/9968.4439cf2b.chunk.js": "./static/js/9968.4439cf2b.chunk.js",
"static/js/7494.551802e0.chunk.js": "./static/js/7494.551802e0.chunk.js",
"static/js/4738.f0e4dfe6.chunk.js": "./static/js/4738.f0e4dfe6.chunk.js",
"static/js/3989.0cbf2140.chunk.js": "./static/js/3989.0cbf2140.chunk.js",
"static/js/5702.f709e6f4.chunk.js": "./static/js/5702.f709e6f4.chunk.js",
"static/js/5759.d032a48a.chunk.js": "./static/js/5759.d032a48a.chunk.js",
"static/js/51.b53647bd.chunk.js": "./static/js/51.b53647bd.chunk.js",
"static/js/312.0339f1aa.chunk.js": "./static/js/312.0339f1aa.chunk.js",
"static/js/2032.79310ed7.chunk.js": "./static/js/2032.79310ed7.chunk.js",
"static/js/4619.0e7615ad.chunk.js": "./static/js/4619.0e7615ad.chunk.js",
"static/js/8990.013fe7bd.chunk.js": "./static/js/8990.013fe7bd.chunk.js",
"static/js/8455.b092b647.chunk.js": "./static/js/8455.b092b647.chunk.js",
"static/js/3690.7fda5327.chunk.js": "./static/js/3690.7fda5327.chunk.js",
"static/js/1604.da19242e.chunk.js": "./static/js/1604.da19242e.chunk.js",
"static/js/9952.3389689d.chunk.js": "./static/js/9952.3389689d.chunk.js",
"static/js/402.e74bfaf8.chunk.js": "./static/js/402.e74bfaf8.chunk.js",
"static/js/1705.d2123b1a.chunk.js": "./static/js/1705.d2123b1a.chunk.js",
"static/js/1581.74c2c762.chunk.js": "./static/js/1581.74c2c762.chunk.js",
"static/js/455.1d0c7cda.chunk.js": "./static/js/455.1d0c7cda.chunk.js",
"static/js/8296.e55a5bf1.chunk.js": "./static/js/8296.e55a5bf1.chunk.js",
"static/js/3509.3f62cdbf.chunk.js": "./static/js/3509.3f62cdbf.chunk.js",
"static/js/889.035fef88.chunk.js": "./static/js/889.035fef88.chunk.js",
"static/js/9088.3bc2a31e.chunk.js": "./static/js/9088.3bc2a31e.chunk.js",
"static/js/247.39dd8f3a.chunk.js": "./static/js/247.39dd8f3a.chunk.js",
"static/js/2763.ddc89d17.chunk.js": "./static/js/2763.ddc89d17.chunk.js",
"static/js/2977.e75673aa.chunk.js": "./static/js/2977.e75673aa.chunk.js",
"static/js/601.b2adb5c6.chunk.js": "./static/js/601.b2adb5c6.chunk.js",
"static/js/8265.942883a0.chunk.js": "./static/js/8265.942883a0.chunk.js",
"static/js/5061.7ff7c268.chunk.js": "./static/js/5061.7ff7c268.chunk.js",
"static/js/6521.5e62a2df.chunk.js": "./static/js/6521.5e62a2df.chunk.js",
"static/js/4669.8c7d4cb8.chunk.js": "./static/js/4669.8c7d4cb8.chunk.js",
"static/media/videoBG.mp4": "./static/media/videoBG.17363418b3c2246a0e27.mp4",
"static/media/loginAnimationPoster.png": "./static/media/loginAnimationPoster.9aa924bfe619e71d5d29.png",
"static/media/Inter-BoldItalic.woff": "./static/media/Inter-BoldItalic.b376885042f6c961a541.woff",
@@ -132,117 +120,105 @@
"static/media/placeholderimage.png": "./static/media/placeholderimage.077ea48bd1ef1f4a883f.png",
"index.html": "./index.html",
"main.e60e4760.css.map": "./static/css/main.e60e4760.css.map",
"main.ca749b3b.js.map": "./static/js/main.ca749b3b.js.map",
"1260.1bfa3ef3.chunk.js.map": "./static/js/1260.1bfa3ef3.chunk.js.map",
"6914.62c54850.chunk.js.map": "./static/js/6914.62c54850.chunk.js.map",
"9121.99feaddd.chunk.js.map": "./static/js/9121.99feaddd.chunk.js.map",
"1829.9db2921b.chunk.js.map": "./static/js/1829.9db2921b.chunk.js.map",
"6272.1dc1f3f1.chunk.js.map": "./static/js/6272.1dc1f3f1.chunk.js.map",
"5088.b53be05e.chunk.js.map": "./static/js/5088.b53be05e.chunk.js.map",
"6122.c29df041.chunk.js.map": "./static/js/6122.c29df041.chunk.js.map",
"808.6b19d840.chunk.js.map": "./static/js/808.6b19d840.chunk.js.map",
"8060.a5309a8c.chunk.js.map": "./static/js/8060.a5309a8c.chunk.js.map",
"9635.495d0211.chunk.js.map": "./static/js/9635.495d0211.chunk.js.map",
"2338.6e3ddba5.chunk.js.map": "./static/js/2338.6e3ddba5.chunk.js.map",
"4335.09096e69.chunk.js.map": "./static/js/4335.09096e69.chunk.js.map",
"8521.06664483.chunk.js.map": "./static/js/8521.06664483.chunk.js.map",
"3543.d91de02c.chunk.js.map": "./static/js/3543.d91de02c.chunk.js.map",
"2074.1f0d525f.chunk.js.map": "./static/js/2074.1f0d525f.chunk.js.map",
"3067.76cd4ffe.chunk.js.map": "./static/js/3067.76cd4ffe.chunk.js.map",
"2637.96b15c1c.chunk.js.map": "./static/js/2637.96b15c1c.chunk.js.map",
"5962.b97f970a.chunk.js.map": "./static/js/5962.b97f970a.chunk.js.map",
"701.6661257a.chunk.js.map": "./static/js/701.6661257a.chunk.js.map",
"416.8346e1f6.chunk.js.map": "./static/js/416.8346e1f6.chunk.js.map",
"7821.a2de4d84.chunk.js.map": "./static/js/7821.a2de4d84.chunk.js.map",
"2545.ff1b01f5.chunk.js.map": "./static/js/2545.ff1b01f5.chunk.js.map",
"8388.af3ddceb.chunk.js.map": "./static/js/8388.af3ddceb.chunk.js.map",
"4065.546ae369.chunk.js.map": "./static/js/4065.546ae369.chunk.js.map",
"5935.e874456b.chunk.js.map": "./static/js/5935.e874456b.chunk.js.map",
"4563.be189475.chunk.js.map": "./static/js/4563.be189475.chunk.js.map",
"191.7f06526e.chunk.js.map": "./static/js/191.7f06526e.chunk.js.map",
"1329.df839007.chunk.js.map": "./static/js/1329.df839007.chunk.js.map",
"7614.b687ba7f.chunk.js.map": "./static/js/7614.b687ba7f.chunk.js.map",
"1764.ba7b49eb.chunk.js.map": "./static/js/1764.ba7b49eb.chunk.js.map",
"6491.5f7a419d.chunk.js.map": "./static/js/6491.5f7a419d.chunk.js.map",
"4902.89f3e9e1.chunk.js.map": "./static/js/4902.89f3e9e1.chunk.js.map",
"3379.6be9ca7b.chunk.js.map": "./static/js/3379.6be9ca7b.chunk.js.map",
"3171.a4ead4ca.chunk.js.map": "./static/js/3171.a4ead4ca.chunk.js.map",
"8360.8ac053e0.chunk.js.map": "./static/js/8360.8ac053e0.chunk.js.map",
"6577.02d2b685.chunk.js.map": "./static/js/6577.02d2b685.chunk.js.map",
"3875.1266ad37.chunk.js.map": "./static/js/3875.1266ad37.chunk.js.map",
"3115.0561791c.chunk.js.map": "./static/js/3115.0561791c.chunk.js.map",
"8270.47bda2ac.chunk.js.map": "./static/js/8270.47bda2ac.chunk.js.map",
"977.39e86031.chunk.js.map": "./static/js/977.39e86031.chunk.js.map",
"6686.3284b22b.chunk.js.map": "./static/js/6686.3284b22b.chunk.js.map",
"9059.521ca60c.chunk.js.map": "./static/js/9059.521ca60c.chunk.js.map",
"4770.08d9efec.chunk.js.map": "./static/js/4770.08d9efec.chunk.js.map",
"6247.bb8bb4b7.chunk.js.map": "./static/js/6247.bb8bb4b7.chunk.js.map",
"4414.1db328e3.chunk.js.map": "./static/js/4414.1db328e3.chunk.js.map",
"8833.50d1395d.chunk.js.map": "./static/js/8833.50d1395d.chunk.js.map",
"1516.75dc9a97.chunk.js.map": "./static/js/1516.75dc9a97.chunk.js.map",
"483.8c83b198.chunk.js.map": "./static/js/483.8c83b198.chunk.js.map",
"8045.820a2282.chunk.js.map": "./static/js/8045.820a2282.chunk.js.map",
"6895.f365fd4e.chunk.js.map": "./static/js/6895.f365fd4e.chunk.js.map",
"4874.5e5b3042.chunk.js.map": "./static/js/4874.5e5b3042.chunk.js.map",
"1191.a7906808.chunk.js.map": "./static/js/1191.a7906808.chunk.js.map",
"3956.3d92ba64.chunk.js.map": "./static/js/3956.3d92ba64.chunk.js.map",
"9221.5b85a40b.chunk.js.map": "./static/js/9221.5b85a40b.chunk.js.map",
"8896.dbf5cc38.chunk.js.map": "./static/js/8896.dbf5cc38.chunk.js.map",
"9134.63488b77.chunk.js.map": "./static/js/9134.63488b77.chunk.js.map",
"5223.d053b523.chunk.js.map": "./static/js/5223.d053b523.chunk.js.map",
"9382.bd8214f2.chunk.js.map": "./static/js/9382.bd8214f2.chunk.js.map",
"7134.1a5a0c34.chunk.js.map": "./static/js/7134.1a5a0c34.chunk.js.map",
"3034.e1fff37c.chunk.js.map": "./static/js/3034.e1fff37c.chunk.js.map",
"3138.47ee08f2.chunk.js.map": "./static/js/3138.47ee08f2.chunk.js.map",
"711.bc7ee5ed.chunk.js.map": "./static/js/711.bc7ee5ed.chunk.js.map",
"6901.9f19a060.chunk.js.map": "./static/js/6901.9f19a060.chunk.js.map",
"2185.dabc2b42.chunk.js.map": "./static/js/2185.dabc2b42.chunk.js.map",
"9968.c45ff8f4.chunk.js.map": "./static/js/9968.c45ff8f4.chunk.js.map",
"7494.883411d0.chunk.js.map": "./static/js/7494.883411d0.chunk.js.map",
"4738.c8ae5b4a.chunk.js.map": "./static/js/4738.c8ae5b4a.chunk.js.map",
"3989.7bc0050a.chunk.js.map": "./static/js/3989.7bc0050a.chunk.js.map",
"5702.0d80f056.chunk.js.map": "./static/js/5702.0d80f056.chunk.js.map",
"5759.edc8340c.chunk.js.map": "./static/js/5759.edc8340c.chunk.js.map",
"51.872b251a.chunk.js.map": "./static/js/51.872b251a.chunk.js.map",
"312.a4a9011b.chunk.js.map": "./static/js/312.a4a9011b.chunk.js.map",
"2032.27438209.chunk.js.map": "./static/js/2032.27438209.chunk.js.map",
"4619.471aee8b.chunk.js.map": "./static/js/4619.471aee8b.chunk.js.map",
"8990.58d88bc9.chunk.js.map": "./static/js/8990.58d88bc9.chunk.js.map",
"8455.6e72f5ad.chunk.js.map": "./static/js/8455.6e72f5ad.chunk.js.map",
"3690.6957ca61.chunk.js.map": "./static/js/3690.6957ca61.chunk.js.map",
"1604.64ec26a0.chunk.js.map": "./static/js/1604.64ec26a0.chunk.js.map",
"9952.977159a7.chunk.js.map": "./static/js/9952.977159a7.chunk.js.map",
"402.64814df4.chunk.js.map": "./static/js/402.64814df4.chunk.js.map",
"1705.8c12b37a.chunk.js.map": "./static/js/1705.8c12b37a.chunk.js.map",
"1581.9e1d2acf.chunk.js.map": "./static/js/1581.9e1d2acf.chunk.js.map",
"455.3a91ee14.chunk.js.map": "./static/js/455.3a91ee14.chunk.js.map",
"2661.88895459.chunk.js.map": "./static/js/2661.88895459.chunk.js.map",
"3509.3accc3d1.chunk.js.map": "./static/js/3509.3accc3d1.chunk.js.map",
"889.a30c4ca5.chunk.js.map": "./static/js/889.a30c4ca5.chunk.js.map",
"9088.b641525f.chunk.js.map": "./static/js/9088.b641525f.chunk.js.map",
"247.83abc0ba.chunk.js.map": "./static/js/247.83abc0ba.chunk.js.map",
"2763.ced3d1e6.chunk.js.map": "./static/js/2763.ced3d1e6.chunk.js.map",
"911.85827a45.chunk.js.map": "./static/js/911.85827a45.chunk.js.map",
"4549.3d93db81.chunk.js.map": "./static/js/4549.3d93db81.chunk.js.map",
"817.ae83167e.chunk.js.map": "./static/js/817.ae83167e.chunk.js.map",
"9518.37a0f445.chunk.js.map": "./static/js/9518.37a0f445.chunk.js.map",
"2193.a74f0e37.chunk.js.map": "./static/js/2193.a74f0e37.chunk.js.map",
"225.4a99e6a2.chunk.js.map": "./static/js/225.4a99e6a2.chunk.js.map",
"601.0071eb88.chunk.js.map": "./static/js/601.0071eb88.chunk.js.map",
"9955.92b905ab.chunk.js.map": "./static/js/9955.92b905ab.chunk.js.map",
"6786.1f6da6c6.chunk.js.map": "./static/js/6786.1f6da6c6.chunk.js.map",
"8265.889d47d3.chunk.js.map": "./static/js/8265.889d47d3.chunk.js.map",
"134.3f6d60a2.chunk.js.map": "./static/js/134.3f6d60a2.chunk.js.map",
"3801.bece6d36.chunk.js.map": "./static/js/3801.bece6d36.chunk.js.map",
"1748.291be92f.chunk.js.map": "./static/js/1748.291be92f.chunk.js.map",
"2121.6000774d.chunk.js.map": "./static/js/2121.6000774d.chunk.js.map",
"7082.e66ba30d.chunk.js.map": "./static/js/7082.e66ba30d.chunk.js.map",
"1520.8019c157.chunk.js.map": "./static/js/1520.8019c157.chunk.js.map",
"6008.10fb9564.chunk.js.map": "./static/js/6008.10fb9564.chunk.js.map",
"7784.c0448d91.chunk.js.map": "./static/js/7784.c0448d91.chunk.js.map"
"main.f7f3913c.js.map": "./static/js/main.f7f3913c.js.map",
"1260.291b50cb.chunk.js.map": "./static/js/1260.291b50cb.chunk.js.map",
"6914.9c5fdb44.chunk.js.map": "./static/js/6914.9c5fdb44.chunk.js.map",
"9121.1e573e4c.chunk.js.map": "./static/js/9121.1e573e4c.chunk.js.map",
"1829.2aaefda6.chunk.js.map": "./static/js/1829.2aaefda6.chunk.js.map",
"6272.7c00db9b.chunk.js.map": "./static/js/6272.7c00db9b.chunk.js.map",
"5088.e2681925.chunk.js.map": "./static/js/5088.e2681925.chunk.js.map",
"6122.5f0c62fb.chunk.js.map": "./static/js/6122.5f0c62fb.chunk.js.map",
"808.db305a8e.chunk.js.map": "./static/js/808.db305a8e.chunk.js.map",
"8060.d2d3cabe.chunk.js.map": "./static/js/8060.d2d3cabe.chunk.js.map",
"9635.d9fa4193.chunk.js.map": "./static/js/9635.d9fa4193.chunk.js.map",
"2338.d41810b3.chunk.js.map": "./static/js/2338.d41810b3.chunk.js.map",
"4439.fab85879.chunk.js.map": "./static/js/4439.fab85879.chunk.js.map",
"3832.03027a58.chunk.js.map": "./static/js/3832.03027a58.chunk.js.map",
"3543.c6901e5b.chunk.js.map": "./static/js/3543.c6901e5b.chunk.js.map",
"2074.a60ce6fb.chunk.js.map": "./static/js/2074.a60ce6fb.chunk.js.map",
"3067.3ea1776d.chunk.js.map": "./static/js/3067.3ea1776d.chunk.js.map",
"2637.b1c2479f.chunk.js.map": "./static/js/2637.b1c2479f.chunk.js.map",
"5962.e82e6096.chunk.js.map": "./static/js/5962.e82e6096.chunk.js.map",
"701.4d3a4a90.chunk.js.map": "./static/js/701.4d3a4a90.chunk.js.map",
"416.3c6ca278.chunk.js.map": "./static/js/416.3c6ca278.chunk.js.map",
"7821.c63e0acc.chunk.js.map": "./static/js/7821.c63e0acc.chunk.js.map",
"2545.508d30a1.chunk.js.map": "./static/js/2545.508d30a1.chunk.js.map",
"8388.25bfdfd9.chunk.js.map": "./static/js/8388.25bfdfd9.chunk.js.map",
"4065.1550985f.chunk.js.map": "./static/js/4065.1550985f.chunk.js.map",
"5935.407e1355.chunk.js.map": "./static/js/5935.407e1355.chunk.js.map",
"4563.e3edf2d9.chunk.js.map": "./static/js/4563.e3edf2d9.chunk.js.map",
"191.1da33595.chunk.js.map": "./static/js/191.1da33595.chunk.js.map",
"1329.b71d618a.chunk.js.map": "./static/js/1329.b71d618a.chunk.js.map",
"7614.0c31f239.chunk.js.map": "./static/js/7614.0c31f239.chunk.js.map",
"1690.8063e908.chunk.js.map": "./static/js/1690.8063e908.chunk.js.map",
"6491.d0d6e818.chunk.js.map": "./static/js/6491.d0d6e818.chunk.js.map",
"4902.5f84da7e.chunk.js.map": "./static/js/4902.5f84da7e.chunk.js.map",
"1432.4da0630f.chunk.js.map": "./static/js/1432.4da0630f.chunk.js.map",
"3171.25ccb4e9.chunk.js.map": "./static/js/3171.25ccb4e9.chunk.js.map",
"8360.56659846.chunk.js.map": "./static/js/8360.56659846.chunk.js.map",
"6577.d820c471.chunk.js.map": "./static/js/6577.d820c471.chunk.js.map",
"3875.458718d4.chunk.js.map": "./static/js/3875.458718d4.chunk.js.map",
"3115.a031bcba.chunk.js.map": "./static/js/3115.a031bcba.chunk.js.map",
"2603.dca1b3d2.chunk.js.map": "./static/js/2603.dca1b3d2.chunk.js.map",
"977.a8d976d8.chunk.js.map": "./static/js/977.a8d976d8.chunk.js.map",
"6686.01ae5612.chunk.js.map": "./static/js/6686.01ae5612.chunk.js.map",
"9059.25ffd18e.chunk.js.map": "./static/js/9059.25ffd18e.chunk.js.map",
"4770.3307793f.chunk.js.map": "./static/js/4770.3307793f.chunk.js.map",
"6247.0d3bc8c3.chunk.js.map": "./static/js/6247.0d3bc8c3.chunk.js.map",
"4414.28a3e046.chunk.js.map": "./static/js/4414.28a3e046.chunk.js.map",
"8833.ee6a6f70.chunk.js.map": "./static/js/8833.ee6a6f70.chunk.js.map",
"1516.73fcb9af.chunk.js.map": "./static/js/1516.73fcb9af.chunk.js.map",
"483.d65ba5d6.chunk.js.map": "./static/js/483.d65ba5d6.chunk.js.map",
"9467.206b0190.chunk.js.map": "./static/js/9467.206b0190.chunk.js.map",
"6895.69a264e5.chunk.js.map": "./static/js/6895.69a264e5.chunk.js.map",
"4874.03b6bb42.chunk.js.map": "./static/js/4874.03b6bb42.chunk.js.map",
"1191.77653544.chunk.js.map": "./static/js/1191.77653544.chunk.js.map",
"3956.338d4453.chunk.js.map": "./static/js/3956.338d4453.chunk.js.map",
"9221.bee84518.chunk.js.map": "./static/js/9221.bee84518.chunk.js.map",
"8896.7b660eaa.chunk.js.map": "./static/js/8896.7b660eaa.chunk.js.map",
"9134.f3e24a40.chunk.js.map": "./static/js/9134.f3e24a40.chunk.js.map",
"5223.cca523cd.chunk.js.map": "./static/js/5223.cca523cd.chunk.js.map",
"5661.ed95de3e.chunk.js.map": "./static/js/5661.ed95de3e.chunk.js.map",
"7134.f87a706a.chunk.js.map": "./static/js/7134.f87a706a.chunk.js.map",
"3034.11907001.chunk.js.map": "./static/js/3034.11907001.chunk.js.map",
"3138.9f03424b.chunk.js.map": "./static/js/3138.9f03424b.chunk.js.map",
"711.e6c691c6.chunk.js.map": "./static/js/711.e6c691c6.chunk.js.map",
"6901.bc8e3c58.chunk.js.map": "./static/js/6901.bc8e3c58.chunk.js.map",
"2185.e19ab290.chunk.js.map": "./static/js/2185.e19ab290.chunk.js.map",
"9968.4439cf2b.chunk.js.map": "./static/js/9968.4439cf2b.chunk.js.map",
"7494.551802e0.chunk.js.map": "./static/js/7494.551802e0.chunk.js.map",
"4738.f0e4dfe6.chunk.js.map": "./static/js/4738.f0e4dfe6.chunk.js.map",
"3989.0cbf2140.chunk.js.map": "./static/js/3989.0cbf2140.chunk.js.map",
"5702.f709e6f4.chunk.js.map": "./static/js/5702.f709e6f4.chunk.js.map",
"5759.d032a48a.chunk.js.map": "./static/js/5759.d032a48a.chunk.js.map",
"51.b53647bd.chunk.js.map": "./static/js/51.b53647bd.chunk.js.map",
"312.0339f1aa.chunk.js.map": "./static/js/312.0339f1aa.chunk.js.map",
"2032.79310ed7.chunk.js.map": "./static/js/2032.79310ed7.chunk.js.map",
"4619.0e7615ad.chunk.js.map": "./static/js/4619.0e7615ad.chunk.js.map",
"8990.013fe7bd.chunk.js.map": "./static/js/8990.013fe7bd.chunk.js.map",
"8455.b092b647.chunk.js.map": "./static/js/8455.b092b647.chunk.js.map",
"3690.7fda5327.chunk.js.map": "./static/js/3690.7fda5327.chunk.js.map",
"1604.da19242e.chunk.js.map": "./static/js/1604.da19242e.chunk.js.map",
"9952.3389689d.chunk.js.map": "./static/js/9952.3389689d.chunk.js.map",
"402.e74bfaf8.chunk.js.map": "./static/js/402.e74bfaf8.chunk.js.map",
"1705.d2123b1a.chunk.js.map": "./static/js/1705.d2123b1a.chunk.js.map",
"1581.74c2c762.chunk.js.map": "./static/js/1581.74c2c762.chunk.js.map",
"455.1d0c7cda.chunk.js.map": "./static/js/455.1d0c7cda.chunk.js.map",
"8296.e55a5bf1.chunk.js.map": "./static/js/8296.e55a5bf1.chunk.js.map",
"3509.3f62cdbf.chunk.js.map": "./static/js/3509.3f62cdbf.chunk.js.map",
"889.035fef88.chunk.js.map": "./static/js/889.035fef88.chunk.js.map",
"9088.3bc2a31e.chunk.js.map": "./static/js/9088.3bc2a31e.chunk.js.map",
"247.39dd8f3a.chunk.js.map": "./static/js/247.39dd8f3a.chunk.js.map",
"2763.ddc89d17.chunk.js.map": "./static/js/2763.ddc89d17.chunk.js.map",
"2977.e75673aa.chunk.js.map": "./static/js/2977.e75673aa.chunk.js.map",
"601.b2adb5c6.chunk.js.map": "./static/js/601.b2adb5c6.chunk.js.map",
"8265.942883a0.chunk.js.map": "./static/js/8265.942883a0.chunk.js.map",
"5061.7ff7c268.chunk.js.map": "./static/js/5061.7ff7c268.chunk.js.map",
"6521.5e62a2df.chunk.js.map": "./static/js/6521.5e62a2df.chunk.js.map",
"4669.8c7d4cb8.chunk.js.map": "./static/js/4669.8c7d4cb8.chunk.js.map"
},
"entrypoints": [
"static/css/main.e60e4760.css",
"static/js/main.ca749b3b.js"
"static/js/main.f7f3913c.js"
]
}

View File

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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

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

View File

@@ -1 +0,0 @@
{"version":3,"file":"static/js/1260.1bfa3ef3.chunk.js","mappings":"yNA2DA,UAjCmB,WACjB,IAAMA,GAAWC,EAAAA,EAAAA,MACXC,GAAWC,EAAAA,EAAAA,MA4BjB,OA3BAC,EAAAA,EAAAA,YAAU,YACO,WACb,IAAMC,EAAgB,YACpBC,EAAAA,EAAAA,MACAN,GAASO,EAAAA,EAAAA,KAAW,IAGpBP,EAAS,CAAEQ,KAAM,wBAEjBC,aAAaC,QAAQ,eAAgB,IACrCD,aAAaC,QAAQ,gBAAiB,IACtCV,GAASW,EAAAA,EAAAA,OACTT,EAAS,SACX,EACMU,EAAQH,aAAaI,QAAQ,cACnCC,EAAAA,EACGC,OAAO,OAAO,iBAAmB,CAAEH,MAAAA,IACnCI,MAAK,WACJX,GACF,IACCY,OAAM,SAACC,GACNC,QAAQC,MAAMF,GACdb,GACF,GACJ,CACAgB,EACF,GAAG,CAACrB,EAAUE,KACPoB,EAAAA,EAAAA,KAACC,EAAAA,EAAgB,GAC1B,C","sources":["screens/LogoutPage/LogoutPage.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React, { useEffect } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../store\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport { clearSession } from \"../../common/utils\";\nimport { userLogged } from \"../../systemSlice\";\nimport { resetSession } from \"../Console/consoleSlice\";\nimport api from \"../../common/api\";\nimport LoadingComponent from \"../../common/LoadingComponent\";\n\nconst LogoutPage = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n useEffect(() => {\n const logout = () => {\n const deleteSession = () => {\n clearSession();\n dispatch(userLogged(false));\n\n // Disconnect OB Websocket\n dispatch({ type: \"socket/OBDisconnect\" });\n\n localStorage.setItem(\"userLoggedIn\", \"\");\n localStorage.setItem(\"redirect-path\", \"\");\n dispatch(resetSession());\n navigate(`/login`);\n };\n const state = localStorage.getItem(\"auth-state\");\n api\n .invoke(\"POST\", `/api/v1/logout`, { state })\n .then(() => {\n deleteSession();\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n deleteSession();\n });\n };\n logout();\n }, [dispatch, navigate]);\n return <LoadingComponent />;\n};\n\nexport default LogoutPage;\n"],"names":["dispatch","useAppDispatch","navigate","useNavigate","useEffect","deleteSession","clearSession","userLogged","type","localStorage","setItem","resetSession","state","getItem","api","invoke","then","catch","err","console","error","logout","_jsx","LoadingComponent"],"sourceRoot":""}

View File

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

View File

@@ -0,0 +1 @@
{"version":3,"file":"static/js/1260.291b50cb.chunk.js","mappings":"0OA0BA,MAiCA,EAjCmBA,KACjB,MAAMC,GAAWC,EAAAA,EAAAA,MACXC,GAAWC,EAAAA,EAAAA,MA4BjB,OA3BAC,EAAAA,EAAAA,YAAU,KACOC,MACb,MAAMC,EAAgBA,MACpBC,EAAAA,EAAAA,MACAP,GAASQ,EAAAA,EAAAA,KAAW,IAGpBR,EAAS,CAAES,KAAM,wBAEjBC,aAAaC,QAAQ,eAAgB,IACrCD,aAAaC,QAAQ,gBAAiB,IACtCX,GAASY,EAAAA,EAAAA,OACTV,EAAS,SAAS,EAEdW,EAAQH,aAAaI,QAAQ,cACnCC,EAAAA,EACGC,OAAO,OAAO,iBAAmB,CAAEH,UACnCI,MAAK,KACJX,GAAe,IAEhBY,OAAOC,IACNC,QAAQC,MAAMF,GACdb,GAAe,GACf,EAEND,EAAQ,GACP,CAACL,EAAUE,KACPoB,EAAAA,EAAAA,KAACC,EAAAA,EAAgB,GAAG,C","sources":["screens/LogoutPage/LogoutPage.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see <http://www.gnu.org/licenses/>.\n\nimport React, { useEffect } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../store\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport { clearSession } from \"../../common/utils\";\nimport { userLogged } from \"../../systemSlice\";\nimport { resetSession } from \"../Console/consoleSlice\";\nimport api from \"../../common/api\";\nimport LoadingComponent from \"../../common/LoadingComponent\";\n\nconst LogoutPage = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n useEffect(() => {\n const logout = () => {\n const deleteSession = () => {\n clearSession();\n dispatch(userLogged(false));\n\n // Disconnect OB Websocket\n dispatch({ type: \"socket/OBDisconnect\" });\n\n localStorage.setItem(\"userLoggedIn\", \"\");\n localStorage.setItem(\"redirect-path\", \"\");\n dispatch(resetSession());\n navigate(`/login`);\n };\n const state = localStorage.getItem(\"auth-state\");\n api\n .invoke(\"POST\", `/api/v1/logout`, { state })\n .then(() => {\n deleteSession();\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n deleteSession();\n });\n };\n logout();\n }, [dispatch, navigate]);\n return <LoadingComponent />;\n};\n\nexport default LogoutPage;\n"],"names":["LogoutPage","dispatch","useAppDispatch","navigate","useNavigate","useEffect","logout","deleteSession","clearSession","userLogged","type","localStorage","setItem","resetSession","state","getItem","api","invoke","then","catch","err","console","error","_jsx","LoadingComponent"],"sourceRoot":""}

View File

@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1329],{51270:(e,t,n)=>{n.d(t,{Z:()=>d});var s=n(72791),i=n(29945),a=n(87995),o=n(44690),r=n(9505),l=n(23508),c=n(80184);const d=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,idp:d,idpType:u}=e;const p=(0,o.TL)(),[f,x]=(0,r.Z)((e=>{t(!0),p((0,a.cN)(!0===e.restart))}),(e=>p((0,a.Ih)(e))));if(!d)return null;const j="_"===d?"Default":d;return(0,c.jsx)(l.Z,{title:"Delete ".concat(j),confirmText:"Delete",isOpen:n,titleIcon:(0,c.jsx)(i.NvT,{}),isLoading:f,onConfirm:()=>{x("DELETE","/api/v1/idp/".concat(u,"/").concat(d))},onClose:()=>t(!1),confirmButtonProps:{disabled:f},confirmationContent:(0,c.jsxs)(s.Fragment,{children:["Are you sure you want to delete IDP ",(0,c.jsx)("b",{children:j})," ","configuration? ",(0,c.jsx)("br",{})]})})}},31329:(e,t,n)=>{n.r(t),n.d(t,{default:()=>m});var s=n(72791),i=n(29945),a=n(57689),o=n(31776),r=n(82342),l=n(44690),c=n(56087),d=n(38442),u=n(87995),p=n(23814),f=n(27454),x=n(51270),j=n(79844),C=n(99670),h=n(80184);const D=e=>{let{idpType:t}=e;const n=(0,l.TL)(),D=(0,a.s0)(),[m,y]=(0,s.useState)(!1),[b,F]=(0,s.useState)(""),[_,A]=(0,s.useState)(!1),[I,T]=(0,s.useState)([]),g=(0,d.F)(c.C3,[c.Ft.ADMIN_CONFIG_UPDATE]),N=(0,d.F)(c.C3,[c.Ft.ADMIN_CONFIG_UPDATE]),E=(0,d.F)(c.C3,[c.Ft.ADMIN_CONFIG_UPDATE]);(0,s.useEffect)((()=>{P()}),[]),(0,s.useEffect)((()=>{_&&(E?o.h.idp.listConfigurations(t).then((e=>{A(!1),e.data.results&&T(e.data.results.map((e=>(e.name="_"===e.name?"Default":e.name,e.enabled=!0===e.enabled?"Enabled":"Disabled",e))))})).catch((e=>{A(!1),n((0,u.Ih)((0,r.g)(e.error)))})):A(!1))}),[_,A,T,n,E,t]);const P=()=>{A(!0)},k=[{type:"view",onClick:e=>{let n="Default"===e.name?"_":e.name;D("/identity/idp/".concat(t,"/configurations/").concat(n))},disableButtonFunction:()=>!N},{type:"delete",onClick:e=>{y(!0),F(e="Default"===e?"_":e)},sendOnlyId:!0,disableButtonFunction:e=>!g||"Default"===e}];return(0,s.useEffect)((()=>{n((0,u.Sc)("idp_configs"))}),[]),(0,h.jsxs)(s.Fragment,{children:[m&&(0,h.jsx)(x.Z,{deleteOpen:m,idp:b,idpType:t,closeDeleteModalAndRefresh:async e=>{y(!1),e&&P()}}),(0,h.jsx)(j.Z,{label:"".concat(t.toUpperCase()," Configurations"),actions:(0,h.jsx)(C.Z,{})}),(0,h.jsx)(i.Xgh,{children:(0,h.jsxs)(i.rjZ,{container:!0,children:[(0,h.jsxs)(i.rjZ,{item:!0,xs:12,sx:{...p.OR.actionsTray,justifyContent:"flex-end",gap:8},children:[(0,h.jsx)(d.s,{scopes:[c.Ft.ADMIN_CONFIG_UPDATE],resource:c.C3,errorProps:{disabled:!0},children:(0,h.jsx)(f.Z,{tooltip:"Refresh",children:(0,h.jsx)(i.zxk,{id:"refresh-keys",variant:"regular",icon:(0,h.jsx)(i.DuK,{}),onClick:()=>A(!0)})})}),(0,h.jsx)(d.s,{scopes:[c.Ft.ADMIN_CONFIG_UPDATE],resource:c.C3,errorProps:{disabled:!0},children:(0,h.jsx)(f.Z,{tooltip:"Create ".concat(t," configuration"),children:(0,h.jsx)(i.zxk,{id:"create-idp",label:"Create Configuration",variant:"callAction",icon:(0,h.jsx)(i.dtP,{}),onClick:()=>D("/identity/idp/".concat(t,"/configurations/add-idp"))})})})]}),(0,h.jsx)(i.rjZ,{item:!0,xs:12,children:(0,h.jsx)(d.s,{scopes:[c.Ft.ADMIN_CONFIG_UPDATE],resource:c.C3,errorProps:{disabled:!0},children:(0,h.jsx)(i.wQF,{itemActions:k,columns:[{label:"Name",elementKey:"name"},{label:"Type",elementKey:"type"},{label:"Enabled",elementKey:"enabled"}],isLoading:_,records:I,entityName:"Keys",idField:"name"})})})]})})]})},m=()=>(0,h.jsx)(D,{idpType:"openid"})}}]);
//# sourceMappingURL=1329.b71d618a.chunk.js.map

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +0,0 @@
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1329],{51270:function(e,n,t){var i=t(29439),r=t(72791),o=t(29945),s=t(87995),c=t(44690),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(44690),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.df839007.chunk.js.map

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