mirror of
https://github.com/standardnotes/server
synced 2026-07-14 09:01:33 -04:00
* feat: get shared vault invites sent by user. Co-authored-by: Mo <[email protected]> * feat: shared vault invites controller. Co-authored-by: Mo <[email protected]> --------- Co-authored-by: Mo <[email protected]>
19 lines
951 B
TypeScript
19 lines
951 B
TypeScript
import { Result, UseCaseInterface, Uuid } from '@standardnotes/domain-core'
|
|
import { SharedVaultInvite } from '../../SharedVault/User/Invite/SharedVaultInvite'
|
|
import { GetSharedVaultInvitesSentToUserDTO } from './GetSharedVaultInvitesSentToUserDTO'
|
|
import { SharedVaultInviteRepositoryInterface } from '../../SharedVault/User/Invite/SharedVaultInviteRepositoryInterface'
|
|
|
|
export class GetSharedVaultInvitesSentToUser implements UseCaseInterface<SharedVaultInvite[]> {
|
|
constructor(private sharedVaultInviteRepository: SharedVaultInviteRepositoryInterface) {}
|
|
|
|
async execute(dto: GetSharedVaultInvitesSentToUserDTO): Promise<Result<SharedVaultInvite[]>> {
|
|
const userUuidOrError = Uuid.create(dto.userUuid)
|
|
if (userUuidOrError.isFailed()) {
|
|
return Result.fail(userUuidOrError.getError())
|
|
}
|
|
const userUuid = userUuidOrError.getValue()
|
|
|
|
return Result.ok(await this.sharedVaultInviteRepository.findByUserUuid(userUuid))
|
|
}
|
|
}
|