Class: Spree::Api::V2::Platform::OrdersController

Inherits:
ResourceController show all
Includes:
CouponCodesHelper, NumberResource
Defined in:
app/controllers/spree/api/v2/platform/orders_controller.rb

Instance Method Summary collapse

Methods included from NumberResource

#resource

Methods included from CouponCodesHelper

#check_coupon_codes, #select_coupon_codes, #select_error, #select_errors

Methods inherited from ResourceController

#index, #show

Methods included from Caching

#collection_cache_key, #collection_cache_opts

Methods included from CollectionOptionsHelpers

#collection_links, #collection_meta, #collection_permitted_params

Methods inherited from BaseController

#content_type

Instance Method Details

#advanceObject



36
37
38
39
40
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 36

def advance
  result = advance_service.call(order: resource)

  render_result(result)
end

#apply_coupon_codeObject



76
77
78
79
80
81
82
83
84
85
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 76

def apply_coupon_code
  resource.coupon_code = params[:coupon_code]
  result = coupon_handler.new(resource).apply

  if result.error.blank?
    render_serialized_payload { serialize_resource(resource.reload) }
  else
    render_error_payload(result.error)
  end
end

#approveObject



60
61
62
63
64
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 60

def approve
  result = approve_service.call(order: resource, approver: spree_current_user)

  render_result(result)
end

#cancelObject



54
55
56
57
58
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 54

def cancel
  result = cancel_service.call(order: resource, canceler: spree_current_user)

  render_result(result)
end

#completeObject



42
43
44
45
46
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 42

def complete
  result = complete_service.call(order: resource)

  render_result(result)
end

#createObject



9
10
11
12
13
14
15
16
17
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 9

def create
  resource = current_store.orders.new(permitted_resource_params)

  if resource.save
    render_serialized_payload(201) { serialize_resource(resource) }
  else
    render_error_payload(resource.errors)
  end
end

#destroyObject



66
67
68
69
70
71
72
73
74
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 66

def destroy
  result = destroy_service.call(order: resource)

  if result.success?
    head 204
  else
    render_error_payload(result.error)
  end
end

#emptyObject



48
49
50
51
52
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 48

def empty
  result = empty_service.call(order: resource)

  render_result(result)
end

#nextObject



30
31
32
33
34
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 30

def next
  result = next_service.call(order: resource)

  render_result(result)
end

#updateObject



19
20
21
22
23
24
25
26
27
28
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 19

def update
  result = update_service.call(
    order: resource,
    params: params,
    permitted_attributes: spree_permitted_attributes,
    request_env: request.headers.env
  )

  render_result(result)
end

#use_store_creditObject



87
88
89
90
91
92
93
94
# File 'app/controllers/spree/api/v2/platform/orders_controller.rb', line 87

def use_store_credit
  result = use_store_credit_service.call(
    order: resource,
    amount: params[:amount].try(:to_f)
  )

  render_result(result)
end