@7365admin1/core 3.139.1 → 3.140.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.
package/dist/index.mjs CHANGED
@@ -3203,7 +3203,10 @@ function sameAppType(a, b) {
3203
3203
  // src/utils/member-lookup.util.ts
3204
3204
  var idOf = (v) => v == null ? "" : String(v?._id ?? v).toLowerCase();
3205
3205
  function isLiveMembership(m) {
3206
- return m.status !== "deleted" && !m.deletedAt;
3206
+ return !TAKEN_AWAY_MEMBER_STATUSES.includes(String(m?.status ?? "")) && !m?.deletedAt;
3207
+ }
3208
+ function entitledMemberships(rows) {
3209
+ return (Array.isArray(rows) ? rows : []).filter(isLiveMembership);
3207
3210
  }
3208
3211
  function pickSiteMembership(rows, type, site, org = "") {
3209
3212
  site = site.toLowerCase();
@@ -22153,7 +22156,8 @@ async function getUserPermissions(params) {
22153
22156
  if (!roleId || !ObjectId51.isValid(roleId)) {
22154
22157
  const memberQuery = {
22155
22158
  user: new ObjectId51(user),
22156
- status: { $ne: "deleted" }
22159
+ // A taken-away (inactive) row grants no permissions either.
22160
+ status: { $nin: TAKEN_AWAY_MEMBER_STATUSES }
22157
22161
  };
22158
22162
  if (org && ObjectId51.isValid(org)) {
22159
22163
  memberQuery.org = new ObjectId51(org);
@@ -28481,9 +28485,10 @@ function useMemberService() {
28481
28485
  throw error;
28482
28486
  }
28483
28487
  }
28484
- async function getAllByUser(user) {
28488
+ async function getAllByUser(user, { includeRemoved = false } = {}) {
28485
28489
  try {
28486
- const members = await _getAllByUserId(user);
28490
+ const all = await _getAllByUserId(user);
28491
+ const members = includeRemoved ? all : entitledMemberships(all);
28487
28492
  return {
28488
28493
  items: members,
28489
28494
  total: members.length
@@ -29044,7 +29049,9 @@ function useMemberController() {
29044
29049
  return;
29045
29050
  }
29046
29051
  try {
29047
- const data = await _getAllByUser(userId);
29052
+ const data = await _getAllByUser(userId, {
29053
+ includeRemoved: req.query.include === "removed"
29054
+ });
29048
29055
  const whole = await requireSelfOrPlatformStaff(req, userId, {
29049
29056
  resource: "members",
29050
29057
  action: "view-members"
@@ -29085,7 +29092,7 @@ function useMemberController() {
29085
29092
  org
29086
29093
  ) : null;
29087
29094
  const inOrg = org && !atSite ? await _getByUserIdTypeOrg(user, type, org).catch(() => null) : null;
29088
- const liveInOrg = inOrg && inOrg.status !== "deleted" && !inOrg.deletedAt ? inOrg : null;
29095
+ const liveInOrg = inOrg && isLiveMembership(inOrg) ? inOrg : null;
29089
29096
  const data = atSite ?? liveInOrg ?? await _getByUserIdType(user, type);
29090
29097
  res.json(data);
29091
29098
  return;
@@ -107853,7 +107860,7 @@ function useNotificationPreferenceService() {
107853
107860
  const db2 = useAtlas163.getDb();
107854
107861
  if (!db2)
107855
107862
  return [];
107856
- const members = await db2.collection("members").find({ user: new ObjectId200(userId), status: { $ne: "deleted" } }).toArray();
107863
+ const members = await db2.collection("members").find({ user: new ObjectId200(userId), status: { $nin: TAKEN_AWAY_MEMBER_STATUSES } }).toArray();
107857
107864
  if (!members.length)
107858
107865
  return [];
107859
107866
  const isResident = members.some((m) => m.type === "resident");