@@ -115,54 +115,32 @@ export async function action({ request }: ActionFunctionArgs) {
115115
116116 const { customer, cardKeys } = parsed . data ;
117117
118- // Look up the user by externalId (which is User.id)
119- let user = null ;
120- if ( customer . externalId ) {
121- user = await prisma . user . findUnique ( {
122- where : { id : customer . externalId } ,
123- include : {
124- orgMemberships : {
125- where : {
126- organization : { deletedAt : null } ,
127- } ,
128- include : {
129- organization : {
130- include : {
131- projects : {
132- where : { deletedAt : null } ,
133- take : 10 , // Limit to recent projects
134- orderBy : { createdAt : "desc" } ,
135- } ,
136- } ,
137- } ,
138- } ,
139- } ,
118+ const userInclude = {
119+ orgMemberships : {
120+ where : {
121+ organization : { deletedAt : null } ,
140122 } ,
141- } ) ;
142- } else if ( customer . email ) {
143- // Fallback to email lookup if externalId is not provided
144- user = await prisma . user . findUnique ( {
145- where : { email : customer . email } ,
146123 include : {
147- orgMemberships : {
148- where : {
149- organization : { deletedAt : null } ,
150- } ,
124+ organization : {
151125 include : {
152- organization : {
153- include : {
154- projects : {
155- where : { deletedAt : null } ,
156- take : 10 ,
157- orderBy : { createdAt : "desc" } ,
158- } ,
159- } ,
126+ projects : {
127+ where : { deletedAt : null } ,
128+ take : 10 ,
129+ orderBy : { createdAt : "desc" as const } ,
160130 } ,
161131 } ,
162132 } ,
163133 } ,
164- } ) ;
165- }
134+ } ,
135+ } ;
136+
137+ const where = customer . externalId
138+ ? { id : customer . externalId }
139+ : customer . email
140+ ? { email : customer . email }
141+ : null ;
142+
143+ const user = where ? await prisma . user . findUnique ( { where, include : userInclude } ) : null ;
166144
167145 // If user not found, return empty cards
168146 if ( ! user ) {
0 commit comments