From 7942a4c43d0d0a07688042bd97a92791f4d04d96 Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Fri, 17 Apr 2026 16:33:38 +0530 Subject: [PATCH] refactor(frontier): move SearchOrganizationInvoices to FrontierService Move the RPC from AdminService to FrontierService so org admins (not only platform superusers) can list their own org's invoices. Also remove the redundant SearchOrganisationInvoices (British spelling) RPC added in #471 which was never implemented on the frontier server. Request/response shape is preserved from the admin version (nested OrganizationInvoice projection + RQLQueryPaginationResponse + RQLQueryGroupResponse). Co-Authored-By: Claude Sonnet 4.6 --- raystack/frontier/v1beta1/admin.proto | 23 ----------------------- raystack/frontier/v1beta1/frontier.proto | 21 ++++++++++++++++----- 2 files changed, 16 insertions(+), 28 deletions(-) diff --git a/raystack/frontier/v1beta1/admin.proto b/raystack/frontier/v1beta1/admin.proto index 8edecd93..c0455eb2 100644 --- a/raystack/frontier/v1beta1/admin.proto +++ b/raystack/frontier/v1beta1/admin.proto @@ -37,8 +37,6 @@ service AdminService { rpc SearchOrganizationProjects(SearchOrganizationProjectsRequest) returns (SearchOrganizationProjectsResponse) {} - rpc SearchOrganizationInvoices(SearchOrganizationInvoicesRequest) returns (SearchOrganizationInvoicesResponse) {} - rpc SearchOrganizationTokens(SearchOrganizationTokensRequest) returns (SearchOrganizationTokensResponse) {} rpc SearchOrganizationServiceUserCredentials(SearchOrganizationServiceUserCredentialsRequest) returns (SearchOrganizationServiceUserCredentialsResponse) {} @@ -797,27 +795,6 @@ message SearchProjectUsersResponse { RQLQueryGroupResponse group = 3; } -message SearchOrganizationInvoicesRequest { - string id = 1 [(buf.validate.field).string.min_len = 3]; - RQLRequest query = 2; -} - -message SearchOrganizationInvoicesResponse { - message OrganizationInvoice { - string id = 1; - int64 amount = 2; - string currency = 3; - string state = 4; - string invoice_link = 5; - google.protobuf.Timestamp created_at = 6; - string org_id = 7; - } - - repeated OrganizationInvoice organization_invoices = 1; - RQLQueryPaginationResponse pagination = 2; - RQLQueryGroupResponse group = 3; -} - message SearchOrganizationTokensRequest { string id = 1 [(buf.validate.field).string.min_len = 3]; RQLRequest query = 2; diff --git a/raystack/frontier/v1beta1/frontier.proto b/raystack/frontier/v1beta1/frontier.proto index 6229b588..34ca8094 100644 --- a/raystack/frontier/v1beta1/frontier.proto +++ b/raystack/frontier/v1beta1/frontier.proto @@ -370,7 +370,7 @@ service FrontierService { // Invoice rpc ListInvoices(ListInvoicesRequest) returns (ListInvoicesResponse) {} - rpc SearchOrganisationInvoices(SearchOrganisationInvoicesRequest) returns (SearchOrganisationInvoicesResponse) {} + rpc SearchOrganizationInvoices(SearchOrganizationInvoicesRequest) returns (SearchOrganizationInvoicesResponse) {} rpc GetUpcomingInvoice(GetUpcomingInvoiceRequest) returns (GetUpcomingInvoiceResponse) {} @@ -909,14 +909,25 @@ message ListInvoicesResponse { repeated Invoice invoices = 1; } -message SearchOrganisationInvoicesRequest { - string org_id = 1 [(buf.validate.field).string.min_len = 3]; +message SearchOrganizationInvoicesRequest { + string id = 1 [(buf.validate.field).string.min_len = 3]; RQLRequest query = 2; } -message SearchOrganisationInvoicesResponse { - repeated Invoice invoices = 1; +message SearchOrganizationInvoicesResponse { + message OrganizationInvoice { + string id = 1; + int64 amount = 2; + string currency = 3; + string state = 4; + string invoice_link = 5; + google.protobuf.Timestamp created_at = 6; + string org_id = 7; + } + + repeated OrganizationInvoice organization_invoices = 1; RQLQueryPaginationResponse pagination = 2; + RQLQueryGroupResponse group = 3; } message GetUpcomingInvoiceRequest {