diff options
author | Kim Alvefur <zash@zash.se> | 2021-10-25 21:45:46 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2021-10-25 21:45:46 +0200 |
commit | 851127ecd70c9c7e5e5c13565d26b908a020b69e (patch) | |
tree | 966bb4c6d5acfcedb67e8dca2695fe647e783b72 /util | |
parent | 7a272b16703fd26c19f6f2519229b1ca539377ed (diff) | |
download | prosody-851127ecd70c9c7e5e5c13565d26b908a020b69e.tar.gz prosody-851127ecd70c9c7e5e5c13565d26b908a020b69e.zip |
util.dataforms: Add support for datetime field types via XEP-0122
Diffstat (limited to 'util')
-rw-r--r-- | util/dataforms.lua | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/util/dataforms.lua b/util/dataforms.lua index 25e198df..79559b22 100644 --- a/util/dataforms.lua +++ b/util/dataforms.lua @@ -14,6 +14,7 @@ local tostring = tostring; local t_concat = table.concat; local st = require "util.stanza"; local jid_prep = require "util.jid".prep; +local datetime = require "util.datetime"; local _ENV = nil; -- luacheck: std none @@ -321,6 +322,13 @@ data_validators["pubsub:integer-or-max"] = end end +data_validators["xs:dateTime"] = + function(data, field) -- luacheck: ignore 212/field + local n = datetime.parse(data); + if not n then return false, "invalid timestamp"; end + return true, n; + end + local function get_form_type(form) if not st.is_stanza(form) then |