import { createClient } from "@supabase/supabase-js"
export async function getNewPassportNumber() {
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL
const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY
const adminSupabase = createClient(supabaseUrl, serviceRoleKey, {
auth: {
persistSession: false,
},
})
const { data: existingPassports, error: existingPassportsError } =
await adminSupabase.from("profiles").select("passport")
if (existingPassportsError) {
console.error("Error fetching existing passports:", existingPassportsError)
return undefined
}
if (existingPassports) {
const existingPassportNumbers = new Set(
existingPassports.map((passport) => passport.passport.number)
)
console.log("Existing passport numbers: ", existingPassportNumbers)
let newPassportNumber = null
for (let i = 4000; ; i++) {
const number = i.toString()
if (!existingPassportNumbers.has(number)) {
newPassportNumber = number
break
}
}
console.log("New passport number: ", newPassportNumber)
return newPassportNumber || ""
} else {
console.error("Failed to fetch existing passports.")
}
}
import { createClient } from "@supabase/supabase-js"
export async function getNewPassportNumber() {
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL
const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY
const adminSupabase = createClient(supabaseUrl, serviceRoleKey, {
auth: {
persistSession: false,
},
})
const { data: existingPassports, error: existingPassportsError } =
await adminSupabase.from("profiles").select("passport")
if (existingPassportsError) {
console.error("Error fetching existing passports:", existingPassportsError)
return undefined
}
if (existingPassports) {
const existingPassportNumbers = new Set(
existingPassports.map((passport) => passport.passport.number)
)
console.log("Existing passport numbers: ", existingPassportNumbers)
let newPassportNumber = null
for (let i = 4000; ; i++) {
const number = i.toString()
if (!existingPassportNumbers.has(number)) {
newPassportNumber = number
break
}
}
console.log("New passport number: ", newPassportNumber)
return newPassportNumber || ""
} else {
console.error("Failed to fetch existing passports.")
}
}