"use strict"; /** * Send_User_Invite_Modal - Modal for sending/resending user invitations * * Handles both initial invitation sending (after user creation) and resending * expired/pending invitations. Calls backend endpoint to generate new invite * code and displays URL for testing (until email system implemented). * * Returns invite data on success, false on error. */ class Send_User_Invite_Modal extends Modal_Abstract { /** * Show send invite modal and trigger backend invite * * @param {number} user_id - User ID to send invite to * @returns {Promise} Invite data on success, false on error */ static async show(user_id) { try { // Call backend to send/resend invite const result = await Frontend_Settings_User_Management_Controller.send_invite({ user_id }); // Show invite URL for testing (until email system implemented) if (result.invite_url) { await Modal.alert('User Invited Successfully', `Invitation sent!\n\nTest invitation URL:\n${result.invite_url}`); } return result; } catch (error) { // Show error to user await Modal.error(error, 'Failed to Send Invitation'); return false; } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZW5kX1VzZXJfSW52aXRlX01vZGFsIiwiTW9kYWxfQWJzdHJhY3QiLCJzaG93IiwidXNlcl9pZCIsInJlc3VsdCIsIkZyb250ZW5kX1NldHRpbmdzX1VzZXJfTWFuYWdlbWVudF9Db250cm9sbGVyIiwic2VuZF9pbnZpdGUiLCJpbnZpdGVfdXJsIiwiTW9kYWwiLCJhbGVydCIsImVycm9yIl0sInNvdXJjZXMiOlsicnN4L2FwcC9mcm9udGVuZC9zZXR0aW5ncy91c2VyX21hbmFnZW1lbnQvc2VuZF91c2VyX2ludml0ZV9tb2RhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNlbmRfVXNlcl9JbnZpdGVfTW9kYWwgLSBNb2RhbCBmb3Igc2VuZGluZy9yZXNlbmRpbmcgdXNlciBpbnZpdGF0aW9uc1xuICpcbiAqIEhhbmRsZXMgYm90aCBpbml0aWFsIGludml0YXRpb24gc2VuZGluZyAoYWZ0ZXIgdXNlciBjcmVhdGlvbikgYW5kIHJlc2VuZGluZ1xuICogZXhwaXJlZC9wZW5kaW5nIGludml0YXRpb25zLiBDYWxscyBiYWNrZW5kIGVuZHBvaW50IHRvIGdlbmVyYXRlIG5ldyBpbnZpdGVcbiAqIGNvZGUgYW5kIGRpc3BsYXlzIFVSTCBmb3IgdGVzdGluZyAodW50aWwgZW1haWwgc3lzdGVtIGltcGxlbWVudGVkKS5cbiAqXG4gKiBSZXR1cm5zIGludml0ZSBkYXRhIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGVycm9yLlxuICovXG5jbGFzcyBTZW5kX1VzZXJfSW52aXRlX01vZGFsIGV4dGVuZHMgTW9kYWxfQWJzdHJhY3Qge1xuICAgIC8qKlxuICAgICAqIFNob3cgc2VuZCBpbnZpdGUgbW9kYWwgYW5kIHRyaWdnZXIgYmFja2VuZCBpbnZpdGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB1c2VyX2lkIC0gVXNlciBJRCB0byBzZW5kIGludml0ZSB0b1xuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPE9iamVjdHxmYWxzZT59IEludml0ZSBkYXRhIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGVycm9yXG4gICAgICovXG4gICAgc3RhdGljIGFzeW5jIHNob3codXNlcl9pZCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gQ2FsbCBiYWNrZW5kIHRvIHNlbmQvcmVzZW5kIGludml0ZVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgRnJvbnRlbmRfU2V0dGluZ3NfVXNlcl9NYW5hZ2VtZW50X0NvbnRyb2xsZXIuc2VuZF9pbnZpdGUoe3VzZXJfaWR9KTtcblxuICAgICAgICAgICAgLy8gU2hvdyBpbnZpdGUgVVJMIGZvciB0ZXN0aW5nICh1bnRpbCBlbWFpbCBzeXN0ZW0gaW1wbGVtZW50ZWQpXG4gICAgICAgICAgICBpZiAocmVzdWx0Lmludml0ZV91cmwpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBNb2RhbC5hbGVydChcbiAgICAgICAgICAgICAgICAgICAgJ1VzZXIgSW52aXRlZCBTdWNjZXNzZnVsbHknLFxuICAgICAgICAgICAgICAgICAgICBgSW52aXRhdGlvbiBzZW50IVxcblxcblRlc3QgaW52aXRhdGlvbiBVUkw6XFxuJHtyZXN1bHQuaW52aXRlX3VybH1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIFNob3cgZXJyb3IgdG8gdXNlclxuICAgICAgICAgICAgYXdhaXQgTW9kYWwuZXJyb3IoZXJyb3IsICdGYWlsZWQgdG8gU2VuZCBJbnZpdGF0aW9uJyk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTUEsc0JBQXNCLFNBQVNDLGNBQWMsQ0FBQztFQUNoRDtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDSSxhQUFhQyxJQUFJQSxDQUFDQyxPQUFPLEVBQUU7SUFDdkIsSUFBSTtNQUNBO01BQ0EsTUFBTUMsTUFBTSxHQUFHLE1BQU1DLDRDQUE0QyxDQUFDQyxXQUFXLENBQUM7UUFBQ0g7TUFBTyxDQUFDLENBQUM7O01BRXhGO01BQ0EsSUFBSUMsTUFBTSxDQUFDRyxVQUFVLEVBQUU7UUFDbkIsTUFBTUMsS0FBSyxDQUFDQyxLQUFLLENBQ2IsMkJBQTJCLEVBQzNCLDZDQUE2Q0wsTUFBTSxDQUFDRyxVQUFVLEVBQ2xFLENBQUM7TUFDTDtNQUVBLE9BQU9ILE1BQU07SUFDakIsQ0FBQyxDQUFDLE9BQU9NLEtBQUssRUFBRTtNQUNaO01BQ0EsTUFBTUYsS0FBSyxDQUFDRSxLQUFLLENBQUNBLEtBQUssRUFBRSwyQkFBMkIsQ0FBQztNQUNyRCxPQUFPLEtBQUs7SUFDaEI7RUFDSjtBQUNKIiwiaWdub3JlTGlzdCI6W119