Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/personal_access_tokens/rotate_service.rb')
-rw-r--r--app/services/personal_access_tokens/rotate_service.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/app/services/personal_access_tokens/rotate_service.rb b/app/services/personal_access_tokens/rotate_service.rb
index b765aacef68..32710629caf 100644
--- a/app/services/personal_access_tokens/rotate_service.rb
+++ b/app/services/personal_access_tokens/rotate_service.rb
@@ -9,7 +9,7 @@ module PersonalAccessTokens
@token = token
end
- def execute
+ def execute(params = {})
return ServiceResponse.error(message: _('token already revoked')) if token.revoked?
response = ServiceResponse.success
@@ -21,7 +21,7 @@ module PersonalAccessTokens
end
target_user = token.user
- new_token = target_user.personal_access_tokens.create(create_token_params(token))
+ new_token = target_user.personal_access_tokens.create(create_token_params(token, params))
if new_token.persisted?
response = ServiceResponse.success(payload: { personal_access_token: new_token })
@@ -39,12 +39,13 @@ module PersonalAccessTokens
attr_reader :current_user, :token
- def create_token_params(token)
+ def create_token_params(token, params)
+ expires_at = params[:expires_at] || (Date.today + EXPIRATION_PERIOD)
{ name: token.name,
previous_personal_access_token_id: token.id,
impersonation: token.impersonation,
scopes: token.scopes,
- expires_at: Date.today + EXPIRATION_PERIOD }
+ expires_at: expires_at }
end
end
end