summaryrefslogtreecommitdiff
path: root/app/serializers/group_group_link_entity.rb
blob: 7a51e1a931644fbed731a52cb9891ed05b27cfc8 (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
# frozen_string_literal: true

class GroupGroupLinkEntity < Grape::Entity
  expose :id
  expose :created_at
  expose :expires_at do |group_link|
    group_link.expires_at&.to_time
  end

  expose :access_level do
    expose :human_access, as: :string_value
    expose :group_access, as: :integer_value
  end

  expose :shared_with_group do
    expose :avatar_url do |group_link|
      group_link.shared_with_group.avatar_url(only_path: false)
    end

    expose :web_url do |group_link|
      group_link.shared_with_group.web_url
    end

    expose :shared_with_group, merge: true, using: GroupBasicEntity
  end
end