diff options
Diffstat (limited to 'server/controllers/api')
-rw-r--r-- | server/controllers/api/users/registrations.ts | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/server/controllers/api/users/registrations.ts b/server/controllers/api/users/registrations.ts index 3d4e0aa18..5e213d6cc 100644 --- a/server/controllers/api/users/registrations.ts +++ b/server/controllers/api/users/registrations.ts | |||
@@ -3,7 +3,14 @@ import { Emailer } from '@server/lib/emailer' | |||
3 | import { Hooks } from '@server/lib/plugins/hooks' | 3 | import { Hooks } from '@server/lib/plugins/hooks' |
4 | import { UserRegistrationModel } from '@server/models/user/user-registration' | 4 | import { UserRegistrationModel } from '@server/models/user/user-registration' |
5 | import { pick } from '@shared/core-utils' | 5 | import { pick } from '@shared/core-utils' |
6 | import { HttpStatusCode, UserRegister, UserRegistrationRequest, UserRegistrationState, UserRight } from '@shared/models' | 6 | import { |
7 | HttpStatusCode, | ||
8 | UserRegister, | ||
9 | UserRegistrationRequest, | ||
10 | UserRegistrationState, | ||
11 | UserRegistrationUpdateState, | ||
12 | UserRight | ||
13 | } from '@shared/models' | ||
7 | import { auditLoggerFactory, UserAuditView } from '../../../helpers/audit-logger' | 14 | import { auditLoggerFactory, UserAuditView } from '../../../helpers/audit-logger' |
8 | import { logger } from '../../../helpers/logger' | 15 | import { logger } from '../../../helpers/logger' |
9 | import { CONFIG } from '../../../initializers/config' | 16 | import { CONFIG } from '../../../initializers/config' |
@@ -125,6 +132,7 @@ async function requestRegistration (req: express.Request, res: express.Response) | |||
125 | 132 | ||
126 | async function acceptRegistration (req: express.Request, res: express.Response) { | 133 | async function acceptRegistration (req: express.Request, res: express.Response) { |
127 | const registration = res.locals.userRegistration | 134 | const registration = res.locals.userRegistration |
135 | const body: UserRegistrationUpdateState = req.body | ||
128 | 136 | ||
129 | const userToCreate = buildUser({ | 137 | const userToCreate = buildUser({ |
130 | username: registration.username, | 138 | username: registration.username, |
@@ -150,26 +158,31 @@ async function acceptRegistration (req: express.Request, res: express.Response) | |||
150 | 158 | ||
151 | registration.userId = user.id | 159 | registration.userId = user.id |
152 | registration.state = UserRegistrationState.ACCEPTED | 160 | registration.state = UserRegistrationState.ACCEPTED |
153 | registration.moderationResponse = req.body.moderationResponse | 161 | registration.moderationResponse = body.moderationResponse |
154 | 162 | ||
155 | await registration.save() | 163 | await registration.save() |
156 | 164 | ||
157 | logger.info('Registration of %s accepted', registration.username) | 165 | logger.info('Registration of %s accepted', registration.username) |
158 | 166 | ||
159 | Emailer.Instance.addUserRegistrationRequestProcessedJob(registration) | 167 | if (body.preventEmailDelivery !== true) { |
168 | Emailer.Instance.addUserRegistrationRequestProcessedJob(registration) | ||
169 | } | ||
160 | 170 | ||
161 | return res.sendStatus(HttpStatusCode.NO_CONTENT_204) | 171 | return res.sendStatus(HttpStatusCode.NO_CONTENT_204) |
162 | } | 172 | } |
163 | 173 | ||
164 | async function rejectRegistration (req: express.Request, res: express.Response) { | 174 | async function rejectRegistration (req: express.Request, res: express.Response) { |
165 | const registration = res.locals.userRegistration | 175 | const registration = res.locals.userRegistration |
176 | const body: UserRegistrationUpdateState = req.body | ||
166 | 177 | ||
167 | registration.state = UserRegistrationState.REJECTED | 178 | registration.state = UserRegistrationState.REJECTED |
168 | registration.moderationResponse = req.body.moderationResponse | 179 | registration.moderationResponse = body.moderationResponse |
169 | 180 | ||
170 | await registration.save() | 181 | await registration.save() |
171 | 182 | ||
172 | Emailer.Instance.addUserRegistrationRequestProcessedJob(registration) | 183 | if (body.preventEmailDelivery !== true) { |
184 | Emailer.Instance.addUserRegistrationRequestProcessedJob(registration) | ||
185 | } | ||
173 | 186 | ||
174 | logger.info('Registration of %s rejected', registration.username) | 187 | logger.info('Registration of %s rejected', registration.username) |
175 | 188 | ||