feat: should be able to access shared item revisions as third party user (#807)

This commit is contained in:
Karol Sójko
2023-09-06 15:36:23 +02:00
committed by GitHub
parent 14d42b26bb
commit 794cd8734a
92 changed files with 1725 additions and 265 deletions
@@ -1,11 +1,10 @@
import { controller, httpDelete, httpGet, results } from 'inversify-express-utils'
import { inject } from 'inversify'
import { MapperInterface } from '@standardnotes/domain-core'
import { MapperInterface, SharedVaultUser } from '@standardnotes/domain-core'
import { Request, Response } from 'express'
import { BaseSharedVaultUsersController } from './Base/BaseSharedVaultUsersController'
import TYPES from '../../Bootstrap/Types'
import { SharedVaultUser } from '../../Domain/SharedVault/User/SharedVaultUser'
import { SharedVaultUserHttpRepresentation } from '../../Mapping/Http/SharedVaultUserHttpRepresentation'
import { GetSharedVaultUsers } from '../../Domain/UseCase/SharedVaults/GetSharedVaultUsers/GetSharedVaultUsers'
import { RemoveUserFromSharedVault } from '../../Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault'
@@ -1,12 +1,11 @@
import { controller, httpDelete, httpGet, httpPost, results } from 'inversify-express-utils'
import { inject } from 'inversify'
import { MapperInterface } from '@standardnotes/domain-core'
import { MapperInterface, SharedVaultUser } from '@standardnotes/domain-core'
import { Request, Response } from 'express'
import { BaseSharedVaultsController } from './Base/BaseSharedVaultsController'
import TYPES from '../../Bootstrap/Types'
import { SharedVault } from '../../Domain/SharedVault/SharedVault'
import { SharedVaultUser } from '../../Domain/SharedVault/User/SharedVaultUser'
import { CreateSharedVault } from '../../Domain/UseCase/SharedVaults/CreateSharedVault/CreateSharedVault'
import { CreateSharedVaultFileValetToken } from '../../Domain/UseCase/SharedVaults/CreateSharedVaultFileValetToken/CreateSharedVaultFileValetToken'
import { DeleteSharedVault } from '../../Domain/UseCase/SharedVaults/DeleteSharedVault/DeleteSharedVault'
@@ -128,6 +128,8 @@ export class BaseSharedVaultInvitesController extends BaseHttpController {
)
}
response.setHeader('x-invalidate-cache', response.locals.user.uuid)
return this.json({
success: true,
})
@@ -1,9 +1,8 @@
import { Request, Response } from 'express'
import { BaseHttpController, results } from 'inversify-express-utils'
import { HttpStatusCode } from '@standardnotes/responses'
import { ControllerContainerInterface, MapperInterface } from '@standardnotes/domain-core'
import { ControllerContainerInterface, MapperInterface, SharedVaultUser } from '@standardnotes/domain-core'
import { SharedVaultUser } from '../../../Domain/SharedVault/User/SharedVaultUser'
import { SharedVaultUserHttpRepresentation } from '../../../Mapping/Http/SharedVaultUserHttpRepresentation'
import { GetSharedVaultUsers } from '../../../Domain/UseCase/SharedVaults/GetSharedVaultUsers/GetSharedVaultUsers'
import { RemoveUserFromSharedVault } from '../../../Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault'
@@ -66,6 +65,8 @@ export class BaseSharedVaultUsersController extends BaseHttpController {
)
}
response.setHeader('x-invalidate-cache', response.locals.user.uuid)
return this.json({
success: true,
})
@@ -1,14 +1,13 @@
import { Request, Response } from 'express'
import { BaseHttpController, results } from 'inversify-express-utils'
import { HttpStatusCode } from '@standardnotes/responses'
import { ControllerContainerInterface, MapperInterface } from '@standardnotes/domain-core'
import { ControllerContainerInterface, MapperInterface, SharedVaultUser } from '@standardnotes/domain-core'
import { Role } from '@standardnotes/security'
import { GetSharedVaults } from '../../../Domain/UseCase/SharedVaults/GetSharedVaults/GetSharedVaults'
import { SharedVault } from '../../../Domain/SharedVault/SharedVault'
import { SharedVaultHttpRepresentation } from '../../../Mapping/Http/SharedVaultHttpRepresentation'
import { CreateSharedVault } from '../../../Domain/UseCase/SharedVaults/CreateSharedVault/CreateSharedVault'
import { SharedVaultUser } from '../../../Domain/SharedVault/User/SharedVaultUser'
import { SharedVaultUserHttpRepresentation } from '../../../Mapping/Http/SharedVaultUserHttpRepresentation'
import { DeleteSharedVault } from '../../../Domain/UseCase/SharedVaults/DeleteSharedVault/DeleteSharedVault'
import { CreateSharedVaultFileValetToken } from '../../../Domain/UseCase/SharedVaults/CreateSharedVaultFileValetToken/CreateSharedVaultFileValetToken'
@@ -74,6 +73,8 @@ export class BaseSharedVaultsController extends BaseHttpController {
)
}
response.setHeader('x-invalidate-cache', response.locals.user.uuid)
return this.json({
sharedVault: this.sharedVaultHttpMapper.toProjection(result.getValue().sharedVault),
sharedVaultUser: this.sharedVaultUserHttpMapper.toProjection(result.getValue().sharedVaultUser),
@@ -97,6 +98,8 @@ export class BaseSharedVaultsController extends BaseHttpController {
)
}
response.setHeader('x-invalidate-cache', response.locals.user.uuid)
return this.json({ success: true })
}