projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '13546-crunch1-timeout' refs #13546
[arvados.git]
/
services
/
api
/
app
/
models
/
link.rb
diff --git
a/services/api/app/models/link.rb
b/services/api/app/models/link.rb
index bb069ee97d3dc6399ea2e48371b1f30952416723..dc961667b0cd474301c817a3c87c9717ba4424f7 100644
(file)
--- a/
services/api/app/models/link.rb
+++ b/
services/api/app/models/link.rb
@@
-1,3
+1,7
@@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
class Link < ArvadosModel
include HasUuid
include KindAndEtag
class Link < ArvadosModel
include HasUuid
include KindAndEtag
@@
-8,9
+12,7
@@
class Link < ArvadosModel
after_update :maybe_invalidate_permissions_cache
after_create :maybe_invalidate_permissions_cache
after_destroy :maybe_invalidate_permissions_cache
after_update :maybe_invalidate_permissions_cache
after_create :maybe_invalidate_permissions_cache
after_destroy :maybe_invalidate_permissions_cache
- attr_accessor :head_kind, :tail_kind
- validate :name_link_has_valid_name
- validate :name_link_owner_is_tail
+ validate :name_links_are_obsolete
api_accessible :user, extend: :common do |t|
t.add :tail_uuid
api_accessible :user, extend: :common do |t|
t.add :tail_uuid
@@
-22,11
+24,6
@@
class Link < ArvadosModel
t.add :properties
end
t.add :properties
end
- def properties
- @properties ||= Hash.new
- super
- end
-
def head_kind
if k = ArvadosModel::resource_class_for_uuid(head_uuid)
k.kind
def head_kind
if k = ArvadosModel::resource_class_for_uuid(head_uuid)
k.kind
@@
-67,30
+64,23
@@
class Link < ArvadosModel
# permissions for head_uuid and tail_uuid, and invalidate the
# cache for only those users. (This would require a browseable
# cache.)
# permissions for head_uuid and tail_uuid, and invalidate the
# cache for only those users. (This would require a browseable
# cache.)
- User.invalidate_permissions_cache
+ User.invalidate_permissions_cache
db_current_time.to_i
end
end
end
end
- def name_link
_has_valid_nam
e
+ def name_link
s_are_obsolet
e
if link_class == 'name'
if link_class == 'name'
- unless name.is_a? String and !name.empty?
- errors.add('name', 'must be a non-empty string')
- end
+ errors.add('name', 'Name links are obsolete')
+ false
else
true
end
end
else
true
end
end
- def name_link_owner_is_tail
- if link_class == 'name'
- self.owner_uuid = tail_uuid
- ensure_owner_uuid_is_permitted
- end
- end
-
# A user is permitted to create, update or modify a permission link
# A user is permitted to create, update or modify a permission link
- # if and only if they have "manage" permission on the destination
- # object.
+ # if and only if they have "manage" permission on the object
+ # indicated by the permission link's head_uuid.
+ #
# All other links are treated as regular ArvadosModel objects.
#
def ensure_owner_uuid_is_permitted
# All other links are treated as regular ArvadosModel objects.
#
def ensure_owner_uuid_is_permitted
@@
-104,4
+94,5
@@
class Link < ArvadosModel
super
end
end
super
end
end
+
end
end