Class: WcoEmail::Api::EmailFiltersController

Inherits:
WcoEmail::ApiController
  • Object
show all
Defined in:
app/controllers/wco_email/api/email_filters_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



4
5
6
7
8
9
10
11
12
13
# File 'app/controllers/wco_email/api/email_filters_controller.rb', line 4

def create
  authorize! :create, WcoEmail::EmailFilter
  @item = ::WcoEmail::EmailFilter.new email_filter_pparams

  if @item.save
    render json: { id: @item.id.to_s }, status: :ok
  else
    render json: { messages: @item.errors.full_messages }, status: 400
  end
end

#destroyObject



15
16
17
18
19
20
21
22
23
# File 'app/controllers/wco_email/api/email_filters_controller.rb', line 15

def destroy
  @item = ::WcoEmail::EmailFilter.find params[:id]
  authorize! :destroy, @item
  if @item.delete
    render json: {  }, status: :ok
  else
    render json: { messages: @item.errors.full_messages }, status: 400
  end
end

#indexObject



25
26
27
28
29
30
31
32
33
# File 'app/controllers/wco_email/api/email_filters_controller.rb', line 25

def index
  authorize! :index, WcoEmail::EmailFilter
  @items = ::WcoEmail::EmailFilter.all
  # respond_to do |format|
  #   format.json do
  #     render
  #   end
  # end
end

#showObject



35
36
37
38
# File 'app/controllers/wco_email/api/email_filters_controller.rb', line 35

def show
  @filter = WcoEmail::EmailFilter.find params[:id]
  authorize! :show, @filter
end

#updateObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'app/controllers/wco_email/api/email_filters_controller.rb', line 40

def update
  @filter = WcoEmail::EmailFilter.find params[:id]
  authorize! :update, @filter

  if @filter.update email_filter_pparams
    render json: { messages: [ 'Updated the email filter.' ] }, status: :ok
  else
    render json: { messages: @filter.errors.full_messages +
      @filter.actions.map { |k| k.errors.full_messages } +
      @filter.conditions.map { |k| k.errors.full_messages } +
      @filter.skip_conditions.map { |k| k.errors.full_messages }
    }, status: 400
  end
end