From 7061154545593e6250f6edd4b2deb34d90d8fe02 Mon Sep 17 00:00:00 2001 From: hirishh Date: Wed, 26 Nov 2025 17:28:18 +0100 Subject: [PATCH] Add queryParameters to Generic_list* api --- examples/generic/main.c | 2 +- kubernetes/include/generic.h | 4 ++-- kubernetes/src/generic.c | 30 +++++++++++++++--------------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/examples/generic/main.c b/examples/generic/main.c index 2984bcca..27fd08a0 100644 --- a/examples/generic/main.c +++ b/examples/generic/main.c @@ -23,7 +23,7 @@ int main(int argc, char *argv[]) genericClient_t *genericClient = genericClient_create(apiClient, "apps", "v1", "deployments"); - char *list = Generic_listNamespaced(genericClient, "default"); + char *list = Generic_listNamespaced(genericClient, "default", NULL); printf("%s\n", list); free(list); diff --git a/kubernetes/include/generic.h b/kubernetes/include/generic.h index 7bd3e527..1275539a 100644 --- a/kubernetes/include/generic.h +++ b/kubernetes/include/generic.h @@ -20,8 +20,8 @@ void genericClient_free(genericClient_t* client); char* Generic_readNamespacedResource(genericClient_t *client, const char *ns, const char *name); char* Generic_readResource(genericClient_t *client, const char *name); -char* Generic_listNamespaced(genericClient_t *client, const char *ns); -char* Generic_list(genericClient_t *client); +char* Generic_listNamespaced(genericClient_t *client, const char *ns, list_t *queryParameters); +char* Generic_list(genericClient_t *client, list_t *queryParameters); char* Generic_deleteNamespacedResource(genericClient_t *client, const char *ns, const char *name); char* Generic_deleteResource(genericClient_t *client, const char* name); diff --git a/kubernetes/src/generic.c b/kubernetes/src/generic.c index f03193be..eef03210 100644 --- a/kubernetes/src/generic.c +++ b/kubernetes/src/generic.c @@ -6,7 +6,7 @@ void makeNamespacedResourcePath(char* path, genericClient_t *client, const char* void makeResourcePath(char* path, genericClient_t *client, const char* name); char* callInternal(genericClient_t *client, const char *path, list_t *queryParameters, list_t *headerParameters, list_t *formParameters, list_t *headerType, list_t *contentType, const char *body, const char *method); -char *callSimplifiedInternal(genericClient_t *client, const char *path, const char *method, const char *body); +char *callSimplifiedInternal(genericClient_t *client, const char *path, const char *method, const char *body, list_t *queryParameters); genericClient_t* genericClient_create(apiClient_t *client, const char *apiGroup, const char* apiVersion, const char* resourcePlural) { genericClient_t *result = malloc(sizeof(genericClient_t)); @@ -80,26 +80,26 @@ char* callInternal(genericClient_t *client, return elementToReturn; } -char *callSimplifiedInternal(genericClient_t *client, const char *path, const char *method, const char *body) +char *callSimplifiedInternal(genericClient_t *client, const char *path, const char *method, const char *body, list_t *queryParameters) { - return callInternal(client, path, NULL, NULL, NULL, NULL, NULL, body, method); + return callInternal(client, path, queryParameters, NULL, NULL, NULL, NULL, body, method); } char* Generic_readNamespacedResource(genericClient_t *client, const char *namespace, const char *name) { char path[128]; makeNamespacedResourcePath(path, client, namespace, name); - return callSimplifiedInternal(client, path, "GET", NULL); + return callSimplifiedInternal(client, path, "GET", NULL, NULL); } char* Generic_readResource(genericClient_t *client, const char *name) { char path[128]; makeResourcePath(path, client, name); - return callSimplifiedInternal(client, path, "GET", NULL); + return callSimplifiedInternal(client, path, "GET", NULL, NULL); } -char *Generic_listNamespaced(genericClient_t *client, const char *namespace) { +char *Generic_listNamespaced(genericClient_t *client, const char *namespace, list_t *queryParameters) { char path[128]; if (client->apiGroup && strlen(client->apiGroup)) { snprintf(path, 128, "/apis/%s/%s/namespaces/%s/%s", @@ -108,10 +108,10 @@ char *Generic_listNamespaced(genericClient_t *client, const char *namespace) { snprintf(path, 128, "/api/%s/namespaces/%s/%s", client->apiVersion, namespace, client->resourcePlural); } - return callSimplifiedInternal(client, path, "GET", NULL); + return callSimplifiedInternal(client, path, "GET", NULL, queryParameters); } -char *Generic_list(genericClient_t *client) { +char *Generic_list(genericClient_t *client, list_t *queryParameters) { char path[128]; if (client->apiGroup && strlen(client->apiGroup)) { snprintf(path, 128, "/apis/%s/%s/%s", @@ -120,43 +120,43 @@ char *Generic_list(genericClient_t *client) { snprintf(path, 128, "/api/%s/%s", client->apiVersion, client->resourcePlural); } - return callSimplifiedInternal(client, path, "GET", NULL); + return callSimplifiedInternal(client, path, "GET", NULL, queryParameters); } char* Generic_deleteNamespacedResource(genericClient_t *client, const char *namespace, const char *name) { char path[128]; makeNamespacedResourcePath(path, client, namespace, name); - return callSimplifiedInternal(client, path, "DELETE", NULL); + return callSimplifiedInternal(client, path, "DELETE", NULL, NULL); } char* Generic_deleteResource(genericClient_t *client, const char* name) { char path[128]; makeResourcePath(path, client, name); - return callSimplifiedInternal(client, path, "DELETE", NULL); + return callSimplifiedInternal(client, path, "DELETE", NULL, NULL); } char* Generic_createNamespacedResource(genericClient_t *client, const char *ns, const char* body) { char path[128]; makeNamespacedResourcePath(path, client, ns, ""); - return callSimplifiedInternal(client, path, "POST", body); + return callSimplifiedInternal(client, path, "POST", body, NULL); } char* Generic_createResource(genericClient_t *client, const char* body) { char path[128]; makeResourcePath(path, client, ""); - return callSimplifiedInternal(client, path, "POST", body); + return callSimplifiedInternal(client, path, "POST", body, NULL); } char* Generic_replaceNamespacedResource(genericClient_t *client, const char *ns, const char *name, const char* body) { char path[128]; makeNamespacedResourcePath(path, client, ns, name); - return callSimplifiedInternal(client, path, "PUT", body); + return callSimplifiedInternal(client, path, "PUT", body, NULL); } char* Generic_replaceResource(genericClient_t *client, const char *name, const char* body) { char path[128]; makeResourcePath(path, client, name); - return callSimplifiedInternal(client, path, "PUT", body); + return callSimplifiedInternal(client, path, "PUT", body, NULL); } char* Generic_patchNamespacedResource(genericClient_t * client,