Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
5ec3f55
#560: add warning for broken observation links on intervention actions
iaigner Jun 12, 2025
d916352
refactor: improve variable naming and simplify array operations in In…
markus-ebner Jun 13, 2025
dddeefc
#560: implement PR comments & move svg exclamationIcon into component
iaigner Jun 13, 2025
b09cf84
Merge pull request #602 from MORE-Platform/MORE-560-no-alert-when-del…
iaigner Jun 13, 2025
4eb70be
#606: P2R - Add "Download Auditlog" Tab on Monitoring&Data
iaigner Sep 9, 2025
8769400
FE-607: add toggle functionality for full and collapsed timeline view…
markus-ebner Sep 10, 2025
130fa6f
Merge pull request #608 from MORE-Platform/p2r-feature/607-streamline…
markus-ebner Sep 10, 2025
a33530e
#606: P2R - Update StudyManagerApi.yaml and adapt FE accordingly
iaigner Sep 11, 2025
f0032c1
#606: P2R - fix build problems
iaigner Sep 11, 2025
32a8a80
#606: P2R - fix error with ParticipantDataListener and downloadAuditLog
iaigner Sep 11, 2025
2c10d86
#606: P2R - fix Info Text (if) for auditLogDownload
iaigner Sep 11, 2025
0c2ec1c
#606: P2R - refactor: use "auditLog" instead of "auditlog" & correct …
iaigner Sep 12, 2025
af4c14f
#606: P2R - refactor: use "auditLog" instead of "auditlog" & correct …
iaigner Sep 12, 2025
d1c69bb
#606: P2R - review adaptations: define content-disposition header in …
iaigner Sep 12, 2025
c705c54
Merge branch 'develop' into prehab2rehab/606-get-auditlog-for-study
iaigner Sep 15, 2025
87d0433
#606: P2R - review adaptations
iaigner Sep 15, 2025
32efc68
#606: P2R - review adaptations: added eslint no-console-log checks an…
iaigner Sep 16, 2025
38bde92
#606: P2R - review adaptations: rerun npm i due to optional dependenc…
iaigner Sep 16, 2025
d92b6ec
Merge pull request #610 from MORE-Platform/prehab2rehab/606-get-audit…
iaigner Sep 17, 2025
9752b40
#606: P2R - fix: text correction for auditlog
iaigner Sep 18, 2025
0101af3
Merge branch 'develop' into prehab2rehab/606-get-auditlog-for-study
iaigner Sep 18, 2025
844fed4
Merge pull request #612 from MORE-Platform/prehab2rehab/606-get-audit…
iaigner Sep 18, 2025
fed6f24
FE-742: dynamically generate Lime Survey admin link based on hostname…
markus-ebner Sep 23, 2025
f95909d
Merge pull request #614 from MORE-Platform/prehab2rehab/613-hardcoded…
markus-ebner Sep 23, 2025
8edddd5
#609: P2R - fix study data download problem
iaigner Sep 26, 2025
47dd299
Merge pull request #615 from MORE-Platform/prehab2rehab/#609-problem-…
markus-ebner Sep 30, 2025
419363d
617: fix problems with loading animation + add loading spinner to do…
iaigner Oct 6, 2025
d960dbf
617: add comfirmation dialog for studydata downlaod, if user navigate…
iaigner Oct 6, 2025
e1356b8
617: review adaptations
iaigner Oct 7, 2025
a7f1132
Merge pull request #619 from MORE-Platform/prehab2rehab/617-loading-i…
iaigner Oct 7, 2025
6d5b249
#603: opean api extension
iaigner Jan 8, 2026
2143261
#603: extend more table action button logic to accomodate data health…
iaigner Jan 8, 2026
6048879
#603: implement new participant details dialog and list upcoming obse…
iaigner Jan 8, 2026
eec43df
#603: implement logic for new service based on api and optimize merge…
iaigner Jan 9, 2026
d690288
#603: fix build error
iaigner Jan 9, 2026
9a0b279
#603: rename tag for occurredObservations in api and fix typo
iaigner Jan 12, 2026
3d33d88
#603: correct studyId type in occurredObservations schema (api)
iaigner Jan 12, 2026
0dc8b96
#361: fix dropdown click for study collaborator
iaigner Jan 12, 2026
546d96f
#361: add custom radio button and checkbox and switch it with not wor…
iaigner Jan 13, 2026
0b3b363
Merge pull request #621 from MORE-Platform/prehab2rehab/#603-data-hea…
iaigner Jan 15, 2026
89be92e
#361: delete unneeded code block from CustomRadioButton.vue, refactor…
iaigner Jan 15, 2026
bf0c5d8
Merge branch 'develop' into #361-fix-dropdown-and-unstyled-radio-btn-…
iaigner Jan 15, 2026
2debba0
Merge pull request #622 from MORE-Platform/#361-fix-dropdown-and-unst…
iaigner Jan 15, 2026
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
1 change: 1 addition & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ export default tseslint.config(
ignore: ['headerClass'], // primevue AccordionTab does not fully support kebap-case props (#1263)
},
],
"no-console": ["error", { "allow": ["warn", "error", "info"] }]
},
},
);
215 changes: 211 additions & 4 deletions openapi/StudyManagerAPI.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,7 @@ paths:
description: Cleared
'409':
description: removal failed

/studies/{studyId}/calendar.ics:
get:
tags:
Expand Down Expand Up @@ -375,7 +376,6 @@ paths:
'404':
description: Not found


/studies/{studyId}/studyGroups:
post:
tags:
Expand Down Expand Up @@ -615,6 +615,48 @@ paths:
'500':
description: Error

