(sheet: Worksheet)
| 17 | // PROJECT_WRITE: workspace Owner/DBA and all members in the project. |
| 18 | // PROJECT_READ: workspace Owner/DBA and all members in the project. |
| 19 | export const isWorksheetReadableV1 = (sheet: Worksheet) => { |
| 20 | const currentUser = getCurrentUserV1(); |
| 21 | |
| 22 | if (extractUserEmail(sheet.creator) === currentUser.email) { |
| 23 | // Always readable to the creator |
| 24 | return true; |
| 25 | } |
| 26 | |
| 27 | if (hasWorkspacePermissionV2("bb.worksheets.manage")) { |
| 28 | return true; |
| 29 | } |
| 30 | |
| 31 | switch (sheet.visibility) { |
| 32 | case Worksheet_Visibility.PRIVATE: |
| 33 | return false; |
| 34 | case Worksheet_Visibility.PROJECT_READ: |
| 35 | case Worksheet_Visibility.PROJECT_WRITE: { |
| 36 | const projectV1 = getProjectByName(sheet.project); |
| 37 | if (projectV1.name === UNKNOWN_PROJECT_NAME) { |
| 38 | return false; |
| 39 | } |
| 40 | return hasProjectPermissionV2(projectV1, "bb.worksheets.get"); |
| 41 | } |
| 42 | } |
| 43 | return false; |
| 44 | }; |
| 45 | |
| 46 | // writable to |
| 47 | // PRIVATE: workspace Owner/DBA and the creator only. |
no test coverage detected