eletrotupi / tcc/ commit / 76614c0

api: dispatch activation email code on demand

Pedro Lucas Porcellis porcellis@eletrotupi.com · 4 months ago 76614c011875ef7dcbd6e470618dfb9e0adf74f2 Browse files
Parents 4e8e478
Changed files
1
Additions
+9
Deletions
-6
api/src/controllers/auth.ts
1 1
import { Request, Response, NextFunction } from 'express';
2 2
import { AuthenticatedRequest } from '@app/middleware/auth';
3 3

4 4
import {
5 5
  login,
135 135
        email: payload.email,
136 136
        user: {
137 137
          firstName: user.firstName,
138 138
          email: user.email,
139 139
          lastName: user.lastName,
140 -
          updatedAt: user.updatedAt
140 +
          updatedAt: user.updatedAt,
141 +
          active: user.active,
142 +
          avatarKey: user.avatarKey,
143 +
          avatarURL: user.avatarURL
141 144
        }
142 145
      });
143 146
    } catch (err: any) {
144 147
      if (err.name === 'JsonWebTokenError' || err.name === 'TokenExpiredError') {
145 148
        return res.status(401).json({ error: 'Invalid or expired token' });
190 193
      .join("");
191 194

192 195
      const expiresAt = addMinutes(new Date(), 5);
193 196
      await storeActivationCode(user.id, code, expiresAt);
194 197

195 -
      //const mailQueue = getQueue('mail');
196 -
      //const job = await mailQueue.add(MailJobName.ActivateAccountEmail, {
197 -
      //  userId: user.id,
198 -
      //  code: code
199 -
      //});
198 +
      const mailQueue = getQueue('mail');
199 +
      const job = await mailQueue.add(MailJobName.ActivateAccountEmail, {
200 +
        userId: user.id,
201 +
        code: code
202 +
      });
200 203

201 204
      res.json({
202 205
        user
203 206
      })
204 207
    } catch (err: any) {
205 208
      next(err);
206 209
    }
207 210
  }
208 211
};