-=end
-
- found_objects = User.where('email=?', @object[:email])
- found_object = found_objects.first
- end
-
- return found_object
- end
-
- # link the repo_name passed
- def create_user_repo_link(repo_name)
- if not repo_name
- logger.warn ("Repository name not given for #{@object[:uuid]}.")
- return
- end
-
- # Check for an existing repository with the same name we're about to use.
- repo = (repos = Repository.where(name: repo_name)) != nil ? repos.first : nil
- if repo
- logger.warn "Repository exists for #{repo_name}: #{repo[:uuid]}."
-
- # Look for existing repository access for this repo
- repo_perms = Link.where(tail_uuid: @object[:uuid],
- head_kind: 'arvados#repository',
- head_uuid: repo[:uuid],
- link_class: 'permission',
- name: 'can_write')
- if [] != repo_perms
- logger.warn "User already has repository access " +
- repo_perms.collect { |p| p[:uuid] }.inspect
- return
- end
- end
-
- # create repo, if does not already exist
- repo ||= Repository.create(name: repo_name)
- logger.info { "repo uuid: " + repo[:uuid] }
-
- repo_perm = Link.create(tail_kind: 'arvados#user',
- tail_uuid: @object[:uuid],
- head_kind: 'arvados#repository',
- head_uuid: repo[:uuid],
- link_class: 'permission',
- name: 'can_write')
- logger.info { "repo permission: " + repo_perm[:uuid] }
- end