in teamcity-invitations-plugin-server/src/main/java/org/jetbrains/teamcity/invitations/InvitationsLandingController.java [36:51]
public InvitationsLandingController(@NotNull WebControllerManager webControllerManager,
@NotNull InvitationsStorage invitations,
@NotNull AuthorizationInterceptor authorizationInterceptor,
@NotNull TeamCityCoreFacade core, @NotNull RootUrlHolder rootUrlHolder,
@NotNull InvitationsRegistry invitationRegistry) {
this.invitations = invitations;
this.core = core;
this.rootUrlHolder = rootUrlHolder;
webControllerManager.registerController(INVITATIONS_PATH, this);
authorizationInterceptor.addPathNotRequiringAuth(INVITATIONS_PATH);
invitationRegistry.registerInvitationsProvider(request -> {
String token = request.getParameter(TOKEN_URL_PARAM);
Invitation invitation = core.runAsSystem(() -> invitations.getInvitation(token));
return invitation != null;
});
}