This commit is contained in:
2026-04-22 21:55:40 +03:30
parent 1a3a450960
commit f9e1ad69dc
85 changed files with 15644 additions and 4057 deletions
@@ -0,0 +1,35 @@
import { randomBytes } from 'crypto'
export function generateTrackingCode(prefix: string, suffixLength: number) {
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
const bytes = randomBytes(suffixLength)
let suffix = ''
for (let i = 0; i < suffixLength; i++) {
suffix += chars[bytes[i] % chars.length]
}
return `${prefix}-${suffix}`
}
export function isTrackingCodeUniqueViolation(error: unknown) {
const prismaError = error as {
code?: string
meta?: { target?: string[] | string }
}
if (prismaError?.code !== 'P2002') {
return false
}
const target = prismaError.meta?.target
if (Array.isArray(target)) {
return target.includes('tracking_code')
}
if (typeof target === 'string') {
return target.includes('tracking_code')
}
return true
}