musora-content-services 1.0.183 → 1.0.184

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/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [1.0.184](https://github.com/railroadmedia/musora-content-services/compare/v1.0.183...v1.0.184) (2024-11-25)
6
+
5
7
  ### [1.0.183](https://github.com/railroadmedia/musora-content-services/compare/v1.0.182...v1.0.183) (2024-11-25)
6
8
 
7
9
  ### [1.0.182](https://github.com/railroadmedia/musora-content-services/compare/v1.0.181...v1.0.182) (2024-11-25)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musora-content-services",
3
- "version": "1.0.183",
3
+ "version": "1.0.184",
4
4
  "description": "A package for Musoras content services ",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -1643,6 +1643,7 @@ export async function fetchSanity(query,
1643
1643
  ]);
1644
1644
  const response = promisesResult[0];
1645
1645
  const userPermissions = promisesResult[1]?.permissions;
1646
+ const isAdmin = promisesResult[1]?.isAdmin;
1646
1647
 
1647
1648
  if (!response.ok) {
1648
1649
  throw new Error(`Sanity API error: ${response.status} - ${response.statusText}`);
@@ -1653,7 +1654,7 @@ export async function fetchSanity(query,
1653
1654
  console.log("fetchSanity Results:", result);
1654
1655
  }
1655
1656
  let results = isList ? result.result : result.result[0];
1656
- results = processNeedAccess ? await needsAccessDecorator(results, userPermissions) : results;
1657
+ results = processNeedAccess ? await needsAccessDecorator(results, userPermissions, isAdmin) : results;
1657
1658
  return customPostProcess ? customPostProcess(results) : results;
1658
1659
  } else {
1659
1660
  throw new Error('No results found');
@@ -1664,38 +1665,41 @@ export async function fetchSanity(query,
1664
1665
  }
1665
1666
  }
1666
1667
 
1667
- function needsAccessDecorator(results, userPermissions) {
1668
+ function needsAccessDecorator(results, userPermissions, isAdmin) {
1668
1669
  if (globalConfig.sanityConfig.useDummyRailContentMethods) return results;
1669
1670
 
1670
1671
  userPermissions = new Set(userPermissions);
1671
1672
 
1672
1673
  if (Array.isArray(results)) {
1673
1674
  results.forEach((result) => {
1674
- result['need_access'] = doesUserNeedAccessToContent(result, userPermissions);
1675
+ result['need_access'] = doesUserNeedAccessToContent(result, userPermissions, isAdmin);
1675
1676
  });
1676
1677
  } else if (results.entity && Array.isArray(results.entity)) {
1677
1678
  // Group By
1678
1679
  results.entity.forEach((result) => {
1679
1680
  if (result.lessons) {
1680
1681
  result.lessons.forEach((lesson) => {
1681
- lesson['need_access'] = doesUserNeedAccessToContent(lesson, userPermissions); // Updated to check lesson access
1682
+ lesson['need_access'] = doesUserNeedAccessToContent(lesson, userPermissions, isAdmin); // Updated to check lesson access
1682
1683
  });
1683
1684
  } else {
1684
- result['need_access'] = doesUserNeedAccessToContent(result, userPermissions);
1685
+ result['need_access'] = doesUserNeedAccessToContent(result, userPermissions, isAdmin);
1685
1686
  }
1686
1687
  });
1687
1688
  } else if (results.related_lessons && Array.isArray(results.related_lessons)) {
1688
1689
  results.related_lessons.forEach((result) => {
1689
- result['need_access'] = doesUserNeedAccessToContent(result, userPermissions);
1690
+ result['need_access'] = doesUserNeedAccessToContent(result, userPermissions, isAdmin);
1690
1691
  })
1691
1692
  } else {
1692
- results['need_access'] = doesUserNeedAccessToContent(results, userPermissions);
1693
+ results['need_access'] = doesUserNeedAccessToContent(results, userPermissions, isAdmin);
1693
1694
  }
1694
1695
 
1695
1696
  return results;
1696
1697
  }
1697
1698
 
1698
- function doesUserNeedAccessToContent(result, userPermissions) {
1699
+ function doesUserNeedAccessToContent(result, userPermissions, isAdmin) {
1700
+ if (isAdmin ?? false) {
1701
+ return false;
1702
+ }
1699
1703
  const permissions = new Set(result?.permission_id ?? []);
1700
1704
  if (permissions.size === 0) {
1701
1705
  return false;