Updated the propagated changes to also affect expiry date changes for corporates

This commit is contained in:
Tiago Ribeiro
2024-05-07 23:53:15 +01:00
parent ed0b8bcb99
commit 72fb934d4f
2 changed files with 115 additions and 80 deletions

View File

@@ -12,7 +12,7 @@ import moment from "moment";
import ShortUniqueId from "short-unique-id";
import {Payment} from "@/interfaces/paypal";
import {toFixedNumber} from "@/utils/number";
import {propagateStatusChange} from "@/utils/propagate.user.changes";
import {propagateExpiryDateChanges, propagateStatusChange} from "@/utils/propagate.user.changes";
const db = getFirestore(app);
const auth = getAuth(app);
@@ -79,15 +79,18 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const queryId = req.query.id as string;
const userRef = doc(db, "users", queryId ? (queryId as string) : req.session.user.id);
const userSnapshot = await getDoc(userRef);
const updatedUser = req.body as User & {password?: string; newPassword?: string};
if (!!queryId) {
const user = await setDoc(userRef, updatedUser, {merge: true});
await setDoc(userRef, updatedUser, {merge: true});
await managePaymentRecords(updatedUser, updatedUser.id);
const user = {...userSnapshot.data(), id: userSnapshot.id} as User;
if (updatedUser.status || updatedUser.type === "corporate") {
// there's no await as this does not affect the user
propagateStatusChange(queryId, updatedUser.status);
propagateExpiryDateChanges(queryId, user.subscriptionExpirationDate || null, updatedUser.subscriptionExpirationDate || null);
}
res.status(200).json({ok: true});