Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Register title and subtitle #211

Merged
merged 11 commits into from
Feb 28, 2024
Merged

Register title and subtitle #211

merged 11 commits into from
Feb 28, 2024

Conversation

MartinBenediktBusch
Copy link
Collaborator

@MartinBenediktBusch MartinBenediktBusch commented Feb 26, 2024

Overview

This PR adds a questionOptionType column to the registrationFields data table, which allows to identify whether a registration field is a TITLE or SUBTITLE. Furthermore, the PR changes the reference field in the questionOptions table from the registrationFieldId to the registrationId as the registration id is the same for different registration fields belonging to the same user. Lastly, the PR updates and refactors the updateQuestionOptions function to allow for the automatic updating of title and subtitle information for the same question options.

Note that the implemented functionality is targeted solely to the berlin usecase. This is a little bit of a drawback as multiple events and multiple question_ids might not work with the implemented changes. This required a more general setup beyond the berlin usecase.

Details about the registration data service update

This PR refactors the updateQuestionOptions function to implement the required functionality and improve code clarity. The main changes include:

  • Created separate functions for fetching registration fields, filtering registration data, mapping to combined data, and updating/inserting question options. The original monolithic updateQuestionOptions function is refactored into smaller, more focused functions, each responsible for a specific task. This improves readability and maintainability by breaking down the complex logic into reusable components.
  • New Functions: Two new functions, filterRegistrationData and mapToCombinedData, have been introduced to handle intermediate processing steps:
    • filterRegistrationData: Filters registration data based on the available registration fields. It takes an array of registration data and registration fields as input and returns filtered registration data that requires updating.
    • mapToCombinedData: Maps filtered registration data to a combined format suitable for updating/inserting question options. It takes filtered registration data and registration fields as input and returns combined registration data with values grouped by question option type.

Testing

  • Remember to test this locally as datatable changes have been made.

@MartinBenediktBusch MartinBenediktBusch added the minor A minor change is included in this PR label Feb 26, 2024
@MartinBenediktBusch MartinBenediktBusch self-assigned this Feb 26, 2024
@MartinBenediktBusch MartinBenediktBusch marked this pull request as draft February 26, 2024 10:06
Copy link
Contributor

@diegoalzate diegoalzate left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i like the decoupling, some small changes requested

src/services/registrationData.ts Outdated Show resolved Hide resolved
src/services/registrationData.ts Outdated Show resolved Hide resolved
src/services/registrationData.ts Outdated Show resolved Hide resolved
src/services/registrationData.ts Outdated Show resolved Hide resolved
@diegoalzate diegoalzate added patch A patch change is included in this PR and removed minor A minor change is included in this PR labels Feb 27, 2024
@diegoalzate diegoalzate merged commit 80c2ebf into develop Feb 28, 2024
3 checks passed
@diegoalzate diegoalzate deleted the register_title_subtitle branch February 28, 2024 01:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
patch A patch change is included in this PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update updateQuestionOptions service function Add label column to registration_field
2 participants