mirror of
https://github.com/standardnotes/server
synced 2026-07-14 00:01:54 -04:00
* chore: upgrade semver * chore: upgrade configure-aws-credentials@v2 * chore: upgrade prettier deps * fix: linter issues
23 lines
859 B
TypeScript
23 lines
859 B
TypeScript
import { DomainEventHandlerInterface, SharedVaultFileRemovedEvent } from '@standardnotes/domain-events'
|
|
import { Logger } from 'winston'
|
|
|
|
import { UpdateStorageQuotaUsedForUser } from '../UseCase/UpdateStorageQuotaUsedForUser/UpdateStorageQuotaUsedForUser'
|
|
|
|
export class SharedVaultFileRemovedEventHandler implements DomainEventHandlerInterface {
|
|
constructor(
|
|
private updateStorageQuotaUsedForUserUseCase: UpdateStorageQuotaUsedForUser,
|
|
private logger: Logger,
|
|
) {}
|
|
|
|
async handle(event: SharedVaultFileRemovedEvent): Promise<void> {
|
|
const result = await this.updateStorageQuotaUsedForUserUseCase.execute({
|
|
userUuid: event.payload.vaultOwnerUuid,
|
|
bytesUsed: -event.payload.fileByteSize,
|
|
})
|
|
|
|
if (result.isFailed()) {
|
|
this.logger.error(`Failed to update storage quota used for user: ${result.getError()}`)
|
|
}
|
|
}
|
|
}
|