Skip to content

Instantly share code, notes, and snippets.

View nartc's full-sized avatar
😁

Chau Tran nartc

😁
View GitHub Profile
export class UserRouter {
router: Router;
userController: UserController;
userModel: User;
constructor() {
this.router = Router();
this.user = new User();
this.userController = new UserController(this.user);
this.routes();
export class UserController extends BaseController<IUser, User> {
userModel: User;
constructor(_userModel: User) {
super(_userModel);
this.userModel = _userModel;
}
// UserController will have the CRUD from BaseController, no need to write those here. But register() and login() is of different logic.
}
import {Document, Model} from 'mongoose';
import {Request, Response} from 'express';
import {MongoError} from '../../../../Desktop/codewithcause/node_modules/@types/mongodb';
export class BaseController<U extends Document, T extends Model<U>> {
model: T;
constructor(_model: T) {
this.model = _model;
import {Document, Model} from 'mongoose';
import {Request, Response} from 'express';
import {MongoError} from '../../../../Desktop/codewithcause/node_modules/@types/mongodb';
export class BaseController<U extends Document, T extends Model<U>> {
model: T;
constructor(_model: T) {
this.model = _model;
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "HelpDeskTMF",
"description": "HelpDeskTMF OpenAPI Documentations"
},
"host": "localhost:3000",
"basePath": "/",
"tags": [
@nartc
nartc / swagger
Created December 25, 2017 20:22
swagger.yaml
swagger: "2.0"
info:
version: "1.0.0"
title: HelpDeskTMF
description: HelpDeskTMF OpenAPI Documentations
host: localhost:3000
basePath: /
tags:
- name: Users
description: Users Routes