Some checks failed
Main Confidence / confidence (push) Failing after 45s
## Summary - introduce surface-aware compressed governance outcomes and reuse the shared truth/explanation seams for operator-first summaries - apply the compressed outcome hierarchy across baseline, evidence, review, review-pack, canonical review/evidence, and artifact-oriented operation-run surfaces - expand spec 214 fixtures and Pest coverage, and fix tenant-panel route assertions by generating explicit tenant-panel URLs in the affected Filament tests ## Validation - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` - focused governance compression suite from `specs/214-governance-outcome-compression/quickstart.md` passed (`68` tests, `445` assertions) - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/InventoryItemResourceTest.php tests/Feature/Filament/BackupSetUiEnforcementTest.php tests/Feature/Filament/RestoreRunUiEnforcementTest.php` passed (`18` tests, `81` assertions) Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #253
66 lines
2.3 KiB
Plaintext
66 lines
2.3 KiB
Plaintext
import { entityKind } from "../entity.js";
|
|
import type { AnySQLiteColumn, SQLiteColumn } from "./columns/index.js";
|
|
import type { SQLiteTable } from "./table.js";
|
|
export type UpdateDeleteAction = 'cascade' | 'restrict' | 'no action' | 'set null' | 'set default';
|
|
export type Reference = () => {
|
|
readonly name?: string;
|
|
readonly columns: SQLiteColumn[];
|
|
readonly foreignTable: SQLiteTable;
|
|
readonly foreignColumns: SQLiteColumn[];
|
|
};
|
|
export declare class ForeignKeyBuilder {
|
|
static readonly [entityKind]: string;
|
|
_: {
|
|
brand: 'SQLiteForeignKeyBuilder';
|
|
foreignTableName: 'TForeignTableName';
|
|
};
|
|
constructor(config: () => {
|
|
name?: string;
|
|
columns: SQLiteColumn[];
|
|
foreignColumns: SQLiteColumn[];
|
|
}, actions?: {
|
|
onUpdate?: UpdateDeleteAction;
|
|
onDelete?: UpdateDeleteAction;
|
|
} | undefined);
|
|
onUpdate(action: UpdateDeleteAction): this;
|
|
onDelete(action: UpdateDeleteAction): this;
|
|
}
|
|
export declare class ForeignKey {
|
|
readonly table: SQLiteTable;
|
|
static readonly [entityKind]: string;
|
|
readonly reference: Reference;
|
|
readonly onUpdate: UpdateDeleteAction | undefined;
|
|
readonly onDelete: UpdateDeleteAction | undefined;
|
|
constructor(table: SQLiteTable, builder: ForeignKeyBuilder);
|
|
getName(): string;
|
|
}
|
|
type ColumnsWithTable<TTableName extends string, TColumns extends SQLiteColumn[]> = {
|
|
[Key in keyof TColumns]: AnySQLiteColumn<{
|
|
tableName: TTableName;
|
|
}>;
|
|
};
|
|
/**
|
|
* @deprecated please use `foreignKey({ columns: [], foreignColumns: [] })` syntax without callback
|
|
* @param config
|
|
* @returns
|
|
*/
|
|
export declare function foreignKey<TTableName extends string, TForeignTableName extends string, TColumns extends [AnySQLiteColumn<{
|
|
tableName: TTableName;
|
|
}>, ...AnySQLiteColumn<{
|
|
tableName: TTableName;
|
|
}>[]]>(config: () => {
|
|
name?: string;
|
|
columns: TColumns;
|
|
foreignColumns: ColumnsWithTable<TForeignTableName, TColumns>;
|
|
}): ForeignKeyBuilder;
|
|
export declare function foreignKey<TTableName extends string, TForeignTableName extends string, TColumns extends [AnySQLiteColumn<{
|
|
tableName: TTableName;
|
|
}>, ...AnySQLiteColumn<{
|
|
tableName: TTableName;
|
|
}>[]]>(config: {
|
|
name?: string;
|
|
columns: TColumns;
|
|
foreignColumns: ColumnsWithTable<TForeignTableName, TColumns>;
|
|
}): ForeignKeyBuilder;
|
|
export {};
|