Class: Api::FeedsController

Inherits:
ApplicationController show all
Includes:
Utils
Defined in:
app/controllers/api/feeds_controller.rb

Instance Method Summary collapse

Methods included from Utils

#get_id_from_short_title, #is_admin, #is_member, #is_reviewer, #nickname_exist, #short_title_exist

Methods included from Response

#json_response

Instance Method Details

#indexObject



13
14
15
16
17
# File 'app/controllers/api/feeds_controller.rb', line 13

def index
  _pagy, myfeed = pagy(current_user.timeline_posts)

  render json: myfeed, each_serializer: Api::PostSerializer, show_objects: true, status: :ok
end

#indexallObject



19
20
21
22
23
24
# File 'app/controllers/api/feeds_controller.rb', line 19

def indexall
  param = params[:order] == 'desc' ? 'id DESC' : 'id ASC'

  @pagy, @joglfeed = pagy(Post.order(param).all)
  render json: @joglfeed, each_serializer: Api::PostSerializer, show_objects: true, status: :ok
end

#remove_postObject



26
27
28
29
30
# File 'app/controllers/api/feeds_controller.rb', line 26

def remove_post
  @feed.posts.delete(@post)

  render json: { data: "Post id:#{params[:post_id]} removed from feed" }, status: :ok
end

#showObject



32
33
34
35
36
37
38
39
40
# File 'app/controllers/api/feeds_controller.rb', line 32

def show
  includes = %i[comments documents_attachments mentions]
  @pagy, @somefeed = pagy(@feed.posts.order('created_at DESC').includes(includes))

  render json: {
    allow_posting_to_all: @feed.allow_posting_to_all,
    posts: @somefeed.map { |post| Api::PostSerializer.new(post, show_objects: true) }
  }, status: :ok
end

#updateObject



42
43
44
45
46
# File 'app/controllers/api/feeds_controller.rb', line 42

def update
  @feed.update(params.permit(:allow_posting_to_all))

  render json: { data: 'Feed updated' }, status: :ok
end