0ac4beaaa8
- Add requireAuth() to admin-permissions.ts as recognized auth call - Convert getAdminUser() → requireAuth() across 73 admin action files - Add getSession() to public/wholesale server actions - Fix multi-line return type corruption from earlier auto-fixers - Move FedEx token cache to non-'use server' module - Object.freeze module-level constants: PRICE_KEYS, EMPTY_MOBILE_DASHBOARD, EMPTY_PAY_PERIOD, LOCALE_CART_SUBJECT, WELCOME_EMAILS - Update Stripe API version 2026-05-27 → 2026-06-24 - Fix wholesale employee portal: getEmployeeSessionAction + EmployeePortalClient - Fix 51 TypeScript errors (return type corruption, missing imports)
37 lines
1.0 KiB
TypeScript
37 lines
1.0 KiB
TypeScript
"use server";
|
|
|
|
import { getAdminUser } from "@/lib/admin-permissions";
|
|
import { getSession } from "@/lib/auth";
|
|
|
|
// TODO(migration): the `check_and_notify_overtime` SECURITY DEFINER
|
|
// RPC and the time-tracking notification tables are not part of the
|
|
// SaaS rebuild schema. The function below is a stub that returns
|
|
// `{ sent: false }` so the cron-style caller (`/api/time-tracking/notify`)
|
|
// degrades gracefully. See `actions/route-trace/lots.ts` for the
|
|
// same pattern.
|
|
|
|
export type OvertimeCheckResult = {
|
|
sent: boolean;
|
|
trigger_type?: string;
|
|
message?: string;
|
|
notification_log_id?: string;
|
|
};
|
|
|
|
export async function checkAndNotifyOvertime(
|
|
_brandId: string,
|
|
_workerId: string,
|
|
_workerName: string,
|
|
_dailyHours: number,
|
|
_weeklyHours: number
|
|
): Promise<OvertimeCheckResult> {
|
|
|
|
await getSession(); const adminUser = await getAdminUser();
|
|
if (!adminUser) {
|
|
return { sent: false, message: "Not authenticated" };
|
|
}
|
|
return {
|
|
sent: false,
|
|
message: "Time tracking is not configured in the SaaS rebuild",
|
|
};
|
|
}
|