Skip to content

Commit

Permalink
using admin credentials instead of sender credentials (#353)
Browse files Browse the repository at this point in the history
  • Loading branch information
amiparadis250 authored Oct 18, 2024
1 parent 9ed6608 commit 857a9e6
Showing 1 changed file with 62 additions and 14 deletions.
76 changes: 62 additions & 14 deletions src/resolvers/ticket.resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -289,8 +289,8 @@ const resolvers = {
'New Ticket Assigned',
`A new ticket with ID: ${ticket._id} and subject: ${ticket.subject} has been assigned to you`,
`${process.env.FRONTEND_LINK}/tickets/${ticket._id}`,
process.env.SENDER_EMAIL,
process.env.SENDER_PASSWORD
process.env.ADMIN_EMAIL,
process.env.ADMIN_PASS
)
}
return {
Expand Down Expand Up @@ -502,30 +502,42 @@ const resolvers = {

await ticket.save()

// Handle status change notification
const senderId: any = context.userId

if (input.status && input.status !== oldStatus) {
const ticketOwner = await User.findById(ticket.user)

if (ticketOwner) {
await pushNotification(
ticketOwner._id,
`Your ticket (ID: ${updateTicketId}) status has been updated to: ${input.status}`,
senderId
)
await sendEmail(
ticketOwner.email,
'Ticket Status Updated',
`Your ticket (ID: ${updateTicketId}) status has been updated to: ${input.status}`,
`${process.env.FRONTEND_LINK}/tickets/${updateTicketId}`,
process.env.SENDER_EMAIL,
process.env.SENDER_PASSWORD
process.env.ADMIN_EMAIL,
process.env.ADMIN_PASS
)
}

if (input.status === 'closed') {
const assignee = await User.findById(ticket.assignee)
if (assignee) {
await pushNotification(
assignee._id,
`The ticket (ID: ${updateTicketId}) assigned to you has been closed.`,
senderId
)
await sendEmail(
assignee.email,
'Ticket Closed',
`The ticket (ID: ${updateTicketId}) assigned to you has been closed.`,
`${process.env.FRONTEND_LINK}/tickets/${updateTicketId}`,
process.env.SENDER_EMAIL,
process.env.SENDER_PASSWORD
process.env.ADMIN_EMAIL,
process.env.ADMIN_PASS
)
}
}
Expand All @@ -534,26 +546,36 @@ const resolvers = {
if (input.assignee && input.assignee !== oldAssignee) {
const newAssignee = await User.findById(input.assignee)
if (newAssignee) {
await pushNotification(
newAssignee._id,
`A ticket with ID: ${updateTicketId} and subject: ${ticket.subject} has been assigned to you.`,
senderId
)
await sendEmail(
newAssignee.email,
'Ticket Assigned',
`A ticket with ID: ${updateTicketId} and subject: ${ticket.subject} has been assigned to you.`,
`${process.env.FRONTEND_LINK}/tickets/${updateTicketId}`,
process.env.SENDER_EMAIL,
process.env.SENDER_PASSWORD
process.env.ADMIN_EMAIL,
process.env.ADMIN_PASS
)
}

if (oldAssignee) {
const previousAssignee = await User.findById(oldAssignee)
if (previousAssignee) {
await pushNotification(
previousAssignee._id,
`The ticket with ID: ${updateTicketId} and subject: ${ticket.subject} previously assigned to you has been reassigned.`,
senderId
)
await sendEmail(
previousAssignee.email,
'Ticket Reassigned',
`The ticket with ID: ${updateTicketId} and subject: ${ticket.subject} previously assigned to you has been reassigned.`,
`${process.env.FRONTEND_LINK}/tickets`,
process.env.SENDER_EMAIL,
process.env.SENDER_PASSWORD
process.env.ADMIN_EMAIL,
process.env.ADMIN_PASS
)
}
}
Expand All @@ -566,6 +588,7 @@ const resolvers = {
})
}
},

deleteTicket: async (_: any, { id }: { id: string }, context: Context) => {
try {
await (
Expand All @@ -588,16 +611,41 @@ const resolvers = {
})
}

const senderId: any = context.userId

// Notify ticket owner
const ticketOwner = await User.findById(ticket.user)
if (ticketOwner) {
await pushNotification(
ticketOwner._id,
`Your ticket (ID: ${id}) has been deleted.`,
senderId
)
await sendEmail(
ticketOwner.email,
'Ticket Deleted',
`Your ticket with ID: ${id} and subject: ${ticket.subject} has been deleted.`,
`${process.env.FRONTEND_LINK}/tickets`,
process.env.ADMIN_EMAIL,
process.env.ADMIN_PASS
)
}

if (ticket.assignee) {
const assignee = await User.findById(ticket.assignee)
if (assignee) {
await pushNotification(
assignee._id,
`The ticket (ID: ${id}) previously assigned to you has been deleted.`,
senderId
)
await sendEmail(
assignee.email,
'Ticket Deleted',
`The ticket with ID: ${id} and subject: ${ticket.subject} previously assigned to you has been deleted.`,
`The ticket with ID: ${id} and subject: ${ticket.subject} previously assigned to you has been deleted.`,
`${process.env.FRONTEND_LINK}/tickets`,
process.env.SENDER_EMAIL,
process.env.SENDER_PASSWORD
process.env.ADMIN_EMAIL,
process.env.ADMIN_PASS
)
}
}
Expand Down

0 comments on commit 857a9e6

Please sign in to comment.