Move all 3GPP TS 29.571 common API models to common folder
Changes
- Removed all API models from PCF, which are defined in 3GPP TS 29.571
- Auto-generated ALL models based on 3GPP TS 29.571 R16.5 using openapi-generator 1.2.1
- selected actually used API models in used_common_files.cmake to not increase compile time (50 out of 214 are used in PCF)
Background
The idea is to have these in a common sub-module for all NFs. Then, when we change/update the API models, it is changed for all NFs. As this is the way how it is structured in the 3GPP APIs, it makes sense that we follow this approach.
Note to Reviewer
All the classes in common/model/common
are auto-generated. Some of them (unused ones) even do not compile. I don't think it is necessary to review them, as we have the same auto-generated classes in all NFs.
However, in the future, we should streamline these DTOs/models. The common sub-module will help us in achieving this.
Tests
Tested using the CURL requests described in Wiki
Room for debate
We could compile the models as static library, having the advantage that we could actually compile it in the build stage of our images. The current way of selecting the actually used classes reduces the overall build time, but we cannot build it in different stages.