Files
myeasycms-v2/apps/web/config/paths.config.ts
Zaid Marzguioui b26e5aaafa
Some checks failed
Workflow / ʦ TypeScript (push) Failing after 6m20s
Workflow / ⚫️ Test (push) Has been skipped
feat: pre-existing local changes — fischerei, verband, modules, members, packages
Commits all remaining uncommitted local work:

- apps/web: fischerei, verband, modules, members-cms, documents,
  newsletter, meetings, site-builder, courses, bookings, events,
  finance pages and components
- apps/web: marketing page updates, layout, paths config,
  next.config.mjs, styles/makerkit.css
- apps/web/i18n: documents, fischerei, marketing, verband (de+en)
- packages/features: finance, fischerei, member-management,
  module-builder, newsletter, sitzungsprotokolle, verbandsverwaltung
  server APIs and components
- packages/ui: button.tsx updates
- pnpm-lock.yaml
2026-04-02 01:19:54 +02:00

80 lines
2.7 KiB
TypeScript

import * as z from 'zod';
const PathsSchema = z.object({
auth: z.object({
signIn: z.string().min(1),
signUp: z.string().min(1),
verifyMfa: z.string().min(1),
callback: z.string().min(1),
passwordReset: z.string().min(1),
passwordUpdate: z.string().min(1),
}),
app: z.object({
home: z.string().min(1),
personalAccountSettings: z.string().min(1),
personalAccountBilling: z.string().min(1),
personalAccountBillingReturn: z.string().min(1),
accountHome: z.string().min(1),
accountSettings: z.string().min(1),
accountBilling: z.string().min(1),
accountMembers: z.string().min(1),
accountBillingReturn: z.string().min(1),
accountProfileSettings: z.string().min(1),
createTeam: z.string().min(1),
joinTeam: z.string().min(1),
// CMS paths
accountModules: z.string().min(1),
accountCmsMembers: z.string().min(1),
accountCourses: z.string().min(1),
accountBookings: z.string().min(1),
accountFinance: z.string().min(1),
accountDocuments: z.string().min(1),
accountNewsletter: z.string().min(1),
accountSiteBuilder: z.string().min(1),
accountFischerei: z.string().min(1),
accountMeetings: z.string().min(1),
accountVerband: z.string().min(1),
accountFiles: z.string().min(1),
}),
});
const pathsConfig = PathsSchema.parse({
auth: {
signIn: '/auth/sign-in',
signUp: '/auth/sign-up',
verifyMfa: '/auth/verify',
callback: '/auth/callback',
passwordReset: '/auth/password-reset',
passwordUpdate: '/update-password',
},
app: {
home: '/home',
personalAccountSettings: '/home/settings',
personalAccountBilling: '/home/billing',
personalAccountBillingReturn: '/home/billing/return',
accountHome: '/home/[account]',
accountSettings: `/home/[account]/settings`,
accountBilling: `/home/[account]/billing`,
accountMembers: `/home/[account]/members`,
accountBillingReturn: `/home/[account]/billing/return`,
accountProfileSettings: `/home/[account]/settings/profile`,
createTeam: '/home/create-team',
joinTeam: '/join',
// CMS paths
accountModules: `/home/[account]/modules`,
accountCmsMembers: `/home/[account]/members-cms`,
accountCourses: `/home/[account]/courses`,
accountBookings: `/home/[account]/bookings`,
accountFinance: `/home/[account]/finance`,
accountDocuments: `/home/[account]/documents`,
accountNewsletter: `/home/[account]/newsletter`,
accountSiteBuilder: `/home/[account]/site-builder`,
accountFischerei: `/home/[account]/fischerei`,
accountMeetings: '/home/[account]/meetings',
accountVerband: '/home/[account]/verband',
accountFiles: `/home/[account]/files`,
},
} satisfies z.output<typeof PathsSchema>);
export default pathsConfig;