Skip confirmation user api
This commit is contained in:
parent
28a5f5f2e9
commit
0b9e1e1662
|
|
@ -445,6 +445,10 @@ class User < ActiveRecord::Base
|
|||
skip_confirmation! if bool
|
||||
end
|
||||
|
||||
def skip_reconfirmation=(bool)
|
||||
skip_reconfirmation! if bool
|
||||
end
|
||||
|
||||
def generate_reset_token
|
||||
@reset_token, enc = Devise.token_generator.generate(self.class, :reset_password_token)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: Add email confirmation parameters for user creation and update via API
|
||||
merge_request:
|
||||
author: Daniel Juarez
|
||||
type: added
|
||||
|
||||
|
||||
|
|
@ -297,6 +297,7 @@ Parameters:
|
|||
- `location` (optional) - User's location
|
||||
- `admin` (optional) - User is admin - true or false (default)
|
||||
- `can_create_group` (optional) - User can create groups - true or false
|
||||
- `skip_reconfirmation` (optional) - Skip reconfirmation - true or false (default)
|
||||
- `external` (optional) - Flags the user as external - true or false(default)
|
||||
- `avatar` (optional) - Image file for user's avatar
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ module API
|
|||
optional :location, type: String, desc: 'The location of the user'
|
||||
optional :admin, type: Boolean, desc: 'Flag indicating the user is an administrator'
|
||||
optional :can_create_group, type: Boolean, desc: 'Flag indicating the user can create groups'
|
||||
optional :skip_confirmation, type: Boolean, default: false, desc: 'Flag indicating the account is confirmed'
|
||||
optional :external, type: Boolean, desc: 'Flag indicating the user is an external user'
|
||||
optional :avatar, type: File, desc: 'Avatar image for user'
|
||||
all_or_none_of :extern_uid, :provider
|
||||
|
|
@ -101,6 +100,7 @@ module API
|
|||
requires :email, type: String, desc: 'The email of the user'
|
||||
optional :password, type: String, desc: 'The password of the new user'
|
||||
optional :reset_password, type: Boolean, desc: 'Flag indicating the user will be sent a password reset token'
|
||||
optional :skip_confirmation, type: Boolean, desc: 'Flag indicating the account is confirmed'
|
||||
at_least_one_of :password, :reset_password
|
||||
requires :name, type: String, desc: 'The name of the user'
|
||||
requires :username, type: String, desc: 'The username of the user'
|
||||
|
|
@ -134,6 +134,7 @@ module API
|
|||
requires :id, type: Integer, desc: 'The ID of the user'
|
||||
optional :email, type: String, desc: 'The email of the user'
|
||||
optional :password, type: String, desc: 'The password of the new user'
|
||||
optional :skip_reconfirmation, type: Boolean, desc: 'Flag indicating the account skips the confirmation by email'
|
||||
optional :name, type: String, desc: 'The name of the user'
|
||||
optional :username, type: String, desc: 'The username of the user'
|
||||
use :optional_attributes
|
||||
|
|
|
|||
|
|
@ -510,6 +510,14 @@ describe API::Users do
|
|||
expect(user.reload.notification_email).to eq('new@email.com')
|
||||
end
|
||||
|
||||
it 'skips reconfirmation when requested' do
|
||||
put api("/users/#{user.id}", admin), { skip_reconfirmation: true }
|
||||
|
||||
user.reload
|
||||
|
||||
expect(user.confirmed_at).to be_present
|
||||
end
|
||||
|
||||
it 'updates user with his own username' do
|
||||
put api("/users/#{user.id}", admin), username: user.username
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue