module Mobile class API < Grape::API version 'v1', using: :path format :json content_type :json, "application/json;charset=UTF-8" use Mobile::Middleware::ErrorHandler helpers do def logger API.logger end def authenticate! error!('Unauthorized. Invalid or expired token.', 401) unless current_user end def current_user token = ApiKey.where(access_token: params[:token]).first if token && !token.expired? @current_user = User.find(token.user_id) else nil end end end mount Apis::Auth mount Apis::Users mount Apis::Courses mount Apis::Watches add_swagger_documentation ({api_version: 'v1', base_path: '/api'}) end end