This repository was archived by the owner on Sep 20, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +53
-2
lines changed
routes/api/v1/web/stats/admin/products Expand file tree Collapse file tree 2 files changed +53
-2
lines changed Original file line number Diff line number Diff line change 1+ "use strict" ;
2+ const { status, } = require ( "http-status" ) ;
3+ const moment = require ( "moment-timezone" ) ;
4+ const { message401, } = require ( "../../utils/httpResponses" ) ;
5+ const db = require ( "../../models/v1/index" ) ;
6+
7+ module . exports = async ( req , res , next ) => {
8+ if ( ! req . headers . authorization ) {
9+ res . status ( status . UNAUTHORIZED ) ;
10+ return res . json ( {
11+ message : message401 ,
12+ } ) ;
13+ }
14+ const authTokenResult = await db . sequelize
15+ . models
16+ . userToken
17+ . authenticate (
18+ req . headerString ( "authorization" ) ,
19+ ) ;
20+ if ( false === authTokenResult ) {
21+ res . status ( status . UNAUTHORIZED ) ;
22+ return res . json ( {
23+ message : message401 ,
24+ } ) ;
25+ }
26+ const tokenIsExpired = moment ( authTokenResult . expiredAt )
27+ . unix ( ) < moment ( ) . utc ( ) . unix ( ) ;
28+ if ( true === tokenIsExpired ) {
29+ res . status ( status . UNAUTHORIZED ) ;
30+ return res . json ( {
31+ message : message401 ,
32+ } ) ;
33+ }
34+ const extractedToken = req . headerString ( "authorization" )
35+ . split ( " " ) [ 1 ] ;
36+ req . session . userId = authTokenResult . userId ;
37+ req . session . extractedToken = extractedToken ;
38+ const user = await db . sequelize
39+ . models
40+ . user
41+ . getUserByAuthToken (
42+ req . session . extractedToken ,
43+ ) ;
44+ if ( false === user || "admin" !== user . role ) {
45+ res . status ( status . UNAUTHORIZED ) ;
46+ return res . json ( {
47+ message : message401 ,
48+ } ) ;
49+ }
50+ return next ( ) ;
51+ } ;
Original file line number Diff line number Diff line change 11const express = require ( "express" ) ;
22const { status, } = require ( "http-status" ) ;
3- const authenticate = require ( "../../../../../../../middlewares/v1/authenticate " ) ;
3+ const adminAuthenticate = require ( "../../../../../../../middlewares/v1/adminAuthenticate " ) ;
44const db = require ( "../../../../../../../models/v1/index" ) ;
55const { message500 } = require ( "../../../../../../../utils/httpResponses" ) ;
66
77const router = express . Router ( ) ;
88
9- router . get ( "/" , authenticate , async ( req , res ) => {
9+ router . get ( "/" , adminAuthenticate , async ( req , res ) => {
1010 const result = await db . sequelize . models . product . getAdminProductCountStat ( ) ;
1111 if ( false === result ) {
1212 res . status ( status . UNAUTHORIZED ) ;
You can’t perform that action at this time.
0 commit comments