missing enum (stub)

This commit is contained in:
Michael Quigley 2025-06-20 09:50:29 -04:00
parent eb5f56c5fd
commit 83eaedd4d8
No known key found for this signature in database
GPG Key ID: 9B60314A9DD20A62
6 changed files with 95 additions and 5 deletions

View File

@ -25,6 +25,7 @@ type ShareRequest struct {
AccessGrants []string `json:"accessGrants"`
// auth scheme
// Enum: [none basic oidc]
AuthScheme string `json:"authScheme,omitempty"`
// auth users
@ -72,6 +73,10 @@ type ShareRequest struct {
func (m *ShareRequest) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateAuthScheme(formats); err != nil {
res = append(res, err)
}
if err := m.validateAuthUsers(formats); err != nil {
res = append(res, err)
}
@ -98,6 +103,51 @@ func (m *ShareRequest) Validate(formats strfmt.Registry) error {
return nil
}
var shareRequestTypeAuthSchemePropEnum []interface{}
func init() {
var res []string
if err := json.Unmarshal([]byte(`["none","basic","oidc"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
shareRequestTypeAuthSchemePropEnum = append(shareRequestTypeAuthSchemePropEnum, v)
}
}
const (
// ShareRequestAuthSchemeNone captures enum value "none"
ShareRequestAuthSchemeNone string = "none"
// ShareRequestAuthSchemeBasic captures enum value "basic"
ShareRequestAuthSchemeBasic string = "basic"
// ShareRequestAuthSchemeOidc captures enum value "oidc"
ShareRequestAuthSchemeOidc string = "oidc"
)
// prop value enum
func (m *ShareRequest) validateAuthSchemeEnum(path, location string, value string) error {
if err := validate.EnumCase(path, location, value, shareRequestTypeAuthSchemePropEnum, true); err != nil {
return err
}
return nil
}
func (m *ShareRequest) validateAuthScheme(formats strfmt.Registry) error {
if swag.IsZero(m.AuthScheme) { // not required
return nil
}
// value enum
if err := m.validateAuthSchemeEnum("authScheme", "body", m.AuthScheme); err != nil {
return err
}
return nil
}
func (m *ShareRequest) validateAuthUsers(formats strfmt.Registry) error {
if swag.IsZero(m.AuthUsers) { // not required
return nil

View File

@ -2840,7 +2840,12 @@ func init() {
}
},
"authScheme": {
"type": "string"
"type": "string",
"enum": [
"none",
"basic",
"oidc"
]
},
"authUsers": {
"type": "array",
@ -5794,7 +5799,12 @@ func init() {
}
},
"authScheme": {
"type": "string"
"type": "string",
"enum": [
"none",
"basic",
"oidc"
]
},
"authUsers": {
"type": "array",

View File

@ -62,7 +62,7 @@ export interface ShareRequest {
* @type {string}
* @memberof ShareRequest
*/
authScheme?: string;
authScheme?: ShareRequestAuthSchemeEnum;
/**
*
* @type {Array<AuthUser>}
@ -138,6 +138,16 @@ export const ShareRequestBackendModeEnum = {
} as const;
export type ShareRequestBackendModeEnum = typeof ShareRequestBackendModeEnum[keyof typeof ShareRequestBackendModeEnum];
/**
* @export
*/
export const ShareRequestAuthSchemeEnum = {
None: 'none',
Basic: 'basic',
Oidc: 'oidc'
} as const;
export type ShareRequestAuthSchemeEnum = typeof ShareRequestAuthSchemeEnum[keyof typeof ShareRequestAuthSchemeEnum];
/**
* @export
*/

View File

@ -42,7 +42,7 @@ class TestShareRequest(unittest.TestCase):
],
backend_mode = 'proxy',
backend_proxy_endpoint = '',
auth_scheme = '',
auth_scheme = 'none',
auth_users = [
zrok_api.models.auth_user.authUser(
username = '',

View File

@ -63,6 +63,16 @@ class ShareRequest(BaseModel):
raise ValueError("must be one of enum values ('proxy', 'web', 'tcpTunnel', 'udpTunnel', 'caddy', 'drive', 'socks', 'vpn')")
return value
@field_validator('auth_scheme')
def auth_scheme_validate_enum(cls, value):
"""Validates the enum"""
if value is None:
return value
if value not in set(['none', 'basic', 'oidc']):
raise ValueError("must be one of enum values ('none', 'basic', 'oidc')")
return value
@field_validator('oauth_provider')
def oauth_provider_validate_enum(cls, value):
"""Validates the enum"""

View File

@ -62,7 +62,7 @@ export interface ShareRequest {
* @type {string}
* @memberof ShareRequest
*/
authScheme?: string;
authScheme?: ShareRequestAuthSchemeEnum;
/**
*
* @type {Array<AuthUser>}
@ -138,6 +138,16 @@ export const ShareRequestBackendModeEnum = {
} as const;
export type ShareRequestBackendModeEnum = typeof ShareRequestBackendModeEnum[keyof typeof ShareRequestBackendModeEnum];
/**
* @export
*/
export const ShareRequestAuthSchemeEnum = {
None: 'none',
Basic: 'basic',
Oidc: 'oidc'
} as const;
export type ShareRequestAuthSchemeEnum = typeof ShareRequestAuthSchemeEnum[keyof typeof ShareRequestAuthSchemeEnum];
/**
* @export
*/