feat: Add Blob Storage Explorer to Staff Portal Tech Admin - #306
Draft
Conversation
Copilot
AI
changed the title
[WIP] Add Blob Storage Explorer page to Staff Portal Tech Admin
feat: Add Blob Storage Explorer to Staff Portal Tech Admin
Jul 27, 2026
Copilot stopped work on behalf of
dani-vaibhav due to an error
July 27, 2026 20:34
Copilot stopped work on behalf of
dani-vaibhav due to an error
July 28, 2026 06:03
dani-vaibhav
changed the base branch from
main
to
303-add-blob-storage-explorer-page-to-staff-portal-tech-admin-to-navigate-and-verify-blobs-in-storage-account
July 28, 2026 16:44
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a read-only Blob Storage Explorer to the Staff Portal Tech Admin area, gated by
staffRole.techAdminPermissions.canViewBlobExplorer. Follows the existing Database Explorer / Queue Explorer patterns.Backend
@cellix/service-blob-storagelistContainers(): Promise<ContainerListItem[]>onBlobStorageinterfacelistBlobsDetailed(request: ListBlobsDetailedRequest): Promise<BlobDetailedListResult>with server-side pagination (continuation tokens), metadata, tags, and optional name/tag filtering viafindBlobsByTagsContainerListItem,BlobDetailedItem,BlobDetailedListResult,ListBlobsDetailedRequest@ocom/service-blob-storageBlobStorageOperationsPick to includelistContainersandlistBlobsDetailedClientUploadOperationsto includegenerateReadSasToken@ocom/application-servicesTechAdmin.BlobExplorercontext withlistContainers(),listBlobs(),generateBlobSasUrl()(SAS token valid for 5 min)@ocom/graphqlAll three queries enforce
canViewBlobExplorer || canManageTechAdminvia a shared auth helper. Resolver unit tests included.Frontend (
@ocom/ui-staff-route-tech-admin)BlobExplorerPage– top-level page; redirects to/unauthorizedif permission absentBlobContainerSelectorContainer– lists containers, drivesselectedContainerstateBlobListContainer– paginated blob listing with virtual folder navigation and breadcrumbsBlobDetailContainer– modal with preview (image, PDF, text, JSON) and download via SAS URLBlobFilter– name filter + tag filter expression inputssection-layout.tsx) gains the "Blob Storage Explorer" entry, visible only whencanViewBlobExploreris trueuse-staff-permissions.tsupdated to surfacecanViewBlobExplorerfrom the GraphQL permissions querycodegen.ymlupdated with tech-admin codegen target