mirror of
https://github.com/discourse/discourse.git
synced 2024-11-27 21:43:45 +08:00
f13ec11c64
* 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
26 lines
592 B
Ruby
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
|