fix: resolve TypeScript type errors across codebase

- Add experimentalDecorators support in tsconfig.node.json for TypeORM entities
- Fix mssql module import in order-resolver.ts (static vs dynamic import)
- Extend ISqlType parameter types in sql-server.ts for NVarChar compatibility
- Fix variable naming and type assertions in bip-users-dao.ts
- Add proper type assertions for IPC call results in renderer hooks
  (useAuth, useCleaner, useExtractor, useValidation)
- Add definite assignment assertions in config-manager.ts
This commit is contained in:
Misaka_Company
2026-03-04 14:03:23 +08:00
parent 5497e86b58
commit 88c8c256e2
9 changed files with 118 additions and 61 deletions

View File

@@ -14,18 +14,10 @@
import type { IDatabaseService } from '../database'
import { SqlServerService } from '../database/sql-server'
import { createLogger } from '../logger'
import sql from 'mssql'
const log = createLogger('OrderResolver')
// Dynamically import mssql for SQL Server parameter types
let mssql: typeof import('mssql') | null = null
async function getMssql() {
if (!mssql) {
mssql = await import('mssql')
}
return mssql
}
/**
* Order mapping result
*/
@@ -251,18 +243,26 @@ export class OrderNumberResolver {
const isSqlServer = this.dbService.type === 'sqlserver'
const tableName = this.getTableName(DB_CONFIG.TABLE_NAME)
log.debug('Resolving production IDs', { count: productionIds.length, dbType: this.dbService.type })
log.debug('Resolving production IDs', {
count: productionIds.length,
dbType: this.dbService.type
})
let result
if (isSqlServer) {
// Use queryWithParams for SQL Server with explicit parameter types
const sql = await getMssql()
const placeholders = productionIds.map((_, idx) => `@p${idx}`).join(', ')
const params: Record<string, { value: string; type: sql.ISqlType }> = {}
const params: Record<
string,
{
value: string
type: sql.ISqlType | sql.ISqlTypeFactoryWithLength | sql.ISqlTypeWithLength
}
> = {}
productionIds.forEach((id, idx) => {
params[`p${idx}`] = { value: id, type: sql.NVarChar }
params[`p${idx}`] = { value: id, type: sql.NVarChar(255) }
})
const query = `
@@ -351,12 +351,17 @@ export class OrderNumberResolver {
if (isSqlServer) {
// Use queryWithParams for SQL Server with explicit parameter types
const sql = await getMssql()
const placeholders = orderNumbers.map((_, idx) => `@p${idx}`).join(', ')
const params: Record<string, { value: string; type: sql.ISqlType }> = {}
const params: Record<
string,
{
value: string
type: sql.ISqlType | sql.ISqlTypeFactoryWithLength | sql.ISqlTypeWithLength
}
> = {}
orderNumbers.forEach((id, idx) => {
params[`p${idx}`] = { value: id, type: sql.NVarChar }
params[`p${idx}`] = { value: id, type: sql.NVarChar(255) }
})
const query = `