Skip to content

Commit 272cd5d

Browse files
fix refresh token
1 parent 173ef68 commit 272cd5d

File tree

5 files changed

+29
-8
lines changed

5 files changed

+29
-8
lines changed

src/auth/auth.service.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export class AuthService {
1818
if (match) {
1919
const payload = { email: user.email, userId: user._id };
2020
const access_token = await this.jwtService.signAsync(payload);
21+
const tokens = await this.getTokens(user);
2122
return {
2223
access_token
2324
};

src/users/schemas/refreshtoken.schema.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
22
import { HydratedDocument, now } from 'mongoose';
33

4-
export type UserDocument = HydratedDocument<RefresToken>;
4+
export type RefresTokenDocument = HydratedDocument<RefresToken>;
55

66
@Schema({timestamps: true})
77
export class RefresToken {
@@ -17,4 +17,4 @@ export class RefresToken {
1717
updatedAt: Date;
1818
}
1919

20-
export const UserSchema = SchemaFactory.createForClass(RefresToken);
20+
export const RefresTokenSchema = SchemaFactory.createForClass(RefresToken);

src/users/users.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ import { MongooseModule } from '@nestjs/mongoose';
33
import { UserController } from './users.controller';
44
import { UserService } from './users.service';
55
import { User, UserSchema } from './schemas/user.schema';
6+
import { RefresToken, RefresTokenSchema } from './schemas/refreshtoken.schema';
67

78
@Module({
8-
imports: [MongooseModule.forFeature([{ name: User.name, schema: UserSchema }])],
9+
imports: [MongooseModule.forFeature([{ name: User.name, schema: UserSchema },
10+
{ name: RefresToken.name, schema: RefresTokenSchema }])],
911
controllers: [UserController],
1012
providers: [UserService],
1113
exports: [UserService],

src/users/users.service.spec.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,16 @@ describe('UserService', () => {
5555
exec: jest.fn(),
5656
},
5757
},
58+
{
59+
provide: getModelToken('RefresToken'),
60+
useValue: {
61+
new: jest.fn().mockResolvedValue(mockUser),
62+
constructor: jest.fn().mockResolvedValue(mockUser),
63+
find: jest.fn(),
64+
create: jest.fn(),
65+
exec: jest.fn(),
66+
},
67+
}
5868
],
5969
}).compile();
6070

@@ -70,16 +80,16 @@ describe('UserService', () => {
7080
jest.spyOn(model, 'find').mockReturnValue({
7181
exec: jest.fn().mockResolvedValueOnce(mockResponse),
7282
} as any);
73-
const cats = await service.findAll();
74-
expect(cats).toEqual(mockResponse);
83+
const user = await service.findAll();
84+
expect(user).toEqual(mockResponse);
7585
});
7686

7787
it('should insert a new user', async () => {
7888
jest.spyOn(model, 'create').mockImplementationOnce(() =>
7989
Promise.resolve(mockUser as any),
8090
);
81-
const newCat = await service.create(mockUser);
82-
expect(newCat).toEqual(mockUser);
91+
const newuser = await service.create(mockUser);
92+
expect(newuser).toEqual(mockUser);
8393
});
8494
});
8595

src/users/users.service.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@ import { InjectModel } from '@nestjs/mongoose';
33
import { Model, Types } from 'mongoose';
44
import { CreateUserDto } from './dto/create-user.dto';
55
import { User } from './schemas/user.schema';
6+
import { RefresToken } from './schemas/refreshtoken.schema';
67
import * as bcrypt from 'bcrypt';
78
import { userData } from 'src/interface/common';
89

910
@Injectable()
1011
export class UserService {
11-
constructor(@InjectModel(User.name) private readonly userModel: Model<User>) {}
12+
constructor(@InjectModel(User.name) private readonly userModel: Model<User>,
13+
@InjectModel(RefresToken.name) private readonly RefresTokenModel: Model<RefresToken>
14+
) {}
1215

1316
async create(createUserDto: CreateUserDto): Promise<CreateUserDto> {
1417
const saltOrRounds = 10;
@@ -39,4 +42,9 @@ export class UserService {
3942
async updateOne(userId: Types.ObjectId | String , data: userData) {
4043
await this.userModel.updateOne({_id:userId}, data);
4144
}
45+
46+
async createRefreshToken(createUserDto: CreateUserDto): Promise<Boolean> {
47+
const createduUser = await this.RefresTokenModel.create(createUserDto);
48+
return true;
49+
}
4250
}

0 commit comments

Comments
 (0)