From 31c24b22625b0c8a7de7881ced0f75bdcc1756da Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Mon, 23 Mar 2026 17:15:33 +0530 Subject: [PATCH 1/9] fix: filter by text is case sensitive --- .../store/postgres/org_billing_repository.go | 4 ++-- .../postgres/org_billing_repository_test.go | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/internal/store/postgres/org_billing_repository.go b/internal/store/postgres/org_billing_repository.go index 8dd5f9527..7e939ed03 100644 --- a/internal/store/postgres/org_billing_repository.go +++ b/internal/store/postgres/org_billing_repository.go @@ -411,10 +411,10 @@ func processStringDataType(filter rql.Filter, query *goqu.SelectDataset) *goqu.S query = query.Where(goqu.Cast(goqu.I(filter.Name), "TEXT").NotIn(strings.Split(filter.Value.(string), ","))) case OPERATOR_LIKE: // some semi string sql types like UUID require casting to text to support like operator - query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT LIKE '%s'`, filter.Name, filter.Value.(string)))) + query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT ILIKE '%s'`, filter.Name, filter.Value.(string)))) case OPERATOR_NOT_LIKE: // some semi string sql types like UUID require casting to text to support like operator - query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT NOT LIKE '%s'`, filter.Name, filter.Value.(string)))) + query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT NOT ILIKE '%s'`, filter.Name, filter.Value.(string)))) default: query = query.Where(goqu.Ex{filter.Name: goqu.Op{filter.Operator: filter.Value.(string)}}) } diff --git a/internal/store/postgres/org_billing_repository_test.go b/internal/store/postgres/org_billing_repository_test.go index 3777f8ce4..07f5a1b3d 100644 --- a/internal/store/postgres/org_billing_repository_test.go +++ b/internal/store/postgres/org_billing_repository_test.go @@ -107,6 +107,23 @@ func TestPrepareDataQuery(t *testing.T) { wantParameters: []interface{}{"canceled", int64(1), "active", "free", "premium", "%test%", "%test%", "%test%", "%test%", "%test%", "%test%", int64(20), int64(40)}, wantErr: false, }, + { + name: "query with like filter should be case insensitive", + rqlQuery: &rql.Query{ + Filters: []rql.Filter{ + { + Name: "title", + Operator: "like", + Value: "%Fah%", + }, + }, + Limit: 10, + Offset: 0, + }, + wantSQL: `SELECT "id", "title", "name", "state", "avatar", "updated_at", "created_at", "created_by", "country", "plan_id", "plan_name", "subscription_state", "subscription_cycle_end_at", "plan_interval" FROM (SELECT "organizations"."id" AS "id", "organizations"."title" AS "title", "organizations"."name" AS "name", "organizations"."avatar" AS "avatar", "organizations"."created_at" AS "created_at", "organizations"."updated_at" AS "updated_at", "organizations"."state" AS "state", organizations.metadata->>'country' AS "country", organizations.metadata->>'poc' AS "created_by", "billing_plans"."id" AS "plan_id", "billing_plans"."name" AS "plan_name", "billing_plans"."interval" AS "plan_interval", "billing_subscriptions"."state" AS "subscription_state", "billing_subscriptions"."trial_ends_at", "billing_subscriptions"."current_period_end_at" AS "subscription_cycle_end_at", ROW_NUMBER() OVER (PARTITION BY "organizations"."id" ORDER BY "billing_subscriptions"."created_at" DESC) AS "row_num" FROM "organizations" LEFT JOIN "billing_customers" ON ("organizations"."id" = "billing_customers"."org_id") LEFT JOIN "billing_subscriptions" ON (("billing_subscriptions"."customer_id" = "billing_customers"."id") AND ("billing_subscriptions"."state" != $1)) LEFT JOIN "billing_plans" ON ("billing_plans"."id" = "billing_subscriptions"."plan_id")) AS "ranked_subscriptions" WHERE (("row_num" = $2) AND "title"::TEXT ILIKE '%Fah%') LIMIT $3`, + wantParameters: []interface{}{"canceled", int64(1), int64(10)}, + wantErr: false, + }, { name: "query with invalid filter", rqlQuery: &rql.Query{ From 1d6227756163ee6dd85463ee7b4264a38170c6cb Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Mon, 23 Mar 2026 17:18:34 +0530 Subject: [PATCH 2/9] chore: remove extra test --- .../postgres/org_billing_repository_test.go | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/internal/store/postgres/org_billing_repository_test.go b/internal/store/postgres/org_billing_repository_test.go index 07f5a1b3d..3777f8ce4 100644 --- a/internal/store/postgres/org_billing_repository_test.go +++ b/internal/store/postgres/org_billing_repository_test.go @@ -107,23 +107,6 @@ func TestPrepareDataQuery(t *testing.T) { wantParameters: []interface{}{"canceled", int64(1), "active", "free", "premium", "%test%", "%test%", "%test%", "%test%", "%test%", "%test%", int64(20), int64(40)}, wantErr: false, }, - { - name: "query with like filter should be case insensitive", - rqlQuery: &rql.Query{ - Filters: []rql.Filter{ - { - Name: "title", - Operator: "like", - Value: "%Fah%", - }, - }, - Limit: 10, - Offset: 0, - }, - wantSQL: `SELECT "id", "title", "name", "state", "avatar", "updated_at", "created_at", "created_by", "country", "plan_id", "plan_name", "subscription_state", "subscription_cycle_end_at", "plan_interval" FROM (SELECT "organizations"."id" AS "id", "organizations"."title" AS "title", "organizations"."name" AS "name", "organizations"."avatar" AS "avatar", "organizations"."created_at" AS "created_at", "organizations"."updated_at" AS "updated_at", "organizations"."state" AS "state", organizations.metadata->>'country' AS "country", organizations.metadata->>'poc' AS "created_by", "billing_plans"."id" AS "plan_id", "billing_plans"."name" AS "plan_name", "billing_plans"."interval" AS "plan_interval", "billing_subscriptions"."state" AS "subscription_state", "billing_subscriptions"."trial_ends_at", "billing_subscriptions"."current_period_end_at" AS "subscription_cycle_end_at", ROW_NUMBER() OVER (PARTITION BY "organizations"."id" ORDER BY "billing_subscriptions"."created_at" DESC) AS "row_num" FROM "organizations" LEFT JOIN "billing_customers" ON ("organizations"."id" = "billing_customers"."org_id") LEFT JOIN "billing_subscriptions" ON (("billing_subscriptions"."customer_id" = "billing_customers"."id") AND ("billing_subscriptions"."state" != $1)) LEFT JOIN "billing_plans" ON ("billing_plans"."id" = "billing_subscriptions"."plan_id")) AS "ranked_subscriptions" WHERE (("row_num" = $2) AND "title"::TEXT ILIKE '%Fah%') LIMIT $3`, - wantParameters: []interface{}{"canceled", int64(1), int64(10)}, - wantErr: false, - }, { name: "query with invalid filter", rqlQuery: &rql.Query{ From aa8160b8eb4e46651d0f25e6de4b3ee3ffca0aaf Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Tue, 24 Mar 2026 09:04:12 +0530 Subject: [PATCH 3/9] tests: add ilike test --- .../postgres/org_billing_repository_test.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/internal/store/postgres/org_billing_repository_test.go b/internal/store/postgres/org_billing_repository_test.go index 3777f8ce4..1aa0daf7a 100644 --- a/internal/store/postgres/org_billing_repository_test.go +++ b/internal/store/postgres/org_billing_repository_test.go @@ -107,6 +107,23 @@ func TestPrepareDataQuery(t *testing.T) { wantParameters: []interface{}{"canceled", int64(1), "active", "free", "premium", "%test%", "%test%", "%test%", "%test%", "%test%", "%test%", int64(20), int64(40)}, wantErr: false, }, + { + name: "query with like filter", + rqlQuery: &rql.Query{ + Filters: []rql.Filter{ + { + Name: "title", + Operator: "like", + Value: "%fah%", + }, + }, + Limit: 10, + Offset: 0, + }, + wantSQL: `SELECT "id", "title", "name", "state", "avatar", "updated_at", "created_at", "created_by", "country", "plan_id", "plan_name", "subscription_state", "subscription_cycle_end_at", "plan_interval" FROM (SELECT "organizations"."id" AS "id", "organizations"."title" AS "title", "organizations"."name" AS "name", "organizations"."avatar" AS "avatar", "organizations"."created_at" AS "created_at", "organizations"."updated_at" AS "updated_at", "organizations"."state" AS "state", organizations.metadata->>'country' AS "country", organizations.metadata->>'poc' AS "created_by", "billing_plans"."id" AS "plan_id", "billing_plans"."name" AS "plan_name", "billing_plans"."interval" AS "plan_interval", "billing_subscriptions"."state" AS "subscription_state", "billing_subscriptions"."trial_ends_at", "billing_subscriptions"."current_period_end_at" AS "subscription_cycle_end_at", ROW_NUMBER() OVER (PARTITION BY "organizations"."id" ORDER BY "billing_subscriptions"."created_at" DESC) AS "row_num" FROM "organizations" LEFT JOIN "billing_customers" ON ("organizations"."id" = "billing_customers"."org_id") LEFT JOIN "billing_subscriptions" ON (("billing_subscriptions"."customer_id" = "billing_customers"."id") AND ("billing_subscriptions"."state" != $1)) LEFT JOIN "billing_plans" ON ("billing_plans"."id" = "billing_subscriptions"."plan_id")) AS "ranked_subscriptions" WHERE (("row_num" = $2) AND "title"::TEXT ILIKE '%fah%') LIMIT $3`, + wantParameters: []interface{}{"canceled", int64(1), int64(10)}, + wantErr: false, + }, { name: "query with invalid filter", rqlQuery: &rql.Query{ From dfb0d4da6345073030a8ad9d2195a179cac3e127 Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Wed, 25 Mar 2026 13:44:06 +0530 Subject: [PATCH 4/9] fix: update LIKE operator handling in query filters --- .../store/postgres/org_billing_repository.go | 4 ++-- .../postgres/org_billing_repository_test.go | 19 +------------------ 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/internal/store/postgres/org_billing_repository.go b/internal/store/postgres/org_billing_repository.go index 7e939ed03..8dd5f9527 100644 --- a/internal/store/postgres/org_billing_repository.go +++ b/internal/store/postgres/org_billing_repository.go @@ -411,10 +411,10 @@ func processStringDataType(filter rql.Filter, query *goqu.SelectDataset) *goqu.S query = query.Where(goqu.Cast(goqu.I(filter.Name), "TEXT").NotIn(strings.Split(filter.Value.(string), ","))) case OPERATOR_LIKE: // some semi string sql types like UUID require casting to text to support like operator - query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT ILIKE '%s'`, filter.Name, filter.Value.(string)))) + query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT LIKE '%s'`, filter.Name, filter.Value.(string)))) case OPERATOR_NOT_LIKE: // some semi string sql types like UUID require casting to text to support like operator - query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT NOT ILIKE '%s'`, filter.Name, filter.Value.(string)))) + query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT NOT LIKE '%s'`, filter.Name, filter.Value.(string)))) default: query = query.Where(goqu.Ex{filter.Name: goqu.Op{filter.Operator: filter.Value.(string)}}) } diff --git a/internal/store/postgres/org_billing_repository_test.go b/internal/store/postgres/org_billing_repository_test.go index 1aa0daf7a..b77db46ce 100644 --- a/internal/store/postgres/org_billing_repository_test.go +++ b/internal/store/postgres/org_billing_repository_test.go @@ -108,24 +108,7 @@ func TestPrepareDataQuery(t *testing.T) { wantErr: false, }, { - name: "query with like filter", - rqlQuery: &rql.Query{ - Filters: []rql.Filter{ - { - Name: "title", - Operator: "like", - Value: "%fah%", - }, - }, - Limit: 10, - Offset: 0, - }, - wantSQL: `SELECT "id", "title", "name", "state", "avatar", "updated_at", "created_at", "created_by", "country", "plan_id", "plan_name", "subscription_state", "subscription_cycle_end_at", "plan_interval" FROM (SELECT "organizations"."id" AS "id", "organizations"."title" AS "title", "organizations"."name" AS "name", "organizations"."avatar" AS "avatar", "organizations"."created_at" AS "created_at", "organizations"."updated_at" AS "updated_at", "organizations"."state" AS "state", organizations.metadata->>'country' AS "country", organizations.metadata->>'poc' AS "created_by", "billing_plans"."id" AS "plan_id", "billing_plans"."name" AS "plan_name", "billing_plans"."interval" AS "plan_interval", "billing_subscriptions"."state" AS "subscription_state", "billing_subscriptions"."trial_ends_at", "billing_subscriptions"."current_period_end_at" AS "subscription_cycle_end_at", ROW_NUMBER() OVER (PARTITION BY "organizations"."id" ORDER BY "billing_subscriptions"."created_at" DESC) AS "row_num" FROM "organizations" LEFT JOIN "billing_customers" ON ("organizations"."id" = "billing_customers"."org_id") LEFT JOIN "billing_subscriptions" ON (("billing_subscriptions"."customer_id" = "billing_customers"."id") AND ("billing_subscriptions"."state" != $1)) LEFT JOIN "billing_plans" ON ("billing_plans"."id" = "billing_subscriptions"."plan_id")) AS "ranked_subscriptions" WHERE (("row_num" = $2) AND "title"::TEXT ILIKE '%fah%') LIMIT $3`, - wantParameters: []interface{}{"canceled", int64(1), int64(10)}, - wantErr: false, - }, - { - name: "query with invalid filter", + name: "query with invalid filter column", rqlQuery: &rql.Query{ Filters: []rql.Filter{ { From 99bca5c009575187de0efccb2139f9c3daa9c622 Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Wed, 25 Mar 2026 15:16:24 +0530 Subject: [PATCH 5/9] feat: add support for ilike and notilike operators in RQL validation and query processing --- .../v1beta1connect/organization_billing.go | 3 +-- internal/api/v1beta1connect/rql_validation.go | 23 +++++++++++++++++++ .../store/postgres/org_billing_repository.go | 6 +++++ web/sdk/admin/utils/transform-query.ts | 9 +------- 4 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 internal/api/v1beta1connect/rql_validation.go diff --git a/internal/api/v1beta1connect/organization_billing.go b/internal/api/v1beta1connect/organization_billing.go index 1d895a652..6625de0b6 100644 --- a/internal/api/v1beta1connect/organization_billing.go +++ b/internal/api/v1beta1connect/organization_billing.go @@ -23,8 +23,7 @@ func (h *ConnectHandler) SearchOrganizations(ctx context.Context, request *conne return nil, connect.NewError(connect.CodeInvalidArgument, fmt.Errorf("failed to read rql query: %v", err)) } - err = rql.ValidateQuery(rqlQuery, orgbilling.AggregatedOrganization{}) - if err != nil { + if err := validateRQLQueryWithIlike(rqlQuery, orgbilling.AggregatedOrganization{}); err != nil { return nil, connect.NewError(connect.CodeInvalidArgument, fmt.Errorf("failed to validate rql query: %v", err)) } diff --git a/internal/api/v1beta1connect/rql_validation.go b/internal/api/v1beta1connect/rql_validation.go new file mode 100644 index 000000000..ca16d1ab4 --- /dev/null +++ b/internal/api/v1beta1connect/rql_validation.go @@ -0,0 +1,23 @@ +package v1beta1connect + +import "github.com/raystack/salt/rql" + +// validateRQLQueryWithIlike validates an RQL query while allowing ilike/notilike operators. +// salt/rql does not include ilike/notilike in valid string operators, so we temporarily +// map them to like/notlike for validation only. The original operators are preserved +// in the query passed to the repository layer. +func validateRQLQueryWithIlike(q *rql.Query, schema any) error { + vq := *q + vq.Filters = make([]rql.Filter, len(q.Filters)) + for i, f := range q.Filters { + nf := f + switch nf.Operator { + case "ilike": + nf.Operator = "like" + case "notilike": + nf.Operator = "notlike" + } + vq.Filters[i] = nf + } + return rql.ValidateQuery(&vq, schema) +} diff --git a/internal/store/postgres/org_billing_repository.go b/internal/store/postgres/org_billing_repository.go index 8dd5f9527..eb9ab79bf 100644 --- a/internal/store/postgres/org_billing_repository.go +++ b/internal/store/postgres/org_billing_repository.go @@ -22,6 +22,8 @@ const ( OPERATOR_NOT_IN = "notin" OPERATOR_LIKE = "like" OPERATOR_NOT_LIKE = "notlike" + OPERATOR_ILIKE = "ilike" + OPERATOR_NOT_ILIKE = "notilike" ) const ( @@ -415,6 +417,10 @@ func processStringDataType(filter rql.Filter, query *goqu.SelectDataset) *goqu.S case OPERATOR_NOT_LIKE: // some semi string sql types like UUID require casting to text to support like operator query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT NOT LIKE '%s'`, filter.Name, filter.Value.(string)))) + case OPERATOR_ILIKE: + query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT ILIKE '%s'`, filter.Name, filter.Value.(string)))) + case OPERATOR_NOT_ILIKE: + query = query.Where(goqu.L(fmt.Sprintf(`"%s"::TEXT NOT ILIKE '%s'`, filter.Name, filter.Value.(string)))) default: query = query.Where(goqu.Ex{filter.Name: goqu.Op{filter.Operator: filter.Value.(string)}}) } diff --git a/web/sdk/admin/utils/transform-query.ts b/web/sdk/admin/utils/transform-query.ts index 1faed02b1..9d46e3a21 100644 --- a/web/sdk/admin/utils/transform-query.ts +++ b/web/sdk/admin/utils/transform-query.ts @@ -57,18 +57,11 @@ function transformFilter( value = convertFilterValue(filter.value); } - // TODO: add support for ilike in RQL and backend - // Transform ilike operator to like only for string values - const operator = - filter.operator === "ilike" && value.case === "stringValue" - ? "like" - : filter.operator; - const fieldName = fieldNameMapping?.[filter.name] ?? filter.name; return create(RQLFilterSchema, { name: fieldName, - operator, + operator: filter.operator, value, }); } From 5dc687abbfbee8e886b7bf08f21c27e648e1ed48 Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Wed, 25 Mar 2026 15:17:05 +0530 Subject: [PATCH 6/9] refactor: rename test case for clarity in org_billing_repository_test.go --- internal/store/postgres/org_billing_repository_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/store/postgres/org_billing_repository_test.go b/internal/store/postgres/org_billing_repository_test.go index b77db46ce..3777f8ce4 100644 --- a/internal/store/postgres/org_billing_repository_test.go +++ b/internal/store/postgres/org_billing_repository_test.go @@ -108,7 +108,7 @@ func TestPrepareDataQuery(t *testing.T) { wantErr: false, }, { - name: "query with invalid filter column", + name: "query with invalid filter", rqlQuery: &rql.Query{ Filters: []rql.Filter{ { From fc8e3f709578ab489bdd478a75ee54d2a805dd64 Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Wed, 25 Mar 2026 16:28:39 +0530 Subject: [PATCH 7/9] refactor: replace custom RQL validation function with direct call to salt/rql validation --- .../v1beta1connect/organization_billing.go | 3 ++- internal/api/v1beta1connect/rql_validation.go | 23 ------------------- 2 files changed, 2 insertions(+), 24 deletions(-) delete mode 100644 internal/api/v1beta1connect/rql_validation.go diff --git a/internal/api/v1beta1connect/organization_billing.go b/internal/api/v1beta1connect/organization_billing.go index 6625de0b6..1d895a652 100644 --- a/internal/api/v1beta1connect/organization_billing.go +++ b/internal/api/v1beta1connect/organization_billing.go @@ -23,7 +23,8 @@ func (h *ConnectHandler) SearchOrganizations(ctx context.Context, request *conne return nil, connect.NewError(connect.CodeInvalidArgument, fmt.Errorf("failed to read rql query: %v", err)) } - if err := validateRQLQueryWithIlike(rqlQuery, orgbilling.AggregatedOrganization{}); err != nil { + err = rql.ValidateQuery(rqlQuery, orgbilling.AggregatedOrganization{}) + if err != nil { return nil, connect.NewError(connect.CodeInvalidArgument, fmt.Errorf("failed to validate rql query: %v", err)) } diff --git a/internal/api/v1beta1connect/rql_validation.go b/internal/api/v1beta1connect/rql_validation.go deleted file mode 100644 index ca16d1ab4..000000000 --- a/internal/api/v1beta1connect/rql_validation.go +++ /dev/null @@ -1,23 +0,0 @@ -package v1beta1connect - -import "github.com/raystack/salt/rql" - -// validateRQLQueryWithIlike validates an RQL query while allowing ilike/notilike operators. -// salt/rql does not include ilike/notilike in valid string operators, so we temporarily -// map them to like/notlike for validation only. The original operators are preserved -// in the query passed to the repository layer. -func validateRQLQueryWithIlike(q *rql.Query, schema any) error { - vq := *q - vq.Filters = make([]rql.Filter, len(q.Filters)) - for i, f := range q.Filters { - nf := f - switch nf.Operator { - case "ilike": - nf.Operator = "like" - case "notilike": - nf.Operator = "notlike" - } - vq.Filters[i] = nf - } - return rql.ValidateQuery(&vq, schema) -} From 198d3c859350b2bc2d592884689c1dfb4bbf2b02 Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Thu, 26 Mar 2026 11:31:29 +0530 Subject: [PATCH 8/9] chore: update raystack/salt dependency to v0.6.3 --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 90fe27e3a..f7d364b29 100644 --- a/go.mod +++ b/go.mod @@ -40,7 +40,7 @@ require ( github.com/ory/dockertest/v3 v3.10.0 github.com/pkg/errors v0.9.1 github.com/pkg/profile v1.7.0 - github.com/raystack/salt v0.6.2 + github.com/raystack/salt v0.6.3 github.com/robfig/cron/v3 v3.0.1 github.com/rs/cors v1.11.1 github.com/spf13/cobra v1.8.1 diff --git a/go.sum b/go.sum index deaf9bb64..7c1865994 100644 --- a/go.sum +++ b/go.sum @@ -1924,6 +1924,8 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/raystack/salt v0.6.2 h1:GPUQ6j3h3cFd3k42Lds1xbG672yvhUjO9ut9oAJqW9M= github.com/raystack/salt v0.6.2/go.mod h1:Dwc5VlPevdY56XgYjWd+Ubkil7ohCM4526dkAuWnGN4= +github.com/raystack/salt v0.6.3 h1:ZfSumyhvRIx9nf2g9aQKDRdSJQuQ+e6+TC2FnOfpv60= +github.com/raystack/salt v0.6.3/go.mod h1:3f9NBwwtuniW5xOsyQ3ntcugFVTFDDZBqHw6rX6+8w4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= From 49cd43d93451c955cc8aad3bb5e71c8bdd971d68 Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Thu, 26 Mar 2026 12:10:33 +0530 Subject: [PATCH 9/9] chore: update grpc-gateway dependency to v2.22.0 and remove unused version from go.mod --- go.mod | 2 +- go.sum | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f7d364b29..61233418c 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,6 @@ require ( github.com/gorilla/securecookie v1.1.1 github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 - github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 github.com/jackc/pgconn v1.14.3 github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa github.com/jackc/pgx/v4 v4.18.2 @@ -103,6 +102,7 @@ require ( github.com/google/go-tpm v0.9.0 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect diff --git a/go.sum b/go.sum index 7c1865994..caa471e40 100644 --- a/go.sum +++ b/go.sum @@ -1922,8 +1922,6 @@ github.com/prometheus/statsd_exporter v0.22.7 h1:7Pji/i2GuhK6Lu7DHrtTkFmNBCudCPT github.com/prometheus/statsd_exporter v0.22.7/go.mod h1:N/TevpjkIh9ccs6nuzY3jQn9dFqnUakOjnEuMPJJJnI= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= -github.com/raystack/salt v0.6.2 h1:GPUQ6j3h3cFd3k42Lds1xbG672yvhUjO9ut9oAJqW9M= -github.com/raystack/salt v0.6.2/go.mod h1:Dwc5VlPevdY56XgYjWd+Ubkil7ohCM4526dkAuWnGN4= github.com/raystack/salt v0.6.3 h1:ZfSumyhvRIx9nf2g9aQKDRdSJQuQ+e6+TC2FnOfpv60= github.com/raystack/salt v0.6.3/go.mod h1:3f9NBwwtuniW5xOsyQ3ntcugFVTFDDZBqHw6rX6+8w4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=