diff --git a/src/main.ts b/src/main.ts index 2268d36..b216ff9 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,8 +1,8 @@ -import { PostListener, MessagesResponder } from "./routes"; import express from "express"; import dotenv from "dotenv"; -import { Logger } from "./utils"; -import ApiRoute from "./utils/ApiRoute"; +import { PostListener, MessagesResponder } from "./routes"; +import Logger from "./utils/Logger"; +import ApiRoute from "./types/ApiRoute"; dotenv.config(); const app = express(); diff --git a/src/routes/post.ts b/src/routes/post.ts index 2c52d57..98027ce 100644 --- a/src/routes/post.ts +++ b/src/routes/post.ts @@ -1,7 +1,9 @@ import { userReviewSchema, typeJson } from "../types"; -import { Logger, Responder, data } from "../utils"; +import { data } from "../utils"; import { Express, Request, Response } from "express"; -import ApiRoute from "../utils/ApiRoute"; +import ApiRoute from "../types/ApiRoute"; +import Logger from "../utils/Logger"; +import Responder from "../utils/Responder"; export class PostListener extends ApiRoute { constructor(server: Express) { diff --git a/src/routes/reviews.ts b/src/routes/reviews.ts index b754e77..ade0e7a 100644 --- a/src/routes/reviews.ts +++ b/src/routes/reviews.ts @@ -1,7 +1,9 @@ import { Express, Response } from "express"; -import { Logger, Responder, data } from "../utils"; import { IdRequest, ReviewRequest, typeJson } from "../types"; -import ApiRoute from "../utils/ApiRoute"; +import { data } from "../utils"; +import ApiRoute from "../types/ApiRoute"; +import Logger from "../utils/Logger"; +import Responder from "../utils/Responder"; export class MessagesResponder extends ApiRoute { constructor(server: Express) { diff --git a/src/utils/ApiRoute.ts b/src/types/ApiRoute.ts similarity index 92% rename from src/utils/ApiRoute.ts rename to src/types/ApiRoute.ts index e90dc4c..79f2809 100644 --- a/src/utils/ApiRoute.ts +++ b/src/types/ApiRoute.ts @@ -1,7 +1,7 @@ import { Express, Request, Response } from "express"; -import { Logger } from "./logger"; import { typeJson } from "../types"; -import { Responder } from "./responder"; +import Logger from "../utils/Logger"; +import Responder from "../utils/Responder"; export default class ApiRoute { public readonly server: Express; diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 0000000..ee258f3 --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1,2 @@ +export * from "./ApiRoute"; +export * from "./schemas"; diff --git a/src/types.ts b/src/types/schemas.ts similarity index 100% rename from src/types.ts rename to src/types/schemas.ts diff --git a/src/utils/logger.ts b/src/utils/Logger.ts similarity index 97% rename from src/utils/logger.ts rename to src/utils/Logger.ts index e7f55a2..d75b1dd 100644 --- a/src/utils/logger.ts +++ b/src/utils/Logger.ts @@ -1,6 +1,6 @@ import chalk from "chalk"; -export class Logger { +export default class Logger { private _wrn: string; private _err: string; private _main: string; diff --git a/src/utils/responder.ts b/src/utils/Responder.ts similarity index 97% rename from src/utils/responder.ts rename to src/utils/Responder.ts index 2625b06..c2724c8 100644 --- a/src/utils/responder.ts +++ b/src/utils/Responder.ts @@ -1,6 +1,6 @@ import { ValidationError } from "yup"; -export class Responder { +export default class Responder { public static success(message: string): string { return JSON.stringify({ message: message, diff --git a/src/utils/ReviewData.ts b/src/utils/ReviewData.ts index b4a0680..2a3fe75 100644 --- a/src/utils/ReviewData.ts +++ b/src/utils/ReviewData.ts @@ -6,7 +6,6 @@ import { UserSideReview, } from "../types"; import { toServerReview, checkFile, stripId } from "./functions"; -import { Logger } from "./logger"; export class ReviewData { public data: ServerSideReview[]; diff --git a/src/utils/functions.ts b/src/utils/functions.ts index 6d87ee8..871a645 100644 --- a/src/utils/functions.ts +++ b/src/utils/functions.ts @@ -1,6 +1,6 @@ +import * as crypto from "crypto"; import fs from "fs"; import { ServerSideReview, UserSideReview } from "../types"; -import * as crypto from "crypto"; export function checkFile( file: string, @@ -28,23 +28,34 @@ export const generateId = (): string => crypto.randomBytes(3).toString("hex"); export const getTimestamp = (): string => new Date().toISOString(); -export function toServerReview(userReview: UserSideReview): ServerSideReview { +export function toServerReview({ + rating, + username, + title, + content, +}: UserSideReview): ServerSideReview { return { - rating: userReview.rating, - username: userReview.username, - title: userReview.title, - content: userReview.content, + rating: rating, + username: username, + title: title, + content: content, id: generateId(), timestamp: getTimestamp(), }; } -export function stripId(serverReview: ServerSideReview) { +export const stripId = ({ + rating, + username, + title, + content, + timestamp, +}: ServerSideReview) => { return { - rating: serverReview.rating, - username: serverReview.username, - title: serverReview.title, - content: serverReview.content, - timestamp: serverReview.timestamp, + rating: rating, + username: username, + title: title, + content: content, + timestamp: timestamp, }; -} +}; diff --git a/src/utils/index.ts b/src/utils/index.ts index fdf92b5..05bee14 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,4 +1,4 @@ export * from "./functions"; -export * from "./logger"; -export * from "./responder"; +export * from "./Logger"; +export * from "./Responder"; export * from "./ReviewData";