Fix redis keys and content for nested directories
This commit is contained in:
parent
f73c286ce9
commit
dfc8a59096
@ -265,9 +265,17 @@ module RemoteStorage
|
|||||||
parent_directories
|
parent_directories
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def top_directory(directory)
|
||||||
|
if directory.match(/\//)
|
||||||
|
directory.split("/").last
|
||||||
|
elsif directory != ""
|
||||||
|
return directory
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def parent_directory_for(directory)
|
def parent_directory_for(directory)
|
||||||
if directory.match(/\//)
|
if directory.match(/\//)
|
||||||
return directory[0..directory.rindex("/")-1]
|
return directory[0..directory.rindex("/")]
|
||||||
elsif directory != ""
|
elsif directory != ""
|
||||||
return "/"
|
return "/"
|
||||||
end
|
end
|
||||||
@ -277,6 +285,8 @@ module RemoteStorage
|
|||||||
redis_key = "rs_meta:#{user}:#{directory}/#{key}"
|
redis_key = "rs_meta:#{user}:#{directory}/#{key}"
|
||||||
redis.hmset(redis_key, *metadata)
|
redis.hmset(redis_key, *metadata)
|
||||||
redis.sadd "rs_meta:#{user}:#{directory}/:items", key
|
redis.sadd "rs_meta:#{user}:#{directory}/:items", key
|
||||||
|
|
||||||
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_dir_objects(user, directory)
|
def update_dir_objects(user, directory)
|
||||||
@ -288,7 +298,7 @@ module RemoteStorage
|
|||||||
key = "rs_meta:#{user}:#{dir}/"
|
key = "rs_meta:#{user}:#{dir}/"
|
||||||
metadata = {etag: res.headers[:etag], modified: timestamp}
|
metadata = {etag: res.headers[:etag], modified: timestamp}
|
||||||
redis.hmset(key, *metadata)
|
redis.hmset(key, *metadata)
|
||||||
redis.sadd "rs_meta:#{user}:#{parent_directory_for(dir)}:items", "#{dir}/"
|
redis.sadd "rs_meta:#{user}:#{parent_directory_for(dir)}:items", "#{top_directory(dir)}/"
|
||||||
end
|
end
|
||||||
|
|
||||||
true
|
true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user