@7365admin1/layer-common 3.0.31-staging.16 → 3.0.31-staging.17

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.
@@ -548,7 +548,7 @@
548
548
  variant="flat"
549
549
  class="text-none sp-invite-submit-btn"
550
550
  height="76"
551
- :disabled="!validServiceProvider"
551
+ :disabled="!canSubmitInvite"
552
552
  :loading="disableServiceProvider"
553
553
  @click="submitServiceProviderInvite()"
554
554
  >
@@ -574,6 +574,7 @@ type ListTab = "active" | "pending" | "inactive";
574
574
 
575
575
  type TableRow = {
576
576
  _id: string;
577
+ userId: string;
577
578
  serviceProviderOrgId: string;
578
579
  companyName: string;
579
580
  email: string;
@@ -733,11 +734,10 @@ const {
733
734
  updateStatus: updateServiceProviderStatus,
734
735
  invite,
735
736
  } = useServiceProvider();
736
- const { getAll: getAllMembers } = useMember();
737
+ const { getAllByUserId } = useMember();
737
738
 
738
739
  const { getVerifications, cancelUserInvitation, getVerificationByEmail } =
739
740
  useVerification();
740
- const { getOrgsByMembership } = useMember();
741
741
 
742
742
  const existingAccount = ref<any>(null);
743
743
  const checkingExistingAccount = ref(false);
@@ -757,11 +757,10 @@ const createInviteDialog = ref(false);
757
757
  // const loadingInviteRoles = ref(false);
758
758
  // const serviceProviderInviteRoles = ref<Array<Record<string, any>>>([]);
759
759
 
760
- const { getByUserType } = useMember();
761
- const { getOrgs } = useOrg();
762
760
 
763
761
  async function checkExistingAccount(email: string) {
764
762
  existingAccount.value = null;
763
+ messageServiceProvider.value = "";
765
764
 
766
765
  if (!email.trim() || emailRule(email) !== true) return;
767
766
 
@@ -770,30 +769,50 @@ async function checkExistingAccount(email: string) {
770
769
  try {
771
770
  const user = await getUserByEmail(email);
772
771
 
773
- if (!user?._id) return;
772
+ if (!user?._id) return;
774
773
 
775
- const orgs = await getOrgs({
776
- user: user._id,
777
- });
774
+ const members = await getAllByUserId(user._id);
778
775
 
779
- const matchedOrg = orgs.items?.find(
780
- (org: any) => org.type === serviceProviderInvite.value.app
781
- );
776
+ const appMember = (members.items ?? []).find(
777
+ (member: any) => member.type === serviceProviderInvite.value.app
778
+ );
779
+
780
+ if (!appMember) {
781
+ existingAccount.value = null;
782
+ return;
783
+ }
784
+
785
+ if (
786
+ appMember.org === props.orgId &&
787
+ (appMember.siteId || "") === (props.siteId || "")
788
+ ) {
789
+ existingAccount.value = null;
790
+ messageServiceProvider.value =
791
+ "This user is already a member of this service provider.";
792
+ return;
793
+ }
794
+
795
+ existingAccount.value = {
796
+ _id: appMember.org,
797
+ text: appMember.orgName,
798
+ org: appMember.org,
799
+ orgName: appMember.orgName,
800
+ siteId: appMember.siteId,
801
+ siteName: appMember.siteName,
802
+ };
782
803
 
783
- if (matchedOrg) {
784
- existingAccount.value = {
785
- _id: matchedOrg.value,
786
- text: matchedOrg.text,
787
- ...matchedOrg,
788
- };
789
- }
790
804
  } catch (error) {
791
805
  existingAccount.value = null;
792
806
  } finally {
793
807
  checkingExistingAccount.value = false;
794
808
  }
795
809
  }
796
-
810
+ const canSubmitInvite = computed(() => {
811
+ return (
812
+ validServiceProvider.value &&
813
+ !messageServiceProvider.value
814
+ );
815
+ });
797
816
  watch(
798
817
  () => serviceProviderInvite.value.email,
799
818
  async (value) => {
@@ -939,6 +958,7 @@ function formatEmailCell(value: unknown): string {
939
958
  function mapProviderRows(raw: Record<string, any>[]): TableRow[] {
940
959
  return raw.map((row) => ({
941
960
  _id: String(row._id ?? ""),
961
+ userId: String(row.user ?? ""),
942
962
  serviceProviderOrgId: String(row.serviceProviderOrgId ?? ""),
943
963
  companyName: row.name ?? "-",
944
964
  email: formatEmailCell(row.email),
@@ -961,6 +981,7 @@ function inviteTypeLabel(t: string) {
961
981
  function mapInviteRows(raw: Record<string, any>[]): TableRow[] {
962
982
  return raw.map((row) => ({
963
983
  _id: String(row._id ?? ""),
984
+ userId: String(row.user ?? ""),
964
985
  serviceProviderOrgId: String(row.metadata?.serviceProviderOrgId ?? ""),
965
986
  companyName: row.metadata?.name || "-",
966
987
  email: formatEmailCell(row.email),
@@ -1029,16 +1050,12 @@ async function openView(row: TableRow) {
1029
1050
 
1030
1051
  loadingMembers.value = true;
1031
1052
  try {
1032
- const data = await getAllMembers({
1033
- page: 1,
1034
- limit: 1000,
1035
- org: row.serviceProviderOrgId,
1036
- status: "active",
1037
- });
1053
+ const data = await getAllByUserId(row.userId);
1054
+
1038
1055
  serviceProviderMembers.value = (data.items ?? []).map((member: any) => ({
1039
- _id: String(member._id ?? ""),
1040
- name: member.name || member.fullName || member.email || "-",
1041
- role: member.roleName || member.role?.name || "-",
1056
+ _id: member._id,
1057
+ name: member.name || "-",
1058
+ role: member.role || "-",
1042
1059
  }));
1043
1060
  } catch (error: any) {
1044
1061
  showMessage(errorConverter(error), "error");
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@7365admin1/layer-common",
3
3
  "license": "MIT",
4
4
  "type": "module",
5
- "version": "3.0.31-staging.16",
5
+ "version": "3.0.31-staging.17",
6
6
  "author": "7365admin1",
7
7
  "main": "./nuxt.config.ts",
8
8
  "publishConfig": {