@7365admin1/core 3.65.0 → 3.65.2

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
@@ -11042,6 +11042,13 @@ function effectiveSiteModules(orgModules, siteModules) {
11042
11042
  const allowed = site.filter((key) => org.includes(key));
11043
11043
  return allowed.length ? allowed : org;
11044
11044
  }
11045
+ function siteModulesForOrg(site, orgId) {
11046
+ const org = orgId?.toString() ?? "";
11047
+ if (!org)
11048
+ return site?.metadata?.modules;
11049
+ const owner = String(site?.orgId ?? site?.org ?? "");
11050
+ return owner && owner === org ? site?.metadata?.modules : void 0;
11051
+ }
11045
11052
  function rejectedSiteModules(orgModules, requested) {
11046
11053
  if (!narrows(orgModules))
11047
11054
  return [];
@@ -20424,7 +20431,7 @@ async function moduleCeiling(org, site) {
20424
20431
  ]);
20425
20432
  return effectiveSiteModules(
20426
20433
  orgDoc?.modules,
20427
- siteDoc?.metadata?.modules
20434
+ siteModulesForOrg(siteDoc, orgId)
20428
20435
  );
20429
20436
  } catch {
20430
20437
  return [];
@@ -28194,6 +28201,31 @@ async function requireMemberOrg(req, org) {
28194
28201
  }
28195
28202
  await requireOrgAccess(req, orgId);
28196
28203
  }
28204
+ async function membershipsInReach(req, items) {
28205
+ const warn = (error) => {
28206
+ logger37.log({ level: "warn", message: `members/users reach check: ${error?.message}` });
28207
+ return false;
28208
+ };
28209
+ if (!await callerAccountApproved(callerId(req)).catch(warn)) {
28210
+ return { items: [], total: 0 };
28211
+ }
28212
+ const orgs = new Set(
28213
+ items.map((m) => m?.org?.toString?.() ?? "").filter(Boolean)
28214
+ );
28215
+ const own = new Set(
28216
+ await resolveInviteActor(callerId(req)).then((actor) => actor.orgIds.map(String)).catch((error) => (warn(error), []))
28217
+ );
28218
+ const reached = new Set([...orgs].filter((org) => own.has(org)));
28219
+ for (const org of orgs) {
28220
+ if (reached.has(org))
28221
+ continue;
28222
+ const ok = await requireOrgReach(req, org).then(() => true, () => false);
28223
+ if (ok)
28224
+ reached.add(org);
28225
+ }
28226
+ const kept = items.filter((m) => reached.has(m?.org?.toString?.() ?? ""));
28227
+ return { items: kept, total: kept.length };
28228
+ }
28197
28229
  function memberModulesHandlers({
28198
28230
  requireSelfOrPlatformStaff: requireSelfOrPlatformStaff2,
28199
28231
  gateData
@@ -28297,7 +28329,11 @@ function useMemberController() {
28297
28329
  }
28298
28330
  try {
28299
28331
  const data = await _getAllByUser(userId);
28300
- res.json(data);
28332
+ const whole = await requireSelfOrPlatformStaff(req, userId, {
28333
+ resource: "members",
28334
+ action: "view-members"
28335
+ }).then(() => true, () => false);
28336
+ res.json(whole ? data : await membershipsInReach(req, data.items));
28301
28337
  return;
28302
28338
  } catch (error2) {
28303
28339
  logger37.log({