pcrf_json_dbi #1

Open
acouzens wants to merge 12 commits from pcrf_json_dbi into main

12 Commits

Author SHA1 Message Date
Alexander Couzens 1151c6ac0f [dbi]: allow to build without mongodb
The tests won't be build as they depend on mongodb.
To build without mongodb do

meson configure -Dmongodb=false
2022-09-12 00:04:54 +02:00
Alexander Couzens 8960372ed3 [pcrf]: Gx: parse 3GPP Charging Characteristic
Also pass the 3GPP-Charging-Characteristics to the dbi session_data call
2022-09-12 00:04:54 +02:00
Alexander Couzens 1a6ceca4b5 [app/pcrf]: parse json database configuration
To make use of the new json database backend, allow the pcrf to
parse json backend configuration.
2022-09-12 00:04:54 +02:00
Alexander Couzens 9d7737c4b7 [dbi] session_data(): add argument charging characteristics
Add the charging characteristics to the dbi function to allow the
backend to decide the profile based on it.
The charging characteristics can be filled by the HSS and will
be passed by the PCEF towards the PCRF.

This is an API dbi breakage.
2022-09-12 00:04:54 +02:00
Alexander Couzens 0d6ef1e8ac [dbi] add database backend json
Add json based database backend.

TODO: add example json interface
2022-09-12 00:04:54 +02:00
Alexander Couzens c54fb59a87 [dbi]: make all db functions optional
Allow database driver to only implement parts of the database driver.
In preprataion of the json interface which will only implement
session_data as might only be used by the PCRF.
2022-09-11 19:29:04 +02:00
Alexander Couzens 0e0de176fe [dbi]: make ogs_dbi_final depend on the selected database driver 2022-09-11 19:29:04 +02:00
Alexander Couzens f0c97bff19 [dbi]: mongo: merge all parts from ogs_dbi_final() into ogs_mongoc_final()
Nobody is calling ogs_mongoc_final() directly. In preparation of making ogs_dbi_final() more generic
2022-09-11 19:29:04 +02:00
Alexander Couzens 9c66348213 [dbi]: introduce an abstraction layer to allow multiple database backends
The current dbi only supports a single database backend. Add
an abstraction layer to allow multiple database backends.
Introduce a dbi backend struct containing all database functions.
2022-09-11 19:29:04 +02:00
Alexander Couzens 68efeac909 [dbi]: move all mongo related files into subdirectory 2022-09-11 19:29:04 +02:00
Alexander Couzens 8b3abcce2d [dbi]: ogs-dbi.h: add comment to the include of ogs-mongoc.h
The only user of ogs-mongoc.h are the tests. Add comment
to remove the comment as soon they aren't depend on the ogs-mongoc.h
2022-09-11 19:29:04 +02:00
Alexander Couzens c72f41fdd3 [dbi]: ogs_mongoc.h: remove include <mongoc.h>
To allow the include to work even when build without mongo installed.
No data types require mongoc.h to be in ogs_mongoc.h.
2022-09-11 19:29:04 +02:00