feat: add unique license number check for devices
This commit is contained in:
@@ -260,4 +260,29 @@ export async function getCustomersForWizard(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a license number is already taken by any active order.
|
||||
*/
|
||||
export async function isLicenseNumberTaken(licenseNumber: string, excludeOrderId?: string): Promise<boolean> {
|
||||
const normalized = licenseNumber?.trim().toUpperCase()
|
||||
if (!normalized) return false
|
||||
|
||||
const supabase = await createClient()
|
||||
let query = supabase
|
||||
.from('orders')
|
||||
.select('id')
|
||||
.contains('order_snapshot', { items: [{ license_number: normalized }] })
|
||||
|
||||
if (excludeOrderId) {
|
||||
query = query.neq('id', excludeOrderId)
|
||||
}
|
||||
|
||||
const { data, error } = await query
|
||||
if (error) {
|
||||
console.error('Error checking license number:', error)
|
||||
return false
|
||||
}
|
||||
return !!(data && data.length > 0)
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user