mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-04-06 00:32:12 +02:00
Fix code formatting and add missing imports
This commit is contained in:
@@ -8,6 +8,14 @@ import moment from 'moment-timezone';
|
||||
export const Moment: typeof moment = moment;
|
||||
|
||||
export default class OneUptimeDate {
|
||||
public static getCurrentDateAsUnixNano(): number {
|
||||
return this.toUnixNano(this.getCurrentDate());
|
||||
}
|
||||
|
||||
public static toUnixNano(date: Date): number {
|
||||
return date.getTime() * 1000000;
|
||||
}
|
||||
|
||||
public static moveDateToTheDayOfWeek(
|
||||
date: Date,
|
||||
moveToWeek: Date,
|
||||
|
||||
@@ -99,6 +99,7 @@ const setDefaultHeaders: RequestHandler = (
|
||||
if (typeof req.body === Typeof.String) {
|
||||
req.body = JSONFunctions.parse(req.body);
|
||||
}
|
||||
|
||||
res.header('Access-Control-Allow-Credentials', 'true');
|
||||
res.header('Access-Control-Allow-Origin', req.headers['origin']);
|
||||
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
|
||||
headers {"x-oneuptime-service-token":"72f87070-c1c0-11ee-938d-f587493d9c6f"}
|
||||
|
||||
content_type application/json
|
||||
json_array true
|
||||
|
||||
<format>
|
||||
@type json
|
||||
</format>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
import { ProductType } from "Model/Models/UsageBilling";
|
||||
import { ProductType } from 'Model/Models/UsageBilling';
|
||||
import Express, {
|
||||
ExpressRequest,
|
||||
ExpressResponse,
|
||||
ExpressRouter,
|
||||
NextFunction,
|
||||
} from 'CommonServer/Utils/Express';
|
||||
import { TelemetryRequest } from "../Middleware/TelemetryIngest";
|
||||
import Response from "CommonServer/Utils/Response";
|
||||
import logger from "CommonServer/Utils/Logger";
|
||||
|
||||
// import { JSONArray, JSONObject } from "Common/Types/JSON";
|
||||
// import Log from "Model/AnalyticsModels/Log";
|
||||
// import OTelIngestService from "../Service/OTelIngest";
|
||||
// import LogService from "CommonServer/Services/LogService";
|
||||
// import OneUptimeDate from "Common/Types/Date";
|
||||
import TelemetryIngest, {
|
||||
TelemetryRequest,
|
||||
} from '../Middleware/TelemetryIngest';
|
||||
import Response from 'CommonServer/Utils/Response';
|
||||
import logger from 'CommonServer/Utils/Logger';
|
||||
import { JSONObject } from 'Common/Types/JSON';
|
||||
import Log from 'Model/AnalyticsModels/Log';
|
||||
import LogService from 'CommonServer/Services/LogService';
|
||||
import OneUptimeDate from 'Common/Types/Date';
|
||||
|
||||
export class FluentRequestMiddleware {
|
||||
public static async getProductType(
|
||||
@@ -23,6 +23,7 @@ export class FluentRequestMiddleware {
|
||||
): Promise<void> {
|
||||
try {
|
||||
(req as TelemetryRequest).productType = ProductType.Logs;
|
||||
return next();
|
||||
} catch (err) {
|
||||
return next(err);
|
||||
}
|
||||
@@ -33,8 +34,8 @@ const router: ExpressRouter = Express.getRouter();
|
||||
|
||||
router.post(
|
||||
'/fluentd/v1/logs',
|
||||
// FluentRequestMiddleware.getProductType,
|
||||
// TelemetryIngest.isAuthorizedServiceMiddleware,
|
||||
FluentRequestMiddleware.getProductType,
|
||||
TelemetryIngest.isAuthorizedServiceMiddleware,
|
||||
async (
|
||||
req: ExpressRequest,
|
||||
res: ExpressResponse,
|
||||
@@ -43,77 +44,40 @@ router.post(
|
||||
try {
|
||||
logger.info('Fluent Ingestor API called');
|
||||
|
||||
logger.info('Request body: ');
|
||||
logger.info(req.body);
|
||||
const dbLogs: Array<Log> = [];
|
||||
|
||||
// const resourceLogs: JSONArray = req.body[
|
||||
// 'resourceLogs'
|
||||
// ] as JSONArray;
|
||||
const logItems: Array<JSONObject | string> = req.body as Array<
|
||||
JSONObject | string
|
||||
>;
|
||||
|
||||
// const dbLogs: Array<Log> = [];
|
||||
for (let logItem of logItems) {
|
||||
const dbLog: Log = new Log();
|
||||
|
||||
// for (const resourceLog of resourceLogs) {
|
||||
// const scopeLogs: JSONArray = resourceLog[
|
||||
// 'scopeLogs'
|
||||
// ] as JSONArray;
|
||||
dbLog.projectId = (req as TelemetryRequest).projectId;
|
||||
dbLog.serviceId = (req as TelemetryRequest).serviceId;
|
||||
dbLog.severityNumber = '0';
|
||||
const currentTimeAndDate: Date = OneUptimeDate.getCurrentDate();
|
||||
dbLog.timeUnixNano =
|
||||
OneUptimeDate.toUnixNano(currentTimeAndDate);
|
||||
dbLog.time = currentTimeAndDate;
|
||||
|
||||
// for (const scopeLog of scopeLogs) {
|
||||
// const logRecords: JSONArray = scopeLog[
|
||||
// 'logRecords'
|
||||
// ] as JSONArray;
|
||||
dbLog.severityText = 'Information';
|
||||
|
||||
// for (const log of logRecords) {
|
||||
// const dbLog: Log = new Log();
|
||||
if (typeof logItem !== 'string') {
|
||||
logItem = JSON.stringify(logItem);
|
||||
}
|
||||
|
||||
// /*
|
||||
// Example:
|
||||
dbLog.body = logItem as string;
|
||||
|
||||
// {
|
||||
// "timeUnixNano":"1698069643739368000",
|
||||
// "severityNumber":"SEVERITY_NUMBER_INFO",
|
||||
// "severityText":"Information",
|
||||
// "body":{
|
||||
// "stringValue":"Application is shutting down..."
|
||||
// },
|
||||
// "traceId":"",
|
||||
// "spanId":"",
|
||||
// "observedTimeUnixNano":"1698069643739368000"
|
||||
// }
|
||||
// */
|
||||
dbLogs.push(dbLog);
|
||||
}
|
||||
|
||||
// dbLog.projectId = (req as TelemetryRequest).projectId;
|
||||
// dbLog.serviceId = (req as TelemetryRequest).serviceId;
|
||||
|
||||
// dbLog.timeUnixNano = log['timeUnixNano'] as number;
|
||||
// dbLog.time = OneUptimeDate.fromUnixNano(
|
||||
// log['timeUnixNano'] as number
|
||||
// );
|
||||
// dbLog.severityNumber = log['severityNumber'] as string;
|
||||
// dbLog.severityText = log['severityText'] as string;
|
||||
|
||||
// const logBody: JSONObject = log['body'] as JSONObject;
|
||||
|
||||
// dbLog.body = logBody['stringValue'] as string;
|
||||
|
||||
// dbLog.traceId = log['traceId'] as string;
|
||||
// dbLog.spanId = log['spanId'] as string;
|
||||
|
||||
// // We need to convert this to date.
|
||||
// dbLog.attributes = OTelIngestService.getKeyValues(
|
||||
// log['attributes'] as JSONArray
|
||||
// );
|
||||
|
||||
// dbLogs.push(dbLog);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// await LogService.createMany({
|
||||
// items: dbLogs,
|
||||
// props: {
|
||||
// isRoot: true,
|
||||
// },
|
||||
// });
|
||||
await LogService.createMany({
|
||||
items: dbLogs,
|
||||
props: {
|
||||
isRoot: true,
|
||||
},
|
||||
});
|
||||
|
||||
return Response.sendEmptyResponse(req, res);
|
||||
} catch (err) {
|
||||
@@ -122,4 +86,4 @@ router.post(
|
||||
}
|
||||
);
|
||||
|
||||
export default router;
|
||||
export default router;
|
||||
|
||||
@@ -77,6 +77,7 @@ class OpenTelemetryRequestMiddleware {
|
||||
}
|
||||
|
||||
(req as TelemetryRequest).productType = productType;
|
||||
next();
|
||||
} catch (err) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
@@ -32,7 +32,6 @@ const init: () => Promise<void> = async (): Promise<void> => {
|
||||
// init the app
|
||||
await App(APP_NAME);
|
||||
|
||||
|
||||
// connect to the database.
|
||||
await PostgresAppInstance.connect(
|
||||
PostgresAppInstance.getDatasourceOptions()
|
||||
|
||||
Reference in New Issue
Block a user