comparison mod_unified_push/mod_unified_push.lua @ 5152:342baedbd1c8

mod_unified_push: Fix storage backend error behaviours and return values
author Matthew Wild <mwild1@gmail.com>
date Sat, 14 Jan 2023 16:15:35 +0000
parents 514c8a0e9aa1
children d69cc9a23fad
comparison
equal deleted inserted replaced
5151:514c8a0e9aa1 5152:342baedbd1c8
59 }; 59 };
60 60
61 storage = { 61 storage = {
62 sign = function (data) 62 sign = function (data)
63 local reg_id = id.long(); 63 local reg_id = id.long();
64 local user, host = jid.split(data.sub); 64 local ok, err = push_store:set(reg_id, data);
65 if host ~= module.host or not user then 65 if not ok then
66 return; 66 return nil, err;
67 end 67 end
68 push_store:set(reg_id, data);
69 return reg_id; 68 return reg_id;
70 end; 69 end;
71 verify = function (token) 70 verify = function (token)
72 if token == "_private" then return nil, "invalid-token"; end 71 if token == "_private" then return nil, "invalid-token"; end
73 local data = push_store:get(token); 72 local data = push_store:get(token);
75 return nil, "item-not-found"; 74 return nil, "item-not-found";
76 elseif data.exp and data.exp < os.time() then 75 elseif data.exp and data.exp < os.time() then
77 push_store:set(token, nil); 76 push_store:set(token, nil);
78 return nil, "token-expired"; 77 return nil, "token-expired";
79 end 78 end
80 return data; 79 return true, data;
81 end; 80 end;
82 }; 81 };
83 }; 82 };
84 83
85 if pcall(require, "util.paseto") and require "util.paseto".v3_local then 84 if pcall(require, "util.paseto") and require "util.paseto".v3_local then