From f4a03e7c69087b0dd017393cda3e0cc7ab43f5a2 Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Thu, 21 Jan 2021 21:27:02 +0100 Subject: [PATCH] Fix deleting organization The foreign key in person must be resetted. --- .../main/scala/docspell/store/queries/QOrganization.scala | 5 +++-- .../src/main/scala/docspell/store/records/RPerson.scala | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) 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))) }