Add metadata entry for root directory
This commit is contained in:
parent
599865cf3f
commit
c676c1a6a8
@ -304,6 +304,8 @@ module RemoteStorage
|
|||||||
directories.pop
|
directories.pop
|
||||||
end
|
end
|
||||||
|
|
||||||
|
parent_directories << "" # add empty string for the root directory
|
||||||
|
|
||||||
parent_directories
|
parent_directories
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -336,6 +338,7 @@ module RemoteStorage
|
|||||||
timestamp = (Time.now.to_f * 1000).to_i
|
timestamp = (Time.now.to_f * 1000).to_i
|
||||||
|
|
||||||
parent_directories_for(directory).each do |dir|
|
parent_directories_for(directory).each do |dir|
|
||||||
|
# TODO check if we can actually do a put request to the root dir
|
||||||
res = do_put_request("#{url_for_directory(user, dir)}/", timestamp.to_s, "text/plain")
|
res = do_put_request("#{url_for_directory(user, dir)}/", timestamp.to_s, "text/plain")
|
||||||
key = "rs_meta:#{user}:#{dir}/"
|
key = "rs_meta:#{user}:#{dir}/"
|
||||||
metadata = {etag: res.headers[:etag], modified: timestamp}
|
metadata = {etag: res.headers[:etag], modified: timestamp}
|
||||||
@ -346,6 +349,7 @@ module RemoteStorage
|
|||||||
true
|
true
|
||||||
rescue
|
rescue
|
||||||
parent_directories_for(directory).each do |dir|
|
parent_directories_for(directory).each do |dir|
|
||||||
|
# TODO check if we can actually do a delete request to the root dir
|
||||||
do_delete_request("#{url_for_directory(user, dir)}/") rescue false
|
do_delete_request("#{url_for_directory(user, dir)}/") rescue false
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -361,11 +365,13 @@ module RemoteStorage
|
|||||||
def delete_dir_objects(user, directory)
|
def delete_dir_objects(user, directory)
|
||||||
parent_directories_for(directory).each do |dir|
|
parent_directories_for(directory).each do |dir|
|
||||||
if dir_empty?(user, dir)
|
if dir_empty?(user, dir)
|
||||||
|
# TODO check if we can actually do a delete request to the root dir
|
||||||
do_delete_request("#{url_for_directory(user, dir)}/")
|
do_delete_request("#{url_for_directory(user, dir)}/")
|
||||||
redis.del "rs_meta:#{user}:#{directory}/"
|
redis.del "rs_meta:#{user}:#{directory}/"
|
||||||
redis.srem "rs_meta:#{user}:#{parent_directory_for(dir)}:items", "#{dir}/"
|
redis.srem "rs_meta:#{user}:#{parent_directory_for(dir)}:items", "#{dir}/"
|
||||||
else
|
else
|
||||||
timestamp = (Time.now.to_f * 1000).to_i
|
timestamp = (Time.now.to_f * 1000).to_i
|
||||||
|
# TODO check if we can actually do a put request to the root dir
|
||||||
res = do_put_request("#{url_for_directory(user, dir)}/", timestamp.to_s, "text/plain")
|
res = do_put_request("#{url_for_directory(user, dir)}/", timestamp.to_s, "text/plain")
|
||||||
metadata = {etag: res.headers[:etag], modified: timestamp}
|
metadata = {etag: res.headers[:etag], modified: timestamp}
|
||||||
redis.hmset("rs_meta:#{user}:#{dir}/", *metadata)
|
redis.hmset("rs_meta:#{user}:#{dir}/", *metadata)
|
||||||
|
@ -48,6 +48,10 @@ describe "App" do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
metadata = redis.hgetall "rs_meta:phil:/"
|
||||||
|
metadata["etag"].must_equal "bla"
|
||||||
|
metadata["modified"].length.must_equal 13
|
||||||
|
|
||||||
metadata = redis.hgetall "rs_meta:phil:food/"
|
metadata = redis.hgetall "rs_meta:phil:food/"
|
||||||
metadata["etag"].must_equal "bla"
|
metadata["etag"].must_equal "bla"
|
||||||
metadata["modified"].length.must_equal 13
|
metadata["modified"].length.must_equal 13
|
||||||
|
Loading…
x
Reference in New Issue
Block a user