mirror of
https://github.com/hkalexling/Mango.git
synced 2025-08-02 19:05:32 -04:00
Invalidate sort result cache after change sort_title
This commit is contained in:
parent
45ffa3d428
commit
edfef80e5c
@ -81,9 +81,17 @@ class Entry
|
|||||||
@title
|
@title
|
||||||
end
|
end
|
||||||
|
|
||||||
def sort_title=(sort_title : String | Nil)
|
def set_sort_title(sort_title : String | Nil, username : String)
|
||||||
Storage.default.set_entry_sort_title id, sort_title
|
Storage.default.set_entry_sort_title id, sort_title
|
||||||
@sort_title = sort_title
|
@sort_title = sort_title
|
||||||
|
|
||||||
|
[false, true].each do |ascend|
|
||||||
|
[SortMethod::Auto, SortMethod::Title].each do |sort_method|
|
||||||
|
sorted_entries_cache_key = SortedEntriesCacheEntry.gen_key @book.id,
|
||||||
|
username, @book.entries, SortOptions.new(sort_method, ascend)
|
||||||
|
LRUCache.invalidate sorted_entries_cache_key
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def sort_title_db
|
def sort_title_db
|
||||||
|
@ -300,9 +300,18 @@ class Title
|
|||||||
@title
|
@title
|
||||||
end
|
end
|
||||||
|
|
||||||
def sort_title=(sort_title : String | Nil)
|
def set_sort_title(sort_title : String | Nil, username : String)
|
||||||
Storage.default.set_title_sort_title id, sort_title
|
Storage.default.set_title_sort_title id, sort_title
|
||||||
@sort_title = sort_title
|
@sort_title = sort_title
|
||||||
|
|
||||||
|
[false, true].each do |ascend|
|
||||||
|
[SortMethod::Auto, SortMethod::Title].each do |sort_method|
|
||||||
|
sorted_entries_cache_key =
|
||||||
|
SortedEntriesCacheEntry.gen_key @id, username, @entries,
|
||||||
|
SortOptions.new(sort_method, ascend)
|
||||||
|
LRUCache.invalidate sorted_entries_cache_key
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def sort_title_db
|
def sort_title_db
|
||||||
|
@ -380,16 +380,17 @@ struct APIRouter
|
|||||||
Koa.query "name", desc: "The new sort title"
|
Koa.query "name", desc: "The new sort title"
|
||||||
Koa.response 200, schema: "result"
|
Koa.response 200, schema: "result"
|
||||||
put "/api/admin/sort_title/:tid" do |env|
|
put "/api/admin/sort_title/:tid" do |env|
|
||||||
|
username = get_username env
|
||||||
begin
|
begin
|
||||||
title = (Library.default.get_title env.params.url["tid"])
|
title = (Library.default.get_title env.params.url["tid"])
|
||||||
.not_nil!
|
.not_nil!
|
||||||
name = env.params.query["name"]?
|
name = env.params.query["name"]?
|
||||||
entry = env.params.query["eid"]?
|
entry = env.params.query["eid"]?
|
||||||
if entry.nil?
|
if entry.nil?
|
||||||
title.sort_title = name
|
title.set_sort_title name, username
|
||||||
else
|
else
|
||||||
eobj = title.get_entry entry
|
eobj = title.get_entry entry
|
||||||
eobj.sort_title = name unless eobj.nil?
|
eobj.set_sort_title name, username unless eobj.nil?
|
||||||
end
|
end
|
||||||
rescue e
|
rescue e
|
||||||
Logger.error e
|
Logger.error e
|
||||||
|
Loading…
x
Reference in New Issue
Block a user