Set destination account on the request context
This commit is contained in:
parent
1428ca73de
commit
6bda9d8604
|
@ -143,6 +143,8 @@ public class MessageController {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(MessageController.class);
|
private static final Logger logger = LoggerFactory.getLogger(MessageController.class);
|
||||||
|
|
||||||
|
public static final String DESTINATION_ACCOUNT_PROPERTY_NAME = "destinationAccount";
|
||||||
|
|
||||||
private final RateLimiters rateLimiters;
|
private final RateLimiters rateLimiters;
|
||||||
private final CardinalityEstimator messageByteLimitEstimator;
|
private final CardinalityEstimator messageByteLimitEstimator;
|
||||||
private final MessageSender messageSender;
|
private final MessageSender messageSender;
|
||||||
|
@ -284,13 +286,14 @@ public class MessageController {
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<Account> destination;
|
Optional<Account> destination;
|
||||||
|
|
||||||
if (!isSyncMessage) {
|
if (!isSyncMessage) {
|
||||||
destination = accountsManager.getByServiceIdentifier(destinationIdentifier);
|
destination = accountsManager.getByServiceIdentifier(destinationIdentifier);
|
||||||
} else {
|
} else {
|
||||||
destination = source.map(AuthenticatedAccount::getAccount);
|
destination = source.map(AuthenticatedAccount::getAccount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
destination.ifPresent(account -> context.setProperty(DESTINATION_ACCOUNT_PROPERTY_NAME, account));
|
||||||
|
|
||||||
// Stories will be checked by the client; we bypass access checks here for stories.
|
// Stories will be checked by the client; we bypass access checks here for stories.
|
||||||
if (!isStory) {
|
if (!isStory) {
|
||||||
OptionalAccess.verify(source.map(AuthenticatedAccount::getAccount), accessKey, destination);
|
OptionalAccess.verify(source.map(AuthenticatedAccount::getAccount), accessKey, destination);
|
||||||
|
|
Loading…
Reference in New Issue