arch: DB schema Changes (#796)

- New function : NSSF
- New feature : SMF selection
This commit is contained in:
Sukchan Lee 2021-03-08 21:25:09 +09:00
parent c6bfbed922
commit 9af4268bab
691 changed files with 40727 additions and 18985 deletions

View file

@ -9,6 +9,7 @@ OpenAPI_sm_context_status_notification_t *OpenAPI_sm_context_status_notification
OpenAPI_small_data_rate_status_t *small_data_rate_status,
OpenAPI_apn_rate_status_t *apn_rate_status,
int ddn_failure_status,
OpenAPI_list_t *notify_correlation_ids_forddn_failure,
char *new_smf_id,
char *new_smf_set_id,
char *old_smf_id,
@ -23,6 +24,7 @@ OpenAPI_sm_context_status_notification_t *OpenAPI_sm_context_status_notification
sm_context_status_notification_local_var->small_data_rate_status = small_data_rate_status;
sm_context_status_notification_local_var->apn_rate_status = apn_rate_status;
sm_context_status_notification_local_var->ddn_failure_status = ddn_failure_status;
sm_context_status_notification_local_var->notify_correlation_ids_forddn_failure = notify_correlation_ids_forddn_failure;
sm_context_status_notification_local_var->new_smf_id = new_smf_id;
sm_context_status_notification_local_var->new_smf_set_id = new_smf_set_id;
sm_context_status_notification_local_var->old_smf_id = old_smf_id;
@ -40,6 +42,10 @@ void OpenAPI_sm_context_status_notification_free(OpenAPI_sm_context_status_notif
OpenAPI_status_info_free(sm_context_status_notification->status_info);
OpenAPI_small_data_rate_status_free(sm_context_status_notification->small_data_rate_status);
OpenAPI_apn_rate_status_free(sm_context_status_notification->apn_rate_status);
OpenAPI_list_for_each(sm_context_status_notification->notify_correlation_ids_forddn_failure, node) {
ogs_free(node->data);
}
OpenAPI_list_free(sm_context_status_notification->notify_correlation_ids_forddn_failure);
ogs_free(sm_context_status_notification->new_smf_id);
ogs_free(sm_context_status_notification->new_smf_set_id);
ogs_free(sm_context_status_notification->old_smf_id);
@ -105,6 +111,22 @@ cJSON *OpenAPI_sm_context_status_notification_convertToJSON(OpenAPI_sm_context_s
}
}
if (sm_context_status_notification->notify_correlation_ids_forddn_failure) {
cJSON *notify_correlation_ids_forddn_failure = cJSON_AddArrayToObject(item, "notifyCorrelationIdsForddnFailure");
if (notify_correlation_ids_forddn_failure == NULL) {
ogs_error("OpenAPI_sm_context_status_notification_convertToJSON() failed [notify_correlation_ids_forddn_failure]");
goto end;
}
OpenAPI_lnode_t *notify_correlation_ids_forddn_failure_node;
OpenAPI_list_for_each(sm_context_status_notification->notify_correlation_ids_forddn_failure, notify_correlation_ids_forddn_failure_node) {
if (cJSON_AddStringToObject(notify_correlation_ids_forddn_failure, "", (char*)notify_correlation_ids_forddn_failure_node->data) == NULL) {
ogs_error("OpenAPI_sm_context_status_notification_convertToJSON() failed [notify_correlation_ids_forddn_failure]");
goto end;
}
}
}
if (sm_context_status_notification->new_smf_id) {
if (cJSON_AddStringToObject(item, "newSmfId", sm_context_status_notification->new_smf_id) == NULL) {
ogs_error("OpenAPI_sm_context_status_notification_convertToJSON() failed [new_smf_id]");
@ -173,6 +195,26 @@ OpenAPI_sm_context_status_notification_t *OpenAPI_sm_context_status_notification
}
}
cJSON *notify_correlation_ids_forddn_failure = cJSON_GetObjectItemCaseSensitive(sm_context_status_notificationJSON, "notifyCorrelationIdsForddnFailure");
OpenAPI_list_t *notify_correlation_ids_forddn_failureList;
if (notify_correlation_ids_forddn_failure) {
cJSON *notify_correlation_ids_forddn_failure_local;
if (!cJSON_IsArray(notify_correlation_ids_forddn_failure)) {
ogs_error("OpenAPI_sm_context_status_notification_parseFromJSON() failed [notify_correlation_ids_forddn_failure]");
goto end;
}
notify_correlation_ids_forddn_failureList = OpenAPI_list_create();
cJSON_ArrayForEach(notify_correlation_ids_forddn_failure_local, notify_correlation_ids_forddn_failure) {
if (!cJSON_IsString(notify_correlation_ids_forddn_failure_local)) {
ogs_error("OpenAPI_sm_context_status_notification_parseFromJSON() failed [notify_correlation_ids_forddn_failure]");
goto end;
}
OpenAPI_list_add(notify_correlation_ids_forddn_failureList, ogs_strdup(notify_correlation_ids_forddn_failure_local->valuestring));
}
}
cJSON *new_smf_id = cJSON_GetObjectItemCaseSensitive(sm_context_status_notificationJSON, "newSmfId");
if (new_smf_id) {
@ -214,6 +256,7 @@ OpenAPI_sm_context_status_notification_t *OpenAPI_sm_context_status_notification
small_data_rate_status ? small_data_rate_status_local_nonprim : NULL,
apn_rate_status ? apn_rate_status_local_nonprim : NULL,
ddn_failure_status ? ddn_failure_status->valueint : 0,
notify_correlation_ids_forddn_failure ? notify_correlation_ids_forddn_failureList : NULL,
new_smf_id ? ogs_strdup(new_smf_id->valuestring) : NULL,
new_smf_set_id ? ogs_strdup(new_smf_set_id->valuestring) : NULL,
old_smf_id ? ogs_strdup(old_smf_id->valuestring) : NULL,