1- import type { ActionArgs , LoaderArgs } from "@remix-run/server-runtime" ;
1+ import type { LoaderArgs } from "@remix-run/server-runtime" ;
22import { json } from "@remix-run/server-runtime" ;
3- import { cors } from "remix-utils " ;
3+ import { GetEvent } from "@trigger.dev/core " ;
44import { z } from "zod" ;
55import { prisma } from "~/db.server" ;
66import { authenticateApiRequest } from "~/services/apiAuth.server" ;
@@ -32,9 +32,36 @@ export async function loader({ request, params }: LoaderArgs) {
3232
3333 const { eventId } = parsed . data ;
3434
35- const event = await prisma . eventRecord . findFirst ( {
35+ const event = await findEventRecord ( eventId , authenticatedEnv . id ) ;
36+
37+ if ( ! event ) {
38+ return apiCors ( request , json ( { error : "Event not found" } , { status : 404 } ) ) ;
39+ }
40+
41+ return apiCors ( request , json ( toJSON ( event ) ) ) ;
42+ }
43+
44+ function toJSON ( eventRecord : FoundEventRecord ) : GetEvent {
45+ return {
46+ id : eventRecord . eventId ,
47+ name : eventRecord . name ,
48+ createdAt : eventRecord . createdAt ,
49+ updatedAt : eventRecord . updatedAt ,
50+ runs : eventRecord . runs . map ( ( run ) => ( {
51+ id : run . id ,
52+ status : run . status ,
53+ startedAt : run . startedAt ,
54+ completedAt : run . completedAt ,
55+ } ) ) ,
56+ } ;
57+ }
58+
59+ type FoundEventRecord = NonNullable < Awaited < ReturnType < typeof findEventRecord > > > ;
60+
61+ async function findEventRecord ( eventId : string , environmentId : string ) {
62+ return await prisma . eventRecord . findUnique ( {
3663 select : {
37- id : true ,
64+ eventId : true ,
3865 name : true ,
3966 createdAt : true ,
4067 updatedAt : true ,
@@ -48,14 +75,10 @@ export async function loader({ request, params }: LoaderArgs) {
4875 } ,
4976 } ,
5077 where : {
51- id : eventId ,
52- environmentId : authenticatedEnv . id ,
78+ eventId_environmentId : {
79+ eventId,
80+ environmentId,
81+ } ,
5382 } ,
5483 } ) ;
55-
56- if ( ! event ) {
57- return apiCors ( request , json ( { error : "Event not found" } , { status : 404 } ) ) ;
58- }
59-
60- return apiCors ( request , json ( event ) ) ;
6184}
0 commit comments