manifest
Version:
The backend for AI code editors
42 lines (41 loc) • 1.32 kB
TypeScript
import { HookManifest } from '../hooks';
import { MiddlewareManifest } from '../middlewares';
import { PolicyManifest } from './PolicyManifest';
import { PropertyManifest } from './PropertyManifest';
import { RelationshipManifest } from './RelationshipManifest';
export interface EntityManifest {
className: string;
nameSingular: string;
namePlural: string;
slug: string;
mainProp: string;
seedCount?: number;
authenticable?: boolean;
single?: boolean;
properties: PropertyManifest[];
relationships: RelationshipManifest[];
policies: {
create: PolicyManifest[];
read: PolicyManifest[];
update: PolicyManifest[];
delete: PolicyManifest[];
signup: PolicyManifest[];
};
hooks?: {
beforeCreate?: HookManifest[];
afterCreate?: HookManifest[];
beforeUpdate?: HookManifest[];
afterUpdate?: HookManifest[];
beforeDelete?: HookManifest[];
afterDelete?: HookManifest[];
};
middlewares?: {
beforeCreate?: MiddlewareManifest[];
afterCreate?: MiddlewareManifest[];
beforeUpdate?: MiddlewareManifest[];
afterUpdate?: MiddlewareManifest[];
beforeDelete?: MiddlewareManifest[];
afterDelete?: MiddlewareManifest[];
};
nested?: boolean;
}