view mod_pep_atom_categories/mod_pep_atom_categories.lua @ 5553:67152838afbc

mod_http_oauth2: Improve error messages for URI properties Since there are separate validation checks for URI properties, including that they should use https, with better and more specific error reporting. Reverts 'luaPattern' to 'pattern' which is not currently supported by util.jsonschema, but allows anything that retrieves the schema over http to validate against it, should they wish to do so.
author Kim Alvefur <zash@zash.se>
date Sat, 17 Jun 2023 18:15:00 +0200
parents 5fc306239db3
children
line wrap: on
line source

module:depends("pep");

local st = require"util.stanza";

local options = {
	access_model = "open",
	max_items = "max",
};

module:handle_items("pep-service", function (event)
        local service = event.item.service;

        module:hook_object_event(service.events, "item-published", function(event)
		local service = event.service;
		local node = event.node;
		local actor = event.actor;
		local id = event.id;
		local item = event.item;

		local entry = item:get_child("entry", "http://www.w3.org/2005/Atom");
		if entry == nil then
			return;
		end

		for category in entry:childtags("category") do
			local term = category.attr.term;
			local payload = st.stanza("item", {xmlns = "http://jabber.org/protocol/pubsub"})
				:tag("item", {xmlns = "xmpp:linkmauve.fr/x-categories", jid = service.jid, node = node, id = id});
			service:publish("category-"..term, actor, nil, payload, options);
		end
	end);
end);