Angular + Go + PostgreSQL sample with strict per-tenant isolation. - Backend: Go API (basic auth, tenant-scoped repository layer, pgx pool) - Frontend: Angular 22 SPA (search, checkout, bookings, dashboard) - Database: schema, seed data and demo bookings migrations - Tests: 311 across Go (integration), Angular (unit) and Playwright (e2e), plus a generated evidence report with PDF export - Security: whitebox VAPT report under security/ Secrets (.env, tokens, DB credentials) are git-ignored. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
49 lines
1.1 KiB
TypeScript
49 lines
1.1 KiB
TypeScript
/** The seeded demo accounts, from backend/migrations/002_seed.sql. */
|
|
|
|
export interface Account {
|
|
tenant: string;
|
|
tenantName: string;
|
|
email: string;
|
|
password: string;
|
|
fullName: string;
|
|
role: 'admin' | 'agent';
|
|
}
|
|
|
|
export const DEMO_PASSWORD = 'demo1234';
|
|
|
|
export const SKYLINE_AGENT: Account = {
|
|
tenant: 'skyline',
|
|
tenantName: 'Skyline Travel',
|
|
email: 'agent@skyline.test',
|
|
password: DEMO_PASSWORD,
|
|
fullName: 'Marcus Reid',
|
|
role: 'agent',
|
|
};
|
|
|
|
export const SKYLINE_ADMIN: Account = {
|
|
tenant: 'skyline',
|
|
tenantName: 'Skyline Travel',
|
|
email: 'admin@skyline.test',
|
|
password: DEMO_PASSWORD,
|
|
fullName: 'Ava Chen',
|
|
role: 'admin',
|
|
};
|
|
|
|
export const GLOBETROTTER_AGENT: Account = {
|
|
tenant: 'globetrotter',
|
|
tenantName: 'Globetrotter Tours',
|
|
email: 'agent@globetrotter.test',
|
|
password: DEMO_PASSWORD,
|
|
fullName: 'Tom Okafor',
|
|
role: 'agent',
|
|
};
|
|
|
|
export const GLOBETROTTER_ADMIN: Account = {
|
|
tenant: 'globetrotter',
|
|
tenantName: 'Globetrotter Tours',
|
|
email: 'admin@globetrotter.test',
|
|
password: DEMO_PASSWORD,
|
|
fullName: 'Priya Nair',
|
|
role: 'admin',
|
|
};
|