Package Updates
This commit is contained in:
85
server.ts
85
server.ts
@@ -16,24 +16,17 @@ import cors from "cors";
|
||||
import helmet from "helmet";
|
||||
import responseTime from "response-time";
|
||||
import nocache from "nocache";
|
||||
import {
|
||||
BillsMediaUploadMulter,
|
||||
BillsUploadMedia,
|
||||
} from "./bills/billsUploadMedia";
|
||||
import { BillsMediaUploadMulter, BillsUploadMedia } from "./bills/billsUploadMedia";
|
||||
import ValidateImsToken from "./util/validateToken";
|
||||
import { jobsDownloadMedia } from "./jobs/jobsDownloadMedia";
|
||||
import { JobsDeleteMedia } from "./jobs/jobsDeleteMedia";
|
||||
|
||||
dotenv.config({
|
||||
path: resolve(process.cwd(), `.env.${process.env.NODE_ENV || "development"}`),
|
||||
path: resolve(process.cwd(), `.env.${process.env.NODE_ENV || "development"}`)
|
||||
});
|
||||
|
||||
export const logger = winston.createLogger({
|
||||
format: winston.format.combine(
|
||||
winston.format.timestamp(),
|
||||
winston.format.json(),
|
||||
winston.format.prettyPrint()
|
||||
),
|
||||
format: winston.format.combine(winston.format.timestamp(), winston.format.json(), winston.format.prettyPrint()),
|
||||
level: "http",
|
||||
levels: { ...winston.config.syslog.levels, http: 8 },
|
||||
exceptionHandlers: [
|
||||
@@ -42,14 +35,11 @@ export const logger = winston.createLogger({
|
||||
datePattern: "YYYY-MM-DD-HH",
|
||||
zippedArchive: true,
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d",
|
||||
maxFiles: "14d"
|
||||
}),
|
||||
new winston.transports.Console({
|
||||
format: winston.format.combine(
|
||||
winston.format.colorize(),
|
||||
winston.format.simple()
|
||||
),
|
||||
}),
|
||||
format: winston.format.combine(winston.format.colorize(), winston.format.simple())
|
||||
})
|
||||
],
|
||||
rejectionHandlers: [
|
||||
new DailyRotateFile({
|
||||
@@ -57,14 +47,11 @@ export const logger = winston.createLogger({
|
||||
datePattern: "YYYY-MM-DD-HH",
|
||||
zippedArchive: true,
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d",
|
||||
maxFiles: "14d"
|
||||
}),
|
||||
new winston.transports.Console({
|
||||
format: winston.format.combine(
|
||||
winston.format.colorize(),
|
||||
winston.format.simple()
|
||||
),
|
||||
}),
|
||||
format: winston.format.combine(winston.format.colorize(), winston.format.simple())
|
||||
})
|
||||
],
|
||||
transports: [
|
||||
new DailyRotateFile({
|
||||
@@ -73,7 +60,7 @@ export const logger = winston.createLogger({
|
||||
zippedArchive: true,
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d",
|
||||
level: "error",
|
||||
level: "error"
|
||||
}),
|
||||
|
||||
new DailyRotateFile({
|
||||
@@ -82,25 +69,22 @@ export const logger = winston.createLogger({
|
||||
zippedArchive: true,
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d",
|
||||
level: "debug",
|
||||
level: "debug"
|
||||
}),
|
||||
new DailyRotateFile({
|
||||
filename: path.join(FolderPaths.Root, "logs", "ALL-%DATE%.log"),
|
||||
datePattern: "YYYY-MM-DD-HH",
|
||||
zippedArchive: true,
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d",
|
||||
}),
|
||||
],
|
||||
maxFiles: "14d"
|
||||
})
|
||||
]
|
||||
});
|
||||
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
logger.add(
|
||||
new winston.transports.Console({
|
||||
format: winston.format.combine(
|
||||
winston.format.colorize(),
|
||||
winston.format.simple()
|
||||
),
|
||||
format: winston.format.combine(winston.format.colorize(), winston.format.simple())
|
||||
})
|
||||
);
|
||||
}
|
||||
@@ -118,27 +102,16 @@ const morganMiddleware = morgan(
|
||||
"combined", //":method :url :status :res[content-length] - :response-time ms"
|
||||
{
|
||||
stream: {
|
||||
write: (message) => logger.http(message.trim()),
|
||||
},
|
||||
write: (message) => logger.http(message.trim())
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
app.use(morganMiddleware);
|
||||
app.use(helmet({ crossOriginResourcePolicy: { policy: "cross-origin" } }));
|
||||
app.post("/jobs/list", ValidateImsToken, JobRequestValidator, JobsListMedia);
|
||||
app.post(
|
||||
"/jobs/upload",
|
||||
ValidateImsToken,
|
||||
JobMediaUploadMulter.array("file"),
|
||||
JobRequestValidator,
|
||||
jobsUploadMedia
|
||||
);
|
||||
app.post(
|
||||
"/jobs/download",
|
||||
ValidateImsToken,
|
||||
JobRequestValidator,
|
||||
jobsDownloadMedia
|
||||
);
|
||||
app.post("/jobs/upload", ValidateImsToken, JobMediaUploadMulter.array("file"), JobRequestValidator, jobsUploadMedia);
|
||||
app.post("/jobs/download", ValidateImsToken, JobRequestValidator, jobsDownloadMedia);
|
||||
app.post(
|
||||
"/jobs/move", //JobRequestValidator,
|
||||
ValidateImsToken,
|
||||
@@ -159,23 +132,13 @@ app.post(
|
||||
BillsUploadMedia
|
||||
);
|
||||
|
||||
app.get(
|
||||
"/",
|
||||
ValidateImsToken,
|
||||
(req: express.Request, res: express.Response) => {
|
||||
res.send("IMS running.");
|
||||
}
|
||||
);
|
||||
app.get("/", ValidateImsToken, (req: express.Request, res: express.Response) => {
|
||||
res.send("IMS running.");
|
||||
});
|
||||
|
||||
InitServer();
|
||||
app.use(
|
||||
FolderPaths.StaticPath,
|
||||
express.static(FolderPaths.Root, { etag: false, maxAge: 30 * 1000 })
|
||||
);
|
||||
app.use(
|
||||
"/assets",
|
||||
express.static("./assets", { etag: false, maxAge: 30 * 1000 })
|
||||
);
|
||||
app.use(FolderPaths.StaticPath, express.static(FolderPaths.Root, { etag: false, maxAge: 30 * 1000 }));
|
||||
app.use("/assets", express.static("./assets", { etag: false, maxAge: 30 * 1000 }));
|
||||
app.listen(port, () => {
|
||||
logger.info(`ImEX Media Server is running at http://localhost:${port}`);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user