File tree Expand file tree Collapse file tree
web-runtime/src/container Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ export enum MESSAGE_TYPE {
1313 FOLDER_CREATED = 'folder-created' ,
1414 SPACE_CREATED = 'space-created' ,
1515 SPACE_DISABLED = 'space-disabled' ,
16+ SPACE_ENABLED = 'space-enabled' ,
1617 SPACE_DELETED = 'space-deleted' ,
1718 SPACE_MEMBER_ADDED = 'space-member-added' ,
1819 SPACE_MEMBER_REMOVED = 'space-member-removed' ,
Original file line number Diff line number Diff line change @@ -84,7 +84,8 @@ import {
8484 SseEventWrapperOptions ,
8585 onSSESpaceCreatedEvent ,
8686 onSSESpaceDisabledEvent ,
87- onSSESpaceDeletedEvent
87+ onSSESpaceDeletedEvent ,
88+ onSSESpaceEnabledEvent
8889} from './sse'
8990import { loadAppTranslations } from '../helpers/language'
9091import { urlJoin } from '@opencloud-eu/web-client'
@@ -990,6 +991,15 @@ export const registerSSEEventListeners = ({
990991 } )
991992 )
992993
994+ clientService . sseAuthenticated . addEventListener ( MESSAGE_TYPE . SPACE_ENABLED , ( msg ) =>
995+ sseEventWrapper ( {
996+ topic : MESSAGE_TYPE . SPACE_ENABLED ,
997+ msg,
998+ ...sseEventWrapperOptions ,
999+ method : onSSESpaceEnabledEvent
1000+ } )
1001+ )
1002+
9931003 clientService . sseAuthenticated . addEventListener ( MESSAGE_TYPE . SPACE_DISABLED , ( msg ) =>
9941004 sseEventWrapper ( {
9951005 topic : MESSAGE_TYPE . SPACE_DISABLED ,
Original file line number Diff line number Diff line change @@ -23,6 +23,28 @@ export const onSSESpaceCreatedEvent = async ({
2323 resourcesStore . upsertResource ( space )
2424}
2525
26+ export const onSSESpaceEnabledEvent = async ( {
27+ sseData,
28+ resourcesStore,
29+ spacesStore,
30+ clientService,
31+ router
32+ } : SSEEventOptions ) => {
33+ if ( sseData . initiatorid === clientService . initiatorId ) {
34+ // If initiated by current client (browser tab), action unnecessary. Web manages its own logic, return early.
35+ return
36+ }
37+
38+ const space = await clientService . graphAuthenticated . drives . getDrive ( sseData . spaceid )
39+ spacesStore . upsertSpace ( space )
40+
41+ if ( ! isLocationSpacesActive ( router , 'files-spaces-projects' ) ) {
42+ return
43+ }
44+
45+ resourcesStore . upsertResource ( space )
46+ }
47+
2648export const onSSESpaceDisabledEvent = async ( {
2749 sseData,
2850 resourcesStore,
You can’t perform that action at this time.
0 commit comments