Skip to content

Conversation

@Girik1105
Copy link
Contributor

@Girik1105 Girik1105 commented Sep 3, 2025

Guidelines for Pull Requests

If you haven't yet read our code review guidelines, please do so, You can find them here.

Please confirm the following by adding an x for each item (turn [ ] into [x]).

  • I have removed all code style changes that are not necessary (e.g. changing blanks across the whole file that don’t need to be changed, adding empty lines in parts other than your own code)
  • I am not making any changes to files that don’t have any effect (e.g. imports added that don’t need to be added)
  • I do not have any sysout statements in my code or commented out code that isn’t needed anymore
  • I am not reformatting any files in the wrong format or without cause.
  • I am not changing file encoding or line endings to something else than UTF-8, LF
  • My pull request does not show an insane amount of files being changed although my ticket only requires a few files being changed
  • I have added Javadoc/documentation where appropriate
  • I have added test cases where appropriate
  • I have explained any part of my code/implementation decisions that is not be self-explanatory

Please provide a brief description of your ticket

ContentBlockManager class needs to be separated into multiple manager classes

Description

The contentblockmanager class is getting too big. Let's separate the logic out into multiple manager classes, one for each type of content block.
There is a lot of duplicate code in there. Let’s extract a superclass with a shared delete and and get method, and an abstract getRepository method. The subclasses will then implement getRepository to return the repository for the class they manage, and create and update methods.
Additionally, contentOrder should not be a parameter for the create methods. I’m fairly certain the controllers just use the findMaxContentOrder method to get the last index and then pass that into the create methods (please check). Instead, the create methods should call the findMaxContentOrder .

VSPC-209

Anything else the reviewer needs to know?

... describe here ...

@diging-jenkins
Copy link

Can one of the admins verify this patch?

1 similar comment
@diging-jenkins
Copy link

Can one of the admins verify this patch?

Copy link
Member

Choose a reason for hiding this comment

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

This should be the generic class, that get parametrized with the type of object it handles and the repo doing the CRUD functionality, e.g.

abstract class ContentBlockManager<T, R> {

...
public void deleteBlockById(String id, String slideId) {
   // here you get the repository via an abstract getRepository method
   // that is implemented in the subclasses
  getRepository().delete(...
}
...

and then the subclasses implement the getRepository method and all methods that are specific to a certain block type.

Does that make sense?

@jdamerow jdamerow closed this Nov 24, 2025
@Girik1105 Girik1105 reopened this Nov 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants