20862: Add 'sdk/ruby-google-api-client/' from commit '2f4be67955e48bb65d008ecd9ff6da9...
[arvados.git] / apps / workbench / app / models / group.rb
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 class Group < ArvadosBase
6   def self.goes_in_projects?
7     true
8   end
9
10   def self.copies_to_projects?
11     false
12   end
13
14   def self.contents params={}
15     res = arvados_api_client.api self, "/contents", {
16       _method: 'GET'
17     }.merge(params)
18     ret = ArvadosResourceList.new
19     ret.results = arvados_api_client.unpack_api_response(res)
20     ret
21   end
22
23   def editable?
24     if group_class == 'filter'
25       return false
26     end
27     super
28   end
29
30   def contents params={}
31     res = arvados_api_client.api self.class, "/#{self.uuid}/contents", {
32       _method: 'GET'
33     }.merge(params)
34     ret = ArvadosResourceList.new
35     ret.results = arvados_api_client.unpack_api_response(res)
36     ret
37   end
38
39   def class_for_display
40     (group_class == 'project' or group_class == 'filter') ? 'Project' : super
41   end
42
43   def textile_attributes
44     [ 'description' ]
45   end
46
47   def self.creatable?
48     false
49   end
50
51   def untrash
52     arvados_api_client.api(self.class, "/#{self.uuid}/untrash", {"ensure_unique_name" => true})
53   end
54 end