mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-17 20:41:49 +03:00
11a454c2d6
This commit applies ormolu to the whole Haskell code base by running `make format`. For in-flight branches, simply merging changes from `main` will result in merge conflicts. To avoid this, update your branch using the following instructions. Replace `<format-commit>` by the hash of *this* commit. $ git checkout my-feature-branch $ git merge <format-commit>^ # and resolve conflicts normally $ make format $ git commit -a -m "reformat with ormolu" $ git merge -s ours post-ormolu https://github.com/hasura/graphql-engine-mono/pull/2404 GitOrigin-RevId: 75049f5c12f430c615eafb4c6b8e83e371e01c8e
36 lines
1.2 KiB
Haskell
36 lines
1.2 KiB
Haskell
module Hasura.RQL.DDL.Schema.Common where
|
|
|
|
import Hasura.Base.Error
|
|
import Hasura.Prelude
|
|
import Hasura.RQL.DDL.ComputedField
|
|
import Hasura.RQL.DDL.EventTrigger
|
|
import Hasura.RQL.DDL.Permission
|
|
import Hasura.RQL.DDL.Relationship
|
|
import Hasura.RQL.DDL.RemoteRelationship
|
|
import Hasura.RQL.DDL.Schema.Function
|
|
import Hasura.RQL.Types
|
|
import Hasura.SQL.AnyBackend qualified as AB
|
|
|
|
purgeDependentObject ::
|
|
forall b m.
|
|
(MonadError QErr m, BackendMetadata b) =>
|
|
SourceName ->
|
|
SourceObjId b ->
|
|
m MetadataModifier
|
|
purgeDependentObject source sourceObjId = case sourceObjId of
|
|
SOITableObj tn tableObj ->
|
|
pure $
|
|
MetadataModifier $
|
|
tableMetadataSetter @b source tn %~ case tableObj of
|
|
TOPerm rn pt -> dropPermissionInMetadata rn pt
|
|
TORel rn -> dropRelationshipInMetadata rn
|
|
TOTrigger trn -> dropEventTriggerInMetadata trn
|
|
TOComputedField ccn -> dropComputedFieldInMetadata ccn
|
|
TORemoteRel rrn -> dropRemoteRelationshipInMetadata rrn
|
|
_ -> id
|
|
SOIFunction qf -> pure $ dropFunctionInMetadata @b source qf
|
|
_ ->
|
|
throw500 $
|
|
"unexpected dependent object: "
|
|
<> reportSchemaObj (SOSourceObj source $ AB.mkAnyBackend sourceObjId)
|