mirror of
https://github.com/standardnotes/server
synced 2026-07-14 00:01:54 -04:00
* feat: add handling file moving and updating storage quota * fix: getting file metada when moving files * fix: missing event handler binding
21 lines
827 B
TypeScript
21 lines
827 B
TypeScript
import { Logger } from 'winston'
|
|
import { FileDownloaderInterface } from '../../Services/FileDownloaderInterface'
|
|
import { GetFileMetadataDTO } from './GetFileMetadataDTO'
|
|
import { Result, UseCaseInterface } from '@standardnotes/domain-core'
|
|
|
|
export class GetFileMetadata implements UseCaseInterface<number> {
|
|
constructor(private fileDownloader: FileDownloaderInterface, private logger: Logger) {}
|
|
|
|
async execute(dto: GetFileMetadataDTO): Promise<Result<number>> {
|
|
try {
|
|
const size = await this.fileDownloader.getFileSize(`${dto.ownerUuid}/${dto.resourceRemoteIdentifier}`)
|
|
|
|
return Result.ok(size)
|
|
} catch (error) {
|
|
this.logger.error(`Could not get file metadata for resource: ${dto.ownerUuid}/${dto.resourceRemoteIdentifier}`)
|
|
|
|
return Result.fail('Could not get file metadata')
|
|
}
|
|
}
|
|
}
|