summaryrefslogtreecommitdiff
path: root/lib/gitlab/data_builder/repository.rb
blob: c9c13ec6487d0402ec4276346136612a22905c89 (plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
module Gitlab
  module DataBuilder
    module Repository
      extend self

      SAMPLE_DATA = {
        event_name: 'repository_update',
        user_id: 10,
        user_name: 'john.doe',
        user_email: 'test@example.com',
        user_avatar: 'http://example.com/avatar/user.png',
        project_id: 40,
        changes: [
          {
            before: "8205ea8d81ce0c6b90fbe8280d118cc9fdad6130",
            after: "4045ea7a3df38697b3730a20fb73c8bed8a3e69e",
            ref: "refs/heads/master"
          }
        ],
        "refs": ["refs/heads/master"]
      }.freeze

      # Produce a hash of post-receive data
      def update(project, user, changes, refs)
        {
          event_name: 'repository_update',

          user_id: user.id,
          user_name: user.name,
          user_email: user.email,
          user_avatar: user.avatar_url,

          project_id: project.id,
          project: project.hook_attrs,

          changes: changes,

          refs: refs
        }
      end

      # Produce a hash of partial data for a single change
      def single_change(oldrev, newrev, ref)
        {
          before: oldrev,
          after: newrev,
          ref: ref
        }
      end

      def sample_data
        SAMPLE_DATA
      end
    end
  end
end