From f6bc6e865ee006fca6f7ca9e1853ca3f42889125 Mon Sep 17 00:00:00 2001 From: Pontus Abrahamsson Date: Fri, 17 May 2024 13:54:37 +0200 Subject: [PATCH] Fix inbox --- apps/dashboard/src/actions/search-action.ts | 16 ++++++++++++++-- .../generate-category-embedding/index.ts | 4 ++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/apps/dashboard/src/actions/search-action.ts b/apps/dashboard/src/actions/search-action.ts index 0b0bfb346..c16c3ed43 100644 --- a/apps/dashboard/src/actions/search-action.ts +++ b/apps/dashboard/src/actions/search-action.ts @@ -2,6 +2,7 @@ import { getUser } from "@midday/supabase/cached-queries"; import { createClient } from "@midday/supabase/server"; +import { addDays, isWithinInterval } from "date-fns"; import { action } from "./safe-action"; import { searchSchema } from "./schema"; @@ -17,7 +18,7 @@ export const searchAction = action(searchSchema, async (params) => { const query = supabase .from("inbox") .select( - "id, file_name, amount, currency, file_path, content_type, due_date, display_name" + "id, created_at, file_name, amount, currency, file_path, content_type, due_date, display_name" ) .eq("team_id", teamId) .neq("status", "deleted") @@ -31,7 +32,18 @@ export const searchAction = action(searchSchema, async (params) => { const { data } = await query.range(0, limit); - return data; + return data?.map((item) => { + const pending = isWithinInterval(new Date(), { + start: new Date(item.created_at), + end: addDays(new Date(item.created_at), 45), + }); + + return { + ...item, + pending, + review: !pending && !item.id, + }; + }); } case "categories": { diff --git a/packages/supabase/functions/generate-category-embedding/index.ts b/packages/supabase/functions/generate-category-embedding/index.ts index 803359c24..b670baad9 100644 --- a/packages/supabase/functions/generate-category-embedding/index.ts +++ b/packages/supabase/functions/generate-category-embedding/index.ts @@ -5,7 +5,7 @@ import type { Database, Tables } from "../../src/types"; type TransactionCategoriesRecord = Tables<"transaction_categories">; interface WebhookPayload { - type: "INSERT" | "UPDATE"; + type: "INSERT"; table: string; record: TransactionCategoriesRecord; schema: "public"; @@ -21,7 +21,7 @@ const model = new Supabase.ai.Session("gte-small"); Deno.serve(async (req) => { const payload: WebhookPayload = await req.json(); - const { id, name } = payload.record; + const { id, name, system } = payload.record; if (name === payload?.old_record?.name) { return new Response("No change");