40 lines
658 B
TypeScript
40 lines
658 B
TypeScript
|
import { Property } from './Property';
|
||
|
|
||
|
export enum RemoveConstraint {
|
||
|
|
||
|
/*
|
||
|
* When the source Entity is removed also the target
|
||
|
* Entity is removed but if and only if the latter has no other
|
||
|
* incoming Relation.
|
||
|
*/
|
||
|
cascadeWhenOrphan,
|
||
|
|
||
|
/*
|
||
|
* When the source Entity is removed also the target
|
||
|
* Entity is removed.
|
||
|
*/
|
||
|
cascade,
|
||
|
|
||
|
/*
|
||
|
* When the source Entity is removed the target Entity
|
||
|
* is keep.
|
||
|
*/
|
||
|
keep
|
||
|
|
||
|
}
|
||
|
|
||
|
export enum AddConstraint {
|
||
|
|
||
|
propagate,
|
||
|
|
||
|
unpropagate
|
||
|
|
||
|
}
|
||
|
|
||
|
export interface PropagationConstraint extends Property {
|
||
|
|
||
|
remove: RemoveConstraint;
|
||
|
add: AddConstraint;
|
||
|
|
||
|
}
|