51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
import sql from "mssql";
|
|
|
|
// --- SQL-Server-Anbindung (WAWIS), siehe .env.example ---
|
|
const sqlConfig = {
|
|
server: process.env.DB_SERVER || "192.168.1.16",
|
|
port: Number(process.env.DB_PORT) || 1433,
|
|
database: process.env.DB_DATABASE || "wawis",
|
|
user: process.env.DB_USER || "report",
|
|
password: process.env.DB_PASSWORD || "",
|
|
options: {
|
|
encrypt: false,
|
|
trustServerCertificate: true,
|
|
},
|
|
};
|
|
|
|
let poolPromise;
|
|
|
|
function getPool() {
|
|
if (!poolPromise) {
|
|
poolPromise = new sql.ConnectionPool(sqlConfig).connect().catch((error) => {
|
|
poolPromise = undefined;
|
|
throw error;
|
|
});
|
|
}
|
|
return poolPromise;
|
|
}
|
|
|
|
// Nur lesender Zugriff (SELECT) - der SQL-Server wird von diesem Portal nie beschrieben.
|
|
// gesperrt/inaktiv kommt aus T kunzu als Text ('ja'/'nein')
|
|
const CUSTOMERS_QUERY = `
|
|
SELECT
|
|
kunde.debez
|
|
, kunde.debnr
|
|
, kunde.kg_id as kg_id
|
|
, kunde.kugru as kugru
|
|
, sydat as sydat
|
|
, datlv as datlv
|
|
, fibuk as fibuk
|
|
, kunde.ku_id as ku_id
|
|
, RTRIM(bsper) as bsper
|
|
, RTRIM(baktiv) as baktiv
|
|
FROM kunde
|
|
INNER JOIN kunzu ON kunzu.ku_id = kunde.ku_id
|
|
`;
|
|
|
|
export async function fetchCustomersFromSql() {
|
|
const pool = await getPool();
|
|
const result = await pool.request().query(CUSTOMERS_QUERY);
|
|
return result.recordset;
|
|
}
|