migration can gain functionality of table definition from now on2
This commit is contained in:
@@ -25,10 +25,10 @@ use common::proto::komp_ac::accounting::{
|
||||
use common::proto::komp_ac::common::Empty;
|
||||
use common::proto::komp_ac::document_data::{
|
||||
GetDocumentRequest, GetDocumentResponse, GetDocumentVersionRequest, GetDocumentVersionResponse,
|
||||
GetDocumentsRequest, GetDocumentsResponse, GetTypstTemplateVersionRequest,
|
||||
GetTypstTemplateVersionResponse, ListEnabledTypstTemplatesRequest,
|
||||
ListTypstTemplatesRequest, ListTypstTemplatesResponse, RegisterTypstTemplateRequest,
|
||||
RegisterTypstTemplateResponse, SaveDocumentRequest, SaveDocumentResponse,
|
||||
GetDocumentsRequest, GetDocumentsResponse, GetDocumentTemplateVersionRequest,
|
||||
GetDocumentTemplateVersionResponse, ListEnabledDocumentTemplatesRequest,
|
||||
ListDocumentTemplatesRequest, ListDocumentTemplatesResponse, RegisterDocumentTemplateRequest,
|
||||
RegisterDocumentTemplateResponse, SaveDocumentRequest, SaveDocumentResponse,
|
||||
UpdateDocumentRequest, UpdateDocumentResponse,
|
||||
document_data_service_client::DocumentDataServiceClient,
|
||||
};
|
||||
@@ -122,7 +122,9 @@ impl GrpcClient {
|
||||
let table_definition_client = TableDefinitionClient::new(channel.clone());
|
||||
let table_script_client = TableScriptClient::new(channel.clone());
|
||||
let tables_data_client = TablesDataClient::new(channel.clone());
|
||||
let document_data_client = DocumentDataServiceClient::new(channel.clone());
|
||||
let document_data_client = DocumentDataServiceClient::new(channel.clone())
|
||||
.max_decoding_message_size(64 * 1024 * 1024)
|
||||
.max_encoding_message_size(64 * 1024 * 1024);
|
||||
let search_client = SearchGrpc::new(channel.clone());
|
||||
let table_validation_client = TableValidationServiceClient::new(channel.clone());
|
||||
let accounting_client = AccountingClient::new(channel.clone());
|
||||
@@ -1092,45 +1094,46 @@ impl GrpcClient {
|
||||
Ok(response.into_inner())
|
||||
}
|
||||
|
||||
pub async fn list_enabled_typst_templates(
|
||||
pub async fn list_enabled_document_templates(
|
||||
&mut self,
|
||||
profile_name: String,
|
||||
) -> Result<ListTypstTemplatesResponse> {
|
||||
let request = self.authenticated_request(ListEnabledTypstTemplatesRequest {
|
||||
) -> Result<ListDocumentTemplatesResponse> {
|
||||
let request = self.authenticated_request(ListEnabledDocumentTemplatesRequest {
|
||||
profile_name,
|
||||
})?;
|
||||
let response = self
|
||||
.document_data_client
|
||||
.list_enabled_typst_templates(request)
|
||||
.list_enabled_document_templates(request)
|
||||
.await
|
||||
.context("gRPC ListEnabledTypstTemplates call failed")?;
|
||||
.context("gRPC ListEnabledDocumentTemplates call failed")?;
|
||||
Ok(response.into_inner())
|
||||
}
|
||||
|
||||
pub async fn list_typst_templates(
|
||||
pub async fn list_document_templates(
|
||||
&mut self,
|
||||
format: common::proto::komp_ac::document_data::DocumentFormat,
|
||||
search: String,
|
||||
limit: u32,
|
||||
) -> Result<ListTypstTemplatesResponse> {
|
||||
let request = self.authenticated_request(ListTypstTemplatesRequest { search, limit })?;
|
||||
) -> Result<ListDocumentTemplatesResponse> {
|
||||
let request = self.authenticated_request(ListDocumentTemplatesRequest { search, limit, format: format.into() })?;
|
||||
let response = self
|
||||
.document_data_client
|
||||
.list_typst_templates(request)
|
||||
.list_document_templates(request)
|
||||
.await
|
||||
.context("gRPC ListTypstTemplates call failed")?;
|
||||
.context("gRPC ListDocumentTemplates call failed")?;
|
||||
Ok(response.into_inner())
|
||||
}
|
||||
|
||||
pub async fn register_typst_template(
|
||||
pub async fn register_document_template(
|
||||
&mut self,
|
||||
request: RegisterTypstTemplateRequest,
|
||||
) -> Result<RegisterTypstTemplateResponse> {
|
||||
request: RegisterDocumentTemplateRequest,
|
||||
) -> Result<RegisterDocumentTemplateResponse> {
|
||||
let request = self.authenticated_request(request)?;
|
||||
let response = self
|
||||
.document_data_client
|
||||
.register_typst_template(request)
|
||||
.register_document_template(request)
|
||||
.await
|
||||
.context("gRPC RegisterTypstTemplate call failed")?;
|
||||
.context("gRPC RegisterDocumentTemplate call failed")?;
|
||||
Ok(response.into_inner())
|
||||
}
|
||||
|
||||
@@ -1186,16 +1189,46 @@ impl GrpcClient {
|
||||
Ok(response.into_inner())
|
||||
}
|
||||
|
||||
pub async fn get_typst_template_version(
|
||||
pub async fn get_document_template_version(
|
||||
&mut self,
|
||||
request: GetTypstTemplateVersionRequest,
|
||||
) -> Result<GetTypstTemplateVersionResponse> {
|
||||
request: GetDocumentTemplateVersionRequest,
|
||||
) -> Result<GetDocumentTemplateVersionResponse> {
|
||||
let request = self.authenticated_request(request)?;
|
||||
let response = self
|
||||
.document_data_client
|
||||
.get_typst_template_version(request)
|
||||
.get_document_template_version(request)
|
||||
.await
|
||||
.context("gRPC GetTypstTemplateVersion call failed")?;
|
||||
.context("gRPC GetDocumentTemplateVersion call failed")?;
|
||||
Ok(response.into_inner())
|
||||
}
|
||||
|
||||
pub async fn render_text_document(
|
||||
&mut self,
|
||||
request: common::proto::komp_ac::document_data::RenderTextDocumentRequest,
|
||||
) -> Result<common::proto::komp_ac::document_data::RenderTextDocumentResponse> {
|
||||
let request = self.authenticated_request(request)?;
|
||||
let response = self.document_data_client.render_text_document(request).await
|
||||
.context("gRPC render_text_document call failed")?;
|
||||
Ok(response.into_inner())
|
||||
}
|
||||
|
||||
pub async fn finalize_document(
|
||||
&mut self,
|
||||
request: common::proto::komp_ac::document_data::FinalizeDocumentRequest,
|
||||
) -> Result<common::proto::komp_ac::document_data::FinalizeDocumentResponse> {
|
||||
let request = self.authenticated_request(request)?;
|
||||
let response = self.document_data_client.finalize_document(request).await
|
||||
.context("gRPC finalize_document call failed")?;
|
||||
Ok(response.into_inner())
|
||||
}
|
||||
|
||||
pub async fn get_archived_document(
|
||||
&mut self,
|
||||
request: common::proto::komp_ac::document_data::GetArchivedDocumentRequest,
|
||||
) -> Result<common::proto::komp_ac::document_data::GetArchivedDocumentResponse> {
|
||||
let request = self.authenticated_request(request)?;
|
||||
let response = self.document_data_client.get_archived_document(request).await
|
||||
.context("gRPC get_archived_document call failed")?;
|
||||
Ok(response.into_inner())
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
pub use common::typst_contract::{TypstContract, TypstContractError};
|
||||
use common::proto::komp_ac::document_data::TypstTemplateVersion;
|
||||
use common::proto::komp_ac::document_data::DocumentTemplateVersion;
|
||||
|
||||
/// Parses the first meaningful declaration from stored Typst source for the
|
||||
/// admin mapping workflow. It must be the literal `komp_ac_fields` tuple;
|
||||
@@ -13,7 +13,7 @@ pub fn parse_contract(source: &str) -> Result<TypstContract, TypstContractError>
|
||||
/// workflows should retain `version.id` separately and send it back when they
|
||||
/// submit the reviewed table mapping.
|
||||
pub fn parse_template_version(
|
||||
version: &TypstTemplateVersion,
|
||||
version: &DocumentTemplateVersion,
|
||||
) -> Result<TypstContract, TypstContractError> {
|
||||
parse_contract(&version.source_code)
|
||||
}
|
||||
@@ -21,7 +21,7 @@ pub fn parse_template_version(
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::{parse_contract, parse_template_version};
|
||||
use common::proto::komp_ac::document_data::TypstTemplateVersion;
|
||||
use common::proto::komp_ac::document_data::DocumentTemplateVersion;
|
||||
|
||||
#[test]
|
||||
fn exposes_typst_fields_to_client_workflows() {
|
||||
@@ -35,7 +35,7 @@ mod tests {
|
||||
["invoice.number", "items[].quantity"]
|
||||
);
|
||||
|
||||
let version = TypstTemplateVersion {
|
||||
let version = DocumentTemplateVersion {
|
||||
id: 42,
|
||||
source_code: r#"#let komp_ac_fields = ("invoice.number",)"#.to_string(),
|
||||
..Default::default()
|
||||
|
||||
Reference in New Issue
Block a user