class AdminUserInitializedParameters(Parameters): """ New user creation (sign up) parameters. """ email = base_fields.Email(description='Example: [email protected]', required=True) password = base_fields.String(description='No rules yet', required=True)
class LoginParameters(Parameters): """ Helper parameters to login user. """ email = base_fields.Email( description="the users email" ) password = base_fields.String( description="the users password" )
class CreateUserParameters(Parameters): """ Helper parameters to create user. """ name = base_fields.String( description="the users name" ) email = base_fields.Email( description="the users email" ) password = base_fields.String( description="the users password" )
class AddUserParameters(schemas.BaseUserSchema): """ New user creation (sign up) parameters. """ username = base_fields.String(description="Example: root", required=True) email = base_fields.Email(description="Example: [email protected]", required=True) password = base_fields.String(description="No rules yet", required=True) class Meta(schemas.BaseUserSchema.Meta): fields = schemas.BaseUserSchema.Meta.fields + ( 'email', 'password', )
class CreateUserParameters(Parameters, schemas.BaseUserSchema): """ New user creation (sign up) parameters. """ email = base_fields.Email(description='Example: [email protected]', required=True) password = base_fields.String(description='No rules yet', required=True) recaptcha_key = base_fields.String( description= ('See `/<prefix>/auth/recaptcha` for details. It is required for everybody, except admins' ), required=False, ) class Meta(schemas.BaseUserSchema.Meta): fields = schemas.BaseUserSchema.Meta.fields + ( 'email', 'password', 'recaptcha_key', ) @validates_schema def validate_captcha(self, data): """ " Check reCAPTCHA if necessary. NOTE: we remove 'recaptcha_key' from data once checked because we don't need it in the resource """ recaptcha_key = data.pop('recaptcha_key', None) captcha_is_valid = False if not recaptcha_key: no_captcha_permission = permissions.AdminRolePermission() if no_captcha_permission.check(): captcha_is_valid = True elif recaptcha_key == current_app.config.get('RECAPTCHA_BYPASS', None): captcha_is_valid = True if not captcha_is_valid: abort(code=HTTPStatus.FORBIDDEN, message='CAPTCHA key is incorrect.')
class AddUserParameters(PostFormParameters, schemas.BaseUserSchema): """ New user creation (sign up) parameters. """ username = base_fields.String(description="Example: root", required=True) email = base_fields.Email(description="Example: [email protected]", required=True) password = base_fields.String(description="No rules yet", required=True) recaptcha_key = base_fields.String( description=( "See `/users/signup_form` for details. It is required for everybody, except admins" ), required=False ) class Meta(schemas.BaseUserSchema.Meta): fields = schemas.BaseUserSchema.Meta.fields + ( 'email', 'password', 'recaptcha_key', ) @validates_schema def validate_captcha(self, data): """" Check reCAPTCHA if necessary. NOTE: we remove 'recaptcha_key' from data once checked because we don't need it in the resource """ recaptcha_key = data.pop('recaptcha_key', None) captcha_is_valid = False if not recaptcha_key: no_captcha_permission = permissions.AdminRolePermission() if no_captcha_permission.check(): captcha_is_valid = True # NOTE: This hardcoded CAPTCHA key is just for demo purposes. elif recaptcha_key == 'secret_key': captcha_is_valid = True if not captcha_is_valid: abort(code=HTTPStatus.FORBIDDEN, message="CAPTCHA key is incorrect.")
class AddUserParameters(Parameters, schemas.BaseUserSchema): """ New user creation (sign up) parameters. """ username = base_fields.String(description="Example: root", required=True) email = base_fields.Email(description="Example: [email protected]", required=True) password = base_fields.String(description="No rules yet", required=True) recaptcha_key = base_fields.String( description=( "See `/users/signup_form` for details. It is required for everybody, except admins" ), required=False ) class Meta(schemas.BaseUserSchema.Meta): fields = schemas.BaseUserSchema.Meta.fields + ( 'email', 'password', 'recaptcha_key', )
class CreateOAuth2SessionParameters(Parameters): email = base_fields.Email(description='Example: [email protected]', required=True) password = base_fields.String(description='No rules yet', required=True)