Skip to content

Commit

Permalink
chore: lint 적용 및 컨벤션 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
SeongHyeon0409 authored and SeungGwan123 committed Nov 21, 2024
1 parent e98b455 commit 586cccc
Show file tree
Hide file tree
Showing 38 changed files with 1,216 additions and 1,130 deletions.
34 changes: 17 additions & 17 deletions packages/server/src/account/account.entity.ts
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
import { Asset } from 'src/asset/asset.entity';
import { User } from 'src/auth/user.entity';
import {
Entity,
PrimaryGeneratedColumn,
Column,
JoinColumn,
OneToOne,
OneToMany,
Entity,
PrimaryGeneratedColumn,
Column,
JoinColumn,
OneToOne,
OneToMany,
} from 'typeorm';

@Entity()
export class Account {
@PrimaryGeneratedColumn()
accountId: string;
@PrimaryGeneratedColumn()
accountId: string;

@Column('double')
@Column('double')
KRW: number;

@Column('double')
@Column('double')
USDT: number;

@Column('double')
@Column('double')
BTC: number;

@OneToOne(() => User, user => user.account)
@OneToOne(() => User, (user) => user.account)
@JoinColumn()
user: User;

@OneToMany(() => Asset, (asset) => asset.account, {
cascade: true,
onDelete: 'CASCADE',
})
assets: Asset[];
@OneToMany(() => Asset, (asset) => asset.account, {
cascade: true,
onDelete: 'CASCADE',
})
assets: Asset[];
}
7 changes: 2 additions & 5 deletions packages/server/src/account/account.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@ import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Account } from './account.entity';
import { AccountRepository } from './account.repository';
import { UserRepository } from 'src/auth/user.repository';
import { User } from 'src/auth/user.entity';
@Module({
imports : [
TypeOrmModule.forFeature([Account, User])
],
providers : [AccountRepository],
imports: [TypeOrmModule.forFeature([Account, User])],
providers: [AccountRepository],
})
export class AccountModule {}
36 changes: 18 additions & 18 deletions packages/server/src/account/account.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ import { User } from 'src/auth/user.entity';

