Merge branch 'bugfix/jsonb-set-fuckup' into 'release/1.1.1'
[akkoma] / docs / config / howto_set_richmedia_cache_ttl_based_on_image.md
index 489f9ece8b531ee16e4d02469f739b8cf4e819bb..bfee5a9e65564425834f7907557b7ec2fbf034c8 100644 (file)
@@ -4,20 +4,21 @@
 Richmedia are cached without the ttl but the rich media may have image which can expire, like aws signed url.
 In such cases the old image url (expired) is returned from the media cache.
 
-So to avoid such situation we can define a moddule that will set ttl based no image.
-
-The module must have a `run` function and it should be registered in the config.
+So to avoid such situation we can define a module that will set ttl based on image.
+The module must adopt behaviour `Pleroma.Web.RichMedia.Parser.TTL`
 
 ### Example
 
 ```exs
 defmodule MyModule do
-  def run(data, url) do
+  @behaviour Pleroma.Web.RichMedia.Parser.TTL
+
+  @impl Pleroma.Web.RichMedia.Parser.TTL
+  def ttl(data, url) do
     image_url = Map.get(data, :image)
     # do some parsing in the url and get the ttl of the image
-    # ttl is unix time
-    ttl = parse_ttl_from_url(image_url)  
-    Cachex.expire_at(:rich_media_cache, url, ttl * 1000)
+    # return ttl is unix time
+    parse_ttl_from_url(image_url)
   end
 end
 ```