Skip to content

Instantly share code, notes, and snippets.

@kusakawazeusu
kusakawazeusu / AuthMiddleware.ts
Created September 25, 2019 09:46
AuthMiddleware v1
// src/middleware/AuthMiddleware.ts
import {Request, Response, NextFunction} from "express";
export function AuthMiddleware(req: Request, res: Response, next: NextFunction) {
if (!req.header('Authorization')) {
return res.status(401).send('unauthorized');
}
next();
@kusakawazeusu
kusakawazeusu / app.ts
Created September 25, 2019 09:42
app.ts v2
// src/app.ts
for (const route of router) {
app.use(route.getPrefix(), route.getRouter());
}
@kusakawazeusu
kusakawazeusu / auth.route.ts
Created September 25, 2019 09:42
auth route v2
// src/routes/auth.route.ts
constructor() {
super();
this.prefix = '/auth';
this.setRoutes();
}
@kusakawazeusu
kusakawazeusu / route.ts
Created September 25, 2019 09:41
route v2
// src/routes/route.ts
protected prefix: string = '/';
public getPrefix() {
return this.prefix;
}
@kusakawazeusu
kusakawazeusu / app.ts
Created September 25, 2019 09:36
app.ts v1
// src/app.ts
import express from 'express';
import morgan from 'morgan';
import {router} from "./router";
const app: express.Application = express();
app.use(morgan('dev'));
app.use(express.json());
@kusakawazeusu
kusakawazeusu / router.ts
Created September 25, 2019 09:35
router v1
// src/router.ts
import Route from "./routes/route";
import AuthRoute from "./routes/auth.route";
export const router: Array<Route> = [
new AuthRoute(),
];
@kusakawazeusu
kusakawazeusu / auth.route.ts
Created September 25, 2019 09:33
auth route v1
// src/routes/auth.route.ts
import AuthController from "../controllers/AuthController"
import Route from "./route";
class AuthRoute extends Route{
private authController = new AuthController();
constructor() {
super();
@kusakawazeusu
kusakawazeusu / route.ts
Created September 25, 2019 09:32
route abstract class
// src/routes/route.ts
import {Router} from "express";
abstract class Route {
protected router = Router();
protected abstract setRoutes(): void;
public getRouter() {
return this.router;
@kusakawazeusu
kusakawazeusu / AuthController.ts
Created September 25, 2019 09:31
一個只會回傳固定字串的 controller
// src/controllers/AuthController.ts
import {Request, Response} from "express";
class AuthController {
echo(req: Request, res: Response) {
res.send('echo');
}
}
export default AuthController;
const subscription = device.monitorCharacteristicForService(
Service_UUID,
Characteristic_UUID,
(error, characteristic) => {
if (error) {
console.log(error)
return;
}
console.log(characteristic.value)
}