diff --git a/apps/web/src/routes/(dashboard)/ti/cibersecurity/+page.svelte b/apps/web/src/routes/(dashboard)/ti/cibersecurity/+page.svelte
index 6541008..4867b19 100644
--- a/apps/web/src/routes/(dashboard)/ti/cibersecurity/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/ti/cibersecurity/+page.svelte
@@ -1,13 +1,10 @@
diff --git a/packages/backend/convex/schema.ts b/packages/backend/convex/schema.ts
index 5110117..fa3e753 100644
--- a/packages/backend/convex/schema.ts
+++ b/packages/backend/convex/schema.ts
@@ -537,6 +537,7 @@ export default defineSchema({
// Campos de Chat e Perfil
fotoPerfil: v.optional(v.id("_storage")),
+ avatar: v.optional(v.string()), // URL do avatar gerado (ex: DiceBear)
setor: v.optional(v.string()),
statusMensagem: v.optional(v.string()), // max 100 chars
statusPresenca: v.optional(
diff --git a/packages/backend/convex/usuarios.ts b/packages/backend/convex/usuarios.ts
index 6816947..3eb6c8d 100644
--- a/packages/backend/convex/usuarios.ts
+++ b/packages/backend/convex/usuarios.ts
@@ -481,6 +481,7 @@ export const alterarRole = mutation({
export const atualizarPerfil = mutation({
args: {
fotoPerfil: v.optional(v.id('_storage')),
+ avatar: v.optional(v.string()), // URL do avatar gerado (ex: DiceBear)
setor: v.optional(v.string()),
statusMensagem: v.optional(v.string()),
statusPresenca: v.optional(
@@ -511,6 +512,7 @@ export const atualizarPerfil = mutation({
};
if (args.fotoPerfil !== undefined) updates.fotoPerfil = args.fotoPerfil;
+ if (args.avatar !== undefined) updates.avatar = args.avatar;
if (args.setor !== undefined) updates.setor = args.setor;
if (args.statusMensagem !== undefined) updates.statusMensagem = args.statusMensagem;
if (args.statusPresenca !== undefined) {
@@ -532,7 +534,7 @@ export const atualizarPerfil = mutation({
*/
export const obterPerfil = query({
args: {},
- returns: v.union(
+ returns: v.union(
v.object({
_id: v.id('usuarios'),
nome: v.string(),
@@ -541,6 +543,7 @@ export const obterPerfil = query({
funcionarioId: v.optional(v.id('funcionarios')),
fotoPerfil: v.optional(v.id('_storage')),
fotoPerfilUrl: v.union(v.string(), v.null()),
+ avatar: v.optional(v.string()), // URL do avatar gerado (ex: DiceBear)
setor: v.optional(v.string()),
statusMensagem: v.optional(v.string()),
statusPresenca: v.optional(
@@ -581,6 +584,7 @@ export const obterPerfil = query({
funcionarioId: usuarioAtual.funcionarioId,
fotoPerfil: usuarioAtual.fotoPerfil,
fotoPerfilUrl,
+ avatar: usuarioAtual.avatar,
setor: usuarioAtual.setor,
statusMensagem: usuarioAtual.statusMensagem,
statusPresenca: usuarioAtual.statusPresenca,
@@ -595,7 +599,7 @@ export const obterPerfil = query({
*/
export const listarParaChat = query({
args: {},
- returns: v.array(
+ returns: v.array(
v.object({
_id: v.id('usuarios'),
nome: v.string(),
@@ -603,6 +607,7 @@ export const listarParaChat = query({
matricula: v.optional(v.string()),
fotoPerfil: v.optional(v.id('_storage')),
fotoPerfilUrl: v.union(v.string(), v.null()),
+ avatar: v.optional(v.string()), // URL do avatar gerado (ex: DiceBear)
statusPresenca: v.optional(
v.union(
v.literal('online'),