Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
cb24d34
Merge pull request #198 from InseeFr/develop
davdarras Oct 25, 2024
becb135
fix: allow interviewer to GET its interviewer data
SimonDmz Oct 29, 2024
9ea40e4
chore(config): migrate config renovate.json
renovate[bot] Oct 23, 2024
8540c73
feat: add display name for survey unit (#202)
davdarras Nov 5, 2024
028ca3d
Feat extend identification configuration (#203)
SimonDmz Feb 6, 2025
2abd9b7
fix(deps): update all minor dependencies
renovate[bot] Feb 8, 2025
536a00c
feat: remove deprecated contact outcomes (#207)
SimonDmz Feb 20, 2025
f3f9840
feat: count add (#204)
corbininsee Feb 25, 2025
e6c8e91
feat: Update tracking status for Individual surveys (Face-to-Face & T…
corbininsee Feb 25, 2025
59d006a
feat : improve getClosableSurveyUnits to add new type (#211)
corbininsee Feb 28, 2025
01e4253
feat: add communication metadata (#209)
SimonDmz Feb 28, 2025
ef23b43
fix: 10568 (#212)
corbininsee Mar 4, 2025
44f4ad4
feat: set up campaign sensitivity
aitkarra Mar 18, 2025
5a97d50
feat: add communication_metadata entity
corbininsee Mar 20, 2025
692d4d8
fix: set up campaign sensitivity (#217)
aitkarra Mar 25, 2025
f408855
feat: dockerize tests (#216)
davdarras Mar 26, 2025
bbadfc3
fix: update identificationState rules for INDTEL
SimonDmz Apr 4, 2025
08bc034
feat: restore survey unit attributes on creation
SimonDmz Apr 4, 2025
27e6fb8
fix: fix getCommRequestCountByCampaignTypeAndOrgaUnit (#220)
corbininsee Apr 7, 2025
31d3280
fix: delete campaignId in CommunicationTemplateCreateDto (#222)
corbininsee Apr 9, 2025
f6d37bc
fix: keep old comm request attribute name for compatibility
SimonDmz Apr 9, 2025
95fe633
chore: bump version
SimonDmz Apr 9, 2025
088ebea
feat: better swagger values for campaign creation
SimonDmz Apr 15, 2025
9adac8d
feat: better campaign creation default values
corbininsee Apr 25, 2025
66cef11
chore(config): migrate config renovate.json
renovate[bot] Jul 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
PEARL_DB_USER=mypostgresuser
PEARL_DB_PASSWORD=mypostgrespassword
PEARL_DB_PORT=5434
PEARL_DB=pearl

KEYCLOAK_PORT=7080
67 changes: 67 additions & 0 deletions .github/workflows/docker-snapshot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Build snapshot docker image

on:
push:
branches-ignore:
- main

jobs:
build-snapshot:
runs-on: ubuntu-latest
outputs:
branch: ${{ steps.extract_branch.outputs.branch }}
steps:
- name: Extract branch name
shell: bash
run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >>$GITHUB_OUTPUT
id: extract_branch

- uses: actions/checkout@v4
with:
ref: ${{ steps.extract_branch.outputs.branch }}

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "21"

- name: Build API
run: mvn package --no-transfer-progress

- name: Upload API jar
uses: actions/upload-artifact@v4
with:
name: app-jar
path: target/*.jar

docker:
needs:
- build-snapshot
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Download uploaded jar
uses: actions/download-artifact@v4
with:
name: app-jar
path: target/

- name: Create docker version tag
id: docker-version
run: |
# replace '/' by '-' for docker tags
docker_tag="${{ needs.build-snapshot.outputs.branch }}"
docker_tag=$(echo "$docker_tag" | sed 's/[\/+]/-/g')
echo "docker_tag=${docker_tag}" >> $GITHUB_ENV

- name: Publish to Docker Hub
uses: elgohr/Publish-Docker-Github-Action@v5
with:
name: inseefr/pearl-jam-back-office
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
default_branch: ${{ github.ref }}
tags: "snapshot-${{ env.docker_tag }}"
workdir: .
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
htmlReport/**

### STS ###
.apt_generated
Expand Down
3 changes: 2 additions & 1 deletion .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
wrapperVersion=3.3.1
wrapperVersion=3.3.2
distributionType=only-script
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM eclipse-temurin:21.0.4_7-jre-alpine
FROM eclipse-temurin:21.0.6_7-jre-alpine@sha256:4c07db858c3b8bfed4cb9163f4aeedbff9c0c2b8212ec1fa75c13a169dec8dc6

WORKDIR /opt/app/
COPY ./target/*.jar /opt/app/app.jar
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ logging:
- `GET /api/campaign/{id}/survey-units/not-attributed` : Get numberSUNotAttributed
- `PUT /api/campaign/{idCampaign}/organizational-unit/{idOu}/visibility` : Change visibility of a campaign for an Organizational Unit
- `GET /api/campaigns` : Get Campaigns
- `GET /campaigns/{id}/ongoing` campaign is ongoing
- `GET /api/campaigns/ongoing` : Campaigns is ongoing (BATCH extraction-transfert-synchronisation)

### Closing-Cause-Controller
- `GET /api/campaign/{id}/survey-units/interviewer/{idep}/closing-causes` : Get interviewerStateCount
Expand Down
28 changes: 28 additions & 0 deletions compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
services:
pearl-db:
image: postgres:15.1
environment:
- POSTGRES_USER=${PEARL_DB_USER}
- POSTGRES_PASSWORD=${PEARL_DB_PASSWORD}
- POSTGRES_DB=${PEARL_DB}
command: ["postgres"]
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${PEARL_DB_USER} -d ${PEARL_DB} -h localhost"]
interval: 5s
timeout: 10s
retries: 10
ports:
- ${PEARL_DB_PORT}:5432

keycloak:
image: quay.io/keycloak/keycloak:24.0
environment:
KEYCLOAK_ADMIN: administrator
KEYCLOAK_ADMIN_PASSWORD: administrator
KC_HEALTH_ENABLED: "true"
KC_LOG_LEVEL: info
command: ["start-dev", "--import-realm"]
ports:
- "${KEYCLOAK_PORT}:8080"
volumes:
- ./container/keycloak/realms:/opt/keycloak/data/import
233 changes: 233 additions & 0 deletions container/keycloak/realms/sabiane.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
{
"realm": "sabiane",
"enabled": true,
"users": [
{
"username": "gestio1",
"enabled": true,
"emailVerified": true,
"firstName": "Gertrude",
"lastName": "Gestionnaire1",
"email": "gestion@insee.fr",
"credentials": [
{
"type": "password",
"value": "gestio1",
"temporary": false
}
],
"realmRoles": ["gestionnaire"]
},
{
"username": "gestio2",
"enabled": true,
"emailVerified": true,
"firstName": "Gontrand",
"lastName": "Gestionnaire2",
"email": "gestion2@insee.fr",
"credentials": [
{
"type": "password",
"value": "gestio2",
"temporary": false
}
],
"realmRoles": ["gestionnaire"]
},
{
"username": "gestio3",
"enabled": true,
"emailVerified": true,
"firstName": "Gerard",
"lastName": "Gestionnaire3",
"email": "gestion3@insee.fr",
"credentials": [
{
"type": "password",
"value": "gestio3",
"temporary": false
}
],
"realmRoles": ["gestionnaire"]
},
{
"username": "gestio4",
"enabled": true,
"emailVerified": true,
"firstName": "Gustave",
"lastName": "Gestionnaire4",
"email": "gestion4@insee.fr",
"credentials": [
{
"type": "password",
"value": "gestio4",
"temporary": false
}
],
"realmRoles": ["gestionnaire"]
},
{
"username": "interv1",
"enabled": true,
"emailVerified": true,
"firstName": "Isabelle",
"lastName": "Interviewer 1",
"email": "interviewer1@insee.fr",
"credentials": [
{
"type": "password",
"value": "interv1",
"temporary": false
}
],
"realmRoles": ["interviewer"]
},
{
"username": "interv2",
"enabled": true,
"emailVerified": true,
"firstName": "Ingrid",
"lastName": "Interviewer 2",
"email": "interviewer2@insee.fr",
"credentials": [
{
"type": "password",
"value": "interv2",
"temporary": false
}
],
"realmRoles": ["interviewer"]
},
{
"username": "interv3",
"enabled": true,
"emailVerified": true,
"firstName": "Isaac",
"lastName": "Interviewer 3",
"email": "interviewer3@insee.fr",
"credentials": [
{
"type": "password",
"value": "interv3",
"temporary": false
}
],
"realmRoles": ["interviewer"]
},
{
"username": "interv4",
"enabled": true,
"emailVerified": true,
"firstName": "Isidore",
"lastName": "Interviewer 4",
"email": "interviewer4@insee.fr",
"credentials": [
{
"type": "password",
"value": "interv4",
"temporary": false
}
],
"realmRoles": ["interviewer"]
},
{
"username": "interv5",
"enabled": true,
"emailVerified": true,
"firstName": "Irma",
"lastName": "Interviewer 5",
"email": "interviewer5@insee.fr",
"credentials": [
{
"type": "password",
"value": "interv5",
"temporary": false
}
],
"realmRoles": ["interviewer"]
},
{
"username": "admin",
"enabled": true,
"emailVerified": true,
"firstName": "Adele",
"lastName": "Admin",
"email": "adele@insee.fr",
"credentials": [
{
"type": "password",
"value": "admin",
"temporary": false
}
],
"realmRoles": ["admin"]
},
{
"id": "15cfea92-65bc-441e-bf55-1234c73b3129",
"username": "service-account-webclient",
"emailVerified": false,
"createdTimestamp": 1739881777223,
"enabled": true,
"totp": false,
"serviceAccountClientId": "webclient",
"disableableCredentialTypes": [],
"requiredActions": [],
"realmRoles": [
"default-roles-sabiane",
"webclient"
],
"notBefore": 0,
"groups": []
}
],
"clients": [
{
"clientId": "myclient",
"enabled": true,
"serviceAccountsEnabled": false,
"authorizationServicesEnabled": false,
"publicClient": true,
"directAccessGrantsEnabled": true,
"redirectUris": ["*"],
"webOrigins": ["*"],
"protocol": "openid-connect",
"standardFlowEnabled": true,
"implicitFlowEnabled": false
},
{
"clientId": "webclient",
"enabled": true,
"serviceAccountsEnabled": true,
"authorizationServicesEnabled": false,
"publicClient": false,
"directAccessGrantsEnabled": false,
"redirectUris": ["*"],
"webOrigins": ["*"],
"protocol": "openid-connect",
"standardFlowEnabled": false,
"implicitFlowEnabled": false,
"clientAuthenticatorType": "client-secret",
"secret": "webclient"
}
],
"roles": {
"realm": [
{
"name": "gestionnaire",
"description": "gestionnaire role"
},
{
"name": "admin",
"description": "Admin role"
},
{
"name": "interviewer",
"description": "Interviewer role"
},
{
"name": "webclient",
"description": "webclient role"
}
]
}
}
Loading
Loading