strapi-plugin-firebase-authentication 1.1.12 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/_chunks/{App-BqjE8BHb.js → App-B7d4qS3T.js} +112 -29
  2. package/dist/_chunks/{App-BY1gNGKH.mjs → App-CQ9ehArz.mjs} +112 -29
  3. package/dist/_chunks/{api-D_4cdJU5.mjs → api-BM2UtpvM.mjs} +1 -1
  4. package/dist/_chunks/{api-DQCdqlCd.js → api-DYP-1kdx.js} +1 -1
  5. package/dist/_chunks/{index-D8pv1Q6h.mjs → index-0tTyhxbb.mjs} +148 -34
  6. package/dist/_chunks/{index-DlPxMuSK.js → index-B5EwGI_y.js} +2 -2
  7. package/dist/_chunks/{index-DtGfwf9S.mjs → index-CMFutRyI.mjs} +2 -2
  8. package/dist/_chunks/{index-C4t4JZZ_.js → index-Cwp9xkG4.js} +148 -34
  9. package/dist/admin/index.js +1 -1
  10. package/dist/admin/index.mjs +1 -1
  11. package/dist/admin/src/components/user-management/ResendVerification/ResendVerification.d.ts +9 -0
  12. package/dist/admin/src/components/user-management/index.d.ts +1 -0
  13. package/dist/admin/src/pages/Settings/api.d.ts +4 -0
  14. package/dist/admin/src/pages/utils/api.d.ts +2 -1
  15. package/dist/server/index.js +691 -10
  16. package/dist/server/index.mjs +691 -10
  17. package/dist/server/src/config/index.d.ts +1 -1
  18. package/dist/server/src/content-types/index.d.ts +16 -0
  19. package/dist/server/src/controllers/firebaseController.d.ts +15 -0
  20. package/dist/server/src/controllers/index.d.ts +3 -0
  21. package/dist/server/src/controllers/userController.d.ts +1 -0
  22. package/dist/server/src/index.d.ts +37 -1
  23. package/dist/server/src/services/emailService.d.ts +10 -0
  24. package/dist/server/src/services/firebaseService.d.ts +16 -0
  25. package/dist/server/src/services/index.d.ts +17 -0
  26. package/dist/server/src/services/settingsService.d.ts +2 -0
  27. package/dist/server/src/services/tokenService.d.ts +21 -0
  28. package/dist/server/src/services/userService.d.ts +5 -0
  29. package/dist/server/src/templates/defaults/email-verification.d.ts +2 -0
  30. package/dist/server/src/templates/defaults/index.d.ts +1 -0
  31. package/dist/server/src/templates/types.d.ts +3 -1
  32. package/package.json +1 -1
@@ -7,13 +7,13 @@ const reactTooltip = require("@radix-ui/react-tooltip");
7
7
  const React = require("react");
8
8
  const designSystem = require("@strapi/design-system");
9
9
  const reactIntl = require("react-intl");
10
- const index = require("./index-DlPxMuSK.js");
10
+ const index = require("./index-B5EwGI_y.js");
11
11
  const icons = require("@strapi/icons");
12
12
  const styled = require("styled-components");
13
13
  const rx = require("react-icons/rx");
14
14
  const ai = require("react-icons/ai");
15
15
  const md = require("react-icons/md");
16
- const api = require("./api-DQCdqlCd.js");
16
+ const api = require("./api-DYP-1kdx.js");
17
17
  const PhoneInputModule = require("react-phone-input-2");
18
18
  require("react-phone-input-2/lib/style.css");
19
19
  const validator = require("validator");
@@ -2731,6 +2731,12 @@ const getFirebaseConfig = async () => {
2731
2731
  };
2732
2732
  }
2733
2733
  };
2734
+ const sendVerificationEmail = async (userId) => {
2735
+ const url = `/${index.PLUGIN_ID}/users/sendVerificationEmail/${userId}`;
2736
+ const { put } = admin.getFetchClient();
2737
+ const { data: result } = await put(url, {});
2738
+ return result;
2739
+ };
2734
2740
  const PaginationFooter = ({ pageCount = 0 }) => {
2735
2741
  const [{ query }, setQuery] = admin.useQueryParams();
2736
2742
  const pageSize = query?.pageSize || "10";
@@ -5037,6 +5043,59 @@ const ResetPassword = ({
5037
5043
  ] })
