X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0149f366be76a6160408c94029f0fa2eae5b62d2..5794ce4f00cd583eee74719118516c0c993fca1c:/services/api/lib/current_api_client.rb diff --git a/services/api/lib/current_api_client.rb b/services/api/lib/current_api_client.rb index 37039ee654..9f78587eab 100644 --- a/services/api/lib/current_api_client.rb +++ b/services/api/lib/current_api_client.rb @@ -98,6 +98,28 @@ module CurrentApiClient $system_group end + def all_users_group_uuid + [Server::Application.config.uuid_prefix, + Group.uuid_prefix, + 'fffffffffffffff'].join('-') + end + + def all_users_group + if not $all_users_group + act_as_system_user do + ActiveRecord::Base.transaction do + $all_users_group = Group. + where(uuid: all_users_group_uuid).first_or_create do |g| + g.update_attributes(name: "All users", + description: "All users", + group_class: "role") + end + end + end + end + $all_users_group + end + def act_as_system_user if block_given? act_as_user system_user do @@ -173,12 +195,8 @@ module CurrentApiClient act_as_system_user do ActiveRecord::Base.transaction do $empty_collection = Collection. - where(uuid: empty_collection_uuid). - first_or_create!(manifest_text: '') - Link.where(tail_uuid: anonymous_group.uuid, - head_uuid: empty_collection_uuid, - link_class: 'permission', - name: 'can_read').first_or_create! + where(portable_data_hash: empty_collection_uuid). + first_or_create!(manifest_text: '', owner_uuid: anonymous_group.uuid) end end end