Skip to content

Commit 4f17e71

Browse files
committed
feat: refresh token service
1 parent 4b6ff35 commit 4f17e71

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import models from 'models'
2+
import ResponseError from 'modules/Response/ResponseError'
3+
import useValidation from 'helpers/useValidation'
4+
import { RefreshTokenAttributes } from 'models/refreshtoken'
5+
import schema from 'controllers/RefreshToken/schema'
6+
import UserService from 'controllers/User/service'
7+
8+
const { RefreshToken } = models
9+
10+
class RefreshTokenService {
11+
/**
12+
*
13+
* @param token
14+
*/
15+
public static async getToken(token: string) {
16+
const data = await RefreshToken.findOne({
17+
where: { token },
18+
})
19+
20+
if (!data) {
21+
throw new ResponseError.NotFound('token not found or has been deleted')
22+
}
23+
24+
return data
25+
}
26+
27+
/**
28+
*
29+
* @param formData
30+
*/
31+
public static async create(formData: RefreshTokenAttributes) {
32+
const value = useValidation(schema.create, formData)
33+
34+
const user = await UserService.getOne(formData.UserId)
35+
if (user) {
36+
const data = await RefreshToken.create(value)
37+
return data
38+
}
39+
40+
throw new ResponseError.BadRequest('Something went wrong')
41+
}
42+
}
43+
44+
export default RefreshTokenService

0 commit comments

Comments
 (0)