File: wikis_helpers.rb

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (35 lines) | stat: -rw-r--r-- 1,104 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# frozen_string_literal: true

module API
  module Helpers
    module WikisHelpers
      def self.wiki_resource_kinds
        [:projects]
      end

      def find_container(kind)
        return user_project if kind == :projects

        raise "Unknown wiki container #{kind}"
      end

      def wiki_page(version = nil)
        Wiki.for_container(container, current_user).find_page(params[:slug], version.presence) || not_found!('Wiki Page')
      end

      def commit_params(attrs)
        base_params = { branch_name: attrs[:branch] }
        file_details = case attrs[:file]
                       when Hash # legacy format: TODO remove when we drop support for non accelerated uploads
                         { file_name: attrs[:file][:filename], file_content: attrs[:file][:tempfile].read }
                       else
                         { file_name: attrs[:file].original_filename, file_content: attrs[:file].read }
                       end

        base_params.merge(file_details)
      end
    end
  end
end

API::Helpers::WikisHelpers.prepend_mod_with('API::Helpers::WikisHelpers')