fix
This commit is contained in:
@ -25,7 +25,7 @@ const nextConfig = {
|
||||
domains: ['localhost'],
|
||||
},
|
||||
|
||||
// Настройки webpack для CSS
|
||||
// Настройки webpack для CSS и server-only packages
|
||||
webpack: (config, { buildId, dev, isServer, defaultLoaders, webpack }) => {
|
||||
// Убеждаемся, что CSS правильно обрабатывается
|
||||
if (!dev && !isServer) {
|
||||
@ -37,6 +37,27 @@ const nextConfig = {
|
||||
};
|
||||
}
|
||||
|
||||
// Исключаем server-only пакеты из client bundle
|
||||
if (!isServer) {
|
||||
config.resolve.fallback = {
|
||||
...config.resolve.fallback,
|
||||
pg: false,
|
||||
'pg-native': false,
|
||||
fs: false,
|
||||
path: false,
|
||||
crypto: false,
|
||||
};
|
||||
}
|
||||
|
||||
// Make pg external for all environments
|
||||
config.externals = config.externals || [];
|
||||
if (isServer) {
|
||||
config.externals.push({
|
||||
pg: 'commonjs pg',
|
||||
'pg-native': 'commonjs pg-native'
|
||||
});
|
||||
}
|
||||
|
||||
return config;
|
||||
},
|
||||
};
|
||||
|
@ -114,7 +114,7 @@ export const KrajaSavedTables = ({ onViewTable }: KrajaSavedTablesProps) => {
|
||||
<div className="text-center py-8 text-gray-500">
|
||||
<Database className="h-12 w-12 mx-auto mb-4 text-gray-300" />
|
||||
<p className="text-lg mb-2">Нет сохраненных таблиц</p>
|
||||
<p className="text-sm">Используйте кнопки "Сохранить" в категориях для создания таблиц</p>
|
||||
<p className="text-sm">Используйте кнопки "Сохранить" в категориях для создания таблиц</p>
|
||||
</div>
|
||||
) : (
|
||||
<div className="space-y-3">
|
||||
|
@ -10,7 +10,7 @@ import { autoEuroService } from '../autoeuro-service'
|
||||
import { yooKassaService } from '../yookassa-service'
|
||||
import { partsAPIService } from '../partsapi-service'
|
||||
import { partsIndexService } from '../partsindex-service'
|
||||
import { partsDb } from '../parts-db'
|
||||
// Removed static import - will use dynamic import for server-only package
|
||||
import { yandexDeliveryService, YandexPickupPoint, getAddressSuggestions } from '../yandex-delivery-service'
|
||||
import { InvoiceService } from '../invoice-service'
|
||||
import * as csvWriter from 'csv-writer'
|
||||
@ -9881,6 +9881,8 @@ export const resolvers = {
|
||||
console.log(`📋 Sample product data:`, products.slice(0, 3))
|
||||
|
||||
// Insert products into parts database
|
||||
const { getPartsDb } = await import('../parts-db-wrapper')
|
||||
const partsDb = await getPartsDb()
|
||||
const insertedCount = await partsDb.insertProducts(
|
||||
categoryId,
|
||||
categoryName,
|
||||
@ -9918,6 +9920,8 @@ export const resolvers = {
|
||||
throw new Error('Недостаточно прав для выполнения операции')
|
||||
}
|
||||
|
||||
const { getPartsDb } = await import('../parts-db-wrapper')
|
||||
const partsDb = await getPartsDb()
|
||||
const tables = await partsDb.getCategoryTables()
|
||||
return tables
|
||||
|
||||
@ -9933,6 +9937,8 @@ export const resolvers = {
|
||||
throw new Error('Недостаточно прав для выполнения операции')
|
||||
}
|
||||
|
||||
const { getPartsDb } = await import('../parts-db-wrapper')
|
||||
const partsDb = await getPartsDb()
|
||||
await partsDb.deleteCategoryTable(categoryId, categoryType.toLowerCase() as 'partsindex' | 'partsapi')
|
||||
return true
|
||||
|
||||
@ -9960,6 +9966,8 @@ export const resolvers = {
|
||||
throw new Error('Недостаточно прав для выполнения операции')
|
||||
}
|
||||
|
||||
const { getPartsDb } = await import('../parts-db-wrapper')
|
||||
const partsDb = await getPartsDb()
|
||||
const result = await partsDb.getProducts(categoryId, categoryType.toLowerCase() as 'partsindex' | 'partsapi', {
|
||||
search,
|
||||
limit,
|
||||
|
5
src/lib/parts-db-wrapper.ts
Normal file
5
src/lib/parts-db-wrapper.ts
Normal file
@ -0,0 +1,5 @@
|
||||
// Wrapper to dynamically load parts-db only on server side
|
||||
export async function getPartsDb() {
|
||||
const { partsDb } = await import('./parts-db')
|
||||
return partsDb
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-nocheck
|
||||
import { Pool } from 'pg'
|
||||
|
||||
class PartsDatabase {
|
||||
|
Reference in New Issue
Block a user