5038
5044
  ] }) });
5039
5045
  };
5046
+ const ResendVerification = ({
5047
+ isOpen,
5048
+ email,
5049
+ userId,
5050
+ onClose,
5051
+ onSendVerificationEmail
5052
+ }) => {
5053
+ const [isLoading, setIsLoading] = React.useState(false);
5054
+ const [emailSent, setEmailSent] = React.useState(false);
5055
+ const [error, setError] = React.useState("");
5056
+ const resetState = () => {
5057
+ setEmailSent(false);
5058
+ setError("");
5059
+ setIsLoading(false);
5060
+ };
5061
+ const handleClose = () => {
5062
+ resetState();
5063
+ onClose();
5064
+ };
5065
+ const handleSendEmail = async () => {
5066
+ try {
5067
+ setIsLoading(true);
5068
+ setError("");
5069
+ await onSendVerificationEmail();
5070
+ setEmailSent(true);
5071
+ } catch (err) {
5072
+ setError(err.message || "Failed to send verification email");
5073
+ } finally {
5074
+ setIsLoading(false);
5075
+ }
5076
+ };
5077
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Root, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Dialog.Content, { children: [
5078
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Header, { children: "Resend Verification Email" }),
5079
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 4, alignItems: "center", children: [
5080
+ !emailSent ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5081
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { textAlign: "center", children: [
5082
+ "Send a verification email to ",
5083
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: email }),
5084
+ "?"
5085
+ ] }),
5086
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", textColor: "neutral600", textAlign: "center", children: "The link will expire in 1 hour." })
5087
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Alert, { variant: "success", title: "Email Sent", children: [
5088
+ "Verification email has been sent to ",
5089
+ email
5090
+ ] }),
5091
+ error && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Alert, { variant: "danger", title: "Error", children: error })
5092
+ ] }) }),
5093
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Dialog.Footer, { children: [
5094
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: handleClose, variant: "tertiary", children: emailSent ? "Close" : "Cancel" }),
5095
+ !emailSent && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "success", loading: isLoading, onClick: handleSendEmail, children: "Send" })
5096
+ ] })
5097
+ ] }) });
5098
+ };
5040
5099
  const HEADER_TITLE = "Firebase Users";
