Add gitlab metadata
These changes restructure the Java DTO classes to match the metadata structure from ElasticSearch. The metadata is split into three categories:
-
project
information about the repository -
file
metadata of the metadata file created by a user -
metadata
the content of the metadata file created by a user
Keeping the structure used by ElasticSearch for transferring data from the back-end to the front-end means less parsing effort and avoids potential conflicts between keys with the same name in the "standardized" metadata and the GitLab/file metadata we use internally.
The front-end has been changed accordingly. When clicked, the "Git" button in the exercise detail view now opens the exercise's repository details page on GitLab in a new tab.