Updated the propagated changes to also affect expiry date changes for corporates
This commit is contained in:
@@ -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});
|
||||
|
||||
Reference in New Issue
Block a user