Skip to content

Instantly share code, notes, and snippets.

import { Injectable } from '@angular/core';
import { JwtHelperService } from '@auth0/angular-jwt';
import { interval } from 'rxjs/internal/observable/interval';
import { of } from 'rxjs/internal/observable/of';
import { map, startWith, switchMap } from 'rxjs/operators';
import { Observable } from 'rxjs/Rx';
import { LoginResponseVm, LoginVm, SecurityClient } from '../app.api';
import { LocalStorageService } from './local-storage.service';
@Injectable({
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