docs: registrar fluxo do updater e atualizar chaves

This commit is contained in:
Esdras Renan 2025-10-12 04:06:29 -03:00
parent 206d00700e
commit b5fd920efd
50 changed files with 980 additions and 93 deletions

View file

@ -12,6 +12,7 @@ export const ensureUser = mutation({
avatarUrl: v.optional(v.string()),
role: v.optional(v.string()),
teams: v.optional(v.array(v.string())),
companyId: v.optional(v.id("companies")),
},
handler: async (ctx, args) => {
const existing = await ctx.db
@ -25,7 +26,8 @@ export const ensureUser = mutation({
(args.role && record.role !== args.role) ||
(args.avatarUrl && record.avatarUrl !== args.avatarUrl) ||
record.name !== args.name ||
(args.teams && JSON.stringify(args.teams) !== JSON.stringify(record.teams ?? []));
(args.teams && JSON.stringify(args.teams) !== JSON.stringify(record.teams ?? [])) ||
(args.companyId && record.companyId !== args.companyId);
if (shouldPatch) {
await ctx.db.patch(record._id, {
@ -34,6 +36,7 @@ export const ensureUser = mutation({
avatarUrl: args.avatarUrl ?? record.avatarUrl,
name: args.name,
teams: args.teams ?? record.teams,
companyId: args.companyId ?? record.companyId,
});
const updated = await ctx.db.get(record._id);
if (updated) {
@ -64,6 +67,7 @@ export const ensureUser = mutation({
avatarUrl: args.avatarUrl,
role: args.role ?? "AGENT",
teams: args.teams ?? [],
companyId: args.companyId,
});
return await ctx.db.get(id);
},