ea8e33c891
- FAB flutuante para gravar observação - Modal com timer + waveform animado - Botão sair para desistir - MediaRecorder API (webm/opus) - Transcrição via OpenAI Whisper - Relatório estruturado via GPT - Salva em .md com frontmatter (data/hora/timestamp) - Índice JSON para consulta posterior - Rotas: transcrever, salvar, listar observações - multer para upload de áudio
29 lines
572 B
JavaScript
29 lines
572 B
JavaScript
function removeUploadedFiles (uploadedFiles, remove, cb) {
|
|
var length = uploadedFiles.length
|
|
var errors = []
|
|
|
|
if (length === 0) return cb(null, errors)
|
|
|
|
function handleFile (idx) {
|
|
var file = uploadedFiles[idx]
|
|
|
|
remove(file, function (err) {
|
|
if (err) {
|
|
err.file = file
|
|
err.field = file.fieldname
|
|
errors.push(err)
|
|
}
|
|
|
|
if (idx < length - 1) {
|
|
setImmediate(function () { handleFile(idx + 1) })
|
|
} else {
|
|
cb(null, errors)
|
|
}
|
|
})
|
|
}
|
|
|
|
handleFile(0)
|
|
}
|
|
|
|
module.exports = removeUploadedFiles
|