#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "request_fuzzy_search_req.h"
request_fuzzy_search_req_t *request_fuzzy_search_req_create(
char *app_id,
char *arch,
char *channel,
char *repo_name,
char *version
) {
request_fuzzy_search_req_t *request_fuzzy_search_req_local_var = malloc(sizeof(request_fuzzy_search_req_t));
if (!request_fuzzy_search_req_local_var) {
return NULL;
}
request_fuzzy_search_req_local_var->app_id = app_id;
request_fuzzy_search_req_local_var->arch = arch;
request_fuzzy_search_req_local_var->channel = channel;
request_fuzzy_search_req_local_var->repo_name = repo_name;
request_fuzzy_search_req_local_var->version = version;
return request_fuzzy_search_req_local_var;
}
void request_fuzzy_search_req_free(request_fuzzy_search_req_t *request_fuzzy_search_req) {
if(NULL == request_fuzzy_search_req){
return ;
}
listEntry_t *listEntry;
if (request_fuzzy_search_req->app_id) {
free(request_fuzzy_search_req->app_id);
request_fuzzy_search_req->app_id = NULL;
}
if (request_fuzzy_search_req->arch) {
free(request_fuzzy_search_req->arch);
request_fuzzy_search_req->arch = NULL;
}
if (request_fuzzy_search_req->channel) {
free(request_fuzzy_search_req->channel);
request_fuzzy_search_req->channel = NULL;
}
if (request_fuzzy_search_req->repo_name) {
free(request_fuzzy_search_req->repo_name);
request_fuzzy_search_req->repo_name = NULL;
}
if (request_fuzzy_search_req->version) {
free(request_fuzzy_search_req->version);
request_fuzzy_search_req->version = NULL;
}
free(request_fuzzy_search_req);
}
cJSON *request_fuzzy_search_req_convertToJSON(request_fuzzy_search_req_t *request_fuzzy_search_req) {
cJSON *item = cJSON_CreateObject();
if(request_fuzzy_search_req->app_id) {
if(cJSON_AddStringToObject(item, "appId", request_fuzzy_search_req->app_id) == NULL) {
goto fail;
}
}
if(request_fuzzy_search_req->arch) {
if(cJSON_AddStringToObject(item, "arch", request_fuzzy_search_req->arch) == NULL) {
goto fail;
}
}
if(request_fuzzy_search_req->channel) {
if(cJSON_AddStringToObject(item, "channel", request_fuzzy_search_req->channel) == NULL) {
goto fail;
}
}
if(request_fuzzy_search_req->repo_name) {
if(cJSON_AddStringToObject(item, "repoName", request_fuzzy_search_req->repo_name) == NULL) {
goto fail;
}
}
if(request_fuzzy_search_req->version) {
if(cJSON_AddStringToObject(item, "version", request_fuzzy_search_req->version) == NULL) {
goto fail;
}
}
return item;
fail:
if (item) {
cJSON_Delete(item);
}
return NULL;
}
request_fuzzy_search_req_t *request_fuzzy_search_req_parseFromJSON(cJSON *request_fuzzy_search_reqJSON){
request_fuzzy_search_req_t *request_fuzzy_search_req_local_var = NULL;
cJSON *app_id = cJSON_GetObjectItemCaseSensitive(request_fuzzy_search_reqJSON, "appId");
if (app_id) {
if(!cJSON_IsString(app_id) && !cJSON_IsNull(app_id))
{
goto end;
}
}
cJSON *arch = cJSON_GetObjectItemCaseSensitive(request_fuzzy_search_reqJSON, "arch");
if (arch) {
if(!cJSON_IsString(arch) && !cJSON_IsNull(arch))
{
goto end;
}
}
cJSON *channel = cJSON_GetObjectItemCaseSensitive(request_fuzzy_search_reqJSON, "channel");
if (channel) {
if(!cJSON_IsString(channel) && !cJSON_IsNull(channel))
{
goto end;
}
}
cJSON *repo_name = cJSON_GetObjectItemCaseSensitive(request_fuzzy_search_reqJSON, "repoName");
if (repo_name) {
if(!cJSON_IsString(repo_name) && !cJSON_IsNull(repo_name))
{
goto end;
}
}
cJSON *version = cJSON_GetObjectItemCaseSensitive(request_fuzzy_search_reqJSON, "version");
if (version) {
if(!cJSON_IsString(version) && !cJSON_IsNull(version))
{
goto end;
}
}
request_fuzzy_search_req_local_var = request_fuzzy_search_req_create (
app_id && !cJSON_IsNull(app_id) ? strdup(app_id->valuestring) : NULL,
arch && !cJSON_IsNull(arch) ? strdup(arch->valuestring) : NULL,
channel && !cJSON_IsNull(channel) ? strdup(channel->valuestring) : NULL,
repo_name && !cJSON_IsNull(repo_name) ? strdup(repo_name->valuestring) : NULL,
version && !cJSON_IsNull(version) ? strdup(version->valuestring) : NULL
);
return request_fuzzy_search_req_local_var;
end:
return NULL;
}