aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jan.tuomi@valuemotive.com>2021-04-18 17:09:27 +0300
committerJan Tuomi <jan.tuomi@valuemotive.com>2021-04-18 17:09:27 +0300
commit12f3de7a9ec911cf5945eee31c7680aa75c4f8af (patch)
treef6a26606f1a4f6be9ca5059d915c9f525c2b6447
parent8d26eb5b5e6b0bac4298ca0b2946193a841eade5 (diff)
Work on project structure
-rw-r--r--.dockerignore4
-rw-r--r--.eslintrc.js66
-rw-r--r--package.json2
-rw-r--r--src/index.ts22
-rw-r--r--src/middleware.ts5
-rw-r--r--tsconfig.json1
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