Class: Motor::QueriesController
- Inherits:
-
ApiBaseController
- Object
- ActionController::API
- ApiBaseController
- Motor::QueriesController
- Defined in:
- app/controllers/motor/queries_controller.rb
Instance Method Summary collapse
Methods included from CurrentAbility
Methods included from CurrentUserMethod
Instance Method Details
#create ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/controllers/motor/queries_controller.rb', line 20 def create if Motor::Queries::Persistance.name_already_exists?(@query) render json: { errors: [{ source: 'name', detail: 'Name already exists' }] }, status: :unprocessable_entity else ApplicationRecord.transaction { @query.save! } Motor::Configs::WriteToFile.call render json: { data: Motor::ApiQuery::BuildJson.call(@query, params, current_ability) } end rescue ActiveRecord::RecordNotUnique retry end |
#destroy ⇒ Object
42 43 44 45 46 47 48 |
# File 'app/controllers/motor/queries_controller.rb', line 42 def destroy @query.update!(deleted_at: Time.current) Motor::Configs::WriteToFile.call head :ok end |
#index ⇒ Object
12 13 14 |
# File 'app/controllers/motor/queries_controller.rb', line 12 def index render json: { data: Motor::ApiQuery::BuildJson.call(@queries.active, params, current_ability) } end |
#show ⇒ Object
16 17 18 |
# File 'app/controllers/motor/queries_controller.rb', line 16 def show render json: { data: Motor::ApiQuery::BuildJson.call(@query, params, current_ability) } end |
#update ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'app/controllers/motor/queries_controller.rb', line 33 def update Motor::Queries::Persistance.update_from_params!(@query, query_params) Motor::Configs::WriteToFile.call render json: { data: Motor::ApiQuery::BuildJson.call(@query, params, current_ability) } rescue Motor::Queries::Persistance::NameAlreadyExists render json: { errors: [{ source: 'name', detail: 'Name already exists' }] }, status: :unprocessable_entity end |