Fixed TS Errors
This commit is contained in:
@@ -12,7 +12,7 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
const tenant_id = req.user?.tenant_id
|
||||
if (!tenant_id) return res.status(401).send({ error: 'Unauthorized' })
|
||||
|
||||
const { status } = req.query
|
||||
const { status } = req.query as {status: string}
|
||||
const conversations = await getConversations(server, tenant_id, { status })
|
||||
return res.send(conversations)
|
||||
})
|
||||
@@ -22,7 +22,12 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
const tenant_id = req.user?.tenant_id
|
||||
if (!tenant_id) return res.status(401).send({ error: 'Unauthorized' })
|
||||
|
||||
const { contact, channel_instance_id, subject, message } = req.body
|
||||
const { contact, channel_instance_id, subject, message } = req.body as {
|
||||
contact: object
|
||||
channel_instance_id: string
|
||||
subject: string
|
||||
message: string
|
||||
}
|
||||
if (!contact || !channel_instance_id) {
|
||||
return res.status(400).send({ error: 'Missing contact or channel_instance_id' })
|
||||
}
|
||||
@@ -51,7 +56,7 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
// 🧭 3. Einzelne Konversation abrufen
|
||||
server.get('/helpdesk/conversations/:id', async (req, res) => {
|
||||
const tenant_id = req.user?.tenant_id
|
||||
const conversation_id = req.params.id
|
||||
const {id: conversation_id} = req.params as {id: string}
|
||||
|
||||
const { data, error } = await server.supabase
|
||||
.from('helpdesk_conversations')
|
||||
@@ -66,8 +71,8 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
|
||||
// 🔄 4. Konversation Status ändern
|
||||
server.patch('/helpdesk/conversations/:id/status', async (req, res) => {
|
||||
const conversation_id = req.params.id
|
||||
const { status } = req.body
|
||||
const {id: conversation_id} = req.params as { id: string }
|
||||
const { status } = req.body as { status: string }
|
||||
|
||||
const updated = await updateConversationStatus(server, conversation_id, status)
|
||||
return res.send(updated)
|
||||
@@ -75,7 +80,7 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
|
||||
// 💬 5. Nachrichten abrufen
|
||||
server.get('/helpdesk/conversations/:id/messages', async (req, res) => {
|
||||
const conversation_id = req.params.id
|
||||
const {id:conversation_id} = req.params as { id: string }
|
||||
const messages = await getMessages(server, conversation_id)
|
||||
return res.send(messages)
|
||||
})
|
||||
@@ -85,8 +90,8 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
console.log(req.user)
|
||||
const tenant_id = req.user?.tenant_id
|
||||
const author_user_id = req.user?.user_id
|
||||
const conversation_id = req.params.id
|
||||
const { text } = req.body
|
||||
const {id: conversation_id} = req.params as { id: string }
|
||||
const { text } = req.body as { text: string }
|
||||
|
||||
if (!text) return res.status(400).send({ error: 'Missing message text' })
|
||||
|
||||
@@ -104,7 +109,7 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
// 👤 7. Kontakt suchen oder anlegen
|
||||
server.post('/helpdesk/contacts', async (req, res) => {
|
||||
const tenant_id = req.user?.tenant_id
|
||||
const { email, phone, display_name } = req.body
|
||||
const { email, phone, display_name } = req.body as { email: string; phone: string, display_name: string }
|
||||
|
||||
const contact = await getOrCreateContact(server, tenant_id, { email, phone, display_name })
|
||||
return res.status(201).send(contact)
|
||||
@@ -124,7 +129,24 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
},
|
||||
},
|
||||
handler: async (req, reply) => {
|
||||
const { type_id, name, config, is_active = true } = req.body
|
||||
const { type_id, name, config, is_active = true } = req.body as
|
||||
{
|
||||
type_id: string,
|
||||
name: string,
|
||||
config: {
|
||||
imap:{
|
||||
host: string | object,
|
||||
user: string | object,
|
||||
pass: string | object,
|
||||
},
|
||||
smtp:{
|
||||
host: string | object,
|
||||
user: string | object,
|
||||
pass: string | object,
|
||||
}
|
||||
},
|
||||
is_active: boolean
|
||||
}
|
||||
|
||||
// 🔒 Tenant aus Auth-Context
|
||||
const tenant_id = req.user?.tenant_id
|
||||
@@ -233,8 +255,8 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
return
|
||||
}
|
||||
|
||||
const contact = conv.helpdesk_contacts
|
||||
const channel = conv.helpdesk_channel_instances
|
||||
const contact = conv.helpdesk_contacts as unknown as {email: string}
|
||||
const channel = conv.helpdesk_channel_instances as unknown as {name: string}
|
||||
|
||||
console.log(contact)
|
||||
if (!contact?.email) {
|
||||
@@ -244,6 +266,7 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
|
||||
// 🔐 SMTP-Daten entschlüsseln
|
||||
try {
|
||||
// @ts-ignore
|
||||
const smtp = channel?.config?.smtp
|
||||
const host =
|
||||
typeof smtp.host === "object" ? decrypt(smtp.host) : smtp.host
|
||||
@@ -261,6 +284,7 @@ const helpdeskRoutes: FastifyPluginAsync = async (server) => {
|
||||
})
|
||||
|
||||
// 📩 Mail senden
|
||||
|
||||
const mailOptions = {
|
||||
from: `"${channel?.name}" <${user}>`,
|
||||
to: contact.email,
|
||||
|
||||
@@ -537,10 +537,12 @@ export default async function resourceRoutes(server: FastifyInstance) {
|
||||
for (const [key, val] of Object.entries(filters || {})) {
|
||||
if (Array.isArray(val)) {
|
||||
searchQuery = searchQuery.in(key, val);
|
||||
} else if (val === true || val === false || val === null) {
|
||||
searchQuery = searchQuery.is(key, val);
|
||||
} else {
|
||||
searchQuery = searchQuery.eq(key, val);
|
||||
} else { // @ts-ignore
|
||||
if (val === true || val === false || val === null) {
|
||||
searchQuery = searchQuery.is(key, val);
|
||||
} else {
|
||||
searchQuery = searchQuery.eq(key, val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -632,10 +634,12 @@ export default async function resourceRoutes(server: FastifyInstance) {
|
||||
for (const [key, val] of Object.entries(filters || {})) {
|
||||
if (Array.isArray(val)) {
|
||||
baseQuery = baseQuery.in(key, val);
|
||||
} else if (val === true || val === false || val === null) {
|
||||
baseQuery = baseQuery.is(key, val);
|
||||
} else {
|
||||
baseQuery = baseQuery.eq(key, val);
|
||||
} else { // @ts-ignore
|
||||
if (val == true || val == false || val === null) {
|
||||
baseQuery = baseQuery.is(key, val);
|
||||
} else {
|
||||
baseQuery = baseQuery.eq(key, val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user