File tree 3 files changed +45
-1
lines changed
3 files changed +45
-1
lines changed Original file line number Diff line number Diff line change @@ -203,6 +203,21 @@ authorization: JWT_TOKEN (returned by Login request)
203
203
204
204
<br />
205
205
206
+ ## ✨ Update role for existing user
207
+
208
+ Using npm:
209
+
210
+ ``` npm run update-role [user_id] [role_id (optional)] ```
211
+
212
+ Using yarn:
213
+
214
+ ``` npm run update-role [user_id] [role_id (optional)] ```
215
+
216
+ - [ user_id] is the id of existing user to update role for.
217
+ - [ role_id] is the id of role: 1 for admin & 2 for user. If you don't provide any role_id it would update user to admin role.
218
+
219
+ <br />
220
+
206
221
## ✨ Run the Tests
207
222
208
223
``` yarn test ```
Original file line number Diff line number Diff line change 17
17
"lint" : " eslint src --ext .ts" ,
18
18
"build" : " tsc -p tsconfig.build.json" ,
19
19
"typecheck" : " tsc --noEmit" ,
20
- "typeorm" : " node --require ts-node/register ./node_modules/typeorm/cli.js"
20
+ "typeorm" : " node --require ts-node/register ./node_modules/typeorm/cli.js" ,
21
+ "update-role" : " ts-node-dev src/update-role.ts"
21
22
},
22
23
"dependencies" : {
23
24
"axios" : " ^1.2.0" ,
Original file line number Diff line number Diff line change
1
+ import "dotenv/config" ;
2
+ import User from "./models/user" ;
3
+ import { connection , connect } from "./server/database" ;
4
+ const userId = process . argv [ 2 ] ;
5
+ const updatedRole = process . argv [ 3 ] ?? "1" ;
6
+
7
+ const updateUser = async ( ) => {
8
+ await connect ( ) ;
9
+ const userRepository = connection ! . getRepository ( User ) ;
10
+ userRepository . find ( { id : userId } ) . then ( ( user : any ) => {
11
+ if ( ! user . length ) {
12
+ console . error ( "No user exists with the given id" )
13
+ return ;
14
+ }
15
+ const query = { id : user [ 0 ] . id } ;
16
+ const newValues = { user_role : updatedRole } ;
17
+ userRepository
18
+ . update ( query , newValues )
19
+ . then ( ( ) => console . log ( `User updated successfully with role ${ newValues . user_role } ` )
20
+ )
21
+ . catch ( ( err ) => console . error ( `error in updating user: ${ err . message } ` )
22
+ ) ;
23
+ } )
24
+ . catch ( ( err ) => console . log ( `error: ${ err . message } ` )
25
+ )
26
+ } ;
27
+
28
+ updateUser ( ) ;
You can’t perform that action at this time.
0 commit comments