Files
webshop/shop/app/my-orders/page.tsx

36 lines
961 B
TypeScript

import { createClient } from '@/lib/supabase/server'
import { redirect } from 'next/navigation'
import type { Order } from '@/lib/types'
import { MyOrdersClient } from './MyOrdersClient'
export default async function MyOrdersPage() {
const supabase = await createClient()
const { data: { user } } = await supabase.auth.getUser()
if (!user) redirect('/auth/login')
// Get user's company_id and fetch all company orders
const { data: dbUser } = await supabase
.from('users')
.select('company_id')
.eq('id', user.id)
.single()
let query = supabase.from('orders').select('*')
if (dbUser?.company_id) {
query = query.eq('company_id', dbUser.company_id)
} else {
query = query.eq('user_id', user.id)
}
const { data: orders, error } = await query.order('created_at', { ascending: false })
return (
<MyOrdersClient
orders={(orders as Order[]) || []}
error={error ? error.message : null}
/>
)
}