certifications.ts: create/update/delete/list cert types (gated by certifications.manage; delete refused once granted, archive instead), and grant/revoke/renew/listMemberCertifications/getMyCertifications (gated by certifications.grant, the Instructor capability). Grant verifies cert and target member are in-space and the cert is active, computes expiry from validity_months unless overridden, and relies on the partial unique index for one active grant per member+cert. Revoke is soft; nothing is ever deleted. getMyCertifications takes no params (member resolved from session; RLS restricts to own rows). certifications-guard.ts mirrors the forms guard for the admin pages. Barrel re-export and API_REFERENCE updated.
53 lines
1.3 KiB
TypeScript
53 lines
1.3 KiB
TypeScript
/**
|
|
* Barrel re-export for server actions.
|
|
*
|
|
* Client components and pages import action functions via `@/lib/actions`.
|
|
* Each domain lives in its own file in this directory; this barrel keeps
|
|
* the import path stable as the directory grows.
|
|
*
|
|
* Do NOT add `'use server'` here. The directive lives on the domain files
|
|
* themselves; re-exports preserve the marking.
|
|
*/
|
|
|
|
export * from './tasks'
|
|
export * from './projects'
|
|
export * from './members'
|
|
export * from './contacts'
|
|
export * from './payments'
|
|
export * from './knowledge-base'
|
|
export * from './secrets'
|
|
export * from './area-leads'
|
|
export * from './settings'
|
|
export * from './imports'
|
|
|
|
// Governance kernel (Tier 1)
|
|
export * from './proposals'
|
|
export * from './incidents'
|
|
export * from './policies'
|
|
|
|
// Per-space configurable taxonomies
|
|
export * from './areas'
|
|
|
|
// Forum and polymorphic comments
|
|
export * from './forum'
|
|
|
|
// User-creatable chat channels
|
|
export * from './comms'
|
|
|
|
// Custom tiers, custom roles, multi-code invites
|
|
export * from './tiers'
|
|
export * from './roles'
|
|
export * from './invites'
|
|
|
|
// Configurable member onboarding
|
|
export * from './onboarding'
|
|
|
|
// Customizable permissions, per-item Ops ACLs, area-lead roles
|
|
export * from './permissions'
|
|
|
|
// Custom forms and waivers
|
|
export * from './forms'
|
|
|
|
// Certifications + Instructor capability
|
|
export * from './certifications'
|