2022-07-26 21:38:35 +02:00
|
|
|
// Code generated by go-swagger; DO NOT EDIT.
|
|
|
|
|
|
|
|
package rest_model_zrok
|
|
|
|
|
|
|
|
// This file was generated by the swagger tool.
|
|
|
|
// Editing this file might prove futile when you re-run the swagger generate command
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2022-11-18 21:48:13 +01:00
|
|
|
"encoding/json"
|
2022-08-16 17:46:54 +02:00
|
|
|
"strconv"
|
2022-07-26 21:38:35 +02:00
|
|
|
|
2022-08-16 17:46:54 +02:00
|
|
|
"github.com/go-openapi/errors"
|
2022-07-26 21:38:35 +02:00
|
|
|
"github.com/go-openapi/strfmt"
|
|
|
|
"github.com/go-openapi/swag"
|
2022-11-18 21:48:13 +01:00
|
|
|
"github.com/go-openapi/validate"
|
2022-07-26 21:38:35 +02:00
|
|
|
)
|
|
|
|
|
2022-11-18 21:36:55 +01:00
|
|
|
// ShareRequest share request
|
2022-07-26 21:38:35 +02:00
|
|
|
//
|
2022-11-18 21:36:55 +01:00
|
|
|
// swagger:model shareRequest
|
|
|
|
type ShareRequest struct {
|
2022-07-26 21:38:35 +02:00
|
|
|
|
2022-08-16 17:46:54 +02:00
|
|
|
// auth scheme
|
|
|
|
AuthScheme string `json:"authScheme,omitempty"`
|
|
|
|
|
|
|
|
// auth users
|
|
|
|
AuthUsers []*AuthUser `json:"authUsers"`
|
|
|
|
|
2022-11-18 21:48:13 +01:00
|
|
|
// backend mode
|
2023-10-17 19:05:55 +02:00
|
|
|
// Enum: [proxy web tcpTunnel udpTunnel caddy drive]
|
2022-11-18 21:48:13 +01:00
|
|
|
BackendMode string `json:"backendMode,omitempty"`
|
|
|
|
|
|
|
|
// backend proxy endpoint
|
|
|
|
BackendProxyEndpoint string `json:"backendProxyEndpoint,omitempty"`
|
|
|
|
|
2022-11-29 22:41:18 +01:00
|
|
|
// env z Id
|
|
|
|
EnvZID string `json:"envZId,omitempty"`
|
|
|
|
|
2022-11-18 21:48:13 +01:00
|
|
|
// frontend selection
|
|
|
|
FrontendSelection []string `json:"frontendSelection"`
|
|
|
|
|
2023-09-05 16:55:55 +02:00
|
|
|
// oauth authorization check interval
|
|
|
|
OauthAuthorizationCheckInterval string `json:"oauthAuthorizationCheckInterval,omitempty"`
|
|
|
|
|
2023-02-22 16:37:07 +01:00
|
|
|
// oauth email domains
|
|
|
|
OauthEmailDomains []string `json:"oauthEmailDomains"`
|
|
|
|
|
|
|
|
// oauth provider
|
2023-09-05 16:55:55 +02:00
|
|
|
// Enum: [github google]
|
2023-02-22 16:37:07 +01:00
|
|
|
OauthProvider string `json:"oauthProvider,omitempty"`
|
|
|
|
|
2022-11-30 19:45:57 +01:00
|
|
|
// reserved
|
|
|
|
Reserved bool `json:"reserved,omitempty"`
|
|
|
|
|
2022-11-18 21:48:13 +01:00
|
|
|
// share mode
|
|
|
|
// Enum: [public private]
|
|
|
|
ShareMode string `json:"shareMode,omitempty"`
|
2023-12-07 20:26:03 +01:00
|
|
|
|
|
|
|
// unique name
|
|
|
|
UniqueName string `json:"uniqueName,omitempty"`
|
2022-07-26 21:38:35 +02:00
|
|
|
}
|
|
|
|
|
2022-11-18 21:36:55 +01:00
|
|
|
// Validate validates this share request
|
|
|
|
func (m *ShareRequest) Validate(formats strfmt.Registry) error {
|
2022-08-16 17:46:54 +02:00
|
|
|
var res []error
|
|
|
|
|
|
|
|
if err := m.validateAuthUsers(formats); err != nil {
|
|
|
|
res = append(res, err)
|
|
|
|
}
|
|
|
|
|
2022-11-18 21:48:13 +01:00
|
|
|
if err := m.validateBackendMode(formats); err != nil {
|
|
|
|
res = append(res, err)
|
|
|
|
}
|
|
|
|
|
2023-02-22 16:37:07 +01:00
|
|
|
if err := m.validateOauthProvider(formats); err != nil {
|
|
|
|
res = append(res, err)
|
|
|
|
}
|
|
|
|
|
2022-11-18 21:48:13 +01:00
|
|
|
if err := m.validateShareMode(formats); err != nil {
|
|
|
|
res = append(res, err)
|
|
|
|
}
|
|
|
|
|
2022-08-16 17:46:54 +02:00
|
|
|
if len(res) > 0 {
|
|
|
|
return errors.CompositeValidationError(res...)
|
|
|
|
}
|
2022-07-26 21:38:35 +02:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-11-18 21:36:55 +01:00
|
|
|
func (m *ShareRequest) validateAuthUsers(formats strfmt.Registry) error {
|
2022-08-16 17:46:54 +02:00
|
|
|
if swag.IsZero(m.AuthUsers) { // not required
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
for i := 0; i < len(m.AuthUsers); i++ {
|
|
|
|
if swag.IsZero(m.AuthUsers[i]) { // not required
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
|
|
|
|
if m.AuthUsers[i] != nil {
|
|
|
|
if err := m.AuthUsers[i].Validate(formats); err != nil {
|
|
|
|
if ve, ok := err.(*errors.Validation); ok {
|
|
|
|
return ve.ValidateName("authUsers" + "." + strconv.Itoa(i))
|
|
|
|
} else if ce, ok := err.(*errors.CompositeError); ok {
|
|
|
|
return ce.ValidateName("authUsers" + "." + strconv.Itoa(i))
|
|
|
|
}
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-11-18 21:48:13 +01:00
|
|
|
var shareRequestTypeBackendModePropEnum []interface{}
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
var res []string
|
2023-10-17 19:05:55 +02:00
|
|
|
if err := json.Unmarshal([]byte(`["proxy","web","tcpTunnel","udpTunnel","caddy","drive"]`), &res); err != nil {
|
2022-11-18 21:48:13 +01:00
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
for _, v := range res {
|
|
|
|
shareRequestTypeBackendModePropEnum = append(shareRequestTypeBackendModePropEnum, v)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
|
|
|
// ShareRequestBackendModeProxy captures enum value "proxy"
|
|
|
|
ShareRequestBackendModeProxy string = "proxy"
|
|
|
|
|
|
|
|
// ShareRequestBackendModeWeb captures enum value "web"
|
|
|
|
ShareRequestBackendModeWeb string = "web"
|
|
|
|
|
2023-05-01 18:19:06 +02:00
|
|
|
// ShareRequestBackendModeTCPTunnel captures enum value "tcpTunnel"
|
|
|
|
ShareRequestBackendModeTCPTunnel string = "tcpTunnel"
|
|
|
|
|
|
|
|
// ShareRequestBackendModeUDPTunnel captures enum value "udpTunnel"
|
|
|
|
ShareRequestBackendModeUDPTunnel string = "udpTunnel"
|
2023-08-28 20:49:20 +02:00
|
|
|
|
|
|
|
// ShareRequestBackendModeCaddy captures enum value "caddy"
|
|
|
|
ShareRequestBackendModeCaddy string = "caddy"
|
2023-10-17 19:05:55 +02:00
|
|
|
|
|
|
|
// ShareRequestBackendModeDrive captures enum value "drive"
|
|
|
|
ShareRequestBackendModeDrive string = "drive"
|
2022-11-18 21:48:13 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
// prop value enum
|
|
|
|
func (m *ShareRequest) validateBackendModeEnum(path, location string, value string) error {
|
|
|
|
if err := validate.EnumCase(path, location, value, shareRequestTypeBackendModePropEnum, true); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *ShareRequest) validateBackendMode(formats strfmt.Registry) error {
|
|
|
|
if swag.IsZero(m.BackendMode) { // not required
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// value enum
|
|
|
|
if err := m.validateBackendModeEnum("backendMode", "body", m.BackendMode); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2023-02-22 16:37:07 +01:00
|
|
|
var shareRequestTypeOauthProviderPropEnum []interface{}
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
var res []string
|
2023-09-05 16:55:55 +02:00
|
|
|
if err := json.Unmarshal([]byte(`["github","google"]`), &res); err != nil {
|
2023-02-22 16:37:07 +01:00
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
for _, v := range res {
|
|
|
|
shareRequestTypeOauthProviderPropEnum = append(shareRequestTypeOauthProviderPropEnum, v)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
2023-09-05 16:55:55 +02:00
|
|
|
// ShareRequestOauthProviderGithub captures enum value "github"
|
|
|
|
ShareRequestOauthProviderGithub string = "github"
|
|
|
|
|
|
|
|
// ShareRequestOauthProviderGoogle captures enum value "google"
|
|
|
|
ShareRequestOauthProviderGoogle string = "google"
|
2023-02-22 16:37:07 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
// prop value enum
|
|
|
|
func (m *ShareRequest) validateOauthProviderEnum(path, location string, value string) error {
|
|
|
|
if err := validate.EnumCase(path, location, value, shareRequestTypeOauthProviderPropEnum, true); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *ShareRequest) validateOauthProvider(formats strfmt.Registry) error {
|
|
|
|
if swag.IsZero(m.OauthProvider) { // not required
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// value enum
|
|
|
|
if err := m.validateOauthProviderEnum("oauthProvider", "body", m.OauthProvider); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-11-18 21:48:13 +01:00
|
|
|
var shareRequestTypeShareModePropEnum []interface{}
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
var res []string
|
|
|
|
if err := json.Unmarshal([]byte(`["public","private"]`), &res); err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
for _, v := range res {
|
|
|
|
shareRequestTypeShareModePropEnum = append(shareRequestTypeShareModePropEnum, v)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
|
|
|
// ShareRequestShareModePublic captures enum value "public"
|
|
|
|
ShareRequestShareModePublic string = "public"
|
|
|
|
|
|
|
|
// ShareRequestShareModePrivate captures enum value "private"
|
|
|
|
ShareRequestShareModePrivate string = "private"
|
|
|
|
)
|
|
|
|
|
|
|
|
// prop value enum
|
|
|
|
func (m *ShareRequest) validateShareModeEnum(path, location string, value string) error {
|
|
|
|
if err := validate.EnumCase(path, location, value, shareRequestTypeShareModePropEnum, true); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *ShareRequest) validateShareMode(formats strfmt.Registry) error {
|
|
|
|
if swag.IsZero(m.ShareMode) { // not required
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// value enum
|
|
|
|
if err := m.validateShareModeEnum("shareMode", "body", m.ShareMode); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-11-18 21:36:55 +01:00
|
|
|
// ContextValidate validate this share request based on the context it is used
|
|
|
|
func (m *ShareRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
2022-08-16 17:46:54 +02:00
|
|
|
var res []error
|
|
|
|
|
|
|
|
if err := m.contextValidateAuthUsers(ctx, formats); err != nil {
|
|
|
|
res = append(res, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if len(res) > 0 {
|
|
|
|
return errors.CompositeValidationError(res...)
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-11-18 21:36:55 +01:00
|
|
|
func (m *ShareRequest) contextValidateAuthUsers(ctx context.Context, formats strfmt.Registry) error {
|
2022-08-16 17:46:54 +02:00
|
|
|
|
|
|
|
for i := 0; i < len(m.AuthUsers); i++ {
|
|
|
|
|
|
|
|
if m.AuthUsers[i] != nil {
|
2023-12-07 20:26:03 +01:00
|
|
|
|
|
|
|
if swag.IsZero(m.AuthUsers[i]) { // not required
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-08-16 17:46:54 +02:00
|
|
|
if err := m.AuthUsers[i].ContextValidate(ctx, formats); err != nil {
|
|
|
|
if ve, ok := err.(*errors.Validation); ok {
|
|
|
|
return ve.ValidateName("authUsers" + "." + strconv.Itoa(i))
|
|
|
|
} else if ce, ok := err.(*errors.CompositeError); ok {
|
|
|
|
return ce.ValidateName("authUsers" + "." + strconv.Itoa(i))
|
|
|
|
}
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2022-07-26 21:38:35 +02:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// MarshalBinary interface implementation
|
2022-11-18 21:36:55 +01:00
|
|
|
func (m *ShareRequest) MarshalBinary() ([]byte, error) {
|
2022-07-26 21:38:35 +02:00
|
|
|
if m == nil {
|
|
|
|
return nil, nil
|
|
|
|
}
|
|
|
|
return swag.WriteJSON(m)
|
|
|
|
}
|
|
|
|
|
|
|
|
// UnmarshalBinary interface implementation
|
2022-11-18 21:36:55 +01:00
|
|
|
func (m *ShareRequest) UnmarshalBinary(b []byte) error {
|
|
|
|
var res ShareRequest
|
2022-07-26 21:38:35 +02:00
|
|
|
if err := swag.ReadJSON(b, &res); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
*m = res
|
|
|
|
return nil
|
|
|
|
}
|