Initial commit
This commit is contained in:
21
src/app.controller.spec.ts
Normal file
21
src/app.controller.spec.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { AppController } from './app.controller';
|
||||
import { AppService } from './app.service';
|
||||
|
||||
describe('AppController', () => {
|
||||
let app: TestingModule;
|
||||
|
||||
beforeAll(async () => {
|
||||
app = await Test.createTestingModule({
|
||||
controllers: [AppController],
|
||||
providers: [AppService],
|
||||
}).compile();
|
||||
});
|
||||
|
||||
describe('getHello', () => {
|
||||
it('should return "Hello World!"', () => {
|
||||
const appController = app.get<AppController>(AppController);
|
||||
expect(appController.getHello()).toBe('Hello World!');
|
||||
});
|
||||
});
|
||||
});
|
18
src/app.controller.ts
Normal file
18
src/app.controller.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { Controller, Get, Render } from '@nestjs/common';
|
||||
import { AppService } from './app.service';
|
||||
|
||||
@Controller()
|
||||
export class AppController {
|
||||
getHello(): any {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
constructor(private readonly appService: AppService) { }
|
||||
|
||||
@Get()
|
||||
@Render('index')
|
||||
root() {
|
||||
return {
|
||||
message: 'Serverless Framework',
|
||||
};
|
||||
}
|
||||
}
|
27
src/app.module.ts
Normal file
27
src/app.module.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { AppController } from './app.controller';
|
||||
import { AppService } from './app.service';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm'
|
||||
import { Users } from './users/users.entity';
|
||||
|
||||
@Module({
|
||||
imports: [],
|
||||
controllers: [AppController],
|
||||
providers: [AppService],
|
||||
})
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forRoot({
|
||||
type: 'mssql',
|
||||
host: 'intpointer.com',
|
||||
port: 1433,
|
||||
username: 'myh',
|
||||
password: '20231103#MS_Sql',
|
||||
database: 'Elm',
|
||||
entities: [Users],
|
||||
synchronize: false,
|
||||
}),
|
||||
],
|
||||
})
|
||||
export class AppModule { }
|
8
src/app.service.ts
Normal file
8
src/app.service.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
|
||||
@Injectable()
|
||||
export class AppService {
|
||||
getHello(): string {
|
||||
return 'Hello World!';
|
||||
}
|
||||
}
|
16
src/main.ts
Normal file
16
src/main.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { NestFactory } from '@nestjs/core';
|
||||
import { NestExpressApplication } from '@nestjs/platform-express'
|
||||
import { join } from 'path';
|
||||
import { AppModule } from './app.module';
|
||||
|
||||
async function bootstrap() {
|
||||
const app = await NestFactory.create<NestExpressApplication>(AppModule);
|
||||
app.enableCors();
|
||||
app.setBaseViewsDir(join(__dirname, '..', 'views'));
|
||||
app.setViewEngine('hbs');
|
||||
|
||||
app.listen(9000, '0.0.0.0', () => {
|
||||
console.log(`Server start on http://0.0.0.0:9000`);
|
||||
});
|
||||
}
|
||||
bootstrap();
|
6
src/users/dto/add-users.dto.ts
Normal file
6
src/users/dto/add-users.dto.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
export class AddUsersDto {
|
||||
name: string
|
||||
sex: string
|
||||
phoneNumber: string
|
||||
address: string
|
||||
}
|
11
src/users/users-http.module.ts
Normal file
11
src/users/users-http.module.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { UsersModule } from './users.module';
|
||||
import { UsersService } from './users.service';
|
||||
import { UsersController } from './users.controller';
|
||||
|
||||
@Module({
|
||||
imports: [UsersModule],
|
||||
providers: [UsersService],
|
||||
controllers: [UsersController]
|
||||
})
|
||||
export class UserHttpModule {}
|
39
src/users/users.controller.ts
Normal file
39
src/users/users.controller.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
Delete,
|
||||
Get,
|
||||
Param,
|
||||
Post,
|
||||
ParseIntPipe,
|
||||
Render,
|
||||
} from '@nestjs/common';
|
||||
import { UsersService } from "./users.service";
|
||||
import { Users } from './users.entity';
|
||||
import { AddUsersDto } from './dto/add-users.dto'
|
||||
|
||||
@Controller('Users')
|
||||
export class UsersController {
|
||||
constructor(private readonly usersService: UsersService) { }
|
||||
|
||||
@Post()
|
||||
add(@Body() addUsersDto: AddUsersDto): Promise<Users> {
|
||||
return this.usersService.add(addUsersDto);
|
||||
}
|
||||
|
||||
@Get()
|
||||
findAll(): Promise<Users[]> {
|
||||
return this.usersService.findAll();
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
findOne(@Param('id', ParseIntPipe) id: number): Promise<Users> {
|
||||
return this.usersService.findOne(id);
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
delete(@Param('id') id: number): Promise<void> {
|
||||
return this.usersService.delete(id);
|
||||
}
|
||||
|
||||
}
|
20
src/users/users.entity.ts
Normal file
20
src/users/users.entity.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
|
||||
|
||||
@Entity()
|
||||
export class Users {
|
||||
@PrimaryGeneratedColumn()
|
||||
id: number;
|
||||
|
||||
@Column({ type: 'nvarchar', length: 20 })
|
||||
name: string;
|
||||
|
||||
@Column({ type: 'nvarchar', length: 2 })
|
||||
sex: string;
|
||||
|
||||
@Column({ type: 'varchar', length: 13 })
|
||||
phoneNUmber: string;
|
||||
|
||||
@Column('text')
|
||||
address: string
|
||||
|
||||
}
|
12
src/users/users.module.ts
Normal file
12
src/users/users.module.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { UsersService } from './users.service';
|
||||
import { UsersController } from './users.controller';
|
||||
import { Users } from './users.entity';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([Users])],
|
||||
providers: [UsersService],
|
||||
controllers: [UsersController],
|
||||
})
|
||||
export class UsersModule {}
|
34
src/users/users.service.ts
Normal file
34
src/users/users.service.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { Users } from './users.entity';
|
||||
import { AddUsersDto } from './dto/add-users.dto';
|
||||
|
||||
@Injectable()
|
||||
export class UsersService {
|
||||
constructor(
|
||||
@InjectRepository(Users)
|
||||
private usersRepository: Repository<Users>,
|
||||
) { }
|
||||
|
||||
add(addUsersDto: AddUsersDto): Promise<Users> {
|
||||
const users = new Users();
|
||||
users.name = addUsersDto.name;
|
||||
users.sex = addUsersDto.sex;
|
||||
users.phoneNUmber = addUsersDto.phoneNumber;
|
||||
users.address = addUsersDto.phoneNumber;
|
||||
return this.usersRepository.save(users);
|
||||
}
|
||||
|
||||
findAll(): Promise<Users[]> {
|
||||
return this.usersRepository.find();
|
||||
}
|
||||
|
||||
findOne(id: number): Promise<Users | null> {
|
||||
return this.usersRepository.findOneBy({ id });
|
||||
}
|
||||
|
||||
async delete(id: number): Promise<void> {
|
||||
await this.usersRepository.delete(id);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user