MCPcopy Create free account
hub / github.com/error311/FileRise / checkUserFolderPermission

Function checkUserFolderPermission

public/js/folderManager.js:715–769  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

713 Folder-only scope (server truthy)
714----------------------*/
715async function checkUserFolderPermission() {
716 const username = localStorage.getItem("username") || "";
717 try {
718 if (window.__FR_PERMISSIONS_CACHE) {
719 // reuse cached snapshot from auth.js if available
720 const permissionsData = window.__FR_PERMISSIONS_CACHE;
721 const isFolderOnly =
722 !!(permissionsData && permissionsData[username] && permissionsData[username].folderOnly);
723 window.userFolderOnly = isFolderOnly;
724 localStorage.setItem("folderOnly", isFolderOnly ? "true" : "false");
725 if (isFolderOnly && username) {
726 setLastOpenedFolder(username);
727 window.currentFolder = username;
728 }
729 return isFolderOnly;
730 }
731
732 if (window.__FR_PERMISSIONS_PROMISE) {
733 const permissionsData = await window.__FR_PERMISSIONS_PROMISE;
734 const isFolderOnly =
735 !!(permissionsData && permissionsData[username] && permissionsData[username].folderOnly);
736 window.userFolderOnly = isFolderOnly;
737 localStorage.setItem("folderOnly", isFolderOnly ? "true" : "false");
738 if (isFolderOnly && username) {
739 setLastOpenedFolder(username);
740 window.currentFolder = username;
741 }
742 return isFolderOnly;
743 }
744
745 window.__FR_PERMISSIONS_PROMISE = (async () => {
746 const res = await fetchWithCsrf("/api/profile/getUserPermissions.php", {
747 method: "GET",
748 credentials: "include"
749 });
750 return safeJson(res);
751 })();
752 const permissionsData = await window.__FR_PERMISSIONS_PROMISE;
753 window.__FR_PERMISSIONS_CACHE = permissionsData || {};
754 window.__FR_PERMISSIONS_PROMISE = null;
755 const isFolderOnly =
756 !!(permissionsData && permissionsData[username] && permissionsData[username].folderOnly);
757 window.userFolderOnly = isFolderOnly;
758 localStorage.setItem("folderOnly", isFolderOnly ? "true" : "false");
759 if (isFolderOnly && username) {
760 setLastOpenedFolder(username);
761 window.currentFolder = username;
762 }
763 return isFolderOnly;
764 } catch (e) {
765 window.userFolderOnly = false;
766 localStorage.setItem("folderOnly", "false");
767 return false;
768 }
769}
770
771/* ----------------------
772 Local state and caches

Callers 1

loadFolderTreeFunction · 0.85

Calls 3

fetchWithCsrfFunction · 0.85
setLastOpenedFolderFunction · 0.70
safeJsonFunction · 0.70

Tested by

no test coverage detected