/studies/{studyId}/occuredObservations:
get:
tags:
- occurredObservations
description: List of occurred observations of one specific participant
operationId: listOccurredObservations
parameters:
- $ref: '#/components/parameters/StudyId'
- name: participant
in: query
schema:
type: integer
format: int32
- name: observation
in: query
schema:
type: integer
format: int32
- name: from
in: query
description: default is entire time
schema:
type: string
format: date-time
- name: to
in: query
description: default is now
schema:
type: string
format: date-time
responses:
'200':
description: operation successful
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OccurredObservation'
'404':
description: Not found

/studies/{studyId}/observations:
post:
tags:
Expand Down Expand Up @@ -658,6 +700,7 @@ paths:
$ref: '#/components/schemas/Observation'
'404':
description: not found

/studies/{studyId}/observations/{observationId}:
put:
tags:
Expand Down Expand Up @@ -806,7 +849,6 @@ paths:
'404':
description: not found


/studies/{studyId}/interventions:
post:
tags:
Expand Down Expand Up @@ -986,6 +1028,7 @@ paths:
$ref: '#/components/schemas/Action'
'400':
description: bad request

/studies/{studyId}/interventions/{interventionId}/actions/{actionId}:
parameters:
- $ref: '#/components/parameters/StudyId'
Expand Down Expand Up @@ -1036,7 +1079,6 @@ paths:
'400':
description: bad request


/studies/import/study:
post:
tags:
Expand Down Expand Up @@ -1327,6 +1369,49 @@ paths:
'404':
description: not found

/auditlog/study/{studyId}/export:
parameters:
- $ref: '#/components/parameters/StudyId'
get:
tags:
- auditLog
description: Export the complete audit log to a json file
operationId: exportAuditLog
responses:
'200':
description: Operation successful
content:
application/json:
schema:
$ref: '#/components/schemas/AuditLog'
headers:
Content-Disposition:
schema:
type: string
example: attachment; filename="auditlogs_123.json"
'400':
description: bad request
'404':
description: not found

/auditlog/study/{studyId}:
parameters:
- $ref: '#/components/parameters/StudyId'
get:
tags:
- auditLog
description: Provides metadata of the audit logs for the requested study
operationId: getAuditLogMetadata
responses:
'200':
description: Operation successful
content:
application/json:
schema:
$ref: '#/components/schemas/AuditLogMetadata'
'404':
description: not found

/users/me:
get:
tags:
Expand All @@ -1340,6 +1425,7 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/CurrentUser'

/users/search:
get:
tags:
Expand Down Expand Up @@ -1605,6 +1691,12 @@ components:
readOnly: true
status:
$ref: '#/components/schemas/ParticipantStatus'
dataHealthIndicator:
type: string
enum:
- 'green'
- 'orange'
- 'red'
start:
type: string
format: date-time
Expand Down Expand Up @@ -1673,6 +1765,33 @@ components:
type: boolean
default: false

OccurredObservation:
type: object
properties:
studyId:
$ref: '#/components/schemas/StudyId'
participant:
$ref: '#/components/schemas/Participant'
observation:
$ref: '#/components/schemas/Observation'
start:
type: string
format: date-time
end:
type: string
format: date-time
state:
type: string
enum:
- missing
- completed
- incomplete
- ongoing
required:
- studyId
- start
- end
- state

StudyTimeline:
type: object
Expand Down Expand Up @@ -2126,7 +2245,7 @@ components:
We differentiate between the following roles within a study:
* `STUDY_ADMIN` (_Study Administrator_): **All** rights to create and manage studies, configure components and assign participants, invite and manage operators and viewers and see study data.
* `STUDY_OPERATOR` (_Study Operator_): Rights to manage studies, configure components and assign participants, **no rights to see data**.
* `STUDY_VIEWER` (_Study Viewer_): Rights to see study data only.
* `STUDY_VIEWER` (_Study Viewer_): Rights to see study daƒta only.
type: string
enum:
- STUDY_ADMIN
Expand All @@ -2135,6 +2254,94 @@ components:
externalDocs:
url: https://more-platform.atlassian.net/browse/MORE-213

AuditLog:
description: |
The audit log object of one study that includes all audit log entries of said study.
type: array
items:
$ref: '#/components/schemas/AuditLogEntry'

AuditLogEntry:
description: |
An audit log entry saves Metadata to a specific recorded activity made by a user. The audit log is only accessible to Study Administrators.
type: object
properties:
id:
type: integer
format: int64
readOnly: true
description: Unique identifier of the audit log data entry
created:
description: |
Timestamp of when the entry was stored in the database (not the created value of the data).
type: string
format: date-time
userId:
description: |
The userId of the person to the specific recoreded activity.
type: string
readOnly: true
studyId:
$ref: '#/components/schemas/StudyId'
action:
description: |
The performed action. The full Method signature.
type: string
actionState:
description: |
The state of the specific action taken (e.g. successful, redirect, error)
type: string
enum:
- success
- redirect
- error
- unknown
default: unknown
timestamp:
description: |
Timestamp of when the entry was stored in the database (not the created value of the data).
type: string
format: date-time
userName:
description: |
The user's name. It is optional, if database can't provide the name.
type: string
readOnly: true
userRoles:
description: |
An array of the user's roles on the MORE server at the moment of the recorded activity.
type: array
items:
type: string
studyRoles:
description: |
An array of the user's study roles at the moment of the recorded activity.
type: array
items:
type: string
resource:
description: |
The ressource accessed by the user
type: string
additionalProperties: true
required:
- uuid
- userId
- state
- action
- timestamp

AuditLogMetadata:
description: |
Gives back current length of audit log entries with an integer and export format
type: object
properties:
studyId:
$ref: '#/components/schemas/StudyId'
length:
type: integer
format: int64

FrontendConfiguration:
description: |
Various configuration-settings for the Study-Manager frontend
Expand Down
Loading
Loading