Skip to content

Commit 8e77481

Browse files
authored
Merge pull request #362 from boostcampwm-2024/Feat/360
[Feat]: 게스트 로그인 생성
2 parents 65e9c49 + f46844a commit 8e77481

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

apps/api/src/auth/auth.controller.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { AuthService } from './auth.service';
2-
import { Controller, Get, Res, UseGuards } from '@nestjs/common';
2+
import { Controller, Get, Post, Res, UseGuards } from '@nestjs/common';
33
import { GithubAuthGuard } from './guard/github-auth.guard';
44
import { GoogleAuthGuard } from './guard/google-auth.guard';
55
import { ApiTags } from '@nestjs/swagger';
@@ -45,4 +45,12 @@ export class AuthController {
4545

4646
res.redirect(`${CALLBACK_URI}/auth?accessToken=${accessToken}&isNecessaryInfo=${isNecessaryInfo}`);
4747
}
48+
49+
@Post('/signin/guest')
50+
@ApiTags(SwaggerTag.HEADER)
51+
@ApiSuccessResponse(SuccessStatus.OK(SigninResponseDto), SigninResponseDto)
52+
async signinGuest() {
53+
const accessToken = await this.authService.createGuest();
54+
return { accessToken };
55+
}
4856
}

apps/api/src/auth/auth.service.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ import { SigninDto } from './dto/signin.dto';
55
import { CustomException } from 'src/common/responses/exceptions/custom.exception';
66
import { ErrorStatus } from 'src/common/responses/exceptions/errorStatus';
77
import { Member } from 'src/member/member.entity';
8+
import { FieldEnum } from '../member/enum/field.enum';
89

910
@Injectable()
1011
export class AuthService {
12+
GUEST_ID = 1;
1113
constructor(private readonly memberService: MemberService, private readonly jwtService: JwtService) {}
1214

1315
async validateOrCreateMember(signinDto: SigninDto) {
@@ -37,4 +39,15 @@ export class AuthService {
3739

3840
return member;
3941
}
42+
43+
async createGuest() {
44+
const member = new Member();
45+
member.camperId = `guest${this.GUEST_ID}`;
46+
member.name = `guest${this.GUEST_ID}`;
47+
member.field = FieldEnum.WEB;
48+
const newMember = await this.memberService.createMember(member);
49+
const payload = { id: newMember.id, camperId: newMember.camperId };
50+
console.log(payload);
51+
return this.jwtService.sign(payload);
52+
}
4053
}

0 commit comments

Comments
 (0)