Skip to content

Commit d493b82

Browse files
committed
fix: update response /auth/sign-in
1 parent aa94052 commit d493b82

4 files changed

Lines changed: 31 additions & 2 deletions

File tree

src/app/handler/auth.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,16 @@ route.post(
4646
data,
4747
message: 'Login successfully',
4848
})
49-
res.status(200).json(httpResponse)
49+
50+
res
51+
.status(200)
52+
.cookie('token', data.access_token, {
53+
maxAge: Number(data.expires_in) * 1000,
54+
httpOnly: true,
55+
path: '/v1',
56+
secure: process.env.NODE_ENV === 'production',
57+
})
58+
.json(httpResponse)
5059
})
5160
)
5261

src/app/handler/session.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import express, { Request, Response } from 'express'
22
import { asyncHandler } from '~/lib/async-handler'
3+
import { ConstRole } from '~/lib/constant/seed/role'
34
import HttpResponse from '~/lib/http/response'
45
import authorization from '../middleware/authorization'
6+
import { permissionAccess } from '../middleware/with-permission'
57
import SessionService from '../service/session'
68

79
const route = express.Router()
@@ -10,6 +12,7 @@ const service = new SessionService()
1012
route.get(
1113
'/',
1214
authorization(),
15+
permissionAccess(ConstRole.ROLE_ADMIN),
1316
asyncHandler(async (req: Request, res: Response) => {
1417
const { page, pageSize, filtered, sorted } = req.getQuery()
1518
const records = await service.find({ page, pageSize, filtered, sorted })
@@ -21,6 +24,7 @@ route.get(
2124
route.get(
2225
'/:id',
2326
authorization(),
27+
permissionAccess(ConstRole.ROLE_ADMIN),
2428
asyncHandler(async (req: Request, res: Response) => {
2529
const { id } = req.getParams()
2630
const record = await service.findById(id)
@@ -32,6 +36,7 @@ route.get(
3236
route.post(
3337
'/',
3438
authorization(),
39+
permissionAccess(ConstRole.ROLE_ADMIN),
3540
asyncHandler(async (req: Request, res: Response) => {
3641
const values = req.getBody()
3742
const record = await service.create(values)
@@ -43,6 +48,7 @@ route.post(
4348
route.put(
4449
'/:id',
4550
authorization(),
51+
permissionAccess(ConstRole.ROLE_ADMIN),
4652
asyncHandler(async (req: Request, res: Response) => {
4753
const { id } = req.getParams()
4854
const values = req.getBody()
@@ -55,6 +61,7 @@ route.put(
5561
route.put(
5662
'/restore/:id',
5763
authorization(),
64+
permissionAccess(ConstRole.ROLE_ADMIN),
5865
asyncHandler(async (req: Request, res: Response) => {
5966
const { id } = req.getParams()
6067
await service.restore(id)
@@ -66,6 +73,7 @@ route.put(
6673
route.delete(
6774
'/soft-delete/:id',
6875
authorization(),
76+
permissionAccess(ConstRole.ROLE_ADMIN),
6977
asyncHandler(async (req: Request, res: Response) => {
7078
const { id } = req.getParams()
7179
await service.softDelete(id)
@@ -77,6 +85,7 @@ route.delete(
7785
route.delete(
7886
'/force-delete/:id',
7987
authorization(),
88+
permissionAccess(ConstRole.ROLE_ADMIN),
8089
asyncHandler(async (req: Request, res: Response) => {
8190
const { id } = req.getParams()
8291
await service.forceDelete(id)

src/app/handler/user.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import express, { Request, Response } from 'express'
22
import { asyncHandler } from '~/lib/async-handler'
3+
import { ConstRole } from '~/lib/constant/seed/role'
34
import HttpResponse from '~/lib/http/response'
45
import authorization from '../middleware/authorization'
6+
import { permissionAccess } from '../middleware/with-permission'
57
import UserService from '../service/user'
68

79
const route = express.Router()
@@ -10,6 +12,7 @@ const service = new UserService()
1012
route.get(
1113
'/',
1214
authorization(),
15+
permissionAccess(ConstRole.ROLE_ADMIN),
1316
asyncHandler(async (req: Request, res: Response) => {
1417
const { page, pageSize, filtered, sorted } = req.getQuery()
1518
const records = await service.findWithRelations({ page, pageSize, filtered, sorted })
@@ -21,6 +24,7 @@ route.get(
2124
route.get(
2225
'/:id',
2326
authorization(),
27+
permissionAccess(ConstRole.ROLE_ADMIN),
2428
asyncHandler(async (req: Request, res: Response) => {
2529
const { id } = req.getParams()
2630
const record = await service.findByIdWithRelation(id)
@@ -32,6 +36,7 @@ route.get(
3236
route.post(
3337
'/',
3438
authorization(),
39+
permissionAccess(ConstRole.ROLE_ADMIN),
3540
asyncHandler(async (req: Request, res: Response) => {
3641
const values = req.getBody()
3742
const record = await service.create(values)
@@ -43,6 +48,7 @@ route.post(
4348
route.put(
4449
'/:id',
4550
authorization(),
51+
permissionAccess(ConstRole.ROLE_ADMIN),
4652
asyncHandler(async (req: Request, res: Response) => {
4753
const { id } = req.getParams()
4854
const values = req.getBody()
@@ -55,6 +61,7 @@ route.put(
5561
route.put(
5662
'/restore/:id',
5763
authorization(),
64+
permissionAccess(ConstRole.ROLE_ADMIN),
5865
asyncHandler(async (req: Request, res: Response) => {
5966
const { id } = req.getParams()
6067
await service.restore(id)
@@ -66,6 +73,7 @@ route.put(
6673
route.delete(
6774
'/soft-delete/:id',
6875
authorization(),
76+
permissionAccess(ConstRole.ROLE_ADMIN),
6977
asyncHandler(async (req: Request, res: Response) => {
7078
const { id } = req.getParams()
7179
await service.softDelete(id)
@@ -77,6 +85,7 @@ route.delete(
7785
route.delete(
7886
'/force-delete/:id',
7987
authorization(),
88+
permissionAccess(ConstRole.ROLE_ADMIN),
8089
asyncHandler(async (req: Request, res: Response) => {
8190
const { id } = req.getParams()
8291
await service.forceDelete(id)

src/app/service/auth.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { Session } from '../database/entity/session'
1212
import { User } from '../database/entity/user'
1313
import { LoginSchema, loginSchema, UserLoginState, userSchema } from '../database/schema/user'
1414
import SessionService from './session'
15+
import { fromUnixTime } from 'date-fns'
1516

1617
type VerifySessionParams = {
1718
user_id: string
@@ -108,7 +109,8 @@ export default class AuthService {
108109
email: getUser.email,
109110
uid: getUser.id,
110111
access_token: token,
111-
expires_at: expiresIn,
112+
expires_at: new Date(Date.now() + expiresIn * 1000),
113+
expires_in: expiresIn,
112114
is_admin,
113115
}
114116
})

0 commit comments

Comments
 (0)