From 32552ad3b67581c71c9f521ef5535c926b5052db Mon Sep 17 00:00:00 2001 From: Priec Date: Sun, 26 Jul 2026 19:30:21 +0200 Subject: [PATCH] removing crap2 --- common/proto/accounting.proto | 32 +++-- common/src/proto/descriptor.bin | Bin 131792 -> 132662 bytes common/src/proto/komp_ac.accounting.rs | 160 +++++++++++++++++++------ server | 2 +- 4 files changed, 148 insertions(+), 46 deletions(-) diff --git a/common/proto/accounting.proto b/common/proto/accounting.proto index cf9cd00..64ec40d 100644 --- a/common/proto/accounting.proto +++ b/common/proto/accounting.proto @@ -39,10 +39,15 @@ service Accounting { returns (AccountingPeriod); // Closing snapshots balances and blocks mutations through the period end. - // A closed period may be reopened; approval makes it final. + // A closed period may be reopened until the profile is approved. rpc CloseAccountingPeriod(CloseAccountingPeriodRequest) returns (AccountingPeriod); rpc ReopenAccountingPeriod(ReopenAccountingPeriodRequest) returns (AccountingPeriod); - rpc ApproveAccountingPeriod(ApproveAccountingPeriodRequest) returns (AccountingPeriod); + + // Approves the profile's financial statement. One profile is one accounting + // period, and approval happens once for it, not once per period inside it. + // Every period must be closed first, and none may be reopened afterwards. + rpc ApproveProfile(ApproveProfileRequest) returns (ProfileApproval); + rpc GetProfileApproval(GetProfileApprovalRequest) returns (ProfileApproval); rpc GetAccountingPeriod(GetAccountingPeriodRequest) returns (AccountingPeriod); rpc ListAccountingPeriods(ListAccountingPeriodsRequest) @@ -56,11 +61,12 @@ enum JournalSide { JOURNAL_SIDE_CREDIT = 2; } +// A period is only ever open or closed. Approval is a fact about the whole +// profile, because the profile is the accounting period being reported on. enum AccountingPeriodStatus { ACCOUNTING_PERIOD_STATUS_UNSPECIFIED = 0; ACCOUNTING_PERIOD_STATUS_OPEN = 1; ACCOUNTING_PERIOD_STATUS_CLOSED = 2; - ACCOUNTING_PERIOD_STATUS_APPROVED = 3; } // How long one accounting period lasts. MONTH and YEAR span whole months, so @@ -261,7 +267,6 @@ message ConfigureAccountingPeriodRequest { string profile_name = 1; // First day of the period, YYYY-MM-DD. Must be the first day of a month. string period_start = 2; - reserved 3; // Optional link to the preceding period in a carry chain. optional int64 previous_period_id = 4; // Required. Decides the length of the period. @@ -279,8 +284,21 @@ message ReopenAccountingPeriodRequest { int64 period_id = 1; } -message ApproveAccountingPeriodRequest { - int64 period_id = 1; +message ApproveProfileRequest { + string profile_name = 1; +} + +message GetProfileApprovalRequest { + string profile_name = 1; +} + +// Approval state of one profile's financial statement. +message ProfileApproval { + string profile_name = 1; + bool approved = 2; + // Empty while the profile is unapproved. + string approved_at = 3; + string approved_by_user_id = 4; } message GetAccountingPeriodRequest { @@ -304,8 +322,6 @@ message AccountingPeriod { int64 previous_period_id = 6; string closed_at = 7; string closed_by_user_id = 8; - string approved_at = 9; - string approved_by_user_id = 10; AccountingPeriodType period_type = 11; } diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index d16f32278f8ba33f1d80ccee811402d88bf363ba..bc4d21709a00c07796187507e5dfa373677e79d8 100644 GIT binary patch delta 9664 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 delta 8822 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 "ACCOUNTING_PERIOD_STATUS_UNSPECIFIED", Self::Open => "ACCOUNTING_PERIOD_STATUS_OPEN", Self::Closed => "ACCOUNTING_PERIOD_STATUS_CLOSED", - Self::Approved => "ACCOUNTING_PERIOD_STATUS_APPROVED", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -409,7 +423,6 @@ impl AccountingPeriodStatus { "ACCOUNTING_PERIOD_STATUS_UNSPECIFIED" => Some(Self::Unspecified), "ACCOUNTING_PERIOD_STATUS_OPEN" => Some(Self::Open), "ACCOUNTING_PERIOD_STATUS_CLOSED" => Some(Self::Closed), - "ACCOUNTING_PERIOD_STATUS_APPROVED" => Some(Self::Approved), _ => None, } } @@ -790,7 +803,7 @@ pub mod accounting_client { self.inner.unary(req, path, codec).await } /// Closing snapshots balances and blocks mutations through the period end. - /// A closed period may be reopened; approval makes it final. + /// A closed period may be reopened until the profile is approved. pub async fn close_accounting_period( &mut self, request: impl tonic::IntoRequest, @@ -849,11 +862,14 @@ pub mod accounting_client { ); self.inner.unary(req, path, codec).await } - pub async fn approve_accounting_period( + /// Approves the profile's financial statement. One profile is one accounting + /// period, and approval happens once for it, not once per period inside it. + /// Every period must be closed first, and none may be reopened afterwards. + pub async fn approve_profile( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, > { self.inner @@ -866,14 +882,40 @@ pub mod accounting_client { })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/komp_ac.accounting.Accounting/ApproveAccountingPeriod", + "/komp_ac.accounting.Accounting/ApproveProfile", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("komp_ac.accounting.Accounting", "ApproveProfile"), + ); + self.inner.unary(req, path, codec).await + } + pub async fn get_profile_approval( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/komp_ac.accounting.Accounting/GetProfileApproval", ); let mut req = request.into_request(); req.extensions_mut() .insert( GrpcMethod::new( "komp_ac.accounting.Accounting", - "ApproveAccountingPeriod", + "GetProfileApproval", ), ); self.inner.unary(req, path, codec).await @@ -1041,7 +1083,7 @@ pub mod accounting_server { tonic::Status, >; /// Closing snapshots balances and blocks mutations through the period end. - /// A closed period may be reopened; approval makes it final. + /// A closed period may be reopened until the profile is approved. async fn close_accounting_period( &self, request: tonic::Request, @@ -1056,13 +1098,17 @@ pub mod accounting_server { tonic::Response, tonic::Status, >; - async fn approve_accounting_period( + /// Approves the profile's financial statement. One profile is one accounting + /// period, and approval happens once for it, not once per period inside it. + /// Every period must be closed first, and none may be reopened afterwards. + async fn approve_profile( &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + async fn get_profile_approval( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; async fn get_accounting_period( &self, request: tonic::Request, @@ -1673,30 +1719,70 @@ pub mod accounting_server { }; Box::pin(fut) } - "/komp_ac.accounting.Accounting/ApproveAccountingPeriod" => { + "/komp_ac.accounting.Accounting/ApproveProfile" => { #[allow(non_camel_case_types)] - struct ApproveAccountingPeriodSvc(pub Arc); + struct ApproveProfileSvc(pub Arc); impl< T: Accounting, - > tonic::server::UnaryService - for ApproveAccountingPeriodSvc { - type Response = super::AccountingPeriod; + > tonic::server::UnaryService + for ApproveProfileSvc { + type Response = super::ProfileApproval; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request< - super::ApproveAccountingPeriodRequest, - >, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::approve_accounting_period( - &inner, - request, - ) + ::approve_profile(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = ApproveProfileSvc(inner); + let codec = tonic_prost::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/komp_ac.accounting.Accounting/GetProfileApproval" => { + #[allow(non_camel_case_types)] + struct GetProfileApprovalSvc(pub Arc); + impl< + T: Accounting, + > tonic::server::UnaryService + for GetProfileApprovalSvc { + type Response = super::ProfileApproval; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_profile_approval(&inner, request) .await }; Box::pin(fut) @@ -1708,7 +1794,7 @@ pub mod accounting_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = ApproveAccountingPeriodSvc(inner); + let method = GetProfileApprovalSvc(inner); let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( diff --git a/server b/server index 828c338..7a1a8f9 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 828c3382b97ceb25c055e7f4d9a7a98f3182477e +Subproject commit 7a1a8f9742b0f0c18f3106d8b14ad07bb6fd974a