diff --git a/modules/store/src/main/scala/docspell/store/queries/QOrganization.scala b/modules/store/src/main/scala/docspell/store/queries/QOrganization.scala index d83e2a25..dc3c13fd 100644 --- a/modules/store/src/main/scala/docspell/store/queries/QOrganization.scala +++ b/modules/store/src/main/scala/docspell/store/queries/QOrganization.scala @@ -197,8 +197,9 @@ object QOrganization { for { n0 <- RItem.removeCorrOrg(collective, orgId) n1 <- RContact.deleteOrg(orgId) - n2 <- ROrganization.delete(orgId, collective) - } yield n0 + n1 + n2 + n2 <- RPerson.removeOrg(orgId) + n3 <- ROrganization.delete(orgId, collective) + } yield n0 + n1 + n2 + n3 def deletePerson(personId: Ident, collective: Ident): ConnectionIO[Int] = for { diff --git a/modules/store/src/main/scala/docspell/store/records/RPerson.scala b/modules/store/src/main/scala/docspell/store/records/RPerson.scala index cb2d2909..8f265a48 100644 --- a/modules/store/src/main/scala/docspell/store/records/RPerson.scala +++ b/modules/store/src/main/scala/docspell/store/records/RPerson.scala @@ -178,4 +178,7 @@ object RPerson { case None => Sync[ConnectionIO].pure(Vector.empty) } + + def removeOrg(orgId: Ident): ConnectionIO[Int] = + DML.update(T, T.oid === orgId, DML.set(T.oid.setTo(None))) }