import { areMocksEnabled } from "@/mocks/env"; export type MockUserRole = "ap_operator" | "approver" | "admin"; export type MockUser = { id: string; name: string; email: string; role: MockUserRole; }; const seedUsers: MockUser[] = [ { id: "user-1", name: "Alex Rivera", email: "alex.rivera@seahaven.example", role: "ap_operator", }, { id: "user-2", name: "Jordan Lee", email: "jordan.lee@seahaven.example", role: "approver", }, { id: "user-3", name: "Sam Patel", email: "sam.patel@seahaven.example", role: "approver", }, { id: "user-4", name: "Casey Morgan", email: "casey.morgan@seahaven.example", role: "admin", }, ]; let userStore: MockUser[] = seedUsers.map((user) => ({ ...user })); export function getMockUsers(): MockUser[] { if (!areMocksEnabled()) { return []; } return userStore.map((user) => ({ ...user })); } export function getMockUser(id: string): MockUser | undefined { return getMockUsers().find((user) => user.id === id); } export function upsertMockUser(user: MockUser): MockUser { const index = userStore.findIndex((row) => row.id === user.id); const next = { ...user }; if (index === -1) { userStore = [...userStore, next]; } else { userStore = [...userStore.slice(0, index), next, ...userStore.slice(index + 1)]; } return { ...next }; } export function resetMockUsers(): void { userStore = seedUsers.map((user) => ({ ...user })); }