Software / code / prosody-modules
Comparison
mod_http_xep227/mod_http_xep227.lua @ 4869:c3bf568e3977
mod_http_xep227: Initialize XEP-0227 XML
mod_storage_xep0227 only writes if there is XML already for a user (it uses
the presence of an existing <user> element as an indicator that an account
exists, although technically this is not something Prosody itself does, so
it's a little weird).
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 15 Jan 2022 14:25:27 +0000 |
| parent | 4868:57311c545013 |
| child | 4870:d8a0a8dcdc0d |
comparison
equal
deleted
inserted
replaced
| 4868:57311c545013 | 4869:c3bf568e3977 |
|---|---|
| 1 local it = require "util.iterators"; | 1 local it = require "util.iterators"; |
| 2 local http = require "util.http"; | 2 local http = require "util.http"; |
| 3 local sm = require "core.storagemanager"; | 3 local sm = require "core.storagemanager"; |
| 4 local st = require "util.stanza"; | |
| 4 local xml = require "util.xml"; | 5 local xml = require "util.xml"; |
| 5 | 6 |
| 6 local tokens = module:depends("tokenauth"); | 7 local tokens = module:depends("tokenauth"); |
| 7 module:depends("storage_xep0227"); | 8 module:depends("storage_xep0227"); |
| 8 | 9 |
| 18 [archive_store_name] = "archive"; | 19 [archive_store_name] = "archive"; |
| 19 pep_data = "archive"; | 20 pep_data = "archive"; |
| 20 }; | 21 }; |
| 21 | 22 |
| 22 local function new_user_xml(username, host) | 23 local function new_user_xml(username, host) |
| 23 local user_xml; | 24 local user_xml = st.stanza("server-data", {xmlns='urn:xmpp:pie:0'}) |
| 25 :tag("host", { jid = host }) | |
| 26 :tag("user", { name = username }):reset(); | |
| 24 | 27 |
| 25 return { | 28 return { |
| 26 set_user_xml = function (_, store_username, store_host, new_xml) | 29 set_user_xml = function (_, store_username, store_host, new_xml) |
| 27 if username ~= store_username or store_host ~= host then | 30 if username ~= store_username or store_host ~= host then |
| 28 return nil; | 31 return nil; |