5041
5100
  const NOTIFICATION_MESSAGES = {
5042
5101
  DELETED: "Deleted",
@@ -5397,24 +5456,10 @@ const HomePage = () => {
5397
5456
  let PhoneInputTemp = PhoneInputModule__namespace;
5398
5457
  let unwrapCount = 0;
5399
5458
  while (PhoneInputTemp && typeof PhoneInputTemp === "object" && PhoneInputTemp.default && unwrapCount < 5) {
5400
- console.log(`🔧 Unwrapping PhoneInput layer ${unwrapCount}:`, PhoneInputTemp);
5401
5459
  PhoneInputTemp = PhoneInputTemp.default;
5402
5460
  unwrapCount++;
5403
5461
  }
5404
5462
  const PhoneInput = PhoneInputTemp;
5405
- console.log("🔍 ==================== PhoneInput Final Check ====================");
5406
- console.log(" Unwrap iterations:", unwrapCount);
5407
- console.log(" PhoneInput FINAL:", PhoneInput);
5408
- console.log(" PhoneInput type:", typeof PhoneInput);
5409
- console.log(" PhoneInput $$typeof:", PhoneInput?.$$typeof);
5410
- console.log(" PhoneInput name:", PhoneInput?.name);
5411
- console.log(" PhoneInput displayName:", PhoneInput?.displayName);
5412
- console.log(" Is function?:", typeof PhoneInput === "function");
5413
- console.log(
5414
- " Is valid React component?:",
5415
- typeof PhoneInput === "function" || PhoneInput && PhoneInput.$$typeof
5416
- );
5417
- console.log("🔍 ================================================================");
5418
5463
  const StyledPhoneInputWrapper = styled__default.default.div`
5419
5464
  width: 100%;
5420
5465
 
@@ -5938,6 +5983,11 @@ const EditUserForm = ({ data }) => {
5938
5983
  email: "",
5939
5984
  id: ""
5940
5985
  });
5986
+ const [showVerificationDialog, setShowVerificationDialog] = React.useState({
5987
+ isOpen: false,
5988
+ email: "",
5989
+ id: ""
5990
+ });
5941
5991
  const [passwordConfig, setPasswordConfig] = React.useState({
5942
5992
  passwordRequirementsRegex: "^.{6,}$",
5943
5993
  passwordRequirementsMessage: "Password must be at least 6 characters long"
@@ -6025,6 +6075,12 @@ const EditUserForm = ({ data }) => {
6025
6075
  });
6026
6076
  }
6027
6077
  }, [userData.uid, toggleNotification]);
6078
+ const handleCloseVerificationDialog = React.useCallback(() => {
6079
+ setShowVerificationDialog({ isOpen: false, email: "", id: "" });
6080
+ }, []);
6081
+ const handleSendVerificationEmail = React.useCallback(async () => {
6082
+ await sendVerificationEmail(userData.uid);
6083
+ }, [userData.uid]);
6028
6084
  if (isLoading) {
6029
6085
  return /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Loading, {});
6030
6086
  }
@@ -6128,20 +6184,37 @@ const EditUserForm = ({ data }) => {
6128
6184
  shadow: "tableShadow",
6129
6185
  children: [
6130
6186
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", marginBottom: 2, children: "Account Actions" }),
6131
- /* @__PURE__ */ jsxRuntime.jsx(
6132
- PasswordResetButton,
6133
- {
6134
- user: userData,
6135
- fullWidth: true,
6136
- onClick: () => {
6137
- setShowResetPasswordDialog({
6138
- isOpen: true,
6139
- email: userData.email || "",
6140
- id: userData.uid || ""
6141
- });
6187
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
6188
+ /* @__PURE__ */ jsxRuntime.jsx(
6189
+ PasswordResetButton,
6190
+ {
6191
+ user: userData,
6192
+ fullWidth: true,
6193
+ onClick: () => {
6194
+ setShowResetPasswordDialog({
6195
+ isOpen: true,
6196
+ email: userData.email || "",
6197
+ id: userData.uid || ""
6198
+ });
6199
+ }
6142
6200
  }
6143
- }
6144
- )
6201
+ ),
6202
+ userData.email && !userData.emailVerified && /* @__PURE__ */ jsxRuntime.jsx(
6203
+ designSystem.Button,
6204
+ {
6205
+ variant: "secondary",
6206
+ fullWidth: true,
6207
+ onClick: () => {
6208
+ setShowVerificationDialog({
6209
+ isOpen: true,
6210
+ email: userData.email || "",
6211
+ id: userData.uid || ""
6212
+ });
6213
+ },
6214
+ children: "Resend Verification Email"
6215
+ }
6216
+ )
6217
+ ] })
6145
6218
  ]
6146
6219
  }
6147
6220
  ),
@@ -6206,6 +6279,16 @@ const EditUserForm = ({ data }) => {
6206
6279
  passwordMessage: passwordConfig.passwordRequirementsMessage,
6207
6280
  onSendResetEmail: handleSendResetEmail
6208
6281
  }
6282
+ ),
6283
+ /* @__PURE__ */ jsxRuntime.jsx(
6284
+ ResendVerification,
6285
+ {
6286
+ isOpen: showVerificationDialog.isOpen,
6287
+ onClose: handleCloseVerificationDialog,
6288
+ email: showVerificationDialog.email,
6289
+ userId: showVerificationDialog.id,
6290
+ onSendVerificationEmail: handleSendVerificationEmail
6291
+ }
6209
6292
  )
6210
6293
  ] });
6211
6294
  };
@@ -5,13 +5,13 @@ import { Provider } from "@radix-ui/react-tooltip";
5
5
  import React, { useState, useCallback, useMemo, useEffect, useRef, useLayoutEffect } from "react";
6
6
  import { Link, Flex, Box, Button, Tooltip, Tbody, Tr, Td, Checkbox, Typography, Modal, Table, Thead, Th, SingleSelect, SingleSelectOption, SearchForm, Searchbar, IconButton, Dialog, Tabs, TextInput, Alert, Field, Toggle, Divider } from "@strapi/design-system";
7
7
  import { useIntl } from "react-intl";
8
- import { i as isArguments_1, a as isBufferExports, b as isTypedArray_1, c as isLength_1, d as isFunction_1, _ as _getTag, e as _Stack, f as _equalArrays, g as _equalByTag, h as isObjectLike_1, j as getDefaultExportFromCjs, k as _baseGetTag, l as _MapCache, m as _Symbol, P as PLUGIN_ID, n as getAugmentedNamespace, o as commonjsGlobal } from "./index-DtGfwf9S.mjs";
8
+ import { i as isArguments_1, a as isBufferExports, b as isTypedArray_1, c as isLength_1, d as isFunction_1, _ as _getTag, e as _Stack, f as _equalArrays, g as _equalByTag, h as isObjectLike_1, j as getDefaultExportFromCjs, k as _baseGetTag, l as _MapCache, m as _Symbol, P as PLUGIN_ID, n as getAugmentedNamespace, o as commonjsGlobal } from "./index-CMFutRyI.mjs";
9
9
  import { ArrowLeft, Key, Trash, WarningCircle, CaretUp, CaretDown, Search, Plus, Pencil } from "@strapi/icons";
10
10
  import styled from "styled-components";
11
11
  import { RxCheck, RxCross2 } from "react-icons/rx";
12
12
  import { AiOutlineUserAdd, AiFillPhone, AiFillMail, AiFillYahoo, AiFillGithub, AiFillTwitterCircle, AiFillFacebook, AiFillApple, AiFillGoogleCircle } from "react-icons/ai";
13
13
  import { MdPassword } from "react-icons/md";
14
- import { g as getFirebaseConfig$1 } from "./api-D_4cdJU5.mjs";
14
+ import { g as getFirebaseConfig$1 } from "./api-BM2UtpvM.mjs";
15
15
  import * as PhoneInputModule from "react-phone-input-2";
16
16
  import "react-phone-input-2/lib/style.css";
17
17
  import validator from "validator";
@@ -2707,6 +2707,12 @@ const getFirebaseConfig = async () => {
2707
2707
  };
2708
2708
  }
2709
2709
  };
2710
+ const sendVerificationEmail = async (userId) => {
2711
+ const url = `/${PLUGIN_ID}/users/sendVerificationEmail/${userId}`;
2712
+ const { put } = getFetchClient();
2713
+ const { data: result } = await put(url, {});
2714
+ return result;
2715
+ };
2710
2716
  const PaginationFooter = ({ pageCount = 0 }) => {
2711
2717
  const [{ query }, setQuery] = useQueryParams$1();
2712
2718
  const pageSize = query?.pageSize || "10";
@@ -5034,6 +5040,59 @@ const ResetPassword = ({
5034
5040
  ] })
5035
5041
  ] }) });
5036
5042
  };
5043
+ const ResendVerification = ({
5044
+ isOpen,
5045
+ email,
5046
+ userId,
5047
+ onClose,
5048
+ onSendVerificationEmail
5049
+ }) => {
5050
+ const [isLoading, setIsLoading] = useState(false);
5051
+ const [emailSent, setEmailSent] = useState(false);
5052
+ const [error, setError] = useState("");
5053
+ const resetState = () => {
5054
+ setEmailSent(false);
5055
+ setError("");
5056
+ setIsLoading(false);
5057
+ };
5058
+ const handleClose = () => {
5059
+ resetState();
5060
+ onClose();
5061
+ };
5062
+ const handleSendEmail = async () => {
5063
+ try {
5064
+ setIsLoading(true);
5065
+ setError("");
5066
+ await onSendVerificationEmail();
5067
+ setEmailSent(true);
5068
+ } catch (err) {
5069
+ setError(err.message || "Failed to send verification email");
5070
+ } finally {
5071
+ setIsLoading(false);
5072
+ }
5073
+ };
5074
+ return /* @__PURE__ */ jsx(Dialog.Root, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxs(Dialog.Content, { children: [
5075
+ /* @__PURE__ */ jsx(Dialog.Header, { children: "Resend Verification Email" }),
5076
+ /* @__PURE__ */ jsx(Dialog.Body, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 4, alignItems: "center", children: [
5077
+ !emailSent ? /* @__PURE__ */ jsxs(Fragment, { children: [
5078
+ /* @__PURE__ */ jsxs(Typography, { textAlign: "center", children: [
5079
+ "Send a verification email to ",
5080
+ /* @__PURE__ */ jsx("strong", { children: email }),
5081
+ "?"
5082
+ ] }),
5083
+ /* @__PURE__ */ jsx(Typography, { variant: "omega", textColor: "neutral600", textAlign: "center", children: "The link will expire in 1 hour." })
5084
+ ] }) : /* @__PURE__ */ jsxs(Alert, { variant: "success", title: "Email Sent", children: [
5085
+ "Verification email has been sent to ",
5086
+ email
5087
+ ] }),
5088
+ error && /* @__PURE__ */ jsx(Alert, { variant: "danger", title: "Error", children: error })
5089
+ ] }) }),
5090
+ /* @__PURE__ */ jsxs(Dialog.Footer, { children: [
5091
+ /* @__PURE__ */ jsx(Button, { onClick: handleClose, variant: "tertiary", children: emailSent ? "Close" : "Cancel" }),
5092
+ !emailSent && /* @__PURE__ */ jsx(Button, { variant: "success", loading: isLoading, onClick: handleSendEmail, children: "Send" })
5093
+ ] })
5094
+ ] }) });
5095
+ };
5037
5096
  const HEADER_TITLE = "Firebase Users";
5038
5097
  const NOTIFICATION_MESSAGES = {
5039
5098
  DELETED: "Deleted",
@@ -5394,24 +5453,10 @@ const HomePage = () => {
5394
5453
  let PhoneInputTemp = PhoneInputModule;
5395
5454
  let unwrapCount = 0;
5396
5455
  while (PhoneInputTemp && typeof PhoneInputTemp === "object" && PhoneInputTemp.default && unwrapCount < 5) {
5397
- console.log(`🔧 Unwrapping PhoneInput layer ${unwrapCount}:`, PhoneInputTemp);
5398
5456
  PhoneInputTemp = PhoneInputTemp.default;
5399
5457
  unwrapCount++;
5400
5458
  }
5401
5459
  const PhoneInput = PhoneInputTemp;
5402
- console.log("🔍 ==================== PhoneInput Final Check ====================");
5403
- console.log(" Unwrap iterations:", unwrapCount);
5404
- console.log(" PhoneInput FINAL:", PhoneInput);
5405
- console.log(" PhoneInput type:", typeof PhoneInput);
5406
- console.log(" PhoneInput $$typeof:", PhoneInput?.$$typeof);
5407
- console.log(" PhoneInput name:", PhoneInput?.name);
5408
- console.log(" PhoneInput displayName:", PhoneInput?.displayName);
5409
- console.log(" Is function?:", typeof PhoneInput === "function");
5410
- console.log(
5411
- " Is valid React component?:",
5412
- typeof PhoneInput === "function" || PhoneInput && PhoneInput.$$typeof
5413
- );
5414
- console.log("🔍 ================================================================");
5415
5460
  const StyledPhoneInputWrapper = styled.div`
5416
5461
  width: 100%;
5417
5462
 
@@ -5935,6 +5980,11 @@ const EditUserForm = ({ data }) => {
5935
5980
  email: "",
5936
5981
  id: ""
5937
5982
  });
5983
+ const [showVerificationDialog, setShowVerificationDialog] = useState({
5984
+ isOpen: false,
5985
+ email: "",
5986
+ id: ""
5987
+ });
5938
5988
  const [passwordConfig, setPasswordConfig] = useState({
5939
5989
  passwordRequirementsRegex: "^.{6,}$",
5940
5990
  passwordRequirementsMessage: "Password must be at least 6 characters long"
@@ -6022,6 +6072,12 @@ const EditUserForm = ({ data }) => {
6022
6072
  });
6023
6073
  }
6024
6074
  }, [userData.uid, toggleNotification]);
