gitlab-org--gitlab-foss/app/serializers/project_access_token_entity.rb

27 lines
653 B
Ruby

# frozen_string_literal: true
# rubocop: disable Gitlab/NamespacedClass
class ProjectAccessTokenEntity < API::Entities::PersonalAccessToken
include Gitlab::Routing
expose :revoke_path do |token, options|
project = options.fetch(:project)
next unless project
revoke_namespace_project_settings_access_token_path(
id: token,
namespace_id: project.namespace.path,
project_id: project.path)
end
expose :role do |token, options|
project = options.fetch(:project)
next unless project
next unless token.user
project.member(token.user)&.human_access
end
end
# rubocop: enable Gitlab/NamespacedClass