mirror of
https://github.com/openziti/zrok.git
synced 2025-03-27 14:46:03 +01:00
api polish: change password (#834)
This commit is contained in:
parent
9f31112e1b
commit
d13a47d1c0
@ -19,7 +19,7 @@ func newChangePasswordHandler(cfg *config.Config) *changePasswordHandler {
|
||||
}
|
||||
|
||||
func (handler *changePasswordHandler) Handle(params account.ChangePasswordParams, principal *rest_model_zrok.Principal) middleware.Responder {
|
||||
if params.Body == nil || params.Body.Email == "" || params.Body.OldPassword == "" || params.Body.NewPassword == "" {
|
||||
if params.Body.Email == "" || params.Body.OldPassword == "" || params.Body.NewPassword == "" {
|
||||
logrus.Error("missing email, old, or new password")
|
||||
return account.NewChangePasswordUnauthorized()
|
||||
}
|
||||
|
@ -14,8 +14,6 @@ import (
|
||||
"github.com/go-openapi/runtime"
|
||||
cr "github.com/go-openapi/runtime/client"
|
||||
"github.com/go-openapi/strfmt"
|
||||
|
||||
"github.com/openziti/zrok/rest_model_zrok"
|
||||
)
|
||||
|
||||
// NewChangePasswordParams creates a new ChangePasswordParams object,
|
||||
@ -64,7 +62,7 @@ ChangePasswordParams contains all the parameters to send to the API endpoint
|
||||
type ChangePasswordParams struct {
|
||||
|
||||
// Body.
|
||||
Body *rest_model_zrok.ChangePasswordRequest
|
||||
Body ChangePasswordBody
|
||||
|
||||
timeout time.Duration
|
||||
Context context.Context
|
||||
@ -120,13 +118,13 @@ func (o *ChangePasswordParams) SetHTTPClient(client *http.Client) {
|
||||
}
|
||||
|
||||
// WithBody adds the body to the change password params
|
||||
func (o *ChangePasswordParams) WithBody(body *rest_model_zrok.ChangePasswordRequest) *ChangePasswordParams {
|
||||
func (o *ChangePasswordParams) WithBody(body ChangePasswordBody) *ChangePasswordParams {
|
||||
o.SetBody(body)
|
||||
return o
|
||||
}
|
||||
|
||||
// SetBody adds the body to the change password params
|
||||
func (o *ChangePasswordParams) SetBody(body *rest_model_zrok.ChangePasswordRequest) {
|
||||
func (o *ChangePasswordParams) SetBody(body ChangePasswordBody) {
|
||||
o.Body = body
|
||||
}
|
||||
|
||||
@ -137,10 +135,8 @@ func (o *ChangePasswordParams) WriteToRequest(r runtime.ClientRequest, reg strfm
|
||||
return err
|
||||
}
|
||||
var res []error
|
||||
if o.Body != nil {
|
||||
if err := r.SetBodyParam(o.Body); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := r.SetBodyParam(o.Body); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(res) > 0 {
|
||||
|
@ -6,11 +6,13 @@ package account
|
||||
// Editing this file might prove futile when you re-run the swagger generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
|
||||
"github.com/go-openapi/runtime"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
|
||||
"github.com/openziti/zrok/rest_model_zrok"
|
||||
)
|
||||
@ -347,3 +349,47 @@ func (o *ChangePasswordInternalServerError) readResponse(response runtime.Client
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
/*
|
||||
ChangePasswordBody change password body
|
||||
swagger:model ChangePasswordBody
|
||||
*/
|
||||
type ChangePasswordBody struct {
|
||||
|
||||
// email
|
||||
Email string `json:"email,omitempty"`
|
||||
|
||||
// new password
|
||||
NewPassword string `json:"newPassword,omitempty"`
|
||||
|
||||
// old password
|
||||
OldPassword string `json:"oldPassword,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this change password body
|
||||
func (o *ChangePasswordBody) Validate(formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this change password body based on context it is used
|
||||
func (o *ChangePasswordBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (o *ChangePasswordBody) MarshalBinary() ([]byte, error) {
|
||||
if o == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(o)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (o *ChangePasswordBody) UnmarshalBinary(b []byte) error {
|
||||
var res ChangePasswordBody
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*o = res
|
||||
return nil
|
||||
}
|
||||
|
@ -137,7 +137,17 @@ func init() {
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/changePasswordRequest"
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"newPassword": {
|
||||
"type": "string"
|
||||
},
|
||||
"oldPassword": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -1706,20 +1716,6 @@ func init() {
|
||||
}
|
||||
}
|
||||
},
|
||||
"changePasswordRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"newPassword": {
|
||||
"type": "string"
|
||||
},
|
||||
"oldPassword": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"configuration": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@ -2446,7 +2442,17 @@ func init() {
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/changePasswordRequest"
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"newPassword": {
|
||||
"type": "string"
|
||||
},
|
||||
"oldPassword": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -4017,20 +4023,6 @@ func init() {
|
||||
}
|
||||
}
|
||||
},
|
||||
"changePasswordRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"newPassword": {
|
||||
"type": "string"
|
||||
},
|
||||
"oldPassword": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"configuration": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -6,9 +6,12 @@ package account
|
||||
// Editing this file might prove futile when you re-run the generate command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"github.com/go-openapi/runtime/middleware"
|
||||
"github.com/go-openapi/strfmt"
|
||||
"github.com/go-openapi/swag"
|
||||
|
||||
"github.com/openziti/zrok/rest_model_zrok"
|
||||
)
|
||||
@ -69,3 +72,46 @@ func (o *ChangePassword) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
|
||||
o.Context.Respond(rw, r, route.Produces, route, res)
|
||||
|
||||
}
|
||||
|
||||
// ChangePasswordBody change password body
|
||||
//
|
||||
// swagger:model ChangePasswordBody
|
||||
type ChangePasswordBody struct {
|
||||
|
||||
// email
|
||||
Email string `json:"email,omitempty"`
|
||||
|
||||
// new password
|
||||
NewPassword string `json:"newPassword,omitempty"`
|
||||
|
||||
// old password
|
||||
OldPassword string `json:"oldPassword,omitempty"`
|
||||
}
|
||||
|
||||
// Validate validates this change password body
|
||||
func (o *ChangePasswordBody) Validate(formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ContextValidate validates this change password body based on context it is used
|
||||
func (o *ChangePasswordBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalBinary interface implementation
|
||||
func (o *ChangePasswordBody) MarshalBinary() ([]byte, error) {
|
||||
if o == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return swag.WriteJSON(o)
|
||||
}
|
||||
|
||||
// UnmarshalBinary interface implementation
|
||||
func (o *ChangePasswordBody) UnmarshalBinary(b []byte) error {
|
||||
var res ChangePasswordBody
|
||||
if err := swag.ReadJSON(b, &res); err != nil {
|
||||
return err
|
||||
}
|
||||
*o = res
|
||||
return nil
|
||||
}
|
||||
|
@ -12,8 +12,6 @@ import (
|
||||
"github.com/go-openapi/runtime"
|
||||
"github.com/go-openapi/runtime/middleware"
|
||||
"github.com/go-openapi/validate"
|
||||
|
||||
"github.com/openziti/zrok/rest_model_zrok"
|
||||
)
|
||||
|
||||
// NewChangePasswordParams creates a new ChangePasswordParams object
|
||||
@ -36,7 +34,7 @@ type ChangePasswordParams struct {
|
||||
/*
|
||||
In: body
|
||||
*/
|
||||
Body *rest_model_zrok.ChangePasswordRequest
|
||||
Body ChangePasswordBody
|
||||
}
|
||||
|
||||
// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
|
||||
@ -50,7 +48,7 @@ func (o *ChangePasswordParams) BindRequest(r *http.Request, route *middleware.Ma
|
||||
|
||||
if runtime.HasBody(r) {
|
||||
defer r.Body.Close()
|
||||
var body rest_model_zrok.ChangePasswordRequest
|
||||
var body ChangePasswordBody
|
||||
if err := route.Consumer.Consume(r.Body, &body); err != nil {
|
||||
res = append(res, errors.NewParseError("body", "body", "", err))
|
||||
} else {
|
||||
@ -65,7 +63,7 @@ func (o *ChangePasswordParams) BindRequest(r *http.Request, route *middleware.Ma
|
||||
}
|
||||
|
||||
if len(res) == 0 {
|
||||
o.Body = &body
|
||||
o.Body = body
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ from zrok_api.models.access_request import AccessRequest
|
||||
from zrok_api.models.access_response import AccessResponse
|
||||
from zrok_api.models.account_body import AccountBody
|
||||
from zrok_api.models.auth_user import AuthUser
|
||||
from zrok_api.models.change_password_request import ChangePasswordRequest
|
||||
from zrok_api.models.change_password_body import ChangePasswordBody
|
||||
from zrok_api.models.configuration import Configuration
|
||||
from zrok_api.models.create_frontend_request import CreateFrontendRequest
|
||||
from zrok_api.models.create_frontend_response import CreateFrontendResponse
|
||||
|
@ -41,7 +41,7 @@ class AccountApi(object):
|
||||
>>> result = thread.get()
|
||||
|
||||
:param async_req bool
|
||||
:param ChangePasswordRequest body:
|
||||
:param ChangePasswordBody body:
|
||||
:return: None
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
@ -62,7 +62,7 @@ class AccountApi(object):
|
||||
>>> result = thread.get()
|
||||
|
||||
:param async_req bool
|
||||
:param ChangePasswordRequest body:
|
||||
:param ChangePasswordBody body:
|
||||
:return: None
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
|
@ -18,7 +18,7 @@ from zrok_api.models.access_request import AccessRequest
|
||||
from zrok_api.models.access_response import AccessResponse
|
||||
from zrok_api.models.account_body import AccountBody
|
||||
from zrok_api.models.auth_user import AuthUser
|
||||
from zrok_api.models.change_password_request import ChangePasswordRequest
|
||||
from zrok_api.models.change_password_body import ChangePasswordBody
|
||||
from zrok_api.models.configuration import Configuration
|
||||
from zrok_api.models.create_frontend_request import CreateFrontendRequest
|
||||
from zrok_api.models.create_frontend_response import CreateFrontendResponse
|
||||
|
162
sdk/python/sdk/zrok/zrok_api/models/change_password_body.py
Normal file
162
sdk/python/sdk/zrok/zrok_api/models/change_password_body.py
Normal file
@ -0,0 +1,162 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
zrok
|
||||
|
||||
zrok client access # noqa: E501
|
||||
|
||||
OpenAPI spec version: 1.0.0
|
||||
|
||||
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
||||
"""
|
||||
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
|
||||
import six
|
||||
|
||||
class ChangePasswordBody(object):
|
||||
"""NOTE: This class is auto generated by the swagger code generator program.
|
||||
|
||||
Do not edit the class manually.
|
||||
"""
|
||||
"""
|
||||
Attributes:
|
||||
swagger_types (dict): The key is attribute name
|
||||
and the value is attribute type.
|
||||
attribute_map (dict): The key is attribute name
|
||||
and the value is json key in definition.
|
||||
"""
|
||||
swagger_types = {
|
||||
'email': 'str',
|
||||
'old_password': 'str',
|
||||
'new_password': 'str'
|
||||
}
|
||||
|
||||
attribute_map = {
|
||||
'email': 'email',
|
||||
'old_password': 'oldPassword',
|
||||
'new_password': 'newPassword'
|
||||
}
|
||||
|
||||
def __init__(self, email=None, old_password=None, new_password=None): # noqa: E501
|
||||
"""ChangePasswordBody - a model defined in Swagger""" # noqa: E501
|
||||
self._email = None
|
||||
self._old_password = None
|
||||
self._new_password = None
|
||||
self.discriminator = None
|
||||
if email is not None:
|
||||
self.email = email
|
||||
if old_password is not None:
|
||||
self.old_password = old_password
|
||||
if new_password is not None:
|
||||
self.new_password = new_password
|
||||
|
||||
@property
|
||||
def email(self):
|
||||
"""Gets the email of this ChangePasswordBody. # noqa: E501
|
||||
|
||||
|
||||
:return: The email of this ChangePasswordBody. # noqa: E501
|
||||
:rtype: str
|
||||
"""
|
||||
return self._email
|
||||
|
||||
@email.setter
|
||||
def email(self, email):
|
||||
"""Sets the email of this ChangePasswordBody.
|
||||
|
||||
|
||||
:param email: The email of this ChangePasswordBody. # noqa: E501
|
||||
:type: str
|
||||
"""
|
||||
|
||||
self._email = email
|
||||
|
||||
@property
|
||||
def old_password(self):
|
||||
"""Gets the old_password of this ChangePasswordBody. # noqa: E501
|
||||
|
||||
|
||||
:return: The old_password of this ChangePasswordBody. # noqa: E501
|
||||
:rtype: str
|
||||
"""
|
||||
return self._old_password
|
||||
|
||||
@old_password.setter
|
||||
def old_password(self, old_password):
|
||||
"""Sets the old_password of this ChangePasswordBody.
|
||||
|
||||
|
||||
:param old_password: The old_password of this ChangePasswordBody. # noqa: E501
|
||||
:type: str
|
||||
"""
|
||||
|
||||
self._old_password = old_password
|
||||
|
||||
@property
|
||||
def new_password(self):
|
||||
"""Gets the new_password of this ChangePasswordBody. # noqa: E501
|
||||
|
||||
|
||||
:return: The new_password of this ChangePasswordBody. # noqa: E501
|
||||
:rtype: str
|
||||
"""
|
||||
return self._new_password
|
||||
|
||||
@new_password.setter
|
||||
def new_password(self, new_password):
|
||||
"""Sets the new_password of this ChangePasswordBody.
|
||||
|
||||
|
||||
:param new_password: The new_password of this ChangePasswordBody. # noqa: E501
|
||||
:type: str
|
||||
"""
|
||||
|
||||
self._new_password = new_password
|
||||
|
||||
def to_dict(self):
|
||||
"""Returns the model properties as a dict"""
|
||||
result = {}
|
||||
|
||||
for attr, _ in six.iteritems(self.swagger_types):
|
||||
value = getattr(self, attr)
|
||||
if isinstance(value, list):
|
||||
result[attr] = list(map(
|
||||
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
||||
value
|
||||
))
|
||||
elif hasattr(value, "to_dict"):
|
||||
result[attr] = value.to_dict()
|
||||
elif isinstance(value, dict):
|
||||
result[attr] = dict(map(
|
||||
lambda item: (item[0], item[1].to_dict())
|
||||
if hasattr(item[1], "to_dict") else item,
|
||||
value.items()
|
||||
))
|
||||
else:
|
||||
result[attr] = value
|
||||
if issubclass(ChangePasswordBody, dict):
|
||||
for key, value in self.items():
|
||||
result[key] = value
|
||||
|
||||
return result
|
||||
|
||||
def to_str(self):
|
||||
"""Returns the string representation of the model"""
|
||||
return pprint.pformat(self.to_dict())
|
||||
|
||||
def __repr__(self):
|
||||
"""For `print` and `pprint`"""
|
||||
return self.to_str()
|
||||
|
||||
def __eq__(self, other):
|
||||
"""Returns true if both objects are equal"""
|
||||
if not isinstance(other, ChangePasswordBody):
|
||||
return False
|
||||
|
||||
return self.__dict__ == other.__dict__
|
||||
|
||||
def __ne__(self, other):
|
||||
"""Returns true if both objects are not equal"""
|
||||
return not self == other
|
@ -26,7 +26,13 @@ paths:
|
||||
- name: body
|
||||
in: body
|
||||
schema:
|
||||
$ref: '#/definitions/changePasswordRequest'
|
||||
properties:
|
||||
email:
|
||||
type: string
|
||||
oldPassword:
|
||||
type: string
|
||||
newPassword:
|
||||
type: string
|
||||
responses:
|
||||
200:
|
||||
description: changed password
|
||||
@ -1062,16 +1068,6 @@ definitions:
|
||||
password:
|
||||
type: string
|
||||
|
||||
changePasswordRequest:
|
||||
type: object
|
||||
properties:
|
||||
email:
|
||||
type: string
|
||||
oldPassword:
|
||||
type: string
|
||||
newPassword:
|
||||
type: string
|
||||
|
||||
configuration:
|
||||
type: object
|
||||
properties:
|
||||
|
@ -4,7 +4,7 @@ import * as gateway from './gateway'
|
||||
|
||||
/**
|
||||
* @param {object} options Optional options
|
||||
* @param {module:types.changePasswordRequest} [options.body]
|
||||
* @param {object} [options.body]
|
||||
* @return {Promise<object>} changed password
|
||||
*/
|
||||
export function changePassword(options) {
|
||||
|
@ -25,15 +25,6 @@
|
||||
* @property {string} password
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef changePasswordRequest
|
||||
* @memberof module:types
|
||||
*
|
||||
* @property {string} email
|
||||
* @property {string} oldPassword
|
||||
* @property {string} newPassword
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef configuration
|
||||
* @memberof module:types
|
||||
|
@ -32,8 +32,9 @@ const AccountPasswordChangeModal =({ close, isOpen, user }: AccountPasswordChang
|
||||
newPassword: v.newPassword,
|
||||
}
|
||||
})
|
||||
.then(d => {
|
||||
.then(() => {
|
||||
setBottomControl(<Typography>Your password has been changed!</Typography>);
|
||||
setTimeout(() => { close() }, 3000);
|
||||
})
|
||||
.catch(e => {
|
||||
setErrorMessage(<Typography color="red">Password change failed! Check your current password!</Typography>);
|
||||
|
@ -92,7 +92,7 @@ const SharePanel = ({ share }: SharePanelProps) => {
|
||||
<Grid2 display="flex" component="h4">{String(share.data.label)}</Grid2>
|
||||
</Grid2>
|
||||
<Grid2 container sx={{ flexGrow: 1, mt: 0, mb: 2 }} alignItems="center">
|
||||
<h5 style={{ margin: 0 }}>A {detail ? detail.shareMode : ''}{detail && detail.reserved ? ', reserved ' : ''} share with the token <code>{share.id}</code></h5>
|
||||
<h5 style={{ margin: 0 }}>A {detail ? detail.shareMode : ''}{detail && detail.reserved ? ', reserved ' : ''} {detail?.backendMode} share with the token <code>{share.id}</code></h5>
|
||||
</Grid2>
|
||||
<Grid2 container sx={{ flexGrow: 1, mb: 3 }} alignItems="left">
|
||||
<Tooltip title="Share Metrics">
|
||||
|
Loading…
Reference in New Issue
Block a user