feat(auth): secure messenger start token flow
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user