diff options
| -rw-r--r-- | .dockerignore | 4 | ||||
| -rw-r--r-- | .eslintrc.js | 66 | ||||
| -rw-r--r-- | package.json | 2 | ||||
| -rw-r--r-- | src/index.ts | 22 | ||||
| -rw-r--r-- | src/middleware.ts | 5 | ||||
| -rw-r--r-- | tsconfig.json | 1 |
6 files changed, 57 insertions, 43 deletions
diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c85b5de --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +Dockerfile +.dockerignore +.gitignore +.git/ diff --git a/.eslintrc.js b/.eslintrc.js index 7bce3e7..5323a20 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,36 +1,38 @@ module.exports = { - "env": { - "node": true, - "es2021": true - }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended" + "env": { + "node": true, + "es2021": true, + }, + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 12, + "sourceType": "module", + }, + "plugins": [ + "@typescript-eslint", + ], + "rules": { + "indent": [ + "error", + 2, ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 12, - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" + "linebreak-style": [ + "error", + "unix", ], - "rules": { - "indent": [ - "error", - 2 - ], - "linebreak-style": [ - "error", - "unix" - ], - "quotes": [ - "error", - "double" - ], - "semi": [ - "error", - "always" - ] - } + "quotes": [ + "error", + "double", + ], + "semi": [ + "error", + "always", + ], + "object-curly-spacing": ["error", "always"], + "comma-dangle": ["error", "always-multiline"], + }, }; diff --git a/package.json b/package.json index 2e40388..a5876c0 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "build": "tsc", "start": "node build/index.js", - "dev": "nodemon --exec 'npm start' src/index.ts", + "dev": "nodemon --exec 'ts-node' src/index.ts", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], diff --git a/src/index.ts b/src/index.ts index f764b32..3ff5de7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,6 @@ import { App } from "@tinyhttp/app"; import { logger } from "@tinyhttp/logger"; +import { auth } from "./middleware"; const app = new App(); const port = process.env.PORT ? Number(process.env.PORT) : 3000; @@ -7,18 +8,21 @@ const port = process.env.PORT ? Number(process.env.PORT) : 3000; app .use(logger({ timestamp: { - format: "YYYY-MM-DDTHH:mm:ssZ[Z]" - } + format: "YYYY-MM-DDTHH:mm:ssZ[Z]", + }, })) - .use(function someMiddleware(_req, _res, next) { - console.log("Did a request"); - next(); - }) + .use(auth) .get("/", (_, res) => { - res.send("<h1>Hello World</h1>"); + res.send({ foo: "bar" }); + }) + .post("/webhook/start", (_req, res) => { + res.send({ webhook: "start" }); + }) + .post("/webhook/stop", (_req, res) => { + res.send({ webhook: "stop" }); }) - .get("/page/:page/", (req, res) => { - res.status(200).send(`You just opened ${req.params?.page}`); + .post("/scheduler/trigger", (_req, res) => { + res.send({ scheduler: "trigger" }); }); console.log(`Serving on http://localhost:${port}`); diff --git a/src/middleware.ts b/src/middleware.ts new file mode 100644 index 0000000..bdc006a --- /dev/null +++ b/src/middleware.ts @@ -0,0 +1,5 @@ +import { NextFunction, Request, Response } from "@tinyhttp/app"; + +export const auth = async (_req: Request, _res: Response, next: NextFunction): Promise<void> => { + await next(); +}; diff --git a/tsconfig.json b/tsconfig.json index 8cf50d2..3ee30e3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -28,6 +28,5 @@ ], "include": [ "src/", - "**/*.ts", ] }
\ No newline at end of file |
