Skip to content

Commit

Permalink
add: api mock data
Browse files Browse the repository at this point in the history
  • Loading branch information
Laura committed Oct 29, 2024
1 parent 7b68448 commit fa79f8c
Show file tree
Hide file tree
Showing 6 changed files with 2,787 additions and 0 deletions.
288 changes: 288 additions & 0 deletions docker/api-mock/data/db.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,288 @@
{
"projects": [
{
"acronym": "PROJ.ACRONYM",
"universityId": "uniProjectId0",
"description": "Project description text.",
"title": "Project Title",
"funding": null,
"start": "2022-01-01T00:00:00.000Z",
"end": "2024-12-31T00:00:00.000Z",
"dmpExists": false
},
{
"acronym": "PROJ.NO-FUNDING",
"universityId": "uniProjectIdNoFunding0",
"description": "This project has no funding and is recommended.",
"title": "No Funding Sample Project",
"funding": null,
"start": "2022-01-01T00:00:00.000Z",
"end": "2024-12-31T00:00:00.000Z",
"dmpExists": false
},
{
"acronym": "PROJ.HORIZON-EUROPE",
"universityId": "uniProjectIdHorizonEurope0",
"description": "This project is funded by the EU and is recommended.",
"title": "Horizon Europe Sample Project",
"funding": {
"fundingName": null,
"fundingProgram": null,
"funderId": {
"identifier": "501100000780",
"type": "FUNDREF"
},
"grantId": {
"identifier": null,
"type": null
},
"fundingStatus": "GRANTED"
},
"start": "2022-01-01T00:00:00.000Z",
"end": "2024-12-31T00:00:00.000Z",
"dmpExists": false
},
{
"acronym": "PROJ.FWF",
"universityId": "uniProjectIdFWF0",
"description": "This project is funded by the FWF and is recommended.",
"title": "FWF Sample Project",
"funding": {
"fundingName": null,
"fundingProgram": null,
"funderId": {
"identifier": "501100002428",
"type": "FUNDREF"
},
"grantId": {
"identifier": null,
"type": null
},
"fundingStatus": "GRANTED"
},
"start": "2022-01-01T00:00:00.000Z",
"end": "2024-12-31T00:00:00.000Z",
"dmpExists": false
},
{
"acronym": "PROJ.UNKNOWN-FUNDING",
"universityId": "uniProjectIdUnknownFunder0",
"description": "This project is funded by an unknown entity and is recommended.",
"title": "Unknown Funder Sample Project",
"funding": {
"fundingName": null,
"fundingProgram": null,
"funderId": {
"identifier": "501100004955",
"type": "FUNDREF"
},
"grantId": {
"identifier": null,
"type": null
},
"fundingStatus": "GRANTED"
},
"start": "2022-01-01T00:00:00.000Z",
"end": "2024-12-31T00:00:00.000Z",
"dmpExists": false
}
],
"persons": [
{
"universityId": "654321",
"personId": {
"identifier": "admin_orcid_id0",
"type": "ORCID"
},
"firstName": "Admin",
"lastName": "Admin",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
},
{
"universityId": "123456",
"personId": {
"identifier": "user_orcid_id0",
"type": "ORCID"
},
"firstName": "User",
"lastName": "User",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
},
{
"universityId": "rose_tennsion_uni_id",
"personId": {
"identifier": "rose_tennison_orcid_id0",
"type": "ORCID"
},
"firstName": "Rose",
"lastName": "Tennison",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
},
{
"universityId": "karl_sylvester_uni_id",
"personId": {
"identifier": "karl_sylvester_orcid_id0",
"type": "ORCID"
},
"firstName": "Karl",
"lastName": "Sylvester",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
},
{
"universityId": "amanda_jones_uni_id",
"personId": {
"identifier": "amanda_jones_orcid_id0",
"type": "ORCID"
},
"firstName": "Amanda",
"lastName": "Jones",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
},
{
"universityId": "benjamin_martinez_uni_id",
"personId": {
"identifier": "benjamin_martinez_orcid_id0",
"type": "ORCID"
},
"firstName": "Benjamin",
"lastName": "Martinez",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
},
{
"universityId": "chloe_thompson_uni_id",
"personId": {
"identifier": "chloe_thompson_orcid_id0",
"type": "ORCID"
},
"firstName": "Chloe",
"lastName": "Thompson",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
},
{
"universityId": "david_rodriguez_uni_id",
"personId": {
"identifier": "david_rodriguez_orcid_id0",
"type": "ORCID"
},
"firstName": "David",
"lastName": "Rodriguez",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
},
{
"universityId": "emily_lee_uni_id",
"personId": {
"identifier": "emily_lee_orcid_id0",
"type": "ORCID"
},
"firstName": "Emily",
"lastName": "Lee",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
},
{
"universityId": "henry_smith_uni_id",
"personId": {
"identifier": "henry_smith_orcid_id0",
"type": "ORCID"
},
"firstName": "Henry",
"lastName": "Smith",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
},
{
"universityId": "isabella_johnson_uni_id",
"personId": {
"identifier": "isabella_johnson_orcid_id0",
"type": "ORCID"
},
"firstName": "Isabella",
"lastName": "Johnson",
"mbox": "[email protected]",
"affiliation": "affId0",
"affiliationId": {
"identifier": "some_id0",
"type": "ROR"
},
"contact": false,
"roleInProject": "Role In Project"
}
],
"project-supplement": {
"personalData": true,
"sensitiveData": true,
"legalRestrictions": false,
"humanParticipants": true,
"ethicalIssuesExist": true,
"committeeReviewed": false,
"costsExist": false
}
}
4 changes: 4 additions & 0 deletions docker/api-mock/data/routes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"/api/projects": "/projects",
"/api/projects/*/staff": "/persons"
}
71 changes: 71 additions & 0 deletions docker/docker-compose-services.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
version: '3.3'

services:
damap-db:
image: postgres:16
pull_policy: always
restart: unless-stopped
environment:
POSTGRES_USER: damap
POSTGRES_PASSWORD: pw4damap
POSTGRES_DB: damap
ports:
- "8088:5432"
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}'"]
interval: 30s
timeout: 15s
retries: 5

keycloak:
image: bitnami/keycloak:23
pull_policy: always
restart: unless-stopped
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin

KEYCLOAK_DATABASE_HOST: keycloak-db
KEYCLOAK_DATABASE_NAME: keycloak
KEYCLOAK_DATABASE_USER: keycloak
KEYCLOAK_DATABASE_PORT: 5432
KEYCLOAK_DATABASE_PASSWORD: keycloak

# Import realms found in /opt/bitnami/keycloak/data/import
KEYCLOAK_EXTRA_ARGS: "--import-realm"
ports:
- "8087:8080"
volumes:
- ./sample-damap-realm-export.json:/opt/bitnami/keycloak/data/import/sample-damap-realm-export.json

keycloak-db:
image: postgres:16
environment:
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: keycloak
POSTGRES_DB: keycloak
DB_VENDOR: postgres

api-mock:
image: clue/json-server
pull_policy: always
restart: unless-stopped
command: db.json --routes routes.json
volumes:
- ./api-mock/data/db.json:/data/db.json
- ./api-mock/data/routes.json:/data/routes.json
ports:
- "8091:80"

fits-service:
image: islandora/fits:main
pull_policy: always
restart: unless-stopped
ports:
- "8089:8080"

# Uncomment the following block to persist postgres data.
# volumes:
# - damap-db-data:/var/lib/postgresql/data
#volumes:
# damap-db-data:
Loading

0 comments on commit fa79f8c

Please sign in to comment.