/** Classroom Support — org-scoped but also editable by a campus director. */
export const CLASSROOM_SUPPORT_CONTENT_TYPE = 'classroom-strategies';

/** The safety/QBS quiz content type, dedicated per tenant (org/school/campus). */
export const SAFETY_QUIZ_CONTENT_TYPE = 'safety-qbs-quiz';

/** ESA funding content — school-scoped (rules depend on the school's locale). */
export const ESA_CONTENT_TYPE = 'esa-funding-content';

/**
 * **Per-tenant** content types (read/written at the user's own tenant level via
 * `getOwnTenant`; preset at organization + school + campus levels). The safety
 * quiz, dashboard, and parent templates span org/school/campus.
 */
export const PER_TENANT_CONTENT_TYPES: ReadonlySet<string> = new Set([
  SAFETY_QUIZ_CONTENT_TYPE,
  'dashboard-sign-of-week',
  'dashboard-teacher-images',
  'dashboard-encouraging-quotes',
  'dashboard-compliance-items',
]);

/** **School-scoped** content types (one per school). */
export const SCHOOL_SCOPED_CONTENT_TYPES: ReadonlySet<string> = new Set([
  ESA_CONTENT_TYPE,
]);

/** **Org-scoped** content types (one per organization; preset at org creation). */
export const ORG_SCOPED_CONTENT_TYPES: ReadonlySet<string> = new Set([
  CLASSROOM_SUPPORT_CONTENT_TYPE,
  'regulation-zones',
  'zones-of-regulation-page-content',
  'sign-language-items',
  'sign-language-page-content',
  'emotional-intelligence-assessment-questions',
  'emotional-intelligence-weekly-topics',
  'emotional-intelligence-growth-tips',
  'emotional-intelligence-team-wellness-metrics',
  'emotional-intelligence-weekly-focus',
  'community-organizations',
  'vocational-opportunities',
]);

/**
 * All tenant-scoped content types (per-tenant ∪ school ∪ org). Truly global
 * personality and classroom-timer catalogs live in frontend static constants.
 */
export const TENANT_SCOPED_CONTENT_TYPES: ReadonlySet<string> = new Set([
  ...PER_TENANT_CONTENT_TYPES,
  ...SCHOOL_SCOPED_CONTENT_TYPES,
  ...ORG_SCOPED_CONTENT_TYPES,
]);
