Class DeleteMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>

Mutator for deleting an existing entity.

Type Parameters

  • TFields extends object

  • TID extends NonNullable<TFields[TSelectedFields]>

  • TViewerContext extends ViewerContext

  • TEntity extends Entity<TFields, TID, TViewerContext, TSelectedFields>

  • TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>

  • TSelectedFields extends keyof TFields

Hierarchy

  • BaseMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>
    • DeleteMutator

Constructors

  • Type Parameters

    • TFields extends object

    • TID extends {}

    • TViewerContext extends ViewerContext<TViewerContext>

    • TEntity extends Entity<TFields, TID, TViewerContext, TSelectedFields, TEntity>

    • TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields, TPrivacyPolicy>

    • TSelectedFields extends string | number | symbol

    Parameters

    Returns DeleteMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>

Properties

companionProvider: EntityCompanionProvider
databaseAdapter: EntityDatabaseAdapter<TFields>
entity: TEntity
entityClass: IEntityClass<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>
entityConfiguration: EntityConfiguration<TFields>
entityLoaderFactory: EntityLoaderFactory<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>
metricsAdapter: IEntityMetricsAdapter
mutationTriggers: EntityMutationTriggerConfiguration<TFields, TID, TViewerContext, TEntity, TSelectedFields>
mutationValidators: EntityMutationValidator<TFields, TID, TViewerContext, TEntity, TSelectedFields>[]
privacyPolicy: TPrivacyPolicy
queryContext: EntityQueryContext
viewerContext: TViewerContext

Methods

  • Delete the entity after authorizing against delete privacy rules. The entity is invalidated in all caches.

    Returns Promise<Result<void>>

    void result, where result error can be UnauthorizedError

  • Parameters

    • processedEntityIdentifiersFromTransitiveDeletions: Set<string>
    • skipDatabaseDeletion: boolean
    • cascadingDeleteCause: null | EntityCascadingDeletionInfo

    Returns Promise<Result<void>>

  • Finds all entities referencing the specified entity and either deletes them, nullifies their references to the specified entity, or invalidates the cache depending on the OnDeleteBehavior of the field referencing the specified entity.

    Parameters

    Returns Promise<void>

    Remarks

    This works by doing reverse fan-out queries:

    1. Load all entity configurations of entity types that reference this type of entity
    2. For each entity configuration, find all fields that contain edges to this type of entity
    3. For each edge field, load all entities with an edge from target entity to this entity via that field
    4. Perform desired OnDeleteBehavior for entities

Generated using TypeDoc