main
DenisN 2025-08-08 04:16:54 -04:00
parent ae9e5d3caa
commit cd314efc6a
1 changed files with 53 additions and 59 deletions

View File

@ -10,8 +10,6 @@ export class ClickhouseService {
url: process.env.DATABASE_URL, url: process.env.DATABASE_URL,
port: process.env.DATABASE_PORT, port: process.env.DATABASE_PORT,
// port: 8123, // port: 8123,
// url: DATABASE_NAME,
// PORT: DATABASE_PORT,
debug: false, debug: false,
basicAuth: { basicAuth: {
username: process.env.DATABASE_USER, username: process.env.DATABASE_USER,
@ -42,25 +40,7 @@ export class ClickhouseService {
async ClickHouseDBsCreate(): Promise<ClickHouse> { async ClickHouseDBsCreate(): Promise<ClickHouse> {
let connectionData = await this.ClickHouseConnect(); let connectionData = await this.ClickHouseConnect();
try {
// let queries = [
// 'DROP TABLE IF EXISTS session_temp',
// `CREATE TABLE IF NOT EXISTS session_temp (
// id UInt128,
// body TEXT,
// ips Array(UInt32),
// ueries Nested (
// id UInt32,
// act String,
// uptime DateTime64
// ),
// create_date DateTime64,
// update_time DateTime64,
// ) ENGINE = MergeTree()
// PRIMARY KEY (id)`
// ];
let queries = [ let queries = [
`CREATE TABLE IF NOT EXISTS raw_parameters ( `CREATE TABLE IF NOT EXISTS raw_parameters (
EventDataTime DateTime64, EventDataTime DateTime64,
@ -134,53 +114,67 @@ export class ClickhouseService {
} }
// console.log(connectionData); // console.log(connectionData);
return connectionData; return connectionData;}
catch (e) {
return e;
}
} }
async ClickHouseAddRecords(recordFormat: string, parameterBody: any): Promise<any>{ async ClickHouseAddRecords(recordFormat: string, parameterBody: any): Promise<any>{
let connectionData = await this.ClickHouseDBsCreate(); let connectionData = await this.ClickHouseDBsCreate();
switch(recordFormat){ try {
case 'raw': switch(recordFormat){
let insertRawQuery = 'INSERT INTO raw_parameters VALUES(toDateTime(now()), \'{{parameterBody}}\', toDateTime(now()));'; case 'raw':
// console.log(insertQuery); let insertRawQuery = 'INSERT INTO raw_parameters VALUES(toDateTime(now()), \'{{parameterBody}}\', toDateTime(now()));';
insertRawQuery = insertRawQuery.replace('{{parameterBody}}', parameterBody); // console.log(insertQuery);
// console.log(insertRawQuery); insertRawQuery = insertRawQuery.replace('{{parameterBody}}', parameterBody);
// for (let query of insertQuery) { // console.log(insertRawQuery);
try{ // for (let query of insertQuery) {
let retRaw = await connectionData.query(insertRawQuery).toPromise(); try{
} let retRaw = await connectionData.query(insertRawQuery).toPromise();
catch{ }
console.log(insertRawQuery); catch{
} console.log(insertRawQuery);
// console.log(retRaw); }
// } // console.log(retRaw);
break; // }
case 'complex': break;
let insertComplexQuery = 'INSERT INTO complex_parameters VALUES(toDateTime(now()), \'{{parameterBody}}\', toDateTime(now()));'; case 'complex':
// console.log(insertQuery); let insertComplexQuery = 'INSERT INTO complex_parameters VALUES(toDateTime(now()), \'{{parameterBody}}\', toDateTime(now()));';
insertComplexQuery = insertComplexQuery.replace('{{parameterBody}}', parameterBody); // console.log(insertQuery);
// console.log(insertComplexQuery); insertComplexQuery = insertComplexQuery.replace('{{parameterBody}}', parameterBody);
// for (let query of insertQuery) { // console.log(insertComplexQuery);
let retComplex = await connectionData.query(insertComplexQuery).toPromise(); // for (let query of insertQuery) {
// console.log(retComplex); let retComplex = await connectionData.query(insertComplexQuery).toPromise();
// } // console.log(retComplex);
break; // }
break;
}
return 1;
} }
return 1; catch {
return 0;
}
} }
async ClickHouseAddEvents(parameterID: string, parameterName: string, parameterValue: string, parameterBody: string, previousStatus: string, currentStatus: string): Promise<any>{ async ClickHouseAddEvents(parameterID: string, parameterName: string, parameterValue: string, parameterBody: string, previousStatus: string, currentStatus: string): Promise<any>{
let connectionData = await this.ClickHouseDBsCreate(); let connectionData = await this.ClickHouseDBsCreate();
let insertEventQuery = 'INSERT INTO status_events VALUES(toDateTime(now()), {{parameterID}}, \'{{parameterName}}\', {{parameterValue}}, \'{{parameterBody}}\', {{previousStatus}}, {{currentStatus}}, toDateTime(now()));'; try {
insertEventQuery = insertEventQuery.replace('{{parameterID}}', parameterID); let insertEventQuery = 'INSERT INTO status_events VALUES(toDateTime(now()), {{parameterID}}, \'{{parameterName}}\', {{parameterValue}}, \'{{parameterBody}}\', {{previousStatus}}, {{currentStatus}}, toDateTime(now()));';
insertEventQuery = insertEventQuery.replace('{{parameterName}}', parameterName); insertEventQuery = insertEventQuery.replace('{{parameterID}}', parameterID);
insertEventQuery = insertEventQuery.replace('{{parameterValue}}', parameterValue); insertEventQuery = insertEventQuery.replace('{{parameterName}}', parameterName);
insertEventQuery = insertEventQuery.replace('{{parameterBody}}', parameterBody); insertEventQuery = insertEventQuery.replace('{{parameterValue}}', parameterValue);
insertEventQuery = insertEventQuery.replace('{{previousStatus}}', previousStatus); insertEventQuery = insertEventQuery.replace('{{parameterBody}}', parameterBody);
insertEventQuery = insertEventQuery.replace('{{currentStatus}}', currentStatus); insertEventQuery = insertEventQuery.replace('{{previousStatus}}', previousStatus);
let retEvent = await connectionData.query(insertEventQuery).toPromise(); insertEventQuery = insertEventQuery.replace('{{currentStatus}}', currentStatus);
// console.log(retEvent); let retEvent = await connectionData.query(insertEventQuery).toPromise();
return 1; // console.log(retEvent);
return 1;
}
catch {
return 0;
}
} }
} }