Class: RivetCms::ContentController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- RivetCms::ContentController
- Defined in:
- app/controllers/rivet_cms/content_controller.rb
Instance Method Summary collapse
Instance Method Details
#index ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/controllers/rivet_cms/content_controller.rb', line 12 def index populate = query.populate_fields page = query.documents revisions = page.map(&:published_revision) preload = RevisionPreloader.new(revisions, populate_fields: populate) render json: { data: revisions.map { |revision| RevisionSerializer.new(revision, fields: query.field_keys, populate: populate, preload: preload).as_json }, meta: { page: page.current_page, per_page: page.limit_value, total: page.total_count, total_pages: page.total_pages } } end |
#show ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'app/controllers/rivet_cms/content_controller.rb', line 27 def show return head :forbidden if preview_requested? && !preview_scope? populate = query.populate_fields document = content_type.documents.find_by!(slug: params[:slug]) preview = preview_requested? revision = preview ? (document.draft_revision || document.published_revision) : document.published_revision return head :not_found if revision.nil? preload = RevisionPreloader.new([ revision ], populate_fields: populate, preview: preview) render json: RevisionSerializer.new(revision, fields: query.field_keys, populate: populate, preview: preview, preload: preload).as_json end |