Sha256: 8f62f47a68f00323f5469d0a9369109e21b2fc8877ce2b8922e94c2afe2faf3e

Contents?: true

Size: 1.37 KB

Versions: 4

Compression:

Stored size: 1.37 KB

Contents

module Comee
  module Core
    class CustomerOrdersController < ApplicationController
      include Common

      before_action :set_service, only: %i[submit submit_for_confirmation accept cancel]

      def submit
        order = @service.submit(params[:id])
        render json: {success: true, data: serialize(order)}
      rescue StandardError => e
        render json: {success: false, error: e.message}
      end

      def submit_for_confirmation
        order = @service.submit_for_confirmation(params[:id])
        render json: {success: true, data: serialize(order)}
      rescue StandardError => e
        render json: {success: false, error: e.message}
      end

      def accept
        order = @service.accept(params[:id])
        render json: {success: true, data: serialize(order)}
      rescue StandardError => e
        render json: {success: false, error: e.message}
      end

      def cancel
        order = @service.cancel(params[:id])
        render json: {success: true, data: serialize(order)}
      rescue StandardError => e
        render json: {success: false, error: e.message}
      end

      private

      def model_params
        params.require(:payload).permit(:order_number, :order_date, :order_terms, :delivery_address, :invoice_address, :status, :client_id)
      end

      def set_service
        @service = CustomerOrderService.new
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
comee_core-0.1.44 app/controllers/comee/core/customer_orders_controller.rb
comee_core-0.1.43 app/controllers/comee/core/customer_orders_controller.rb
comee_core-0.1.42 app/controllers/comee/core/customer_orders_controller.rb
comee_core-0.1.41 app/controllers/comee/core/customer_orders_controller.rb