@mvx/cli
Version:
57 lines (45 loc) • 1.47 kB
text/typescript
import { Controller, Get, Post, Cors, Put, Authorization, Delete, IContext, ContextToken } from '@mvx/mvc';
import { User } from '../models/User';
import { Inject } from '@tsdi/ioc';
import { ResponseResult } from '../ResponseResult';
import { UserRepository } from '../repositories/UserRepository';
('admin')
('/api/users')
export class UserController {
(ContextToken)
context: IContext;
constructor(private repos: UserRepository) {
}
// @Post('/')
// async add(user: User) {
// let r = await this.repos.save(user);
// return ResponseResult.success(r);
// }
// @Put('/')
// async middfy(user: User) {
// let r = await this.repos.save(user);
// return ResponseResult.success(r);
// }
('/')
('/')
async save(user: User) {
let r = await this.repos.save(user);
return ResponseResult.success(r);
}
('/:id')
async get(id: string) {
let user = this.repos.findById(id);
return ResponseResult.success(user);
}
('/:id')
async remove(id: string) {
let user = await this.repos.removeById(id);
return ResponseResult.success(user);
}
('/')
async query(keywords: string, skip?: number, take?: number) {
const [ users, total ] = await this.repos.search(keywords, skip, take);
return ResponseResult.success(users, total);
}
}