@Injectable()
export class AccountRepository extends Repository<Account> {
constructor(private dataSource: DataSource) {
super(Account, dataSource.createEntityManager());
}
async createAccountForAdmin(adminUser: User) {
const account = new Account();
account.KRW = 300000000;
account.USDT = 300000;
account.BTC = 10;
account.user = adminUser;
await this.save(account);
console.log('admin 계정에 Account가 성공적으로 생성되었습니다.');
}
constructor(private dataSource: DataSource) {
super(Account, dataSource.createEntityManager());
}
async createAccountForAdmin(adminUser: User) {
const account = new Account();
account.KRW = 300000000;
account.USDT = 300000;
account.BTC = 10;
account.user = adminUser;
await this.save(account);
console.log('admin 계정에 Account가 성공적으로 생성되었습니다.');
}
async getMyMoney(user, moneyType: string) {
const account = await this.findOne({
where: { user: { id: user.userId } },
Expand All @@ -25,12 +25,12 @@ export class AccountRepository extends Repository<Account> {
if (!account[moneyType]) return 0;
return account[moneyType];
}
async succesBuy(buyDto,accountBalance,accountId,queryRunner){
const updateData = {
accountId: accountId,
[buyDto.typeGiven]: accountBalance,
};
async succesBuy(buyDto, accountBalance, accountId, queryRunner) {
const updateData = {
accountId: accountId,
[buyDto.typeGiven]: accountBalance,
};

await queryRunner.manager.save(Account,updateData)
await queryRunner.manager.save(Account, updateData);
}
}
1 change: 0 additions & 1 deletion packages/server/src/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import { TradeModule } from './trade/trade.module';
import { RedisModule } from './redis/redis.module';
import { ScheduleModule as NestScheduleModule } from '@nestjs/schedule';
import { ScheduleModule } from './schedule/schedule.module';
import { CleanupService } from './schedule/clean-up.service';

@Module({
imports: [
Expand Down
15 changes: 12 additions & 3 deletions packages/server/src/asset/asset.entity.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
import { Account } from 'src/account/account.entity';
import { Entity, PrimaryGeneratedColumn, Column, JoinColumn, ManyToOne, CreateDateColumn } from 'typeorm';
import {
Entity,
PrimaryGeneratedColumn,
Column,
JoinColumn,
ManyToOne,
CreateDateColumn,
} from 'typeorm';

@Entity()
export class Asset {
Expand All @@ -9,7 +16,7 @@ export class Asset {
@Column()
assetName: string;

@Column('double')
@Column('double')
price: number;

@Column()
Expand All @@ -18,7 +25,9 @@ export class Asset {
@CreateDateColumn({ type: 'timestamp' })
created: Date;

@ManyToOne(() => Account, account => account.assets, { onDelete: 'CASCADE' })
@ManyToOne(() => Account, (account) => account.assets, {
onDelete: 'CASCADE',
})
@JoinColumn()
account: Account;
}
23 changes: 12 additions & 11 deletions packages/server/src/asset/asset.repository.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
import { DataSource, Repository } from 'typeorm';
import { Asset } from './asset.entity';
import { Injectable } from '@nestjs/common';
import { INFINITE } from 'common/upbit';

@Injectable()
export class AssetRepository extends Repository<Asset> {
constructor(private dataSource: DataSource) {
super(Asset, dataSource.createEntityManager());
}
async createAsset(buyDto, currentCoinPrice, account, queryRunner){
try{
const {typeReceived, receivedPrice, receivedAmount} = buyDto
const asset = new Asset();
asset.assetName = typeReceived;
asset.price = currentCoinPrice;
asset.quantity = receivedAmount;
asset.account = account;
async createAsset(buyDto, currentCoinPrice, account, queryRunner) {
try {
const { typeReceived, receivedAmount } = buyDto;
const asset = new Asset();
asset.assetName = typeReceived;
asset.price = currentCoinPrice;
asset.quantity = receivedAmount;
asset.account = account;

await queryRunner.manager.save(Asset,asset);
}catch(e){console.log(e)}
await queryRunner.manager.save(Asset, asset);
} catch (e) {
console.log(e);
}
}
}
64 changes: 34 additions & 30 deletions packages/server/src/auth/auth.controller.ts
Original file line number Diff line number Diff line change
@@ -1,46 +1,50 @@
import {
Body,
Controller,
Delete,
Get,
HttpCode,
HttpStatus,
Post,
Request,
UseGuards,
Body,
Controller,
Delete,
Get,
HttpCode,
HttpStatus,
Post,
Request,
UseGuards,
} from '@nestjs/common';
import { AuthGuard } from './auth.guard';
import { AuthService } from './auth.service';
import {
ApiBody,
ApiBearerAuth,
ApiSecurity,
ApiBody,
ApiBearerAuth,
ApiSecurity,
ApiResponse,
} from '@nestjs/swagger';
import { SignInDto } from './dtos/sign-in.dto';
import { SignUpDto } from './dtos/sign-up.dto';


@Controller('auth')
export class AuthController {
constructor(private authService: AuthService) {}
constructor(private authService: AuthService) {}

@ApiBody({ type: SignInDto })
@HttpCode(HttpStatus.OK)
@Post('login')
signIn(@Body() signInDto: Record<string, any>) {
return this.authService.signIn(signInDto.username);
}
@ApiBody({ type: SignInDto })
@HttpCode(HttpStatus.OK)
@Post('login')
signIn(@Body() signInDto: Record<string, any>) {
return this.authService.signIn(signInDto.username);
}

@HttpCode(HttpStatus.OK)
@Post('guest-login')
guestSignIn() {
return this.authService.guestSignIn();
}


@ApiResponse({ status: HttpStatus.OK, description: 'New user successfully registered' })
@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid input or user already exists' })
@ApiResponse({
status: HttpStatus.OK,
description: 'New user successfully registered',
})
@ApiResponse({
status: HttpStatus.BAD_REQUEST,
description: 'Invalid input or user already exists',
})
@HttpCode(HttpStatus.CREATED)
@Post('signup')
async signUp(@Body() signUpDto: SignUpDto) {
Expand All @@ -55,11 +59,11 @@ export class AuthController {
return this.authService.logout(req.user.userId);
}

@UseGuards(AuthGuard)
@ApiBearerAuth('access-token')
@ApiSecurity('access-token')
@Get('profile')
getProfile(@Request() req) {
return req.user;
}
@UseGuards(AuthGuard)
@ApiBearerAuth('access-token')
@ApiSecurity('access-token')
@Get('profile')
getProfile(@Request() req) {
return req.user;
}
}
78 changes: 37 additions & 41 deletions packages/server/src/auth/auth.guard.ts
Original file line number Diff line number Diff line change
@@ -1,42 +1,38 @@
import {
CanActivate,
ExecutionContext,
Injectable,
UnauthorizedException,
} from '@nestjs/common';
import { JwtService } from '@nestjs/jwt';
import { jwtConstants } from './constants';
import { Request } from 'express';

@Injectable()
export class AuthGuard implements CanActivate {
constructor(private jwtService: JwtService) {}

async canActivate(context: ExecutionContext): Promise<boolean> {
const request = context.switchToHttp().getRequest();
const token = this.extractTokenFromHeader(request);
if (!token) {
throw new UnauthorizedException();
}
try {
const payload = await this.jwtService.verifyAsync(
token,
{
secret: jwtConstants.secret
}
);
// 💡 We're assigning the payload to the request object here
// so that we can access it in our route handlers
request['user'] = payload;
} catch {
throw new UnauthorizedException();
}
return true;
}

private extractTokenFromHeader(request: Request): string | undefined {
const [type, token] = request.headers.authorization?.split(' ') ?? [];
return type === 'Bearer' ? token : undefined;
}
import {
CanActivate,
ExecutionContext,
Injectable,
UnauthorizedException,
} from '@nestjs/common';
import { JwtService } from '@nestjs/jwt';
import { jwtConstants } from './constants';
import { Request } from 'express';

@Injectable()
export class AuthGuard implements CanActivate {
constructor(private jwtService: JwtService) {}

async canActivate(context: ExecutionContext): Promise<boolean> {
const request = context.switchToHttp().getRequest();
const token = this.extractTokenFromHeader(request);
if (!token) {
throw new UnauthorizedException();
}

try {
const payload = await this.jwtService.verifyAsync(token, {
secret: jwtConstants.secret,
});
// 💡 We're assigning the payload to the request object here
// so that we can access it in our route handlers
request['user'] = payload;
} catch {
throw new UnauthorizedException();
}
return true;
}

private extractTokenFromHeader(request: Request): string | undefined {
const [type, token] = request.headers.authorization?.split(' ') ?? [];
return type === 'Bearer' ? token : undefined;
}
}
Loading

0 comments on commit 586cccc

Please sign in to comment.