mod_invites_register_api/mod_invites_register_api.lua
changeset 4385 a1256e376dca
parent 4384 cba8cd564641
child 4418 dbfa830e4504
equal deleted inserted replaced
4384:cba8cd564641 4385:a1256e376dca
    30 		jid = invite.jid;
    30 		jid = invite.jid;
    31 		inviter = invite.inviter;
    31 		inviter = invite.inviter;
    32 	});
    32 	});
    33 end
    33 end
    34 
    34 
    35 function register_with_invite(event, invite_token)
    35 function register_with_invite(event)
    36 	if not invite_token or #invite_token == 0 then
       
    37 		return 404;
       
    38 	end
       
    39 
       
    40 	local request, response = event.request, event.response;
    36 	local request, response = event.request, event.response;
    41 
    37 
    42 	if not request.body or #request.body == 0
    38 	if not request.body or #request.body == 0
    43 	or request.headers.content_type ~= json_content_type then
    39 	or request.headers.content_type ~= json_content_type then
    44 		module:log("warn", "Invalid payload");
    40 		module:log("warn", "Invalid payload");
   104 		source = "mod_"..module.name;
   100 		source = "mod_"..module.name;
   105 		validated_invite = invite;
   101 		validated_invite = invite;
   106 		ip = request.ip;
   102 		ip = request.ip;
   107 	});
   103 	});
   108 
   104 
   109 	return 200;
   105 	return json.encode({
       
   106 		jid = prepped_username .. "@" .. module.host;
       
   107 	});
   110 end
   108 end
   111 
   109 
   112 module:provides("http", {
   110 module:provides("http", {
   113 	default_path = "register_api";
   111 	default_path = "register_api";
   114 	route = {
   112 	route = {
   115 		["GET /invite/*"] = get_invite_info;
   113 		["GET /invite/*"] = get_invite_info;
   116 		["POST /register/*"] = register_with_invite;
   114 		["POST /register"] = register_with_invite;
   117 	};
   115 	};
   118 });
   116 });