63 lines
2.3 KiB
Ruby
63 lines
2.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require_dependency 'barong/middleware/jwt_authenticator'
|
|
|
|
module API::V2
|
|
module Admin
|
|
class Base < Grape::API
|
|
PREFIX = '/admin'
|
|
|
|
use Barong::Middleware::JWTAuthenticator, \
|
|
pubkey: Rails.configuration.x.keystore.public_key
|
|
|
|
cascade false
|
|
|
|
format :json
|
|
content_type :json, 'application/json'
|
|
default_format :json
|
|
|
|
helpers API::V2::Resource::Utils
|
|
|
|
do_not_route_options!
|
|
|
|
mount Admin::Users
|
|
mount Admin::APIKeys
|
|
mount Admin::Permissions
|
|
mount Admin::Activities
|
|
mount Admin::Metrics
|
|
mount Admin::Restrictions
|
|
mount Admin::Profiles
|
|
mount Admin::Levels
|
|
mount Admin::Abilities
|
|
|
|
add_swagger_documentation base_path: File.join(API::Base::PREFIX, API::V2::Base::API_VERSION, 'barong', PREFIX),
|
|
add_base_path: true,
|
|
mount_path: '/swagger',
|
|
api_version: API::V2::Base::API_VERSION,
|
|
doc_version: Barong::Application::GIT_TAG,
|
|
info: {
|
|
title: 'Barong',
|
|
description: 'RESTful AdminAPI for barong OAuth server'
|
|
},
|
|
security_definitions: {
|
|
'BearerToken': {
|
|
description: 'Bearer Token authentication',
|
|
type: 'basic',
|
|
name: 'Authorization',
|
|
in: 'header'
|
|
}
|
|
},
|
|
models: [
|
|
API::V2::Admin::Entities::ActivityWithUser,
|
|
API::V2::Admin::Entities::AdminActivity,
|
|
API::V2::Admin::Entities::Document,
|
|
API::V2::Admin::Entities::Phone,
|
|
API::V2::Admin::Entities::Profile,
|
|
API::V2::Admin::Entities::UserWithKYC,
|
|
API::V2::Admin::Entities::UserWithProfile,
|
|
API::V2::Entities::APIKey
|
|
]
|
|
end
|
|
end
|
|
end
|