fix FileService
to compute file hash in create
This commit is contained in:
parent
d6bd2315e8
commit
92f10dd407
@ -15,6 +15,10 @@ export default class CryptoService extends BaseService {
|
||||
return crypto.createHash("sha256").update(String(key)).digest("base64").slice(0, 32);
|
||||
}
|
||||
|
||||
public async getHash(buffer: Buffer): Promise<string> {
|
||||
return crypto.createHash("sha256").update(buffer).digest("hex");
|
||||
}
|
||||
|
||||
/**
|
||||
* @description : encrypt data
|
||||
* @throws {Error} If data cannot be encrypted
|
||||
|
@ -71,12 +71,15 @@ export default class FilesService extends BaseService {
|
||||
public async create(file: File, fileData: Express.Multer.File) {
|
||||
const key = v4();
|
||||
const encryptedFile = await this.cryptoService.encrypt(fileData.buffer, key);
|
||||
const hash = await this.cryptoService.getHash(fileData.buffer);
|
||||
|
||||
const upload = await this.ipfsService.pinFile(Readable.from(encryptedFile), fileData.originalname);
|
||||
let fileToCreate: File = file;
|
||||
fileToCreate.file_name = fileData.originalname;
|
||||
fileToCreate.file_path = this.variables.PINATA_GATEWAY.concat(upload.IpfsHash);
|
||||
fileToCreate.mimetype = fileData.mimetype;
|
||||
fileToCreate.size = fileData.size;
|
||||
fileToCreate.hash = hash;
|
||||
fileToCreate.archived_at = null;
|
||||
|
||||
return this.filesRepository.create(fileToCreate, key);
|
||||
|
Loading…
x
Reference in New Issue
Block a user