proclamation-categories: sub-category management inline in parent form

- Registry: Remove 'parent.name' from listFields (all shown records
  are top-level with no parent), remove 'parent: true' from include
  since unused
- +page.server.ts: Custom load filters to parentId=null (top-level
  only); custom upsert syncs children (create/update/delete) and
  handles P2002 duplicate-name errors; custom delete cascades to
  children first to avoid FK constraint violations
- CategoryForm.svelte: Replace parentId select dropdown with dynamic
  list of sub-category inputs. Each row has a name field and Remove
  button. Pre-populates from record.children when editing existing
  categories. Add Sub-category button appends new rows
- +page.svelte: Remove unused relationOptionsData prop from
  CategoryForm; rename submit button label from 'Update' to 'Save'
- prisma: Add ProclamationCategorySubscriptionLevel join table
  migration and regenerate client
- General: Update TipTap mock, Toast, license-keys page, proclamations
  server/route tests, README, AGENTS.md, and other admin forms
This commit is contained in:
NeilClack
2026-07-08 10:31:28 -05:00
parent 37bed4f64c
commit 93d941569e
35 changed files with 23467 additions and 19108 deletions
+32 -33
View File
@@ -1,84 +1,83 @@
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
/* eslint-disable */
// biome-ignore-all lint: generated file
// @ts-nocheck
// @ts-nocheck
/*
* This file should be your main import to use Prisma-related types and utilities in a browser.
* This file should be your main import to use Prisma-related types and utilities in a browser.
* Use it to get access to models, enums, and input types.
*
*
* This file does not contain a `PrismaClient` class, nor several other helpers that are intended as server-side only.
* See `client.ts` for the standard, server-side entry point.
*
* 🟢 You can import this file directly.
*/
import * as Prisma from './internal/prismaNamespaceBrowser.ts'
export { Prisma }
export * as $Enums from './enums.ts'
import * as Prisma from './internal/prismaNamespaceBrowser.ts';
export { Prisma };
export * as $Enums from './enums.ts';
export * from './enums.ts';
/**
* Model User
*
*
*/
export type User = Prisma.UserModel
export type User = Prisma.UserModel;
/**
* Model Profile
*
*
*/
export type Profile = Prisma.ProfileModel
export type Profile = Prisma.ProfileModel;
/**
* Model Address
*
*
*/
export type Address = Prisma.AddressModel
export type Address = Prisma.AddressModel;
/**
* Model Session
*
*
*/
export type Session = Prisma.SessionModel
export type Session = Prisma.SessionModel;
/**
* Model Account
*
*
*/
export type Account = Prisma.AccountModel
export type Account = Prisma.AccountModel;
/**
* Model UserRole
*
*
*/
export type UserRole = Prisma.UserRoleModel
export type UserRole = Prisma.UserRoleModel;
/**
* Model Verification
*
*
*/
export type Verification = Prisma.VerificationModel
export type Verification = Prisma.VerificationModel;
/**
* Model Proclamation
*
*
*/
export type Proclamation = Prisma.ProclamationModel
export type Proclamation = Prisma.ProclamationModel;
/**
* Model UserProclamations
*
*
*/
export type UserProclamations = Prisma.UserProclamationsModel
export type UserProclamations = Prisma.UserProclamationsModel;
/**
* Model SolfeggioFrequency
*
*
*/
export type SolfeggioFrequency = Prisma.SolfeggioFrequencyModel
export type SolfeggioFrequency = Prisma.SolfeggioFrequencyModel;
/**
* Model ProclamationCategory
*
*
*/
export type ProclamationCategory = Prisma.ProclamationCategoryModel
export type ProclamationCategory = Prisma.ProclamationCategoryModel;
/**
* Model LicenseKey
*
*
*/
export type LicenseKey = Prisma.LicenseKeyModel
export type LicenseKey = Prisma.LicenseKeyModel;
/**
* Model SubscriptionLevel
*
*
*/
export type SubscriptionLevel = Prisma.SubscriptionLevelModel
export type SubscriptionLevel = Prisma.SubscriptionLevelModel;