feat(auth): secure messenger start token flow

This commit is contained in:
Ruslan Bakiev
2026-04-03 18:12:05 +07:00
parent 8267a48cb4
commit 6c5839d6ee
3 changed files with 154 additions and 32 deletions

View File

@@ -504,6 +504,35 @@ export const resolvers = {
throw new Error('User for this login token was not found.');
}
if (login.messengerConnection) {
await context.prisma.messengerConnection.updateMany({
where: {
userId: user.id,
type: login.messengerConnection.type,
isActive: true,
NOT: { channelId: login.messengerConnection.channelId },
},
data: { isActive: false },
});
await context.prisma.messengerConnection.upsert({
where: {
userId_type_channelId: {
userId: user.id,
type: login.messengerConnection.type,
channelId: login.messengerConnection.channelId,
},
},
update: { isActive: true },
create: {
userId: user.id,
type: login.messengerConnection.type,
channelId: login.messengerConnection.channelId,
isActive: true,
},
});
}
const session = issueAccessToken(user.id);
return {
accessToken: session.accessToken,