fix: comprehensive boolean compatibility for PostgreSQL and SQLite
- Add formatBoolean() usage to all boolean database queries - Fix 36 boolean comparisons across 18 backend files - Ensure compatibility between SQLite (0/1) and PostgreSQL (true/false) - Update all WHERE clauses and UPDATE operations with boolean values This completes the database compatibility fixes for production deployment. All boolean operations now work correctly with both database systems. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,7 @@ const express = require('express');
|
||||
const path = require('path');
|
||||
const fs = require('fs').promises;
|
||||
const { db } = require('../database/db');
|
||||
const { formatBoolean } = require('../utils/dbCompat');
|
||||
const { adminAuth } = require('../middleware/auth-enhanced-v2');
|
||||
const archiver = require('archiver');
|
||||
const AdmZip = require('adm-zip');
|
||||
@@ -16,7 +17,7 @@ router.get('/', adminAuth, async (req, res) => {
|
||||
|
||||
// Get total count
|
||||
const totalCount = await db('events')
|
||||
.where('is_archived', true)
|
||||
.where('is_archived', formatBoolean(true))
|
||||
.count('id as count')
|
||||
.first();
|
||||
|
||||
@@ -28,7 +29,7 @@ router.get('/', adminAuth, async (req, res) => {
|
||||
db.raw('SUM(photos.size_bytes) as total_size')
|
||||
)
|
||||
.leftJoin('photos', 'events.id', 'photos.event_id')
|
||||
.where('events.is_archived', true)
|
||||
.where('events.is_archived', formatBoolean(true))
|
||||
.groupBy('events.id')
|
||||
.orderBy('events.archived_at', 'desc')
|
||||
.limit(limit)
|
||||
@@ -84,7 +85,7 @@ router.get('/:id', adminAuth, async (req, res) => {
|
||||
try {
|
||||
const archive = await db('events')
|
||||
.where('id', req.params.id)
|
||||
.where('is_archived', true)
|
||||
.where('is_archived', formatBoolean(true))
|
||||
.first();
|
||||
|
||||
if (!archive) {
|
||||
@@ -140,7 +141,7 @@ router.post('/:id/restore', adminAuth, async (req, res) => {
|
||||
try {
|
||||
const archive = await db('events')
|
||||
.where('id', req.params.id)
|
||||
.where('is_archived', true)
|
||||
.where('is_archived', formatBoolean(true))
|
||||
.first();
|
||||
|
||||
if (!archive) {
|
||||
@@ -303,7 +304,7 @@ router.get('/:id/download', adminAuth, async (req, res) => {
|
||||
try {
|
||||
const archive = await db('events')
|
||||
.where('id', req.params.id)
|
||||
.where('is_archived', true)
|
||||
.where('is_archived', formatBoolean(true))
|
||||
.first();
|
||||
|
||||
if (!archive) {
|
||||
@@ -352,7 +353,7 @@ router.delete('/:id', adminAuth, async (req, res) => {
|
||||
try {
|
||||
const archive = await db('events')
|
||||
.where('id', req.params.id)
|
||||
.where('is_archived', true)
|
||||
.where('is_archived', formatBoolean(true))
|
||||
.first();
|
||||
|
||||
if (!archive) {
|
||||
|
||||
Reference in New Issue
Block a user