@@ -4,7 +4,7 @@ const { getDiscordMembers } = require("../services/discordService");
44const { addOrUpdate, getUsersByRole, updateUsersInBatch } = require ( "../models/users" ) ;
55const { retrieveDiscordUsers, fetchUsersForKeyValues } = require ( "../services/dataAccessLayer" ) ;
66const { EXTERNAL_ACCOUNTS_POST_ACTIONS } = require ( "../constants/external-accounts" ) ;
7- const discordServices = require ( "../services/discordService " ) ;
7+ const removeDiscordRoleUtils = require ( "../utils/removeDiscordRoleFromUser " ) ;
88const config = require ( "config" ) ;
99const logger = require ( "../utils/logger" ) ;
1010const { markUnDoneTasksOfArchivedUsersBacklog } = require ( "../models/tasks" ) ;
@@ -71,14 +71,16 @@ const linkExternalAccount = async (req, res) => {
7171 userId
7272 ) ;
7373
74- try {
75- const unverifiedRoleId = config . get ( "discordUnverifiedRoleId" ) ;
76- await discordServices . removeRoleFromUser ( unverifiedRoleId , attributes . discordId , req . userData ) ;
77- } catch ( error ) {
78- logger . error ( `Error getting external account data: ${ error } ` ) ;
79- return res . boom . internal ( "Role Deletion failed. Please contact admin." , {
80- message : "Role Deletion failed. Please contact admin." ,
81- } ) ;
74+ const unverifiedRoleId = config . get ( "discordUnverifiedRoleId" ) ;
75+ const unverifiedRoleRemovalResponse = await removeDiscordRoleUtils . removeDiscordRoleFromUser (
76+ req . userData ,
77+ attributes . discordId ,
78+ unverifiedRoleId
79+ ) ;
80+
81+ if ( ! unverifiedRoleRemovalResponse . success ) {
82+ const message = `User details updated but ${ unverifiedRoleRemovalResponse . message } . Please contact admin` ;
83+ return res . boom . internal ( message , { message } ) ;
8284 }
8385
8486 return res . status ( 204 ) . json ( { message : "Your discord profile has been linked successfully" } ) ;
0 commit comments