@@ -4,6 +4,7 @@ const router = express.Router();
44const {
55 decodeToken,
66 checkIfTokenSent,
7+ checkIfTokenValid,
78} = require ( '../util/token-functions.js' ) ;
89const {
910 OK ,
@@ -13,6 +14,7 @@ const {
1314} = require ( '../../util/constants' ) . STATUS_CODES ;
1415const logger = require ( '../../util/logger' ) ;
1516const { Cleezy } = require ( '../../config/config.json' ) ;
17+ const membershipState = require ( '../../util/constants' ) . MEMBERSHIP_STATE ;
1618const { ENABLED } = Cleezy ;
1719
1820let CLEEZY_URL = process . env . CLEEZY_URL
@@ -97,14 +99,19 @@ router.post('/deleteUrl', async (req, res) => {
9799 } ) ;
98100} ) ;
99101
102+ const searchCleezyUrls = async ( req ) => {
103+ if ( ! ENABLED || ! req . body . query ) {
104+ return { status : OK , data : [ ] } ;
105+ }
100106
101- const searchCleezyUrls = async ( query ) => {
102- if ( ! ENABLED || ! query ) {
103- return ;
107+ if ( ! checkIfTokenSent ( req ) ) {
108+ return { status : FORBIDDEN , data : [ ] } ;
109+ } else if ( ! checkIfTokenValid ( req , membershipState . OFFICER ) ) {
110+ return { status : UNAUTHORIZED , data : [ ] } ;
104111 }
105112
106113 try {
107- const cleezyQuery = query . replace ( / [ ^ a - z A - Z 0 - 9 ] / g, '' ) ;
114+ const cleezyQuery = req . body . query . replace ( / [ ^ a - z A - Z 0 - 9 ] / g, '' ) ;
108115 const cleezyRes = await axios . get ( CLEEZY_URL + '/list' , {
109116 params : {
110117 search : cleezyQuery
@@ -117,9 +124,10 @@ const searchCleezyUrls = async (query) => {
117124 return { ...e , link : u . href } ;
118125 } ) ;
119126
120- return cleezyData ;
127+ return { status : OK , data : cleezyData } ;
121128 } catch ( err ) {
122129 logger . error ( 'cleezy search urls had an error' , err ) ;
130+ return { status : SERVER_ERROR , data : [ ] } ;
123131 }
124132} ;
125133
0 commit comments