UI Enhancements in IT Service Request, Announcements, Workforce and notification fixes

This commit is contained in:
2026-03-22 18:00:10 +08:00
parent 049ab2c794
commit 872c2aab87
15 changed files with 1290 additions and 183 deletions
+8 -2
View File
@@ -38,11 +38,17 @@ Deno.serve(async (req) => {
})
}
// Optional Idempotency (if you pass notification_id inside the data payload)
// Idempotency: if notification_id is provided, use try_mark_notification_pushed
// to ensure at-most-once delivery even under concurrent edge-function invocations.
if (payload.data && payload.data.notification_id) {
const { data: markData, error: markErr } = await supabase
.rpc('try_mark_notification_pushed', { p_notification_id: payload.data.notification_id })
if (markErr) {
console.error('try_mark_notification_pushed RPC error, skipping to be safe:', markErr)
return new Response('Idempotency check failed', { status: 200, headers: corsHeaders })
}
if (markData === false) {
console.log('Notification already pushed, skipping:', payload.data.notification_id)
return new Response('Already pushed', { status: 200, headers: corsHeaders })