6075
+ const handleCloseVerificationDialog = useCallback(() => {
6076
+ setShowVerificationDialog({ isOpen: false, email: "", id: "" });
6077
+ }, []);
6078
+ const handleSendVerificationEmail = useCallback(async () => {
6079
+ await sendVerificationEmail(userData.uid);
6080
+ }, [userData.uid]);
6025
6081
  if (isLoading) {
6026
6082
  return /* @__PURE__ */ jsx(Page.Loading, {});
6027
6083
  }
@@ -6125,20 +6181,37 @@ const EditUserForm = ({ data }) => {
6125
6181
  shadow: "tableShadow",
6126
6182
  children: [
6127
6183
  /* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral600", marginBottom: 2, children: "Account Actions" }),
6128
- /* @__PURE__ */ jsx(
6129
- PasswordResetButton,
6130
- {
6131
- user: userData,
6132
- fullWidth: true,
6133
- onClick: () => {
6134
- setShowResetPasswordDialog({
6135
- isOpen: true,
6136
- email: userData.email || "",
6137
- id: userData.uid || ""
6138
- });
6184
+ /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
6185
+ /* @__PURE__ */ jsx(
6186
+ PasswordResetButton,
6187
+ {
6188
+ user: userData,
6189
+ fullWidth: true,
6190
+ onClick: () => {
6191
+ setShowResetPasswordDialog({
6192
+ isOpen: true,
6193
+ email: userData.email || "",
6194
+ id: userData.uid || ""
6195
+ });
6196
+ }
6139
6197
  }
6140
- }
6141
- )
6198
+ ),
6199
+ userData.email && !userData.emailVerified && /* @__PURE__ */ jsx(
6200
+ Button,
6201
+ {
6202
+ variant: "secondary",
6203
+ fullWidth: true,
6204
+ onClick: () => {
6205
+ setShowVerificationDialog({
6206
+ isOpen: true,
6207
+ email: userData.email || "",
6208
+ id: userData.uid || ""
6209
+ });
6210
+ },
6211
+ children: "Resend Verification Email"
6212
+ }
6213
+ )
6214
+ ] })
6142
6215
  ]
