-
Notifications
You must be signed in to change notification settings - Fork 1
/
delete-profile-picture.ts
22 lines (20 loc) · 1.02 KB
/
delete-profile-picture.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { Booster, Command } from '@boostercloud/framework-core'
import { Register } from '@boostercloud/framework-types'
import { FileHandler } from '@boostercloud/rocket-file-uploads-core'
import { CommonValidations } from '../common/common-validations'
import { ConfigConstants } from '../common/config-constants'
import { profilePictureKey } from '../common/profilepicture-constants'
import { getUserId } from '../common/user-utils'
import { UserRole } from '../config/roles'
@Command({
authorize: [UserRole],
before: [CommonValidations.userValidation]
})
export class DeleteProfilePicture {
public constructor() {}
public static async handle(command: DeleteProfilePicture , register: Register): Promise<boolean> {
const boosterConfig = Booster.config
const fileHandler = new FileHandler(boosterConfig, ConfigConstants.rocketFilesConfigurationDefault.storageName)
return await fileHandler.deleteFile(ConfigConstants.rocketFilesConfigurationDefault.directories[0], `${getUserId(register)}/${profilePictureKey}`)
}
}