Fixed TS Errors

This commit is contained in:
2025-10-31 16:39:49 +01:00
parent c439eec66c
commit 55c101df12
2 changed files with 48 additions and 20 deletions

View File

@@ -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,

View File

@@ -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);
}
}
}