From 85cffe779374db0ca09eaa9b66d747c5334cdb91 Mon Sep 17 00:00:00 2001
From: Hugo Renard <hugo.renard@protonmail.com>
Date: Thu, 31 Oct 2024 15:49:08 +0100
Subject: [PATCH] chore: redirect to new repo

---
 .gitignore                                    |   4 -
 .gitlab-ci.yml                                |  10 -
 .vscode/settings.json                         |   3 -
 LICENSE                                       | 201 -------------
 README.md                                     | 105 +------
 auto.sh                                       |   4 -
 build.gradle                                  |  28 --
 docker-compose.yml                            |  33 --
 docs/container.md                             |  15 -
 docs/dependencies.md                          |  14 -
 docs/img/event-listener-page.png              | Bin 83173 -> 0 bytes
 docs/img/federation-provider-page.png         | Bin 107002 -> 0 bytes
 docs/installation.md                          |  21 --
 keycloak-scim.iml                             | 106 -------
 .../sh/libre/scim/core/ScimDispatcher.java    | 171 -----------
 ...ntConfigurationStorageProviderFactory.java | 165 ----------
 .../scim/core/ScrimEndPointConfiguration.java | 101 -------
 .../InconsistentScimMappingException.java     |   7 -
 ...alidResponseFromScimEndpointException.java |  29 --
 .../core/exceptions/RollbackApproach.java     |  55 ----
 .../core/exceptions/RollbackStrategy.java     |  22 --
 .../core/exceptions/ScimExceptionHandler.java |  43 ---
 .../exceptions/ScimPropagationException.java  |  12 -
 .../core/exceptions/SkipOrStopApproach.java   |  59 ----
 .../core/exceptions/SkipOrStopStrategy.java   |  66 ----
 .../UnexpectedScimDataException.java          |   7 -
 .../core/service/AbstractScimService.java     | 281 ------------------
 .../core/service/EntityOnRemoteScimId.java    |   6 -
 .../scim/core/service/GroupScimService.java   | 131 --------
 .../libre/scim/core/service/KeycloakDao.java  |  81 -----
 .../libre/scim/core/service/KeycloakId.java   |   7 -
 .../libre/scim/core/service/ScimClient.java   | 155 ----------
 .../scim/core/service/ScimResourceType.java   |  29 --
 .../scim/core/service/UserScimService.java    | 145 ---------
 .../ScimBackgroundGroupMembershipUpdater.java |  74 -----
 .../scim/event/ScimEventListenerProvider.java | 247 ---------------
 .../ScimEventListenerProviderFactory.java     |  36 ---
 .../sh/libre/scim/jpa/ScimResourceDao.java    |  96 ------
 .../sh/libre/scim/jpa/ScimResourceId.java     |  83 ------
 .../libre/scim/jpa/ScimResourceMapping.java   |  89 ------
 .../libre/scim/jpa/ScimResourceProvider.java  |  29 --
 .../scim/jpa/ScimResourceProviderFactory.java |  39 ---
 .../META-INF/jboss-deployment-structure.xml   |  10 -
 .../META-INF/scim-resource-changelog.xml      |  35 ---
 ...pa.entityprovider.JpaEntityProviderFactory |   1 -
 ...ycloak.events.EventListenerProviderFactory |   1 -
 ...eycloak.storage.UserStorageProviderFactory |   1 -
 47 files changed, 1 insertion(+), 2856 deletions(-)
 delete mode 100644 .gitignore
 delete mode 100644 .gitlab-ci.yml
 delete mode 100644 .vscode/settings.json
 delete mode 100644 LICENSE
 delete mode 100755 auto.sh
 delete mode 100644 build.gradle
 delete mode 100644 docker-compose.yml
 delete mode 100644 docs/container.md
 delete mode 100644 docs/dependencies.md
 delete mode 100644 docs/img/event-listener-page.png
 delete mode 100644 docs/img/federation-provider-page.png
 delete mode 100644 docs/installation.md
 delete mode 100644 keycloak-scim.iml
 delete mode 100644 src/main/java/sh/libre/scim/core/ScimDispatcher.java
 delete mode 100644 src/main/java/sh/libre/scim/core/ScimEndpointConfigurationStorageProviderFactory.java
 delete mode 100644 src/main/java/sh/libre/scim/core/ScrimEndPointConfiguration.java
 delete mode 100644 src/main/java/sh/libre/scim/core/exceptions/InconsistentScimMappingException.java
 delete mode 100644 src/main/java/sh/libre/scim/core/exceptions/InvalidResponseFromScimEndpointException.java
 delete mode 100644 src/main/java/sh/libre/scim/core/exceptions/RollbackApproach.java
 delete mode 100644 src/main/java/sh/libre/scim/core/exceptions/RollbackStrategy.java
 delete mode 100644 src/main/java/sh/libre/scim/core/exceptions/ScimExceptionHandler.java
 delete mode 100644 src/main/java/sh/libre/scim/core/exceptions/ScimPropagationException.java
 delete mode 100644 src/main/java/sh/libre/scim/core/exceptions/SkipOrStopApproach.java
 delete mode 100644 src/main/java/sh/libre/scim/core/exceptions/SkipOrStopStrategy.java
 delete mode 100644 src/main/java/sh/libre/scim/core/exceptions/UnexpectedScimDataException.java
 delete mode 100644 src/main/java/sh/libre/scim/core/service/AbstractScimService.java
 delete mode 100644 src/main/java/sh/libre/scim/core/service/EntityOnRemoteScimId.java
 delete mode 100644 src/main/java/sh/libre/scim/core/service/GroupScimService.java
 delete mode 100644 src/main/java/sh/libre/scim/core/service/KeycloakDao.java
 delete mode 100644 src/main/java/sh/libre/scim/core/service/KeycloakId.java
 delete mode 100644 src/main/java/sh/libre/scim/core/service/ScimClient.java
 delete mode 100644 src/main/java/sh/libre/scim/core/service/ScimResourceType.java
 delete mode 100644 src/main/java/sh/libre/scim/core/service/UserScimService.java
 delete mode 100644 src/main/java/sh/libre/scim/event/ScimBackgroundGroupMembershipUpdater.java
 delete mode 100644 src/main/java/sh/libre/scim/event/ScimEventListenerProvider.java
 delete mode 100644 src/main/java/sh/libre/scim/event/ScimEventListenerProviderFactory.java
 delete mode 100644 src/main/java/sh/libre/scim/jpa/ScimResourceDao.java
 delete mode 100644 src/main/java/sh/libre/scim/jpa/ScimResourceId.java
 delete mode 100644 src/main/java/sh/libre/scim/jpa/ScimResourceMapping.java
 delete mode 100644 src/main/java/sh/libre/scim/jpa/ScimResourceProvider.java
 delete mode 100644 src/main/java/sh/libre/scim/jpa/ScimResourceProviderFactory.java
 delete mode 100644 src/main/resources/META-INF/jboss-deployment-structure.xml
 delete mode 100644 src/main/resources/META-INF/scim-resource-changelog.xml
 delete mode 100644 src/main/resources/META-INF/services/org.keycloak.connections.jpa.entityprovider.JpaEntityProviderFactory
 delete mode 100644 src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory
 delete mode 100644 src/main/resources/META-INF/services/org.keycloak.storage.UserStorageProviderFactory

diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 0a76f5b..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/build
-/bin
-/.idea
-/.gradle
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index 99347f1..0000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-package:
-  image:
-    name: gradle:jdk17
-  script:
-    - gradle jar shadowjar
-  artifacts:
-    paths:
-      - build/libs/keycloak-scim-1.0-SNAPSHOT.jar
-      - build/libs/keycloak-scim-1.0-SNAPSHOT-all.jar
-      - build/libs/keycloak-scim-1.0-SNAPSHOT-all-legacy.jar
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index e0f15db..0000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "java.configuration.updateBuildConfiguration": "automatic"
-}
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index ff4ec16..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2022 libre.sh / scim
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/README.md b/README.md
index 785758b..766de55 100644
--- a/README.md
+++ b/README.md
@@ -1,104 +1 @@
-# keycloak-scim-client
-
-This extension add [SCIM2](http://www.simplecloud.info) client capabilities to Keycloak.
-
-It allows to :
-
-* Declare SCIM endpoints (through the identity federation UI). Any tool implementing SCIM protocol can be wired to the
-  Keycloack instance through this declaration.
-* Propagate users and groups from Keycloack to SCIM endpoints : when a user/group gets created or modified in Keycloack,
-  the modification is fowarded to all declared SCIM endpoints through SCIM calls within the transaction scope. If
-  propagation fails, changes can be rolled back or not according to a configurable rollback strategy.
-* Import users and groups from SCIM endpoints (through the Keycloack synchronization mechanism).
-
-See [RFC7643](https://datatracker.ietf.org/doc/html/rfc7643)
-and [RFC7644](https://datatracker.ietf.org/doc/html/rfc7644)) for further details
-
-## Overview
-
-### Motivation
-
-We want to build a unified collaborative platform based on multiple applications. To do that, we need a way to propagate
-immediately changes made in Keycloak to all these applications. And we want to keep using OIDC or SAML as the
-authentication protocol.
-
-This will allow users to collaborate seamlessly across the platform without requiring every user to have connected once
-to each application. This will also ease GDRP compliance because deleting a user in Keycloak will delete the user from
-every app. The SCIM protocol is standard, comprehensible and easy to implement. It's a perfect fit for our goal.
-
-We chose to build application extensions/plugins because it's easier to deploy and thus will benefit to a larger portion
-of the FOSS community.
-
-#### Keycloak specific
-
-This extension uses 3 concepts in KeyCloack :
-
-- Event Listener : used to listen for changes within Keycloack (e.g. User creation, Group deletion...) and propagate
-  them to registered SCIM service providers through SCIM requests.
-- Federation Provider : used to set up all the SCIM service providers endpoint without creating our own UI.
-- JPA Entity Provider : used to save the mapping between the local IDs and the service providers IDs.
-
-## Usage
-
-### Development mode
-
-From the repository root :
-
-* Launch the docker-compose image (composed of a postgre and keycloack instance runing on localhost:8080) :
-  ``docker compose up -d``
-* Execute ``gradle jar shadowJar && docker compose restart keycloak`` to build extension and update the Keycloack
-  instance
-* You can access extension logs through ``docker compose logs -f``
-
-### Installation
-
-1. Download
-   the [latest version](https://lab.libreho.st/libre.sh/scim/keycloak-scim/-/jobs/artifacts/main/raw/build/libs/keycloak-scim-1.0-SNAPSHOT-all.jar?job=package)
-2. Put it in `/opt/keycloak/providers/`.
-
-It's also possible to build your own custom image if you run Keycloak in a [container](/docs/container.md).
-
-Other [installation options](/docs/installation.md) are available.
-
-### Setup
-
-#### Enable SCIM Event listeners
-
-1. Go to `Admin Console > Events > Config`.
-2. Add `scim` in `Event Listeners`.
-3. Save.
-
-![Event listener page](/docs/img/event-listener-page.png)
-
-#### Register SCIM Service Providers
-
-1. Go to `Admin Console > Realm Settings > Events`.
-2. Add `scim` to the list of event listers
-3. Save
-
-![Federation provider page](/docs/img/federation-provider-page.png)
-
-### Configuration
-
-Add the endpoint - for a local set up you have to add the two containers in a docker network and use the container ip
-see [here](https://docs.docker.com/engine/reference/commandline/network/)
-If you use the [rocketchat app](https://lab.libreho.st/libre.sh/scim/rocketchat-scim) you get the endpoint from your
-rocket Chat Scim Adapter App Details.
-Endpoint content type is application/json.
-Auth mode Bearer or None for local test setup.
-Copy the bearer token from your app details in rocketchat.
-
-If you enable import during sync then you can choose between to following import actions:
-
-- Create Local - adds users to keycloak
-- Nothing
-- Delete Remote - deletes users from the remote application
-
-### Sync
-
-You can set up a periodic sync for all users or just changed users - it's not mandatory. You can either do:
-
-- Periodic Full Sync
-- Periodic Changed User Sync
-
-**[License AGPL](/LICENSE)**
+Moved to https://forge.libre.sh/libre.sh/keycloak-scim.
\ No newline at end of file
diff --git a/auto.sh b/auto.sh
deleted file mode 100755
index 884ba67..0000000
--- a/auto.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-gradle jar shadowjar
-scp build/libs/keycloak-scim-1.0-SNAPSHOT-all.jar root@192.168.130.252:/var/www/html/keycloak-scim-1.0-SNAPSHOT-all.jar
-scp build/libs/keycloak-scim-1.0-SNAPSHOT-all.jar root@192.168.130.252:/var/www/html/keycloak-scim-aws-1.0-SNAPSHOT-all.jar
-k delete pod keycloak-keycloakx-0 -n keycloak
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index 7897ff6..0000000
--- a/build.gradle
+++ /dev/null
@@ -1,28 +0,0 @@
-plugins {
-    id 'java'
-    id 'com.github.johnrengelman.shadow' version '8.1.1'
-    id "org.sonarqube" version "5.1.0.4882"
-    id "com.github.ben-manes.versions" version "0.51.0"
-}
-
-group = 'sh.libre.scim'
-version = '1.0-SNAPSHOT'
-description = 'keycloak-scim'
-
-java.sourceCompatibility = JavaVersion.VERSION_17
-
-repositories {
-    mavenLocal()
-    mavenCentral()
-}
-
-dependencies {
-    compileOnly 'org.keycloak:keycloak-core:26.0.1'
-    compileOnly 'org.keycloak:keycloak-server-spi:26.0.1'
-    compileOnly 'org.keycloak:keycloak-server-spi-private:26.0.1'
-    compileOnly 'org.keycloak:keycloak-services:26.0.1'
-    compileOnly 'org.keycloak:keycloak-model-jpa:26.0.1'
-    implementation 'io.github.resilience4j:resilience4j-retry:2.2.0'
-    implementation 'de.captaingoldfish:scim-sdk-common:1.26.0'
-    implementation 'de.captaingoldfish:scim-sdk-client:1.26.0'
-}
diff --git a/docker-compose.yml b/docker-compose.yml
deleted file mode 100644
index 43e4f3a..0000000
--- a/docker-compose.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-version: "3"
-
-services:
-  postgres:
-    image: postgres
-    volumes:
-      - db:/var/lib/postgresql/data
-    environment:
-      POSTGRES_USER: keycloak
-      POSTGRES_PASSWORD: keycloak
-    ports:
-      - 5432:5432
-  keycloak:
-    image: quay.io/keycloak/keycloak:26.0.1
-    build: .
-    command: start-dev
-    volumes:
-      - ./build/libs/keycloak-scim-1.0-SNAPSHOT-all.jar:/opt/keycloak/providers/keycloak-scim-1.0-SNAPSHOT-all.jar
-    environment:
-      KC_DB: postgres
-      KC_DB_URL_HOST: postgres
-      KC_DB_USERNAME: keycloak
-      KC_DB_PASSWORD: keycloak
-      KEYCLOAK_ADMIN: admin
-      KEYCLOAK_ADMIN_PASSWORD: admin
-      KC_LOG_LEVEL: INFO,sh.libre.scim:debug,de.captaingoldfish.scim:debug
-    ports:
-      - 127.0.0.1:8080:8080
-    depends_on:
-      - postgres
-
-volumes:
-  db:
diff --git a/docs/container.md b/docs/container.md
deleted file mode 100644
index 086b87f..0000000
--- a/docs/container.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Container
-
-## Quarkus
-
-```
-FROM quay.io/keycloak/keycloak as builder
-RUN curl "https://lab.libreho.st/libre.sh/scim/keycloak-scim/-/jobs/artifacts/main/raw/build/libs/keycloak-scim-1.0-SNAPSHOT-all.jar?job=package" -Lo /opt/keycloak/providers/keycloak-scim-1.0-SNAPSHOT-all.jar
-RUN /opt/keycloak/bin/kc.sh build
-
-FROM quay.io/keycloak/keycloak
-COPY --from=builder /opt/keycloak/ /opt/keycloak/
-WORKDIR /opt/keycloak
-ENTRYPOINT ["/opt/keycloak/bin/kc.sh"]
-CMD ["start"]
-```
diff --git a/docs/dependencies.md b/docs/dependencies.md
deleted file mode 100644
index 424136e..0000000
--- a/docs/dependencies.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Dependencies
-
-| Name | Version | Quarkus | Wildfly | Download |
-| --- | --- | --- | --- | --- |
-| io.github.resilience4j:resilience4j-retry | 1.7.1 | X | X | [link](https://repo1.maven.org/maven2/io/github/resilience4j/resilience4j-retry/1.7.1/resilience4j-retry-1.7.1.jar) |
-| io.github.resilience4j:resilience4j-core | 1.7.1 | X | X | [link](https://repo1.maven.org/maven2/io/github/resilience4j/resilience4j-core/1.7.1/resilience4j-core-1.7.1.jar) |
-| io.vavr:vavr | 0.10.2 | X | X | [link](https://repo1.maven.org/maven2/io/vavr/vavr/0.10.2/vavr-0.10.2.jar) |
-| io.vavr:vavr-match | 0.10.2 | X | X | [link](https://repo1.maven.org/maven2/io/vavr/vavr-match/0.10.2/vavr-match-0.10.2.jar) |
-| org.slf4j:slf4j-api | 1.7.30 | X | X | [link](https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar) |
-| com.unboundid.product.scim2:scim2-sdk-client | 2.3.7 | X | X | [link](https://repo1.maven.org/maven2/com/unboundid/product/scim2/scim2-sdk-client/2.3.7/scim2-sdk-client-2.3.7.jar) |
-| com.unboundid.product.scim2:scim2-sdk-common | 2.3.7 | X | X | [link](https://repo1.maven.org/maven2/com/unboundid/product/scim2/scim2-sdk-common/2.3.7/scim2-sdk-common-2.3.7.jar) |
-| org.wildfly.client:wildfly-client-config | 1.0.1.Final | X |  | [link](https://repo1.maven.org/maven2/org/wildfly/client/wildfly-client-config/1.0.1.Final/wildfly-client-config-1.0.1.Final.jar) |
-| org.jboss.resteasy:resteasy-client | 4.7.6.Final | X |  | [link](https://repo1.maven.org/maven2/org/jboss/resteasy/resteasy-client/4.7.6.Final/resteasy-client-4.7.6.Final.jar) |
-| org.jboss.resteasy:resteasy-client-api | 4.7.6.Final | X |  | [link](https://repo1.maven.org/maven2/org/jboss/resteasy/resteasy-client-api/4.7.6.Final/resteasy-client-api-4.7.6.Final.jar) |
\ No newline at end of file
diff --git a/docs/img/event-listener-page.png b/docs/img/event-listener-page.png
deleted file mode 100644
index 5c45734c68fcc9ecfe558cd84fb571c8fcffb20f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 83173
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%0ALz23~=
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

diff --git a/docs/img/federation-provider-page.png b/docs/img/federation-provider-page.png
deleted file mode 100644
index 390128f581b6bca7ea04d272ab71299788a99f79..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 107002
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%0A>EGsKB0{T`dw_!;zKx<BW
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
ZrpIsX$1*sAv&nl>BrlwOdiv7M{{kbBmK^{9

diff --git a/docs/installation.md b/docs/installation.md
deleted file mode 100644
index c79919c..0000000
--- a/docs/installation.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Installation (advanced)
-
-## 1. Download the jar files
-
-### All-in-one
-
-This [package](<(https://lab.libreho.st/libre.sh/scim/keycloak-scim/-/jobs/artifacts/main/raw/build/libs/keycloak-scim-1.0-SNAPSHOT-all.jar?job=package)>) contains the SCIM provider and it's dependencies. It's intended only for Quarkus distribution.
-
-### Separately
-
-You'll need the SCIM provider's [package](<(https://lab.libreho.st/libre.sh/scim/keycloak-scim/-/jobs/artifacts/main/raw/build/libs/keycloak-scim-1.0-SNAPSHOT.jar?job=package)>) and each of its [dependencies](dependencies.md).
-
-## 2. Install the jar files
-
-### Quarkus
-
-Copy the downloaded file in `/opt/keycloak/providers/`. For production use, build Keycloak before starting it.
-
-### Wildfly (legacy)
-
-Copy the downloaded file in `/opt/jboss/keycloak/standalone/deployments/`.
diff --git a/keycloak-scim.iml b/keycloak-scim.iml
deleted file mode 100644
index 414103a..0000000
--- a/keycloak-scim.iml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_11">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.keycloak:keycloak-core:16.1.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.keycloak:keycloak-common:16.1.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.bouncycastle:bcprov-jdk15on:1.68" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.68" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.keycloak:keycloak-server-spi:16.1.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.keycloak:keycloak-server-spi-private:16.1.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.github.ua-parser:uap-java:1.4.3" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.20" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.commons:commons-collections4:4.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.keycloak:keycloak-services:16.1.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.sun.mail:jakarta.mail:1.6.5" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.glassfish:jakarta.json:1.1.6" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.twitter4j:twitter4j-core:4.0.7" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.1.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.3_spec:2.0.0.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20211018.2" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.google.zxing:javase:3.4.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.google.zxing:core:3.4.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.github.jai-imageio:jai-imageio-core:1.4.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.openshift:openshift-restclient-java:8.0.0.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.squareup.okhttp3:okhttp:3.14.2" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.squareup.okio:okio:1.17.2" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss:jboss-dmr:1.3.0.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.commons:commons-compress:1.18" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:slf4j-log4j12:1.6.4" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: log4j:log4j:1.2.16" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.webauthn4j:webauthn4j-core:0.12.0.RELEASE" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.webauthn4j:webauthn4j-util:0.12.0.RELEASE" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.kerby:kerby-asn1:2.0.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.11.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.keycloak:keycloak-model-jpa:16.1.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.liquibase:liquibase-core:3.5.5" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: jakarta.persistence:jakarta.persistence-api:2.2.3" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.hibernate:hibernate-core:5.3.20.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.persistence:javax.persistence-api:2.2" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.javassist:javassist:3.23.2-GA" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: net.bytebuddy:byte-buddy:1.9.11" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: antlr:antlr:2.7.7" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss:jandex:2.0.5.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.dom4j:dom4j:2.1.3" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.0.4.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
-    <orderEntry type="library" name="Maven: com.unboundid.product.scim2:scim2-sdk-client:2.3.7" level="project" />
-    <orderEntry type="library" name="Maven: com.unboundid.product.scim2:scim2-sdk-common:2.3.7" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.ws.rs:javax.ws.rs-api:2.1.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.core:jackson-core:2.12.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.12.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.12.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.12.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.2" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: jakarta.activation:jakarta.activation-api:1.2.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.12.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.12.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.12.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.resteasy:resteasy-jaxrs:3.15.1.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.1.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:2.0.1.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.sun.activation:jakarta.activation:1.2.2" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: commons-logging:commons-logging:1.2" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: commons-io:commons-io:2.5" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.github.stephenc.jcip:jcip-annotations:1.0-1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.resteasy:resteasy-multipart-provider:3.15.1.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.james:apache-mime4j:0.6" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.resteasy:resteasy-jackson2-provider:3.15.1.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.github.fge:json-patch:1.9" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.github.fge:jackson-coreutils:1.6" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.github.fge:msg-simple:1.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.github.fge:btf:1.2" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:28.1-jre" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.checkerframework:checker-qual:2.8.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.resteasy:resteasy-jaxb-provider:3.15.1.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.glassfish.jaxb:jaxb-runtime:2.3.3-b02" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.glassfish.jaxb:txw2:2.3.3-b02" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: com.sun.istack:istack-commons-runtime:3.0.10" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.resteasy:resteasy-client:3.15.1.Final" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: commons-codec:commons-codec:1.15" level="project" />
-    <orderEntry type="library" name="Maven: io.github.resilience4j:resilience4j-retry:1.7.0" level="project" />
-    <orderEntry type="library" name="Maven: io.vavr:vavr:0.10.2" level="project" />
-    <orderEntry type="library" name="Maven: io.vavr:vavr-match:0.10.2" level="project" />
-    <orderEntry type="library" name="Maven: io.github.resilience4j:resilience4j-core:1.7.0" level="project" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/src/main/java/sh/libre/scim/core/ScimDispatcher.java b/src/main/java/sh/libre/scim/core/ScimDispatcher.java
deleted file mode 100644
index d3d6751..0000000
--- a/src/main/java/sh/libre/scim/core/ScimDispatcher.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package sh.libre.scim.core;
-
-import org.jboss.logging.Logger;
-import org.keycloak.component.ComponentModel;
-import org.keycloak.models.KeycloakSession;
-import sh.libre.scim.core.exceptions.ScimExceptionHandler;
-import sh.libre.scim.core.exceptions.ScimPropagationException;
-import sh.libre.scim.core.exceptions.SkipOrStopApproach;
-import sh.libre.scim.core.exceptions.SkipOrStopStrategy;
-import sh.libre.scim.core.service.AbstractScimService;
-import sh.libre.scim.core.service.GroupScimService;
-import sh.libre.scim.core.service.UserScimService;
-
-import java.util.ArrayList;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-
-/**
- * In charge of sending SCIM Request to all registered Scim endpoints.
- */
-public class ScimDispatcher {
-
-    private static final Logger LOGGER = Logger.getLogger(ScimDispatcher.class);
-
-    private final KeycloakSession session;
-    private final ScimExceptionHandler exceptionHandler;
-    private final SkipOrStopStrategy skipOrStopStrategy;
-    private boolean clientsInitialized = false;
-    private final List<UserScimService> userScimServices = new ArrayList<>();
-    private final List<GroupScimService> groupScimServices = new ArrayList<>();
-
-
-    public ScimDispatcher(KeycloakSession session) {
-        this.session = session;
-        this.exceptionHandler = new ScimExceptionHandler(session);
-        // By default, use a permissive Skip or Stop strategy
-        this.skipOrStopStrategy = SkipOrStopApproach.ALWAYS_SKIP_AND_CONTINUE;
-    }
-
-    /**
-     * Lists all active ScimStorageProviderFactory and create new ScimClients for each of them
-     */
-    public void refreshActiveScimEndpoints() {
-        // Step 1: close existing clients (as configuration may have changed)
-        groupScimServices.forEach(GroupScimService::close);
-        groupScimServices.clear();
-        userScimServices.forEach(UserScimService::close);
-        userScimServices.clear();
-
-        // Step 2: Get All SCIM endpoints defined in Admin Console (enabled ScimStorageProviderFactory)
-        session.getContext().getRealm().getComponentsStream()
-                .filter(m -> ScimEndpointConfigurationStorageProviderFactory.ID.equals(m.getProviderId())
-                             && m.get("enabled", true))
-                .forEach(scimEndpointConfigurationRaw -> {
-                    try {
-                        ScrimEndPointConfiguration scrimEndPointConfiguration = new ScrimEndPointConfiguration(scimEndpointConfigurationRaw);
-
-                        // Step 3 : create scim clients for each endpoint
-                        if (scimEndpointConfigurationRaw.get(ScrimEndPointConfiguration.CONF_KEY_PROPAGATION_GROUP, false)) {
-                            GroupScimService groupScimService = new GroupScimService(session, scrimEndPointConfiguration, skipOrStopStrategy);
-                            groupScimServices.add(groupScimService);
-                        }
-                        if (scimEndpointConfigurationRaw.get(ScrimEndPointConfiguration.CONF_KEY_PROPAGATION_USER, false)) {
-                            UserScimService userScimService = new UserScimService(session, scrimEndPointConfiguration, skipOrStopStrategy);
-                            userScimServices.add(userScimService);
-                        }
-                    } catch (IllegalArgumentException e) {
-                        if (skipOrStopStrategy.allowInvalidEndpointConfiguration()) {
-                            LOGGER.warn("[SCIM] Invalid Endpoint configuration " + scimEndpointConfigurationRaw.getId(), e);
-                        } else {
-                            throw e;
-                        }
-                    }
-                });
-    }
-
-    public void dispatchUserModificationToAll(SCIMPropagationConsumer<UserScimService> operationToDispatch) {
-        initializeClientsIfNeeded();
-        Set<UserScimService> servicesCorrectlyPropagated = new LinkedHashSet<>();
-        userScimServices.forEach(userScimService -> {
-            try {
-                operationToDispatch.acceptThrows(userScimService);
-                servicesCorrectlyPropagated.add(userScimService);
-            } catch (ScimPropagationException e) {
-                exceptionHandler.handleException(userScimService.getConfiguration(), e);
-            }
-        });
-        // TODO we could iterate on servicesCorrectlyPropagated to undo modification on already handled SCIM endpoints
-        LOGGER.infof("[SCIM] User operation dispatched to %d SCIM server", servicesCorrectlyPropagated.size());
-    }
-
-    public void dispatchGroupModificationToAll(SCIMPropagationConsumer<GroupScimService> operationToDispatch) {
-        initializeClientsIfNeeded();
-        Set<GroupScimService> servicesCorrectlyPropagated = new LinkedHashSet<>();
-        groupScimServices.forEach(groupScimService -> {
-            try {
-                operationToDispatch.acceptThrows(groupScimService);
-                servicesCorrectlyPropagated.add(groupScimService);
-            } catch (ScimPropagationException e) {
-                exceptionHandler.handleException(groupScimService.getConfiguration(), e);
-            }
-        });
-        // TODO we could iterate on servicesCorrectlyPropagated to undo modification on already handled SCIM endpoints
-        LOGGER.infof("[SCIM] Group operation dispatched to %d SCIM server", servicesCorrectlyPropagated.size());
-    }
-
-    public void dispatchUserModificationToOne(ComponentModel scimServerConfiguration, SCIMPropagationConsumer<UserScimService> operationToDispatch) {
-        initializeClientsIfNeeded();
-        // Scim client should already have been created
-        Optional<UserScimService> matchingClient = userScimServices.stream().filter(u -> u.getConfiguration().getId().equals(scimServerConfiguration.getId())).findFirst();
-        if (matchingClient.isPresent()) {
-            try {
-                operationToDispatch.acceptThrows(matchingClient.get());
-                LOGGER.infof("[SCIM] User operation dispatched to SCIM server %s", matchingClient.get().getConfiguration().getName());
-            } catch (ScimPropagationException e) {
-                exceptionHandler.handleException(matchingClient.get().getConfiguration(), e);
-            }
-        } else {
-            LOGGER.error("[SCIM] Could not find a Scim Client matching User endpoint configuration" + scimServerConfiguration.getId());
-        }
-    }
-
-
-    public void dispatchGroupModificationToOne(ComponentModel scimServerConfiguration, SCIMPropagationConsumer<GroupScimService> operationToDispatch) {
-        initializeClientsIfNeeded();
-        // Scim client should already have been created
-        Optional<GroupScimService> matchingClient = groupScimServices.stream().filter(u -> u.getConfiguration().getId().equals(scimServerConfiguration.getId())).findFirst();
-        if (matchingClient.isPresent()) {
-            try {
-                operationToDispatch.acceptThrows(matchingClient.get());
-                LOGGER.infof("[SCIM] Group operation dispatched to SCIM server %s", matchingClient.get().getConfiguration().getName());
-            } catch (ScimPropagationException e) {
-                exceptionHandler.handleException(matchingClient.get().getConfiguration(), e);
-            }
-        } else {
-            LOGGER.error("[SCIM] Could not find a Scim Client matching Group endpoint configuration" + scimServerConfiguration.getId());
-        }
-    }
-
-    public void close() {
-        for (GroupScimService c : groupScimServices) {
-            c.close();
-        }
-        for (UserScimService c : userScimServices) {
-            c.close();
-        }
-        groupScimServices.clear();
-        userScimServices.clear();
-    }
-
-    private void initializeClientsIfNeeded() {
-        if (!clientsInitialized) {
-            clientsInitialized = true;
-            refreshActiveScimEndpoints();
-        }
-    }
-
-    /**
-     * A Consumer that throws ScimPropagationException.
-     *
-     * @param <T> An {@link AbstractScimService to call}
-     */
-    @FunctionalInterface
-    public interface SCIMPropagationConsumer<T> {
-
-        void acceptThrows(T elem) throws ScimPropagationException;
-
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/ScimEndpointConfigurationStorageProviderFactory.java b/src/main/java/sh/libre/scim/core/ScimEndpointConfigurationStorageProviderFactory.java
deleted file mode 100644
index b73df47..0000000
--- a/src/main/java/sh/libre/scim/core/ScimEndpointConfigurationStorageProviderFactory.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package sh.libre.scim.core;
-
-import de.captaingoldfish.scim.sdk.common.constants.HttpHeader;
-import jakarta.ws.rs.core.MediaType;
-import org.apache.commons.lang3.BooleanUtils;
-import org.jboss.logging.Logger;
-import org.keycloak.component.ComponentModel;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.KeycloakSessionFactory;
-import org.keycloak.models.RealmModel;
-import org.keycloak.models.utils.KeycloakModelUtils;
-import org.keycloak.provider.ProviderConfigProperty;
-import org.keycloak.provider.ProviderConfigurationBuilder;
-import org.keycloak.storage.UserStorageProvider;
-import org.keycloak.storage.UserStorageProviderFactory;
-import org.keycloak.storage.UserStorageProviderModel;
-import org.keycloak.storage.user.ImportSynchronization;
-import org.keycloak.storage.user.SynchronizationResult;
-import sh.libre.scim.event.ScimBackgroundGroupMembershipUpdater;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * Allows to register and configure Scim endpoints through Admin console, using the provided config properties.
- */
-public class ScimEndpointConfigurationStorageProviderFactory
-        implements UserStorageProviderFactory<ScimEndpointConfigurationStorageProviderFactory.ScimEndpointConfigurationStorageProvider>, ImportSynchronization {
-    public static final String ID = "scim";
-    private static final Logger LOGGER = Logger.getLogger(ScimEndpointConfigurationStorageProviderFactory.class);
-
-    @Override
-    public String getId() {
-        return ID;
-    }
-
-
-    @Override
-    public SynchronizationResult sync(KeycloakSessionFactory sessionFactory, String realmId,
-                                      UserStorageProviderModel model) {
-        // Manually Launch a synchronization between keycloack and the SCIM endpoint described in the given model
-        LOGGER.infof("[SCIM] Sync from ScimStorageProvider - Realm %s - Model %s", realmId, model.getName());
-        SynchronizationResult result = new SynchronizationResult();
-        KeycloakModelUtils.runJobInTransaction(sessionFactory, session -> {
-            RealmModel realm = session.realms().getRealm(realmId);
-            session.getContext().setRealm(realm);
-            ScimDispatcher dispatcher = new ScimDispatcher(session);
-            if (BooleanUtils.TRUE.equals(model.get(ScrimEndPointConfiguration.CONF_KEY_PROPAGATION_USER))) {
-                dispatcher.dispatchUserModificationToOne(model, client -> client.sync(result));
-            }
-            if (BooleanUtils.TRUE.equals(model.get(ScrimEndPointConfiguration.CONF_KEY_PROPAGATION_GROUP))) {
-                dispatcher.dispatchGroupModificationToOne(model, client -> client.sync(result));
-            }
-            dispatcher.close();
-        });
-        return result;
-    }
-
-    @Override
-    public SynchronizationResult syncSince(Date lastSync, KeycloakSessionFactory sessionFactory, String realmId,
-                                           UserStorageProviderModel model) {
-        return this.sync(sessionFactory, realmId, model);
-    }
-
-    @Override
-    public void postInit(KeycloakSessionFactory factory) {
-        ScimBackgroundGroupMembershipUpdater scimBackgroundGroupMembershipUpdater = new ScimBackgroundGroupMembershipUpdater(factory);
-        scimBackgroundGroupMembershipUpdater.startBackgroundUpdates();
-    }
-
-    @Override
-    public List<ProviderConfigProperty> getConfigProperties() {
-        // These Config Properties will be use to generate configuration page in Admin Console
-        return ProviderConfigurationBuilder.create()
-                .property()
-                .name(ScrimEndPointConfiguration.CONF_KEY_ENDPOINT)
-                .type(ProviderConfigProperty.STRING_TYPE)
-                .required(true)
-                .label("SCIM 2.0 endpoint")
-                .helpText("External SCIM 2.0 base " +
-                          "URL (/ServiceProviderConfig  /Schemas and /ResourcesTypes should be accessible)")
-                .add()
-                .property()
-                .name(ScrimEndPointConfiguration.CONF_KEY_CONTENT_TYPE)
-                .type(ProviderConfigProperty.LIST_TYPE)
-                .label("Endpoint content type")
-                .helpText("Only used when endpoint doesn't support application/scim+json")
-                .options(MediaType.APPLICATION_JSON, HttpHeader.SCIM_CONTENT_TYPE)
-                .defaultValue(HttpHeader.SCIM_CONTENT_TYPE)
-                .add()
-                .property()
-                .name(ScrimEndPointConfiguration.CONF_KEY_AUTH_MODE)
-                .type(ProviderConfigProperty.LIST_TYPE)
-                .label("Auth mode")
-                .helpText("Select the authorization mode")
-                .options("NONE", "BASIC_AUTH", "BEARER")
-                .defaultValue("NONE")
-                .add()
-                .property()
-                .name(ScrimEndPointConfiguration.CONF_KEY_AUTH_USER)
-                .type(ProviderConfigProperty.STRING_TYPE)
-                .label("Auth username")
-                .helpText("Required for basic authentication.")
-                .add()
-                .property()
-                .name(ScrimEndPointConfiguration.CONF_KEY_AUTH_PASSWORD)
-                .type(ProviderConfigProperty.PASSWORD)
-                .label("Auth password/token")
-                .helpText("Password or token required for basic or bearer authentication.")
-                .add()
-                .property()
-                .name(ScrimEndPointConfiguration.CONF_KEY_PROPAGATION_USER)
-                .type(ProviderConfigProperty.BOOLEAN_TYPE)
-                .label("Enable user propagation")
-                .helpText("Should operation on users be propagated to this provider?")
-                .defaultValue(BooleanUtils.TRUE)
-                .add()
-                .property()
-                .name(ScrimEndPointConfiguration.CONF_KEY_PROPAGATION_GROUP)
-                .type(ProviderConfigProperty.BOOLEAN_TYPE)
-                .label("Enable group propagation")
-                .helpText("Should operation on groups be propagated to this provider?")
-                .defaultValue(BooleanUtils.TRUE)
-                .add()
-                .property()
-                .name(ScrimEndPointConfiguration.CONF_KEY_SYNC_IMPORT)
-                .type(ProviderConfigProperty.BOOLEAN_TYPE)
-                .label("Enable import during sync")
-                .add()
-                .property()
-                .name(ScrimEndPointConfiguration.CONF_KEY_SYNC_IMPORT_ACTION)
-                .type(ProviderConfigProperty.LIST_TYPE)
-                .label("Import action")
-                .helpText("What to do when the user doesn't exists in Keycloak.")
-                .options("NOTHING", "CREATE_LOCAL", "DELETE_REMOTE")
-                .defaultValue("CREATE_LOCAL")
-                .add()
-                .property()
-                .name(ScrimEndPointConfiguration.CONF_KEY_SYNC_REFRESH)
-                .type(ProviderConfigProperty.BOOLEAN_TYPE)
-                .label("Enable refresh during sync")
-                .name(ScrimEndPointConfiguration.CONF_KEY_LOG_ALL_SCIM_REQUESTS)
-                .type(ProviderConfigProperty.BOOLEAN_TYPE)
-                .label("Log SCIM requests and responses")
-                .helpText("If true, all sent SCIM requests and responses will be logged")
-                .add()
-                .build();
-    }
-
-
-    @Override
-    public ScimEndpointConfigurationStorageProvider create(KeycloakSession session, ComponentModel model) {
-        return new ScimEndpointConfigurationStorageProvider();
-    }
-
-    /**
-     * Empty implementation : we used this {@link ScimEndpointConfigurationStorageProviderFactory} to generate Admin Console page.
-     */
-    public static final class ScimEndpointConfigurationStorageProvider implements UserStorageProvider {
-        @Override
-        public void close() {
-            // Nothing to close here
-        }
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/ScrimEndPointConfiguration.java b/src/main/java/sh/libre/scim/core/ScrimEndPointConfiguration.java
deleted file mode 100644
index 6359b57..0000000
--- a/src/main/java/sh/libre/scim/core/ScrimEndPointConfiguration.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package sh.libre.scim.core;
-
-import de.captaingoldfish.scim.sdk.client.http.BasicAuth;
-import org.keycloak.component.ComponentModel;
-
-public class ScrimEndPointConfiguration {
-    // Configuration keys : also used in Admin Console page
-    public static final String CONF_KEY_AUTH_MODE = "auth-mode";
-    public static final String CONF_KEY_AUTH_PASSWORD = "auth-pass";
-    public static final String CONF_KEY_AUTH_USER = "auth-user";
-    public static final String CONF_KEY_CONTENT_TYPE = "content-type";
-    public static final String CONF_KEY_ENDPOINT = "endpoint";
-    public static final String CONF_KEY_SYNC_IMPORT_ACTION = "sync-import-action";
-    public static final String CONF_KEY_SYNC_IMPORT = "sync-import";
-    public static final String CONF_KEY_SYNC_REFRESH = "sync-refresh";
-    public static final String CONF_KEY_PROPAGATION_USER = "propagation-user";
-    public static final String CONF_KEY_PROPAGATION_GROUP = "propagation-group";
-    public static final String CONF_KEY_LOG_ALL_SCIM_REQUESTS = "log-all-scim-requests";
-
-    private final String endPoint;
-    private final String id;
-    private final String name;
-    private final String contentType;
-    private final String authorizationHeaderValue;
-    private final ImportAction importAction;
-    private final boolean pullFromScimSynchronisationActivated;
-    private final boolean pushToScimSynchronisationActivated;
-    private final boolean logAllScimRequests;
-
-    public ScrimEndPointConfiguration(ComponentModel scimProviderConfiguration) {
-        try {
-            AuthMode authMode = AuthMode.valueOf(scimProviderConfiguration.get(CONF_KEY_AUTH_MODE));
-
-            authorizationHeaderValue = switch (authMode) {
-                case BEARER -> "Bearer " + scimProviderConfiguration.get(CONF_KEY_AUTH_PASSWORD);
-                case BASIC_AUTH -> {
-                    BasicAuth basicAuth = BasicAuth.builder()
-                            .username(scimProviderConfiguration.get(CONF_KEY_AUTH_USER))
-                            .password(scimProviderConfiguration.get(CONF_KEY_AUTH_PASSWORD))
-                            .build();
-                    yield basicAuth.getAuthorizationHeaderValue();
-                }
-                case NONE -> "";
-            };
-            contentType = scimProviderConfiguration.get(CONF_KEY_CONTENT_TYPE, "");
-            endPoint = scimProviderConfiguration.get(CONF_KEY_ENDPOINT, "");
-            id = scimProviderConfiguration.getId();
-            name = scimProviderConfiguration.getName();
-            importAction = ImportAction.valueOf(scimProviderConfiguration.get(CONF_KEY_SYNC_IMPORT_ACTION));
-            pullFromScimSynchronisationActivated = scimProviderConfiguration.get(CONF_KEY_SYNC_IMPORT, false);
-            pushToScimSynchronisationActivated = scimProviderConfiguration.get(CONF_KEY_SYNC_REFRESH, false);
-            logAllScimRequests = scimProviderConfiguration.get(CONF_KEY_LOG_ALL_SCIM_REQUESTS, false);
-        } catch (IllegalArgumentException e) {
-            throw new IllegalArgumentException("authMode '" + scimProviderConfiguration.get(CONF_KEY_AUTH_MODE) + "' is not supported");
-        }
-    }
-
-    public boolean isPushToScimSynchronisationActivated() {
-        return pushToScimSynchronisationActivated;
-    }
-
-    public boolean isPullFromScimSynchronisationActivated() {
-        return pullFromScimSynchronisationActivated;
-    }
-
-    public String getContentType() {
-        return contentType;
-    }
-
-    public String getAuthorizationHeaderValue() {
-        return authorizationHeaderValue;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public ImportAction getImportAction() {
-        return importAction;
-    }
-
-    public String getEndPoint() {
-        return endPoint;
-    }
-
-    public boolean isLogAllScimRequests() {
-        return logAllScimRequests;
-    }
-
-    public enum AuthMode {
-        BEARER, BASIC_AUTH, NONE
-    }
-
-    public enum ImportAction {
-        CREATE_LOCAL, DELETE_REMOTE, NOTHING
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/exceptions/InconsistentScimMappingException.java b/src/main/java/sh/libre/scim/core/exceptions/InconsistentScimMappingException.java
deleted file mode 100644
index 44f7eb4..0000000
--- a/src/main/java/sh/libre/scim/core/exceptions/InconsistentScimMappingException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package sh.libre.scim.core.exceptions;
-
-public class InconsistentScimMappingException extends ScimPropagationException {
-    public InconsistentScimMappingException(String message) {
-        super(message);
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/exceptions/InvalidResponseFromScimEndpointException.java b/src/main/java/sh/libre/scim/core/exceptions/InvalidResponseFromScimEndpointException.java
deleted file mode 100644
index 0794436..0000000
--- a/src/main/java/sh/libre/scim/core/exceptions/InvalidResponseFromScimEndpointException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package sh.libre.scim.core.exceptions;
-
-import de.captaingoldfish.scim.sdk.client.response.ServerResponse;
-
-import java.util.Optional;
-
-public class InvalidResponseFromScimEndpointException extends ScimPropagationException {
-
-    private final transient Optional<ServerResponse> response;
-
-    public InvalidResponseFromScimEndpointException(ServerResponse response, String message) {
-        super(message);
-        this.response = Optional.of(response);
-    }
-
-    public InvalidResponseFromScimEndpointException(String message, Exception e) {
-        super(message, e);
-        this.response = Optional.empty();
-    }
-
-
-    /**
-     * Empty response can occur if a major exception was thrown while retrying the request.
-     */
-    public Optional<ServerResponse> getResponse() {
-        return response;
-    }
-
-}
diff --git a/src/main/java/sh/libre/scim/core/exceptions/RollbackApproach.java b/src/main/java/sh/libre/scim/core/exceptions/RollbackApproach.java
deleted file mode 100644
index d1fb108..0000000
--- a/src/main/java/sh/libre/scim/core/exceptions/RollbackApproach.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package sh.libre.scim.core.exceptions;
-
-import com.google.common.collect.Lists;
-import sh.libre.scim.core.ScrimEndPointConfiguration;
-
-import java.util.ArrayList;
-
-
-public enum RollbackApproach implements RollbackStrategy {
-    ALWAYS_ROLLBACK {
-        @Override
-        public boolean shouldRollback(ScrimEndPointConfiguration configuration, ScimPropagationException e) {
-            return true;
-        }
-    },
-    NEVER_ROLLBACK {
-        @Override
-        public boolean shouldRollback(ScrimEndPointConfiguration configuration, ScimPropagationException e) {
-            return false;
-        }
-    },
-    CRITICAL_ONLY_ROLLBACK {
-        @Override
-        public boolean shouldRollback(ScrimEndPointConfiguration configuration, ScimPropagationException e) {
-            if (e instanceof InconsistentScimMappingException) {
-                // Occurs when mapping between a SCIM resource and a keycloak user failed (missing, ambiguous..)
-                // Log can be sufficient here, no rollback required
-                return false;
-            }
-            if (e instanceof UnexpectedScimDataException) {
-                // Occurs when a SCIM endpoint sends invalid date (e.g. group with empty name, user without ids...)
-                // No rollback required : we cannot recover. This needs to be fixed in the SCIM endpoint data
-                return false;
-            }
-            if (e instanceof InvalidResponseFromScimEndpointException invalidResponseFromScimEndpointException) {
-                return shouldRollbackBecauseOfResponse(invalidResponseFromScimEndpointException);
-            }
-            // Should not occur
-            throw new IllegalStateException("Unkown ScimPropagationException", e);
-        }
-
-        private boolean shouldRollbackBecauseOfResponse(InvalidResponseFromScimEndpointException e) {
-            // If we have a response
-            return e.getResponse().map(r -> {
-                // We consider that 404 are acceptable, otherwise rollback
-                ArrayList<Integer> acceptableStatus = Lists.newArrayList(200, 204, 404);
-                return !acceptableStatus.contains(r.getHttpStatus());
-            }).orElse(
-                    // Never got an answer, server was either misconfigured or unreachable
-                    // No rollback in that case.
-                    false
-            );
-        }
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/exceptions/RollbackStrategy.java b/src/main/java/sh/libre/scim/core/exceptions/RollbackStrategy.java
deleted file mode 100644
index 90d8593..0000000
--- a/src/main/java/sh/libre/scim/core/exceptions/RollbackStrategy.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package sh.libre.scim.core.exceptions;
-
-import sh.libre.scim.core.ScrimEndPointConfiguration;
-
-/**
- * In charge of deciding, when facing a SCIM-related issue during an operation (e.g User creation),
- * whether we should :
- * - Log the issue and let the operation succeed in Keycloack database (potentially unsynchronising
- * Keycloack with the SCIM servers)
- * - Rollback the whole operation
- */
-public interface RollbackStrategy {
-
-    /**
-     * Indicates whether we should rollback the whole transaction because of the given exception.
-     *
-     * @param configuration The SCIM Endpoint configuration for which the exception occured
-     * @param e             the exception that we have to handle
-     * @return true if transaction should be rolled back, false if we should log and continue operation
-     */
-    boolean shouldRollback(ScrimEndPointConfiguration configuration, ScimPropagationException e);
-}
diff --git a/src/main/java/sh/libre/scim/core/exceptions/ScimExceptionHandler.java b/src/main/java/sh/libre/scim/core/exceptions/ScimExceptionHandler.java
deleted file mode 100644
index 78973d2..0000000
--- a/src/main/java/sh/libre/scim/core/exceptions/ScimExceptionHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package sh.libre.scim.core.exceptions;
-
-import org.jboss.logging.Logger;
-import org.keycloak.models.KeycloakSession;
-import sh.libre.scim.core.ScrimEndPointConfiguration;
-
-/**
- * In charge of dealing with SCIM exceptions by ignoring, logging or rollback transaction according to :
- * - The context in which it occurs (sync, user creation...)
- * - The related SCIM endpoint and its configuration
- * - The thrown exception itself
- */
-public class ScimExceptionHandler {
-    private static final Logger LOGGER = Logger.getLogger(ScimExceptionHandler.class);
-
-    private final KeycloakSession session;
-    private final RollbackStrategy rollbackStrategy;
-
-    public ScimExceptionHandler(KeycloakSession session) {
-        this(session, RollbackApproach.CRITICAL_ONLY_ROLLBACK);
-    }
-
-    public ScimExceptionHandler(KeycloakSession session, RollbackStrategy rollbackStrategy) {
-        this.session = session;
-        this.rollbackStrategy = rollbackStrategy;
-    }
-
-    /**
-     * Handles the given exception by loggin and/or rollback transaction.
-     *
-     * @param scimProviderConfiguration the configuration of the endpoint for which the propagation exception occured
-     * @param e                         the occuring exception
-     */
-    public void handleException(ScrimEndPointConfiguration scimProviderConfiguration, ScimPropagationException e) {
-        String errorMessage = "[SCIM] Error while propagating to SCIM endpoint " + scimProviderConfiguration.getName();
-        if (rollbackStrategy.shouldRollback(scimProviderConfiguration, e)) {
-            session.getTransactionManager().rollback();
-            LOGGER.error("TRANSACTION ROLLBACK - " + errorMessage, e);
-        } else {
-            LOGGER.warn(errorMessage, e);
-        }
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/exceptions/ScimPropagationException.java b/src/main/java/sh/libre/scim/core/exceptions/ScimPropagationException.java
deleted file mode 100644
index bee5ee1..0000000
--- a/src/main/java/sh/libre/scim/core/exceptions/ScimPropagationException.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package sh.libre.scim.core.exceptions;
-
-public abstract class ScimPropagationException extends Exception {
-
-    protected ScimPropagationException(String message) {
-        super(message);
-    }
-
-    protected ScimPropagationException(String message, Exception e) {
-        super(message, e);
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/exceptions/SkipOrStopApproach.java b/src/main/java/sh/libre/scim/core/exceptions/SkipOrStopApproach.java
deleted file mode 100644
index e0669d5..0000000
--- a/src/main/java/sh/libre/scim/core/exceptions/SkipOrStopApproach.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package sh.libre.scim.core.exceptions;
-
-import sh.libre.scim.core.ScrimEndPointConfiguration;
-
-
-public enum SkipOrStopApproach implements SkipOrStopStrategy {
-    ALWAYS_SKIP_AND_CONTINUE {
-        @Override
-        public boolean allowPartialSynchronizationWhenPushingToScim(ScrimEndPointConfiguration configuration) {
-            return false;
-        }
-
-        @Override
-        public boolean allowPartialSynchronizationWhenPullingFromScim(ScrimEndPointConfiguration configuration) {
-            return false;
-        }
-
-        @Override
-        public boolean allowMissingMembersWhenPushingGroupToScim(ScrimEndPointConfiguration configuration) {
-            return false;
-        }
-
-        @Override
-        public boolean allowInvalidEndpointConfiguration() {
-            return false;
-        }
-
-        @Override
-        public boolean skipInvalidDataFromScimEndpoint(ScrimEndPointConfiguration configuration) {
-            return false;
-        }
-    },
-    ALWAYS_STOP {
-        @Override
-        public boolean allowPartialSynchronizationWhenPushingToScim(ScrimEndPointConfiguration configuration) {
-            return true;
-        }
-
-        @Override
-        public boolean allowPartialSynchronizationWhenPullingFromScim(ScrimEndPointConfiguration configuration) {
-            return true;
-        }
-
-        @Override
-        public boolean allowMissingMembersWhenPushingGroupToScim(ScrimEndPointConfiguration configuration) {
-            return true;
-        }
-
-        @Override
-        public boolean allowInvalidEndpointConfiguration() {
-            return true;
-        }
-
-        @Override
-        public boolean skipInvalidDataFromScimEndpoint(ScrimEndPointConfiguration configuration) {
-            return true;
-        }
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/exceptions/SkipOrStopStrategy.java b/src/main/java/sh/libre/scim/core/exceptions/SkipOrStopStrategy.java
deleted file mode 100644
index 8ad46c7..0000000
--- a/src/main/java/sh/libre/scim/core/exceptions/SkipOrStopStrategy.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package sh.libre.scim.core.exceptions;
-
-import sh.libre.scim.core.ScrimEndPointConfiguration;
-
-/**
- * In charge of deciding, when facing a SCIM-related issue, whether we should :
- * - log a warning, skip the problematic element and continue the rest of the operation
- * - stop immediately the whole operation (typically, a synchronisation between SCIM and Keycloack)
- */
-public interface SkipOrStopStrategy {
-    /**
-     * Indicates if,  during a synchronisation from Keycloack to a SCIM endpoint, we should :
-     * - cancel the whole synchronisation if an element CRUD fail, or
-     * - keep on with synchronisation, allowing a partial synchronisation
-     *
-     * @param configuration the configuration of the endpoint in which the error occurred
-     * @return true if a partial synchronisation is allowed,
-     * false if we should stop the whole synchronisation at first issue
-     */
-    boolean allowPartialSynchronizationWhenPushingToScim(ScrimEndPointConfiguration configuration);
-
-    /**
-     * Indicates if,  during a synchronisation from a SCIM endpoint to Keycloack, we should :
-     * - cancel the whole synchronisation if an element CRUD fail, or
-     * - keep on with synchronisation, allowing a partial synchronisation
-     *
-     * @param configuration the configuration of the endpoint in which the error occurred
-     * @return true if a partial synchronisation is allowed,
-     * false if we should interrupt the whole synchronisation at first issue
-     */
-    boolean allowPartialSynchronizationWhenPullingFromScim(ScrimEndPointConfiguration configuration);
-
-
-    /**
-     * Indicates if, when we propagate a group creation or update to a SCIM endpoint and some
-     * of its members are not mapped to SCIM, we should allow partial group update or interrupt completely.
-     *
-     * @param configuration the configuration of the endpoint in which the error occurred
-     * @return true if a partial group update is allowed,
-     * false if we should interrupt the group update in case of any unmapped member
-     */
-    boolean allowMissingMembersWhenPushingGroupToScim(ScrimEndPointConfiguration configuration);
-
-    /**
-     * Indicates if, when facing an invalid SCIM endpoint configuration (resulting in a unreachable SCIM server),
-     * we should stop or ignore this configuration.
-     *
-     * @return true the invalid endpoint should be ignored,
-     * * false if we should interrupt the rest of the synchronisation
-     */
-    boolean allowInvalidEndpointConfiguration();
-
-    /**
-     * Indicates if, when trying to pull User or Groups from a SCIM endpoint,
-     * we encounter a invalid data (e.g. group with empty name), we should :
-     * - Skip the invalid element pull and continue
-     * - Cancel the whole synchronisation
-     *
-     * @param configuration the configuration of the endpoint in which the error occurred
-     * @return true if we should skip the invalid data synchronisation and pursue,
-     * false if we should interrupt immediately the whole synchronisation
-     */
-    boolean skipInvalidDataFromScimEndpoint(ScrimEndPointConfiguration configuration);
-
-
-}
diff --git a/src/main/java/sh/libre/scim/core/exceptions/UnexpectedScimDataException.java b/src/main/java/sh/libre/scim/core/exceptions/UnexpectedScimDataException.java
deleted file mode 100644
index 918127e..0000000
--- a/src/main/java/sh/libre/scim/core/exceptions/UnexpectedScimDataException.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package sh.libre.scim.core.exceptions;
-
-public class UnexpectedScimDataException extends ScimPropagationException {
-    public UnexpectedScimDataException(String message) {
-        super(message);
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/service/AbstractScimService.java b/src/main/java/sh/libre/scim/core/service/AbstractScimService.java
deleted file mode 100644
index b22b6a9..0000000
--- a/src/main/java/sh/libre/scim/core/service/AbstractScimService.java
+++ /dev/null
@@ -1,281 +0,0 @@
-package sh.libre.scim.core.service;
-
-import de.captaingoldfish.scim.sdk.common.resources.ResourceNode;
-import de.captaingoldfish.scim.sdk.common.resources.complex.Meta;
-import org.jboss.logging.Logger;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.RoleMapperModel;
-import org.keycloak.storage.user.SynchronizationResult;
-import sh.libre.scim.core.ScrimEndPointConfiguration;
-import sh.libre.scim.core.exceptions.InconsistentScimMappingException;
-import sh.libre.scim.core.exceptions.InvalidResponseFromScimEndpointException;
-import sh.libre.scim.core.exceptions.SkipOrStopStrategy;
-import sh.libre.scim.core.exceptions.UnexpectedScimDataException;
-import sh.libre.scim.jpa.ScimResourceDao;
-import sh.libre.scim.jpa.ScimResourceMapping;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Optional;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-/**
- * A service in charge of synchronisation (CRUD) between
- * a Keykloak Role (UserModel, GroupModel) and a SCIM Resource (User,Group).
- *
- * @param <K> The Keycloack Model (e.g. UserModel, GroupModel)
- * @param <S> The SCIM Resource (e.g. User, Group)
- */
-public abstract class AbstractScimService<K extends RoleMapperModel, S extends ResourceNode> implements AutoCloseable {
-
-    private static final Logger LOGGER = Logger.getLogger(AbstractScimService.class);
-
-    private final KeycloakSession keycloakSession;
-    protected final SkipOrStopStrategy skipOrStopStrategy;
-    private final ScrimEndPointConfiguration scimProviderConfiguration;
-    private final ScimResourceType type;
-    private final ScimClient<S> scimClient;
-
-    protected AbstractScimService(KeycloakSession keycloakSession, ScrimEndPointConfiguration scimProviderConfiguration, ScimResourceType type, SkipOrStopStrategy skipOrStopStrategy) {
-        this.keycloakSession = keycloakSession;
-        this.scimProviderConfiguration = scimProviderConfiguration;
-        this.type = type;
-        this.scimClient = ScimClient.open(scimProviderConfiguration, type);
-        this.skipOrStopStrategy = skipOrStopStrategy;
-    }
-
-    public void create(K roleMapperModel) throws InconsistentScimMappingException, InvalidResponseFromScimEndpointException {
-        if (isMarkedToIgnore(roleMapperModel)) {
-            // Silently return: resource is explicitly marked as to ignore
-            return;
-        }
-        // If mapping, then we are trying to recreate a user that was already created by import
-        KeycloakId id = getId(roleMapperModel);
-        if (findMappingById(id).isPresent()) {
-            throw new InconsistentScimMappingException("Trying to create user with id " + id + ": id already exists in Keycloak database");
-        }
-        S scimForCreation = scimRequestBodyForCreate(roleMapperModel);
-        EntityOnRemoteScimId externalId = scimClient.create(id, scimForCreation);
-        createMapping(id, externalId);
-    }
-
-    public void update(K roleMapperModel) throws InconsistentScimMappingException, InvalidResponseFromScimEndpointException {
-        if (isMarkedToIgnore(roleMapperModel)) {
-            // Silently return: resource is explicitly marked as to ignore
-            return;
-        }
-        KeycloakId keycloakId = getId(roleMapperModel);
-        EntityOnRemoteScimId entityOnRemoteScimId = findMappingById(keycloakId)
-                .map(ScimResourceMapping::getExternalIdAsEntityOnRemoteScimId)
-                .orElseThrow(() -> new InconsistentScimMappingException("Failed to find SCIM mapping for " + keycloakId));
-        S scimForReplace = scimRequestBodyForUpdate(roleMapperModel, entityOnRemoteScimId);
-        scimClient.update(entityOnRemoteScimId, scimForReplace);
-    }
-
-    protected abstract S scimRequestBodyForUpdate(K roleMapperModel, EntityOnRemoteScimId externalId) throws InconsistentScimMappingException;
-
-    public void delete(KeycloakId id) throws InconsistentScimMappingException, InvalidResponseFromScimEndpointException {
-        ScimResourceMapping resource = findMappingById(id)
-                .orElseThrow(() -> new InconsistentScimMappingException("Failed to delete resource %s, scim mapping not found: ".formatted(id)));
-        EntityOnRemoteScimId externalId = resource.getExternalIdAsEntityOnRemoteScimId();
-        scimClient.delete(externalId);
-        getScimResourceDao().delete(resource);
-    }
-
-    public void pushAllResourcesToScim(SynchronizationResult syncRes) throws InvalidResponseFromScimEndpointException, InconsistentScimMappingException {
-        LOGGER.info("[SCIM] Push resources to endpoint  " + this.getConfiguration().getEndPoint());
-        try (Stream<K> resourcesStream = getResourceStream()) {
-            Set<K> resources = resourcesStream.collect(Collectors.toUnmodifiableSet());
-            for (K resource : resources) {
-                KeycloakId id = getId(resource);
-                pushSingleResourceToScim(syncRes, resource, id);
-            }
-        }
-    }
-
-    public void pullAllResourcesFromScim(SynchronizationResult syncRes) throws UnexpectedScimDataException, InconsistentScimMappingException, InvalidResponseFromScimEndpointException {
-        LOGGER.info("[SCIM] Pull resources from endpoint " + this.getConfiguration().getEndPoint());
-        for (S resource : scimClient.listResources()) {
-            pullSingleResourceFromScim(syncRes, resource);
-        }
-    }
-
-    private void pushSingleResourceToScim(SynchronizationResult syncRes, K resource, KeycloakId id) throws InvalidResponseFromScimEndpointException, InconsistentScimMappingException {
-        try {
-            LOGGER.infof("[SCIM] Reconciling local resource %s", id);
-            if (shouldIgnoreForScimSynchronization(resource)) {
-                LOGGER.infof("[SCIM] Skip local resource %s", id);
-                return;
-            }
-            if (findMappingById(id).isPresent()) {
-                LOGGER.info("[SCIM] Replacing it");
-                update(resource);
-            } else {
-                LOGGER.info("[SCIM] Creating it");
-                create(resource);
-            }
-            syncRes.increaseUpdated();
-        } catch (InvalidResponseFromScimEndpointException e) {
-            if (skipOrStopStrategy.allowPartialSynchronizationWhenPushingToScim(this.getConfiguration())) {
-                LOGGER.warn("Error while syncing " + id + " to endpoint " + getConfiguration().getEndPoint(), e);
-            } else {
-                throw e;
-            }
-        } catch (InconsistentScimMappingException e) {
-            if (skipOrStopStrategy.allowPartialSynchronizationWhenPushingToScim(this.getConfiguration())) {
-                LOGGER.warn("Inconsistent data for element " + id + " and endpoint " + getConfiguration().getEndPoint(), e);
-            } else {
-                throw e;
-            }
-        }
-    }
-
-
-    private void pullSingleResourceFromScim(SynchronizationResult syncRes, S resource) throws UnexpectedScimDataException, InconsistentScimMappingException, InvalidResponseFromScimEndpointException {
-        try {
-            LOGGER.infof("[SCIM] Reconciling remote resource %s", resource);
-            EntityOnRemoteScimId externalId = resource.getId()
-                    .map(EntityOnRemoteScimId::new)
-                    .orElseThrow(() -> new UnexpectedScimDataException("Remote SCIM resource doesn't have an id, cannot import it in Keycloak"));
-            if (validMappingAlreadyExists(externalId)) return;
-
-            // Here no keycloak user/group matching the SCIM external id exists
-            // Try to match existing keycloak resource by properties (username, email, name)
-            Optional<KeycloakId> mapped = matchKeycloakMappingByScimProperties(resource);
-            if (mapped.isPresent()) {
-                // If found a mapped, update
-                LOGGER.info("[SCIM] Matched SCIM resource " + externalId + " from properties with keycloak entity " + mapped.get());
-                createMapping(mapped.get(), externalId);
-                syncRes.increaseUpdated();
-            } else {
-                // If not, create it locally or deleting it remotely (according to the configured Import Action)
-                createLocalOrDeleteRemote(syncRes, resource, externalId);
-            }
-        } catch (UnexpectedScimDataException e) {
-            if (skipOrStopStrategy.skipInvalidDataFromScimEndpoint(getConfiguration())) {
-                LOGGER.warn("[SCIM] Skipping element synchronisation because of invalid Scim Data for element " + resource.getId() + " : " + e.getMessage(), e);
-            } else {
-                throw e;
-            }
-        } catch (InconsistentScimMappingException e) {
-            if (skipOrStopStrategy.allowPartialSynchronizationWhenPullingFromScim(getConfiguration())) {
-                LOGGER.warn("[SCIM] Skipping element synchronisation because of inconsistent mapping for element " + resource.getId() + " : " + e.getMessage(), e);
-            } else {
-                throw e;
-            }
-        } catch (InvalidResponseFromScimEndpointException e) {
-            // Can only occur in case of a DELETE_REMOTE conflict action
-            if (skipOrStopStrategy.allowPartialSynchronizationWhenPullingFromScim(getConfiguration())) {
-                LOGGER.warn("[SCIM] Could not  delete SCIM resource " + resource.getId() + " during synchronisation", e);
-            } else {
-                throw e;
-            }
-        }
-
-    }
-
-    private boolean validMappingAlreadyExists(EntityOnRemoteScimId externalId) {
-        Optional<ScimResourceMapping> optionalMapping = getScimResourceDao().findByExternalId(externalId, type);
-        // If an existing mapping exists, delete potential dangling references
-        if (optionalMapping.isPresent()) {
-            ScimResourceMapping mapping = optionalMapping.get();
-            if (entityExists(mapping.getIdAsKeycloakId())) {
-                LOGGER.info("[SCIM] Valid mapping found, skipping");
-                return true;
-            } else {
-                LOGGER.info("[SCIM] Delete a dangling mapping");
-                getScimResourceDao().delete(mapping);
-            }
-        }
-        return false;
-    }
-
-    private void createLocalOrDeleteRemote(SynchronizationResult syncRes, S resource, EntityOnRemoteScimId externalId) throws UnexpectedScimDataException, InconsistentScimMappingException, InvalidResponseFromScimEndpointException {
-        switch (scimProviderConfiguration.getImportAction()) {
-            case CREATE_LOCAL -> {
-                LOGGER.info("[SCIM] Create local resource for SCIM resource " + externalId);
-                KeycloakId id = createEntity(resource);
-                createMapping(id, externalId);
-                syncRes.increaseAdded();
-            }
-            case DELETE_REMOTE -> {
-                LOGGER.info("[SCIM] Delete remote resource " + externalId);
-                scimClient.delete(externalId);
-            }
-            case NOTHING -> LOGGER.info("[SCIM] Import action set to NOTHING");
-        }
-    }
-
-
-    protected abstract S scimRequestBodyForCreate(K roleMapperModel) throws InconsistentScimMappingException;
-
-    protected abstract KeycloakId getId(K roleMapperModel);
-
-    protected abstract boolean isMarkedToIgnore(K roleMapperModel);
-
-    private void createMapping(KeycloakId keycloakId, EntityOnRemoteScimId externalId) {
-        getScimResourceDao().create(keycloakId, externalId, type);
-    }
-
-    protected ScimResourceDao getScimResourceDao() {
-        return ScimResourceDao.newInstance(getKeycloakSession(), scimProviderConfiguration.getId());
-    }
-
-    private Optional<ScimResourceMapping> findMappingById(KeycloakId keycloakId) {
-        return getScimResourceDao().findById(keycloakId, type);
-    }
-
-    private KeycloakSession getKeycloakSession() {
-        return keycloakSession;
-    }
-
-
-    protected abstract boolean shouldIgnoreForScimSynchronization(K resource);
-
-    protected abstract Stream<K> getResourceStream();
-
-    protected abstract KeycloakId createEntity(S resource) throws UnexpectedScimDataException, InconsistentScimMappingException;
-
-    protected abstract Optional<KeycloakId> matchKeycloakMappingByScimProperties(S resource) throws InconsistentScimMappingException;
-
-    protected abstract boolean entityExists(KeycloakId keycloakId);
-
-    public void sync(SynchronizationResult syncRes) throws InconsistentScimMappingException, InvalidResponseFromScimEndpointException, UnexpectedScimDataException {
-        if (this.scimProviderConfiguration.isPullFromScimSynchronisationActivated()) {
-            this.pullAllResourcesFromScim(syncRes);
-        }
-        if (this.scimProviderConfiguration.isPushToScimSynchronisationActivated()) {
-            this.pushAllResourcesToScim(syncRes);
-        }
-    }
-
-    protected Meta newMetaLocation(EntityOnRemoteScimId externalId) {
-        Meta meta = new Meta();
-        URI uri = getUri(type, externalId);
-        meta.setLocation(uri.toString());
-        return meta;
-    }
-
-    protected URI getUri(ScimResourceType type, EntityOnRemoteScimId externalId) {
-        try {
-            return new URI("%s/%s".formatted(type.getEndpoint(), externalId.asString()));
-        } catch (URISyntaxException e) {
-            throw new IllegalStateException("should never occur: can not format URI for type %s and id %s".formatted(type, externalId), e);
-        }
-    }
-
-    protected KeycloakDao getKeycloakDao() {
-        return new KeycloakDao(getKeycloakSession());
-    }
-
-    @Override
-    public void close() {
-        scimClient.close();
-    }
-
-    public ScrimEndPointConfiguration getConfiguration() {
-        return scimProviderConfiguration;
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/service/EntityOnRemoteScimId.java b/src/main/java/sh/libre/scim/core/service/EntityOnRemoteScimId.java
deleted file mode 100644
index df96a12..0000000
--- a/src/main/java/sh/libre/scim/core/service/EntityOnRemoteScimId.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package sh.libre.scim.core.service;
-
-public record EntityOnRemoteScimId(
-        String asString
-) {
-}
diff --git a/src/main/java/sh/libre/scim/core/service/GroupScimService.java b/src/main/java/sh/libre/scim/core/service/GroupScimService.java
deleted file mode 100644
index bd09f3e..0000000
--- a/src/main/java/sh/libre/scim/core/service/GroupScimService.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package sh.libre.scim.core.service;
-
-import de.captaingoldfish.scim.sdk.common.resources.Group;
-import de.captaingoldfish.scim.sdk.common.resources.complex.Meta;
-import de.captaingoldfish.scim.sdk.common.resources.multicomplex.Member;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.jboss.logging.Logger;
-import org.keycloak.models.GroupModel;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.UserModel;
-import sh.libre.scim.core.ScrimEndPointConfiguration;
-import sh.libre.scim.core.exceptions.InconsistentScimMappingException;
-import sh.libre.scim.core.exceptions.SkipOrStopStrategy;
-import sh.libre.scim.core.exceptions.UnexpectedScimDataException;
-import sh.libre.scim.jpa.ScimResourceMapping;
-
-import java.net.URI;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.stream.Stream;
-
-public class GroupScimService extends AbstractScimService<GroupModel, Group> {
-    private static final Logger LOGGER = Logger.getLogger(GroupScimService.class);
-
-    public GroupScimService(KeycloakSession keycloakSession, ScrimEndPointConfiguration scimProviderConfiguration, SkipOrStopStrategy skipOrStopStrategy) {
-        super(keycloakSession, scimProviderConfiguration, ScimResourceType.GROUP, skipOrStopStrategy);
-    }
-
-    @Override
-    protected Stream<GroupModel> getResourceStream() {
-        return getKeycloakDao().getGroupsStream();
-    }
-
-    @Override
-    protected boolean entityExists(KeycloakId keycloakId) {
-        return getKeycloakDao().groupExists(keycloakId);
-    }
-
-    @Override
-    protected Optional<KeycloakId> matchKeycloakMappingByScimProperties(Group resource) {
-        Set<String> names = new TreeSet<>();
-        resource.getId().ifPresent(names::add);
-        resource.getDisplayName().ifPresent(names::add);
-        try (Stream<GroupModel> groupsStream = getKeycloakDao().getGroupsStream()) {
-            Optional<GroupModel> group = groupsStream
-                    .filter(groupModel -> names.contains(groupModel.getName()))
-                    .findFirst();
-            return group
-                    .map(GroupModel::getId)
-                    .map(KeycloakId::new);
-        }
-    }
-
-    @Override
-    protected KeycloakId createEntity(Group resource) throws UnexpectedScimDataException, InconsistentScimMappingException {
-        String displayName = resource.getDisplayName()
-                .filter(StringUtils::isNotBlank)
-                .orElseThrow(() -> new UnexpectedScimDataException("Remote Scim group has empty name, can't create. Resource id = %s".formatted(resource.getId())));
-        GroupModel group = getKeycloakDao().createGroup(displayName);
-        List<Member> groupMembers = resource.getMembers();
-        if (CollectionUtils.isNotEmpty(groupMembers)) {
-            for (Member groupMember : groupMembers) {
-                EntityOnRemoteScimId externalId = groupMember.getValue()
-                        .map(EntityOnRemoteScimId::new)
-                        .orElseThrow(() -> new UnexpectedScimDataException("can't create group member for group '%s' without id: ".formatted(displayName) + resource));
-                KeycloakId userId = getScimResourceDao().findUserByExternalId(externalId)
-                        .map(ScimResourceMapping::getIdAsKeycloakId)
-                        .orElseThrow(() -> new InconsistentScimMappingException("can't find mapping for group member %s".formatted(externalId)));
-                UserModel userModel = getKeycloakDao().getUserById(userId);
-                userModel.joinGroup(group);
-            }
-        }
-        return new KeycloakId(group.getId());
-    }
-
-    @Override
-    protected boolean isMarkedToIgnore(GroupModel groupModel) {
-        return BooleanUtils.TRUE.equals(groupModel.getFirstAttribute("scim-skip"));
-    }
-
-    @Override
-    protected KeycloakId getId(GroupModel groupModel) {
-        return new KeycloakId(groupModel.getId());
-    }
-
-    @Override
-    protected Group scimRequestBodyForCreate(GroupModel groupModel) throws InconsistentScimMappingException {
-        Set<KeycloakId> members = getKeycloakDao().getGroupMembers(groupModel);
-        Group group = new Group();
-        group.setExternalId(groupModel.getId());
-        group.setDisplayName(groupModel.getName());
-        for (KeycloakId member : members) {
-            Member groupMember = new Member();
-            Optional<ScimResourceMapping> optionalGroupMemberMapping = getScimResourceDao().findUserById(member);
-            if (optionalGroupMemberMapping.isPresent()) {
-                ScimResourceMapping groupMemberMapping = optionalGroupMemberMapping.get();
-                EntityOnRemoteScimId externalIdAsEntityOnRemoteScimId = groupMemberMapping.getExternalIdAsEntityOnRemoteScimId();
-                groupMember.setValue(externalIdAsEntityOnRemoteScimId.asString());
-                URI ref = getUri(ScimResourceType.USER, externalIdAsEntityOnRemoteScimId);
-                groupMember.setRef(ref.toString());
-                group.addMember(groupMember);
-            } else {
-                String message = "Unmapped member " + member + " for group " + groupModel.getId();
-                if (skipOrStopStrategy.allowMissingMembersWhenPushingGroupToScim(this.getConfiguration())) {
-                    LOGGER.warn(message);
-                } else {
-                    throw new InconsistentScimMappingException(message);
-                }
-            }
-        }
-        return group;
-    }
-
-    @Override
-    protected Group scimRequestBodyForUpdate(GroupModel groupModel, EntityOnRemoteScimId externalId) throws InconsistentScimMappingException {
-        Group group = scimRequestBodyForCreate(groupModel);
-        group.setId(externalId.asString());
-        Meta meta = newMetaLocation(externalId);
-        group.setMeta(meta);
-        return group;
-    }
-
-    @Override
-    protected boolean shouldIgnoreForScimSynchronization(GroupModel resource) {
-        return false;
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/service/KeycloakDao.java b/src/main/java/sh/libre/scim/core/service/KeycloakDao.java
deleted file mode 100644
index f4c406c..0000000
--- a/src/main/java/sh/libre/scim/core/service/KeycloakDao.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package sh.libre.scim.core.service;
-
-import org.keycloak.models.GroupModel;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserModel;
-
-import java.util.Collections;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-public class KeycloakDao {
-
-    private final KeycloakSession keycloakSession;
-
-    public KeycloakDao(KeycloakSession keycloakSession) {
-        this.keycloakSession = keycloakSession;
-    }
-
-    private KeycloakSession getKeycloakSession() {
-        return keycloakSession;
-    }
-
-    private RealmModel getRealm() {
-        return getKeycloakSession().getContext().getRealm();
-    }
-
-    public boolean groupExists(KeycloakId groupId) {
-        GroupModel group = getKeycloakSession().groups().getGroupById(getRealm(), groupId.asString());
-        return group != null;
-    }
-
-    public boolean userExists(KeycloakId userId) {
-        UserModel user = getUserById(userId);
-        return user != null;
-    }
-
-    public UserModel getUserById(KeycloakId userId) {
-        return getKeycloakSession().users().getUserById(getRealm(), userId.asString());
-    }
-
-    public GroupModel getGroupById(KeycloakId groupId) {
-        return getKeycloakSession().groups().getGroupById(getRealm(), groupId.asString());
-    }
-
-
-    public Stream<GroupModel> getGroupsStream() {
-        return getKeycloakSession().groups().getGroupsStream(getRealm());
-    }
-
-    public GroupModel createGroup(String displayName) {
-        return getKeycloakSession().groups().createGroup(getRealm(), displayName);
-    }
-
-    public Set<KeycloakId> getGroupMembers(GroupModel groupModel) {
-        return getKeycloakSession().users()
-                .getGroupMembersStream(getRealm(), groupModel)
-                .map(UserModel::getId)
-                .map(KeycloakId::new)
-                .collect(Collectors.toSet());
-    }
-
-    public Stream<UserModel> getUsersStream() {
-        return getKeycloakSession().users().searchForUserStream(getRealm(), Collections.emptyMap());
-    }
-
-    public UserModel getUserByUsername(String username) {
-        return getKeycloakSession().users().getUserByUsername(getRealm(), username);
-    }
-
-    public UserModel getUserByEmail(String email) {
-        return getKeycloakSession().users().getUserByEmail(getRealm(), email);
-    }
-
-    public UserModel addUser(String username) {
-        return getKeycloakSession().users().addUser(getRealm(), username);
-    }
-
-
-}
diff --git a/src/main/java/sh/libre/scim/core/service/KeycloakId.java b/src/main/java/sh/libre/scim/core/service/KeycloakId.java
deleted file mode 100644
index 04bad47..0000000
--- a/src/main/java/sh/libre/scim/core/service/KeycloakId.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package sh.libre.scim.core.service;
-
-public record KeycloakId(
-        String asString
-) {
-
-}
diff --git a/src/main/java/sh/libre/scim/core/service/ScimClient.java b/src/main/java/sh/libre/scim/core/service/ScimClient.java
deleted file mode 100644
index de3b4d7..0000000
--- a/src/main/java/sh/libre/scim/core/service/ScimClient.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package sh.libre.scim.core.service;
-
-import com.google.common.net.HttpHeaders;
-import de.captaingoldfish.scim.sdk.client.ScimClientConfig;
-import de.captaingoldfish.scim.sdk.client.ScimRequestBuilder;
-import de.captaingoldfish.scim.sdk.client.response.ServerResponse;
-import de.captaingoldfish.scim.sdk.common.resources.ResourceNode;
-import de.captaingoldfish.scim.sdk.common.response.ListResponse;
-import io.github.resilience4j.core.IntervalFunction;
-import io.github.resilience4j.retry.Retry;
-import io.github.resilience4j.retry.RetryConfig;
-import io.github.resilience4j.retry.RetryRegistry;
-import jakarta.ws.rs.ProcessingException;
-import org.jboss.logging.Logger;
-import sh.libre.scim.core.ScrimEndPointConfiguration;
-import sh.libre.scim.core.exceptions.InvalidResponseFromScimEndpointException;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-
-public class ScimClient<S extends ResourceNode> implements AutoCloseable {
-    private static final Logger LOGGER = Logger.getLogger(ScimClient.class);
-
-    private final RetryRegistry retryRegistry;
-
-    private final ScimRequestBuilder scimRequestBuilder;
-
-    private final ScimResourceType scimResourceType;
-    private final boolean logAllRequests;
-
-    private ScimClient(ScimRequestBuilder scimRequestBuilder, ScimResourceType scimResourceType, boolean detailedLogs) {
-        this.scimRequestBuilder = scimRequestBuilder;
-        this.scimResourceType = scimResourceType;
-        RetryConfig retryConfig = RetryConfig.custom()
-                .maxAttempts(10)
-                .intervalFunction(IntervalFunction.ofExponentialBackoff())
-                .retryExceptions(ProcessingException.class)
-                .build();
-        retryRegistry = RetryRegistry.of(retryConfig);
-        this.logAllRequests = detailedLogs;
-    }
-
-    public static <T extends ResourceNode> ScimClient<T> open(ScrimEndPointConfiguration scimProviderConfiguration, ScimResourceType scimResourceType) {
-        String scimApplicationBaseUrl = scimProviderConfiguration.getEndPoint();
-        Map<String, String> httpHeaders = new HashMap<>();
-        httpHeaders.put(HttpHeaders.AUTHORIZATION, scimProviderConfiguration.getAuthorizationHeaderValue());
-        httpHeaders.put(HttpHeaders.CONTENT_TYPE, scimProviderConfiguration.getContentType());
-        ScimClientConfig scimClientConfig = ScimClientConfig.builder()
-                .httpHeaders(httpHeaders)
-                .connectTimeout(5)
-                .requestTimeout(5)
-                .socketTimeout(5)
-                .build();
-        ScimRequestBuilder scimRequestBuilder =
-                new ScimRequestBuilder(
-                        scimApplicationBaseUrl,
-                        scimClientConfig
-                );
-        return new ScimClient<>(scimRequestBuilder, scimResourceType, scimProviderConfiguration.isLogAllScimRequests());
-    }
-
-    public EntityOnRemoteScimId create(KeycloakId id, S scimForCreation) throws InvalidResponseFromScimEndpointException {
-        Optional<String> scimForCreationId = scimForCreation.getId();
-        if (scimForCreationId.isPresent()) {
-            throw new IllegalArgumentException(
-                    "User to create should never have an existing id: %s %s".formatted(id, scimForCreationId.get())
-            );
-        }
-        try {
-            Retry retry = retryRegistry.retry("create-%s".formatted(id.asString()));
-            if (logAllRequests) {
-                LOGGER.info("[SCIM] Sending CREATE " + scimForCreation.toPrettyString() + "\n to " + getScimEndpoint());
-            }
-            ServerResponse<S> response = retry.executeSupplier(() -> scimRequestBuilder
-                    .create(getResourceClass(), getScimEndpoint())
-                    .setResource(scimForCreation)
-                    .sendRequest()
-            );
-            checkResponseIsSuccess(response);
-            S resource = response.getResource();
-            return resource.getId()
-                    .map(EntityOnRemoteScimId::new)
-                    .orElseThrow(() -> new InvalidResponseFromScimEndpointException(response, "Created SCIM resource does not have id"));
-
-        } catch (Exception e) {
-            LOGGER.warn(e);
-            throw new InvalidResponseFromScimEndpointException("Exception while retrying create " + e.getMessage(), e);
-        }
-    }
-
-    private void checkResponseIsSuccess(ServerResponse<S> response) throws InvalidResponseFromScimEndpointException {
-        if (logAllRequests) {
-            LOGGER.info("[SCIM] Server response " + response.getHttpStatus() + "\n" + response.getResponseBody());
-        }
-        if (!response.isSuccess()) {
-            throw new InvalidResponseFromScimEndpointException(response, "Server answered with status " + response.getResponseBody() + ": " + response.getResponseBody());
-        }
-    }
-
-    private String getScimEndpoint() {
-        return scimResourceType.getEndpoint();
-    }
-
-    private Class<S> getResourceClass() {
-        return scimResourceType.getResourceClass();
-    }
-
-    public void update(EntityOnRemoteScimId externalId, S scimForReplace) throws InvalidResponseFromScimEndpointException {
-        Retry retry = retryRegistry.retry("replace-%s".formatted(externalId.asString()));
-        try {
-            if (logAllRequests) {
-                LOGGER.info("[SCIM] Sending UPDATE " + scimForReplace.toPrettyString() + "\n to " + getScimEndpoint());
-            }
-            ServerResponse<S> response = retry.executeSupplier(() -> scimRequestBuilder
-                    .update(getResourceClass(), getScimEndpoint(), externalId.asString())
-                    .setResource(scimForReplace)
-                    .sendRequest()
-            );
-            checkResponseIsSuccess(response);
-        } catch (Exception e) {
-            LOGGER.warn(e);
-            throw new InvalidResponseFromScimEndpointException("Exception while retrying update " + e.getMessage(), e);
-        }
-    }
-
-    public void delete(EntityOnRemoteScimId externalId) throws InvalidResponseFromScimEndpointException {
-        Retry retry = retryRegistry.retry("delete-%s".formatted(externalId.asString()));
-        if (logAllRequests) {
-            LOGGER.info("[SCIM] Sending DELETE to " + getScimEndpoint());
-        }
-        try {
-            ServerResponse<S> response = retry.executeSupplier(() -> scimRequestBuilder
-                    .delete(getResourceClass(), getScimEndpoint(), externalId.asString())
-                    .sendRequest()
-            );
-            checkResponseIsSuccess(response);
-        } catch (Exception e) {
-            LOGGER.warn(e);
-            throw new InvalidResponseFromScimEndpointException("Exception while retrying delete " + e.getMessage(), e);
-        }
-    }
-
-    @Override
-    public void close() {
-        scimRequestBuilder.close();
-    }
-
-    public List<S> listResources() {
-        ServerResponse<ListResponse<S>> response = scimRequestBuilder.list(getResourceClass(), getScimEndpoint()).get().sendRequest();
-        ListResponse<S> resourceTypeListResponse = response.getResource();
-        return resourceTypeListResponse.getListedResources();
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/service/ScimResourceType.java b/src/main/java/sh/libre/scim/core/service/ScimResourceType.java
deleted file mode 100644
index b90845b..0000000
--- a/src/main/java/sh/libre/scim/core/service/ScimResourceType.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package sh.libre.scim.core.service;
-
-import de.captaingoldfish.scim.sdk.common.resources.Group;
-import de.captaingoldfish.scim.sdk.common.resources.ResourceNode;
-import de.captaingoldfish.scim.sdk.common.resources.User;
-
-public enum ScimResourceType {
-
-    USER("/Users", User.class),
-
-    GROUP("/Groups", Group.class);
-
-    private final String endpoint;
-
-    private final Class<? extends ResourceNode> resourceClass;
-
-    ScimResourceType(String endpoint, Class<? extends ResourceNode> resourceClass) {
-        this.endpoint = endpoint;
-        this.resourceClass = resourceClass;
-    }
-
-    public String getEndpoint() {
-        return endpoint;
-    }
-
-    public <T extends ResourceNode> Class<T> getResourceClass() {
-        return (Class<T>) resourceClass;
-    }
-}
diff --git a/src/main/java/sh/libre/scim/core/service/UserScimService.java b/src/main/java/sh/libre/scim/core/service/UserScimService.java
deleted file mode 100644
index c0262f3..0000000
--- a/src/main/java/sh/libre/scim/core/service/UserScimService.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package sh.libre.scim.core.service;
-
-import de.captaingoldfish.scim.sdk.common.resources.User;
-import de.captaingoldfish.scim.sdk.common.resources.complex.Meta;
-import de.captaingoldfish.scim.sdk.common.resources.complex.Name;
-import de.captaingoldfish.scim.sdk.common.resources.multicomplex.Email;
-import de.captaingoldfish.scim.sdk.common.resources.multicomplex.MultiComplexNode;
-import de.captaingoldfish.scim.sdk.common.resources.multicomplex.PersonRole;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.jboss.logging.Logger;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.RoleMapperModel;
-import org.keycloak.models.RoleModel;
-import org.keycloak.models.UserModel;
-import sh.libre.scim.core.ScrimEndPointConfiguration;
-import sh.libre.scim.core.exceptions.InconsistentScimMappingException;
-import sh.libre.scim.core.exceptions.SkipOrStopStrategy;
-import sh.libre.scim.core.exceptions.UnexpectedScimDataException;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.stream.Stream;
-
-public class UserScimService extends AbstractScimService<UserModel, User> {
-    private static final Logger LOGGER = Logger.getLogger(UserScimService.class);
-
-    public UserScimService(
-            KeycloakSession keycloakSession,
-            ScrimEndPointConfiguration scimProviderConfiguration,
-            SkipOrStopStrategy skipOrStopStrategy) {
-        super(keycloakSession, scimProviderConfiguration, ScimResourceType.USER, skipOrStopStrategy);
-    }
-
-    @Override
-    protected Stream<UserModel> getResourceStream() {
-        return getKeycloakDao().getUsersStream();
-    }
-
-    @Override
-    protected boolean entityExists(KeycloakId keycloakId) {
-        return getKeycloakDao().userExists(keycloakId);
-    }
-
-    @Override
-    protected Optional<KeycloakId> matchKeycloakMappingByScimProperties(User resource) throws InconsistentScimMappingException {
-        Optional<KeycloakId> matchedByUsername = resource.getUserName()
-                .map(getKeycloakDao()::getUserByUsername)
-                .map(this::getId);
-        Optional<KeycloakId> matchedByEmail = resource.getEmails().stream()
-                .findFirst()
-                .flatMap(MultiComplexNode::getValue)
-                .map(getKeycloakDao()::getUserByEmail)
-                .map(this::getId);
-        if (matchedByUsername.isPresent()
-            && matchedByEmail.isPresent()
-            && !matchedByUsername.equals(matchedByEmail)) {
-            String inconstencyErrorMessage = "Found 2 possible users for remote user " + matchedByUsername.get() + " - " + matchedByEmail.get();
-            LOGGER.warn(inconstencyErrorMessage);
-            throw new InconsistentScimMappingException(inconstencyErrorMessage);
-        }
-        if (matchedByUsername.isPresent()) {
-            return matchedByUsername;
-        }
-        return matchedByEmail;
-    }
-
-    @Override
-    protected KeycloakId createEntity(User resource) throws UnexpectedScimDataException {
-        String username = resource.getUserName()
-                .filter(StringUtils::isNotBlank)
-                .orElseThrow(() -> new UnexpectedScimDataException("Remote Scim user has empty username, can't create. Resource id = %s".formatted(resource.getId())));
-        UserModel user = getKeycloakDao().addUser(username);
-        resource.getEmails().stream()
-                .findFirst()
-                .flatMap(MultiComplexNode::getValue)
-                .ifPresent(user::setEmail);
-        boolean userEnabled = resource.isActive().orElse(false);
-        user.setEnabled(userEnabled);
-        return new KeycloakId(user.getId());
-    }
-
-    @Override
-    protected boolean isMarkedToIgnore(UserModel userModel) {
-        return BooleanUtils.TRUE.equals(userModel.getFirstAttribute("scim-skip"));
-    }
-
-    @Override
-    protected KeycloakId getId(UserModel userModel) {
-        return new KeycloakId(userModel.getId());
-    }
-
-    @Override
-    protected User scimRequestBodyForCreate(UserModel roleMapperModel) {
-        String firstAndLastName = String.format("%s %s",
-                StringUtils.defaultString(roleMapperModel.getFirstName()),
-                StringUtils.defaultString(roleMapperModel.getLastName())).trim();
-        String displayName = Objects.toString(firstAndLastName, roleMapperModel.getUsername());
-        Stream<RoleModel> groupRoleModels = roleMapperModel.getGroupsStream().flatMap(RoleMapperModel::getRoleMappingsStream);
-        Stream<RoleModel> roleModels = roleMapperModel.getRoleMappingsStream();
-        Stream<RoleModel> allRoleModels = Stream.concat(groupRoleModels, roleModels);
-        List<PersonRole> roles = allRoleModels
-                .filter(r -> BooleanUtils.TRUE.equals(r.getFirstAttribute("scim")))
-                .map(RoleModel::getName)
-                .map(roleName -> {
-                    PersonRole personRole = new PersonRole();
-                    personRole.setValue(roleName);
-                    return personRole;
-                })
-                .toList();
-        User user = new User();
-        user.setRoles(roles);
-        user.setExternalId(roleMapperModel.getId());
-        user.setUserName(roleMapperModel.getUsername());
-        user.setDisplayName(displayName);
-        Name name = new Name();
-        name.setFamilyName(roleMapperModel.getLastName());
-        name.setGivenName(roleMapperModel.getFirstName());
-        user.setName(name);
-        List<Email> emails = new ArrayList<>();
-        if (roleMapperModel.getEmail() != null) {
-            emails.add(
-                    Email.builder().value(roleMapperModel.getEmail()).build());
-        }
-        user.setEmails(emails);
-        user.setActive(roleMapperModel.isEnabled());
-        return user;
-    }
-
-    @Override
-    protected User scimRequestBodyForUpdate(UserModel userModel, EntityOnRemoteScimId externalId) {
-        User user = scimRequestBodyForCreate(userModel);
-        user.setId(externalId.asString());
-        Meta meta = newMetaLocation(externalId);
-        user.setMeta(meta);
-        return user;
-    }
-
-    @Override
-    protected boolean shouldIgnoreForScimSynchronization(UserModel userModel) {
-        return "admin".equals(userModel.getUsername());
-    }
-}
diff --git a/src/main/java/sh/libre/scim/event/ScimBackgroundGroupMembershipUpdater.java b/src/main/java/sh/libre/scim/event/ScimBackgroundGroupMembershipUpdater.java
deleted file mode 100644
index 4c49f74..0000000
--- a/src/main/java/sh/libre/scim/event/ScimBackgroundGroupMembershipUpdater.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package sh.libre.scim.event;
-
-import org.jboss.logging.Logger;
-import org.keycloak.models.GroupModel;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.KeycloakSessionFactory;
-import org.keycloak.models.RealmModel;
-import org.keycloak.models.utils.KeycloakModelUtils;
-import org.keycloak.timer.TimerProvider;
-import sh.libre.scim.core.ScimDispatcher;
-
-import java.time.Duration;
-
-/**
- * In charge of making background checks and sent
- * UPDATE requests from group for which membership information has changed.
- * <p>
- * This is required to avoid immediate group membership updates which could cause
- * to incorrect group members list in case of concurrent group membership changes.
- */
-public class ScimBackgroundGroupMembershipUpdater {
-    public static final String GROUP_DIRTY_SINCE_ATTRIBUTE_NAME = "scim-dirty-since";
-
-    private static final Logger LOGGER = Logger.getLogger(ScimBackgroundGroupMembershipUpdater.class);
-    // Update check loop will run every time this delay has passed
-    private static final long UPDATE_CHECK_DELAY_MS = 2000;
-    // If a group is marked dirty since less that this debounce delay, wait for the next update check loop
-    private static final long DEBOUNCE_DELAY_MS = 1200;
-    private final KeycloakSessionFactory sessionFactory;
-
-    public ScimBackgroundGroupMembershipUpdater(KeycloakSessionFactory sessionFactory) {
-        this.sessionFactory = sessionFactory;
-    }
-
-    public void startBackgroundUpdates() {
-        // Every UPDATE_CHECK_DELAY_MS, check for dirty groups and send updates if required
-        try (KeycloakSession keycloakSession = sessionFactory.create()) {
-            TimerProvider timer = keycloakSession.getProvider(TimerProvider.class);
-            timer.scheduleTask(taskSession -> {
-                for (RealmModel realm : taskSession.realms().getRealmsStream().toList()) {
-                    dispatchDirtyGroupsUpdates(realm);
-                }
-            }, Duration.ofMillis(UPDATE_CHECK_DELAY_MS).toMillis(), "scim-background");
-        }
-    }
-
-    private void dispatchDirtyGroupsUpdates(RealmModel realm) {
-        KeycloakModelUtils.runJobInTransaction(sessionFactory, session -> {
-            session.getContext().setRealm(realm);
-            ScimDispatcher dispatcher = new ScimDispatcher(session);
-            // Identify groups marked as dirty by the ScimEventListenerProvider
-            for (GroupModel group : session.groups().getGroupsStream(realm)
-                    .filter(this::isDirtyGroup).toList()) {
-                LOGGER.infof("[SCIM] Group %s is dirty, dispatch an update", group.getName());
-                // If dirty : dispatch a group update to all clients and mark it clean
-                dispatcher.dispatchGroupModificationToAll(client -> client.update(group));
-                group.removeAttribute(GROUP_DIRTY_SINCE_ATTRIBUTE_NAME);
-            }
-            dispatcher.close();
-        });
-    }
-
-    private boolean isDirtyGroup(GroupModel g) {
-        String groupDirtySinceAttribute = g.getFirstAttribute(GROUP_DIRTY_SINCE_ATTRIBUTE_NAME);
-        try {
-            long groupDirtySince = Long.parseLong(groupDirtySinceAttribute);
-            // Must be dirty for more than DEBOUNCE_DELAY_MS
-            // (otherwise update will be dispatched in next scheduled loop)
-            return System.currentTimeMillis() - groupDirtySince > DEBOUNCE_DELAY_MS;
-        } catch (NumberFormatException e) {
-            return false;
-        }
-    }
-}
diff --git a/src/main/java/sh/libre/scim/event/ScimEventListenerProvider.java b/src/main/java/sh/libre/scim/event/ScimEventListenerProvider.java
deleted file mode 100644
index 2c177b0..0000000
--- a/src/main/java/sh/libre/scim/event/ScimEventListenerProvider.java
+++ /dev/null
@@ -1,247 +0,0 @@
-package sh.libre.scim.event;
-
-import org.jboss.logging.Logger;
-import org.keycloak.component.ComponentModel;
-import org.keycloak.events.Event;
-import org.keycloak.events.EventListenerProvider;
-import org.keycloak.events.EventType;
-import org.keycloak.events.admin.AdminEvent;
-import org.keycloak.events.admin.OperationType;
-import org.keycloak.events.admin.ResourceType;
-import org.keycloak.models.GroupModel;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.UserModel;
-import sh.libre.scim.core.ScimDispatcher;
-import sh.libre.scim.core.ScimEndpointConfigurationStorageProviderFactory;
-import sh.libre.scim.core.service.KeycloakDao;
-import sh.libre.scim.core.service.KeycloakId;
-import sh.libre.scim.core.service.ScimResourceType;
-
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Stream;
-
-/**
- * An Event listener reacting to Keycloak models  modification
- * (e.g. User creation, Group deletion, membership modifications, endpoint configuration change...)
- * by propagating it to all registered Scim endpoints.
- */
-public class ScimEventListenerProvider implements EventListenerProvider {
-
-    private static final Logger LOGGER = Logger.getLogger(ScimEventListenerProvider.class);
-
-    private final ScimDispatcher dispatcher;
-
-    private final KeycloakSession session;
-
-    private final KeycloakDao keycloakDao;
-
-    private final Map<ResourceType, Pattern> listenedEventPathPatterns = Map.of(
-            ResourceType.USER, Pattern.compile("users/(.+)"),
-            ResourceType.GROUP, Pattern.compile("groups/([\\w-]+)(/children)?"),
-            ResourceType.GROUP_MEMBERSHIP, Pattern.compile("users/(.+)/groups/(.+)"),
-            ResourceType.REALM_ROLE_MAPPING, Pattern.compile("^(.+)/(.+)/role-mappings"),
-            ResourceType.COMPONENT, Pattern.compile("components/(.+)")
-    );
-
-    public ScimEventListenerProvider(KeycloakSession session) {
-        this.session = session;
-        this.keycloakDao = new KeycloakDao(session);
-        this.dispatcher = new ScimDispatcher(session);
-    }
-
-    @Override
-    public void onEvent(Event event) {
-        // React to User-related event : creation, deletion, update
-        EventType eventType = event.getType();
-        KeycloakId eventUserId = new KeycloakId(event.getUserId());
-        switch (eventType) {
-            case REGISTER -> {
-                LOGGER.infof("[SCIM] Propagate User Registration - %s", eventUserId);
-                UserModel user = getUser(eventUserId);
-                dispatcher.dispatchUserModificationToAll(client -> client.create(user));
-            }
-            case UPDATE_EMAIL, UPDATE_PROFILE -> {
-                LOGGER.infof("[SCIM] Propagate User %s - %s", eventType, eventUserId);
-                UserModel user = getUser(eventUserId);
-                dispatcher.dispatchUserModificationToAll(client -> client.update(user));
-            }
-            case DELETE_ACCOUNT -> {
-                LOGGER.infof("[SCIM] Propagate User deletion - %s", eventUserId);
-                dispatcher.dispatchUserModificationToAll(client -> client.delete(eventUserId));
-            }
-            default -> {
-                // No other event has to be propagated to Scim endpoints
-            }
-        }
-    }
-
-
-    @Override
-    public void onEvent(AdminEvent event, boolean includeRepresentation) {
-        // Step 1: check if event is relevant for propagation through SCIM
-        Pattern pattern = listenedEventPathPatterns.get(event.getResourceType());
-        if (pattern == null)
-            return;
-        Matcher matcher = pattern.matcher(event.getResourcePath());
-        if (!matcher.find())
-            return;
-
-
-        // Step 2: propagate event (if needed) according to its resource type
-        switch (event.getResourceType()) {
-            case USER -> {
-                KeycloakId userId = new KeycloakId(matcher.group(1));
-                handleUserEvent(event, userId);
-            }
-            case GROUP -> {
-                KeycloakId groupId = new KeycloakId(matcher.group(1));
-                handleGroupEvent(event, groupId);
-            }
-            case GROUP_MEMBERSHIP -> {
-                KeycloakId userId = new KeycloakId(matcher.group(1));
-                KeycloakId groupId = new KeycloakId(matcher.group(2));
-                handleGroupMemberShipEvent(event, userId, groupId);
-            }
-            case REALM_ROLE_MAPPING -> {
-                String rawResourceType = matcher.group(1);
-                ScimResourceType type = switch (rawResourceType) {
-                    case "users" -> ScimResourceType.USER;
-                    case "groups" -> ScimResourceType.GROUP;
-                    default -> throw new IllegalArgumentException("Unsupported resource type: " + rawResourceType);
-                };
-                KeycloakId id = new KeycloakId(matcher.group(2));
-                handleRoleMappingEvent(event, type, id);
-            }
-            case COMPONENT -> {
-                String id = matcher.group(1);
-                handleScimEndpointConfigurationEvent(event, id);
-
-            }
-            default -> {
-                // No other resource modification has to be propagated to Scim endpoints
-            }
-        }
-    }
-
-
-    private void handleUserEvent(AdminEvent userEvent, KeycloakId userId) {
-        LOGGER.infof("[SCIM] Propagate User %s - %s", userEvent.getOperationType(), userId);
-        switch (userEvent.getOperationType()) {
-            case CREATE -> {
-                UserModel user = getUser(userId);
-                dispatcher.dispatchUserModificationToAll(client -> client.create(user));
-                user.getGroupsStream().forEach(group ->
-                        dispatcher.dispatchGroupModificationToAll(client -> client.update(group)
-                        ));
-            }
-            case UPDATE -> {
-                UserModel user = getUser(userId);
-                dispatcher.dispatchUserModificationToAll(client -> client.update(user));
-            }
-            case DELETE -> dispatcher.dispatchUserModificationToAll(client -> client.delete(userId));
-            default -> {
-                // ACTION userEvent are not relevant, nothing to do
-            }
-        }
-    }
-
-    /**
-     * Propagating the given group-related event to Scim endpoints.
-     *
-     * @param event   the event to propagate
-     * @param groupId event target's id
-     */
-    private void handleGroupEvent(AdminEvent event, KeycloakId groupId) {
-        LOGGER.infof("[SCIM] Propagate Group %s - %s", event.getOperationType(), groupId);
-        switch (event.getOperationType()) {
-            case CREATE -> {
-                GroupModel group = getGroup(groupId);
-                dispatcher.dispatchGroupModificationToAll(client -> client.create(group));
-            }
-            case UPDATE -> {
-                GroupModel group = getGroup(groupId);
-                dispatcher.dispatchGroupModificationToAll(client -> client.update(group));
-            }
-            case DELETE -> dispatcher.dispatchGroupModificationToAll(client -> client.delete(groupId));
-            default -> {
-                // ACTION event are not relevant, nothing to do
-            }
-        }
-    }
-
-    private void handleGroupMemberShipEvent(AdminEvent groupMemberShipEvent, KeycloakId userId, KeycloakId groupId) {
-        LOGGER.infof("[SCIM] Propagate GroupMemberShip %s - User %s Group %s", groupMemberShipEvent.getOperationType(), userId, groupId);
-        // Step 1: update USER immediately
-        GroupModel group = getGroup(groupId);
-        UserModel user = getUser(userId);
-        dispatcher.dispatchUserModificationToAll(client -> client.update(user));
-
-        // Step 2: delayed GROUP update :
-        // if several users are added to the group simultaneously in different Keycloack sessions
-        // update the group in the context of the current session may not reflect those other changes
-        // We trigger a delayed update by setting an attribute on the group (that will be handled by ScimBackgroundGroupMembershipUpdaters)
-        group.setSingleAttribute(ScimBackgroundGroupMembershipUpdater.GROUP_DIRTY_SINCE_ATTRIBUTE_NAME, "" + System.currentTimeMillis());
-    }
-
-    private void handleRoleMappingEvent(AdminEvent roleMappingEvent, ScimResourceType type, KeycloakId id) {
-        LOGGER.infof("[SCIM] Propagate RoleMapping %s - %s %s", roleMappingEvent.getOperationType(), type, id);
-        switch (type) {
-            case USER -> {
-                UserModel user = getUser(id);
-                dispatcher.dispatchUserModificationToAll(client -> client.update(user));
-            }
-            case GROUP -> {
-                GroupModel group = getGroup(id);
-                session.users()
-                        .getGroupMembersStream(session.getContext().getRealm(), group)
-                        .forEach(user ->
-                                dispatcher.dispatchUserModificationToAll(client -> client.update(user)
-                                ));
-            }
-            default -> {
-                // No other type is relevant for propagation
-            }
-        }
-    }
-
-    private void handleScimEndpointConfigurationEvent(AdminEvent event, String id) {
-        // In case of a component deletion
-        if (event.getOperationType() == OperationType.DELETE) {
-            // Check if it was a Scim endpoint configuration, and forward deletion if so
-            Stream<ComponentModel> scimEndpointConfigurationsWithDeletedId = session.getContext().getRealm().getComponentsStream()
-                    .filter(m -> ScimEndpointConfigurationStorageProviderFactory.ID.equals(m.getProviderId())
-                                 && id.equals(m.getId()));
-            if (scimEndpointConfigurationsWithDeletedId.iterator().hasNext()) {
-                LOGGER.infof("[SCIM] SCIM Endpoint configuration DELETE - %s ", id);
-                dispatcher.refreshActiveScimEndpoints();
-            }
-        } else {
-            // In case of CREATE or UPDATE, we can directly use the string representation
-            // to check if it defines a SCIM endpoint (faster)
-            if (event.getRepresentation() != null
-                && event.getRepresentation().contains("\"providerId\":\"scim\"")) {
-                LOGGER.infof("[SCIM] SCIM Endpoint configuration CREATE - %s ", id);
-                dispatcher.refreshActiveScimEndpoints();
-            }
-        }
-
-    }
-
-
-    private UserModel getUser(KeycloakId id) {
-        return keycloakDao.getUserById(id);
-    }
-
-    private GroupModel getGroup(KeycloakId id) {
-        return keycloakDao.getGroupById(id);
-    }
-
-    @Override
-    public void close() {
-        dispatcher.close();
-    }
-
-
-}
diff --git a/src/main/java/sh/libre/scim/event/ScimEventListenerProviderFactory.java b/src/main/java/sh/libre/scim/event/ScimEventListenerProviderFactory.java
deleted file mode 100644
index c7b437a..0000000
--- a/src/main/java/sh/libre/scim/event/ScimEventListenerProviderFactory.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package sh.libre.scim.event;
-
-import org.keycloak.Config.Scope;
-import org.keycloak.events.EventListenerProvider;
-import org.keycloak.events.EventListenerProviderFactory;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.KeycloakSessionFactory;
-
-public class ScimEventListenerProviderFactory implements EventListenerProviderFactory {
-
-    @Override
-    public EventListenerProvider create(KeycloakSession session) {
-        return new ScimEventListenerProvider(session);
-    }
-
-    @Override
-    public String getId() {
-        return "scim";
-    }
-
-    @Override
-    public void init(Scope config) {
-        // Nothing to initialize
-    }
-
-    @Override
-    public void postInit(KeycloakSessionFactory factory) {
-        // Nothing to initialize
-    }
-
-    @Override
-    public void close() {
-        // Nothing to close
-    }
-
-}
diff --git a/src/main/java/sh/libre/scim/jpa/ScimResourceDao.java b/src/main/java/sh/libre/scim/jpa/ScimResourceDao.java
deleted file mode 100644
index 4deec37..0000000
--- a/src/main/java/sh/libre/scim/jpa/ScimResourceDao.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package sh.libre.scim.jpa;
-
-import jakarta.persistence.EntityManager;
-import jakarta.persistence.NoResultException;
-import jakarta.persistence.TypedQuery;
-import org.keycloak.connections.jpa.JpaConnectionProvider;
-import org.keycloak.models.KeycloakSession;
-import sh.libre.scim.core.service.EntityOnRemoteScimId;
-import sh.libre.scim.core.service.KeycloakId;
-import sh.libre.scim.core.service.ScimResourceType;
-
-import java.util.Optional;
-
-public class ScimResourceDao {
-
-    private final String realmId;
-
-    private final String componentId;
-
-    private final EntityManager entityManager;
-
-    private ScimResourceDao(String realmId, String componentId, EntityManager entityManager) {
-        this.realmId = realmId;
-        this.componentId = componentId;
-        this.entityManager = entityManager;
-    }
-
-    public static ScimResourceDao newInstance(KeycloakSession keycloakSession, String componentId) {
-        String realmId = keycloakSession.getContext().getRealm().getId();
-        EntityManager entityManager = keycloakSession.getProvider(JpaConnectionProvider.class).getEntityManager();
-        return new ScimResourceDao(realmId, componentId, entityManager);
-    }
-
-    private EntityManager getEntityManager() {
-        return entityManager;
-    }
-
-    private String getRealmId() {
-        return realmId;
-    }
-
-    private String getComponentId() {
-        return componentId;
-    }
-
-    public void create(KeycloakId id, EntityOnRemoteScimId externalId, ScimResourceType type) {
-        ScimResourceMapping entity = new ScimResourceMapping();
-        entity.setType(type.name());
-        entity.setExternalId(externalId.asString());
-        entity.setComponentId(componentId);
-        entity.setRealmId(realmId);
-        entity.setId(id.asString());
-        entityManager.persist(entity);
-    }
-
-    private TypedQuery<ScimResourceMapping> getScimResourceTypedQuery(String queryName, String id, ScimResourceType type) {
-        return getEntityManager()
-                .createNamedQuery(queryName, ScimResourceMapping.class)
-                .setParameter("type", type.name())
-                .setParameter("realmId", getRealmId())
-                .setParameter("componentId", getComponentId())
-                .setParameter("id", id);
-    }
-
-    public Optional<ScimResourceMapping> findByExternalId(EntityOnRemoteScimId externalId, ScimResourceType type) {
-        try {
-            return Optional.of(
-                    getScimResourceTypedQuery("findByExternalId", externalId.asString(), type).getSingleResult()
-            );
-        } catch (NoResultException e) {
-            return Optional.empty();
-        }
-    }
-
-    public Optional<ScimResourceMapping> findById(KeycloakId keycloakId, ScimResourceType type) {
-        try {
-            return Optional.of(
-                    getScimResourceTypedQuery("findById", keycloakId.asString(), type).getSingleResult()
-            );
-        } catch (NoResultException e) {
-            return Optional.empty();
-        }
-    }
-
-    public Optional<ScimResourceMapping> findUserById(KeycloakId id) {
-        return findById(id, ScimResourceType.USER);
-    }
-
-    public Optional<ScimResourceMapping> findUserByExternalId(EntityOnRemoteScimId externalId) {
-        return findByExternalId(externalId, ScimResourceType.USER);
-    }
-
-    public void delete(ScimResourceMapping resource) {
-        entityManager.remove(resource);
-    }
-}
diff --git a/src/main/java/sh/libre/scim/jpa/ScimResourceId.java b/src/main/java/sh/libre/scim/jpa/ScimResourceId.java
deleted file mode 100644
index d0abddf..0000000
--- a/src/main/java/sh/libre/scim/jpa/ScimResourceId.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package sh.libre.scim.jpa;
-
-import org.apache.commons.lang3.StringUtils;
-
-import java.io.Serializable;
-import java.util.Objects;
-
-public class ScimResourceId implements Serializable {
-    private String id;
-    private String realmId;
-    private String componentId;
-    private String type;
-    private String externalId;
-
-    public ScimResourceId() {
-    }
-
-    public ScimResourceId(String id, String realmId, String componentId, String type, String externalId) {
-        this.setId(id);
-        this.setRealmId(realmId);
-        this.setComponentId(componentId);
-        this.setType(type);
-        this.setExternalId(externalId);
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getRealmId() {
-        return realmId;
-    }
-
-    public void setRealmId(String realmId) {
-        this.realmId = realmId;
-    }
-
-    public String getComponentId() {
-        return componentId;
-    }
-
-    public void setComponentId(String componentId) {
-        this.componentId = componentId;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public String getExternalId() {
-        return externalId;
-    }
-
-    public void setExternalId(String externalId) {
-        this.externalId = externalId;
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        if (this == other)
-            return true;
-        if (!(other instanceof ScimResourceId o))
-            return false;
-        return (StringUtils.equals(o.id, id) &&
-                StringUtils.equals(o.realmId, realmId) &&
-                StringUtils.equals(o.componentId, componentId) &&
-                StringUtils.equals(o.type, type) &&
-                StringUtils.equals(o.externalId, externalId));
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(realmId, componentId, type, id, externalId);
-    }
-}
diff --git a/src/main/java/sh/libre/scim/jpa/ScimResourceMapping.java b/src/main/java/sh/libre/scim/jpa/ScimResourceMapping.java
deleted file mode 100644
index ade6848..0000000
--- a/src/main/java/sh/libre/scim/jpa/ScimResourceMapping.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package sh.libre.scim.jpa;
-
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.Id;
-import jakarta.persistence.IdClass;
-import jakarta.persistence.NamedQueries;
-import jakarta.persistence.NamedQuery;
-import jakarta.persistence.Table;
-import sh.libre.scim.core.service.EntityOnRemoteScimId;
-import sh.libre.scim.core.service.KeycloakId;
-
-@Entity
-@IdClass(ScimResourceId.class)
-@Table(name = "SCIM_RESOURCE_MAPPING")
-@NamedQueries({
-        @NamedQuery(name = "findById", query = "from ScimResourceMapping where realmId = :realmId and componentId = :componentId and type = :type and id = :id"),
-        @NamedQuery(name = "findByExternalId", query = "from ScimResourceMapping where realmId = :realmId and componentId = :componentId and type = :type and externalId = :id")
-})
-public class ScimResourceMapping {
-
-    @Id
-    @Column(name = "ID", nullable = false)
-    private String id;
-
-    @Id
-    @Column(name = "REALM_ID", nullable = false)
-    private String realmId;
-
-    @Id
-    @Column(name = "COMPONENT_ID", nullable = false)
-    private String componentId;
-
-    @Id
-    @Column(name = "TYPE", nullable = false)
-    private String type;
-
-    @Id
-    @Column(name = "EXTERNAL_ID", nullable = false)
-    private String externalId;
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getRealmId() {
-        return realmId;
-    }
-
-    public void setRealmId(String realmId) {
-        this.realmId = realmId;
-    }
-
-    public String getComponentId() {
-        return componentId;
-    }
-
-    public void setComponentId(String componentId) {
-        this.componentId = componentId;
-    }
-
-    public String getExternalId() {
-        return externalId;
-    }
-
-    public void setExternalId(String externalId) {
-        this.externalId = externalId;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public KeycloakId getIdAsKeycloakId() {
-        return new KeycloakId(id);
-    }
-
-    public EntityOnRemoteScimId getExternalIdAsEntityOnRemoteScimId() {
-        return new EntityOnRemoteScimId(externalId);
-    }
-}
diff --git a/src/main/java/sh/libre/scim/jpa/ScimResourceProvider.java b/src/main/java/sh/libre/scim/jpa/ScimResourceProvider.java
deleted file mode 100644
index 6ef55a0..0000000
--- a/src/main/java/sh/libre/scim/jpa/ScimResourceProvider.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package sh.libre.scim.jpa;
-
-import org.keycloak.connections.jpa.entityprovider.JpaEntityProvider;
-
-import java.util.Collections;
-import java.util.List;
-
-public class ScimResourceProvider implements JpaEntityProvider {
-
-    @Override
-    public List<Class<?>> getEntities() {
-        return Collections.singletonList(ScimResourceMapping.class);
-    }
-
-    @Override
-    public String getChangelogLocation() {
-        return "META-INF/scim-resource-changelog.xml";
-    }
-
-    @Override
-    public void close() {
-        // Nothing to close
-    }
-
-    @Override
-    public String getFactoryId() {
-        return ScimResourceProviderFactory.ID;
-    }
-}
\ No newline at end of file
diff --git a/src/main/java/sh/libre/scim/jpa/ScimResourceProviderFactory.java b/src/main/java/sh/libre/scim/jpa/ScimResourceProviderFactory.java
deleted file mode 100644
index 7f3cc32..0000000
--- a/src/main/java/sh/libre/scim/jpa/ScimResourceProviderFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package sh.libre.scim.jpa;
-
-import org.keycloak.Config.Scope;
-import org.keycloak.connections.jpa.entityprovider.JpaEntityProvider;
-import org.keycloak.connections.jpa.entityprovider.JpaEntityProviderFactory;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.KeycloakSessionFactory;
-
-public class ScimResourceProviderFactory implements JpaEntityProviderFactory {
-
-    static final String ID = "scim-resource";
-
-    @Override
-    public JpaEntityProvider create(KeycloakSession session) {
-        return new ScimResourceProvider();
-    }
-
-    @Override
-    public String getId() {
-        return ID;
-    }
-
-    @Override
-    public void init(Scope scope) {
-        // Nothing to initialise
-    }
-
-    @Override
-    public void postInit(KeycloakSessionFactory sessionFactory) {
-        // Nothing to do
-    }
-
-
-    @Override
-    public void close() {
-        // Nothing to close
-    }
-
-}
diff --git a/src/main/resources/META-INF/jboss-deployment-structure.xml b/src/main/resources/META-INF/jboss-deployment-structure.xml
deleted file mode 100644
index 42007fe..0000000
--- a/src/main/resources/META-INF/jboss-deployment-structure.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jboss-deployment-structure>
-    <deployment>
-        <dependencies>
-            <module name="org.keycloak.keycloak-services" />
-            <module name="org.keycloak.keycloak-model-jpa" />
-            <module name="org.hibernate" />
-        </dependencies>
-    </deployment>
-</jboss-deployment-structure>
diff --git a/src/main/resources/META-INF/scim-resource-changelog.xml b/src/main/resources/META-INF/scim-resource-changelog.xml
deleted file mode 100644
index d3e2687..0000000
--- a/src/main/resources/META-INF/scim-resource-changelog.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                   xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
-    <changeSet author="contact@indiehosters.net" id="scim-resource-1.0">
-
-        <createTable tableName="SCIM_RESOURCE_MAPPING">
-            <column name="ID" type="VARCHAR(36)">
-                <constraints nullable="false"/>
-            </column>
-            <column name="REALM_ID" type="VARCHAR(36)">
-                <constraints nullable="false"/>
-            </column>
-            <column name="TYPE" type="VARCHAR(36)">
-                <constraints nullable="false"/>
-            </column>
-            <column name="COMPONENT_ID" type="VARCHAR(36)">
-                <constraints nullable="false"/>
-            </column>
-            <column name="EXTERNAL_ID" type="VARCHAR(36)">
-                <constraints nullable="false"/>
-            </column>
-        </createTable>
-
-        <addPrimaryKey constraintName="PK_SCIM_RESOURCE_MAPPING" tableName="SCIM_RESOURCE_MAPPING"
-                       columnNames="ID,REALM_ID,TYPE,COMPONENT_ID,EXTERNAL_ID"/>
-        <addForeignKeyConstraint baseTableName="SCIM_RESOURCE_MAPPING" baseColumnNames="REALM_ID"
-                                 constraintName="FK_SCIM_RESOURCE_MAPPING_REALM" referencedTableName="REALM"
-                                 referencedColumnNames="ID" onDelete="CASCADE" onUpdate="CASCADE"/>
-        <addForeignKeyConstraint baseTableName="SCIM_RESOURCE_MAPPING" baseColumnNames="COMPONENT_ID"
-                                 constraintName="FK_SCIM_RESOURCE_MAPPING_COMPONENT" referencedTableName="COMPONENT"
-                                 referencedColumnNames="ID" onDelete="CASCADE" onUpdate="CASCADE"/>
-    </changeSet>
-
-</databaseChangeLog>
\ No newline at end of file
diff --git a/src/main/resources/META-INF/services/org.keycloak.connections.jpa.entityprovider.JpaEntityProviderFactory b/src/main/resources/META-INF/services/org.keycloak.connections.jpa.entityprovider.JpaEntityProviderFactory
deleted file mode 100644
index b3cb1a1..0000000
--- a/src/main/resources/META-INF/services/org.keycloak.connections.jpa.entityprovider.JpaEntityProviderFactory
+++ /dev/null
@@ -1 +0,0 @@
-sh.libre.scim.jpa.ScimResourceProviderFactory
diff --git a/src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory b/src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory
deleted file mode 100644
index 7e2a6ed..0000000
--- a/src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory
+++ /dev/null
@@ -1 +0,0 @@
-sh.libre.scim.event.ScimEventListenerProviderFactory
diff --git a/src/main/resources/META-INF/services/org.keycloak.storage.UserStorageProviderFactory b/src/main/resources/META-INF/services/org.keycloak.storage.UserStorageProviderFactory
deleted file mode 100644
index 308796c..0000000
--- a/src/main/resources/META-INF/services/org.keycloak.storage.UserStorageProviderFactory
+++ /dev/null
@@ -1 +0,0 @@
-sh.libre.scim.core.ScimEndpointConfigurationStorageProviderFactory
-- 
GitLab