Skip to content

Commit

Permalink
Merge branch 'main' into MNTOR-3974-logo-update
Browse files Browse the repository at this point in the history
  • Loading branch information
Vinnl authored Feb 4, 2025
2 parents 9729eb8 + 0074089 commit b20c640
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,37 @@ import {
deleteSubscriberChurns,
} from "../../../../../../db/tables/subscriber_churns";
import { SubscriberChurnRow } from "knex/types/tables";
import { getServerSession } from "../../../../../functions/server/getServerSession";
import { isAdmin } from "../../../../../api/utils/auth";

/**
* Helper function to perform session + admin check.
* Returns true if the current session belongs to an admin user.
*/
async function isAuthorized(): Promise<boolean> {
const session = await getServerSession();
return Boolean(session?.user?.email && isAdmin(session.user.email));
}

export async function getAllChurns() {
if (!(await isAuthorized())) {
return null;
}
return getAllSubscriberChurns();
}

export async function upsertAllChurns(
churningSubscribers: SubscriberChurnRow[],
) {
if (!(await isAuthorized())) {
return null;
}
return upsertSubscriberChurns(churningSubscribers);
}

export async function clearAllChurns() {
if (!(await isAuthorized())) {
return null;
}
return deleteSubscriberChurns();
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export default async function DevPage() {

return (
<ChurnAdmin
churningSubscribers={await getAllChurns()}
churningSubscribers={(await getAllChurns()) ?? []}
churnsToEmail={await getChurnsToEmail()}
/>
);
Expand Down

0 comments on commit b20c640

Please sign in to comment.