discourse/app/serializers/api_key_serializer.rb
Roman Rizzi f13ec11c64
FEATURE: Add scopes to API keys (#9844)
* Added scopes UI

* Create scopes when creating a new API key

* Show scopes on the API key show route

* Apply scopes on API requests

* Extend scopes from plugins

* Add missing scopes. A mapping can be associated with multiple controller actions

* Only send scopes if the use global key option is disabled. Use the discourse plugin registry to add new scopes

* Add not null validations and index for api_key_id

* Annotate model

* DEV: Move default mappings to ApiKeyScope

* Remove unused attribute and improve UI for existing keys

* Support multiple parameters separated by a comma
2020-07-16 15:51:24 -03:00

26 lines
592 B
Ruby

# frozen_string_literal: true
class ApiKeySerializer < ApplicationSerializer
attributes :id,
:key,
:truncated_key,
:description,
:last_used_at,
:created_at,
:updated_at,
:revoked_at
has_one :user, serializer: BasicUserSerializer, embed: :objects
has_many :api_key_scopes, serializer: ApiKeyScopeSerializer, embed: :objects
def include_user_id?
!object.user_id.nil?
end
def include_key?
# Only available when first created. Not stored in db
object.key_available?
end
end