/*
* Copyright (C) 2008-2024, Juick
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
package com.juick;
import com.juick.service.EmailService;
import com.juick.service.PatreonService;
import com.juick.service.VKService;
import com.juick.service.security.entities.JuickUser;
import jakarta.inject.Inject;
import org.springframework.context.ApplicationListener;
import org.springframework.security.authentication.event.AuthenticationSuccessEvent;
public class PremiumManager implements ApplicationListener {
@Inject
VKService vkService;
@Inject
PatreonService patreonService;
@Inject
EmailService emailService;
@Override
public void onApplicationEvent(AuthenticationSuccessEvent event) {
var juickUser = (JuickUser)event.getAuthentication().getPrincipal();
var isDon = vkService.updatePremiumStatus(juickUser.getUser().getUid());
if (!isDon) {
patreonService.updateStatus(emailService.getEmails(juickUser.getUser().getUid(), false));
}
}
}