Mercurial > prosody-hg
comparison plugins/mod_pubsub/pubsub.lib.lua @ 9184:9fbddb80803b
mod_pubsub: Make notification of item retraction configurable
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 16 Aug 2018 14:44:09 +0200 |
| parents | 8239f24e38df |
| children | 60f163e7a7a7 |
comparison
equal
deleted
inserted
replaced
| 9183:8239f24e38df | 9184:9fbddb80803b |
|---|---|
| 114 { | 114 { |
| 115 type = "boolean"; | 115 type = "boolean"; |
| 116 label = "Whether to notify subscribers when the node is deleted"; | 116 label = "Whether to notify subscribers when the node is deleted"; |
| 117 name = "pubsub#notify_delete"; | 117 name = "pubsub#notify_delete"; |
| 118 }; | 118 }; |
| 119 { | |
| 120 type = "boolean"; | |
| 121 label = "Whether to notify subscribers when items are removed from the node"; | |
| 122 name = "pubsub#notify_retract"; | |
| 123 }; | |
| 119 }; | 124 }; |
| 120 | 125 |
| 121 local subscribe_options_form = dataform { | 126 local subscribe_options_form = dataform { |
| 122 { | 127 { |
| 123 type = "hidden"; | 128 type = "hidden"; |
| 160 notification_type = "pubsub#notification_type"; | 165 notification_type = "pubsub#notification_type"; |
| 161 access_model = "pubsub#access_model"; | 166 access_model = "pubsub#access_model"; |
| 162 publish_model = "pubsub#publish_model"; | 167 publish_model = "pubsub#publish_model"; |
| 163 notify_items = "pubsub#deliver_notifications"; | 168 notify_items = "pubsub#deliver_notifications"; |
| 164 notify_delete = "pubsub#notify_delete"; | 169 notify_delete = "pubsub#notify_delete"; |
| 170 notify_retract = "pubsub#notify_retract"; | |
| 165 }; | 171 }; |
| 166 local reverse_config_field_map = {}; | 172 local reverse_config_field_map = {}; |
| 167 for k, v in pairs(config_field_map) do reverse_config_field_map[v] = k; end | 173 for k, v in pairs(config_field_map) do reverse_config_field_map[v] = k; end |
| 168 | 174 |
| 169 -- util.pubsub is meant to be agnostic to XEP-0060 | 175 -- util.pubsub is meant to be agnostic to XEP-0060 |
| 177 ["pubsub#notification_type"] = node_config["notification_type"]; | 183 ["pubsub#notification_type"] = node_config["notification_type"]; |
| 178 ["pubsub#access_model"] = node_config["access_model"]; | 184 ["pubsub#access_model"] = node_config["access_model"]; |
| 179 ["pubsub#publish_model"] = node_config["publish_model"]; | 185 ["pubsub#publish_model"] = node_config["publish_model"]; |
| 180 ["pubsub#deliver_notifications"] = node_config["notify_items"]; | 186 ["pubsub#deliver_notifications"] = node_config["notify_items"]; |
| 181 ["pubsub#notify_delete"] = node_config["notify_delete"]; | 187 ["pubsub#notify_delete"] = node_config["notify_delete"]; |
| 188 ["pubsub#notify_retract"] = node_config["notify_retract"]; | |
| 182 } | 189 } |
| 183 end | 190 end |
| 184 | 191 |
| 185 local function config_from_xep0060(config, strict) | 192 local function config_from_xep0060(config, strict) |
| 186 local ret = {}; | 193 local ret = {}; |
