|
|
@@ -84,6 +84,20 @@ export function estruturarMensagem(m) {
|
|
|
return { papel, autor, texto };
|
|
|
}
|
|
|
|
|
|
+// URL pública do arquivo de mídia da mensagem. O caminho normalmente vem em Midia
|
|
|
+// (ex.: /data/img/xxx.jpg); em áudios antigos o Body é o próprio path e Midia é null.
|
|
|
+export function montarUrlMidia(m, baseUrl) {
|
|
|
+ let caminho = typeof m.Midia === "string" && m.Midia.trim() ? m.Midia.trim() : null;
|
|
|
+ if (!caminho) {
|
|
|
+ const body = typeof m.Body === "string" ? m.Body.trim() : "";
|
|
|
+ if (/^\/[\w./-]+$/.test(body)) caminho = body;
|
|
|
+ }
|
|
|
+ if (!caminho) return null;
|
|
|
+ if (/^https?:\/\//i.test(caminho)) return caminho;
|
|
|
+ if (!baseUrl) return null;
|
|
|
+ return `${baseUrl}${caminho.startsWith("/") ? "" : "/"}${caminho}`;
|
|
|
+}
|
|
|
+
|
|
|
export function formatMensagem(m, clienteNome) {
|
|
|
const { papel, autor, texto } = estruturarMensagem(m);
|
|
|
if (!texto) return null;
|