6143
6216
  }
6144
6217
  ),
@@ -6203,6 +6276,16 @@ const EditUserForm = ({ data }) => {
6203
6276
  passwordMessage: passwordConfig.passwordRequirementsMessage,
6204
6277
  onSendResetEmail: handleSendResetEmail
6205
6278
  }
6279
+ ),
6280
+ /* @__PURE__ */ jsx(
6281
+ ResendVerification,
6282
+ {
6283
+ isOpen: showVerificationDialog.isOpen,
6284
+ onClose: handleCloseVerificationDialog,
6285
+ email: showVerificationDialog.email,
6286
+ userId: showVerificationDialog.id,
6287
+ onSendVerificationEmail: handleSendVerificationEmail
6288
+ }
6206
6289
  )
6207
6290
  ] });
6208
6291
  };
@@ -1,5 +1,5 @@
1
1
  import { getFetchClient } from "@strapi/strapi/admin";
2
- import { P as PLUGIN_ID } from "./index-DtGfwf9S.mjs";
2
+ import { P as PLUGIN_ID } from "./index-CMFutRyI.mjs";
3
3
  const saveFirebaseConfig = async (json, firebaseWebApiKey, passwordConfig) => {
4
4
  const url = `/${PLUGIN_ID}/settings/firebase-config`;
5
5
  const { post } = getFetchClient();
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const admin = require("@strapi/strapi/admin");
3
- const index = require("./index-DlPxMuSK.js");
3
+ const index = require("./index-B5EwGI_y.js");
4
4
  const saveFirebaseConfig = async (json, firebaseWebApiKey, passwordConfig) => {
5
5
  const url = `/${index.PLUGIN_ID}/settings/firebase-config`;
6
6
  const { post } = admin.getFetchClient();