Compare commits
58 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74030aa067 | ||
|
|
07b8c745e6 | ||
|
|
6767bfa2d2 | ||
|
|
607d94fef4 | ||
|
|
83b060ef94 | ||
|
|
cb14cb94ce | ||
|
|
2b9de49fbe | ||
|
|
290f273bdf | ||
|
|
7b43779fb0 | ||
|
|
924c38faa6 | ||
|
|
e4d5f9610e | ||
|
|
04e9cb0ac8 | ||
|
|
da53daff37 | ||
|
|
8c26eff2c1 | ||
|
|
044c265423 | ||
|
|
0053658d5d | ||
|
|
99cf3b378f | ||
|
|
78293eab62 | ||
|
|
1a84be5782 | ||
|
|
178f82b675 | ||
|
|
ec5fbbcd1e | ||
|
|
78164054d4 | ||
|
|
6d5d11d5b4 | ||
|
|
9e3b93d385 | ||
|
|
d77cf93193 | ||
|
|
2cca3f3722 | ||
|
|
36d96a1791 | ||
|
|
82e34a5df2 | ||
|
|
7b83f4b1dc | ||
|
|
7d9910d1ca | ||
|
|
7a63f6da56 | ||
|
|
0043833f36 | ||
|
|
3ad3bccadb | ||
|
|
39e94c890e | ||
|
|
701039454a | ||
|
|
ec77a03d7c | ||
|
|
8dbad84a58 | ||
|
|
1767a37162 | ||
|
|
622c3a067a | ||
|
|
4389548b64 | ||
|
|
8cb0f1e558 | ||
|
|
faafb77c73 | ||
|
|
0ecd1c73c1 | ||
|
|
88bf40f9a6 | ||
|
|
a025163b34 | ||
|
|
07c80462b7 | ||
|
|
79ac2277d4 | ||
|
|
1c27bee9d0 | ||
|
|
56dc58b0b8 | ||
|
|
4018addd79 | ||
|
|
429dfb4314 | ||
|
|
1d7bb0bb2b | ||
|
|
476eb673bb | ||
|
|
71681b710c | ||
|
|
fb02a7da06 | ||
|
|
5fdc341138 | ||
|
|
15de6caf75 | ||
|
|
77bc2d5006 |
2
.github/workflows/jobs.yaml
vendored
2
.github/workflows/jobs.yaml
vendored
@@ -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
|
||||
|
||||
6
.github/workflows/vulncheck.yaml
vendored
6
.github/workflows/vulncheck.yaml
vendored
@@ -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
|
||||
|
||||
29
CHANGELOG.md
29
CHANGELOG.md
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
1
Makefile
1
Makefile
@@ -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:
|
||||
|
||||
47
README.md
47
README.md
@@ -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
27
go.mod
@@ -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
55
go.sum
@@ -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=
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"`
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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"`
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
88
models/max_share_link_exp_response.go
Normal file
88
models/max_share_link_exp_response.go
Normal 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
|
||||
}
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
85
models/service_account.go
Normal 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
|
||||
}
|
||||
@@ -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"`
|
||||
}
|
||||
|
||||
@@ -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"`
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
build
|
||||
coverage
|
||||
.nyc_output
|
||||
@@ -20,6 +20,6 @@ find-deadcode:
|
||||
./check-deadcode.sh
|
||||
|
||||
prettify:
|
||||
yarn prettier --write . --loglevel warn
|
||||
yarn prettier --write . --log-level warn
|
||||
|
||||
pretty: prettify
|
||||
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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>
|
||||
2
portal-ui/build/static/js/1191.77653544.chunk.js
Normal file
2
portal-ui/build/static/js/1191.77653544.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
portal-ui/build/static/js/1191.77653544.chunk.js.map
Normal file
1
portal-ui/build/static/js/1191.77653544.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +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
|
||||
@@ -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":""}
|
||||
2
portal-ui/build/static/js/1260.291b50cb.chunk.js
Normal file
2
portal-ui/build/static/js/1260.291b50cb.chunk.js
Normal 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
|
||||
1
portal-ui/build/static/js/1260.291b50cb.chunk.js.map
Normal file
1
portal-ui/build/static/js/1260.291b50cb.chunk.js.map
Normal 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":""}
|
||||
2
portal-ui/build/static/js/1329.b71d618a.chunk.js
Normal file
2
portal-ui/build/static/js/1329.b71d618a.chunk.js
Normal 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
|
||||
1
portal-ui/build/static/js/1329.b71d618a.chunk.js.map
Normal file
1
portal-ui/build/static/js/1329.b71d618a.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -1,2 +0,0 @@
|
||||
"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1329],{51270:function(e,n,t){var i=t(29439),r=t(72791),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
Reference in New Issue
Block a user