data in accounts is automatic now

This commit is contained in:
Priec
2026-07-29 17:14:13 +02:00
parent f7121e6cf1
commit a5992379db
9 changed files with 20 additions and 13 deletions

2
client

Submodule client updated: 9f68031ff4...7a63161ad8

View File

@@ -178,9 +178,8 @@ message ColumnDefinition {
// PHONE (international or national phone number; generates extension/type/country/calling-code companions) // PHONE (international or national phone number; generates extension/type/country/calling-code companions)
// TIME (timezone-free time of day) // TIME (timezone-free time of day)
// MONEY (= unconstrained NUMERIC; currency comes from the table) // MONEY (= unconstrained NUMERIC; currency comes from the table)
// ACCOUNTING (creates schema-managed name, debit, and credit columns; // ACCOUNTING (creates schema-managed name, account, debit, and credit fields;
// automatically creates a required accounts_id link and posts // account always selects a row from the profile's managed accounts table;
// the referenced canonical account row's account value;
// name is limited to 10 characters and one stored row contributes // name is limited to 10 characters and one stored row contributes
// one line to the profile journal) // one line to the profile journal)
// INT // INT

View File

@@ -46,7 +46,8 @@ message GetTableStructureResponse {
message TableStructureResponse { message TableStructureResponse {
// Columns of the physical table, including system columns (id, deleted, // Columns of the physical table, including system columns (id, deleted,
// created_at, row_revision), user-defined columns, and any foreign-key columns such as // created_at, row_revision), user-defined columns, and any foreign-key columns such as
// "<linked_table>_id". May be empty if the physical table is missing. // "<linked_table>_id", plus the dedicated "account_id" column on
// ACCOUNTING-enabled tables. May be empty if the physical table is missing.
repeated TableColumn columns = 1; repeated TableColumn columns = 1;
} }

View File

@@ -62,7 +62,8 @@ service TablesData {
// - Validates profile and table definition // - Validates profile and table definition
// - Returns all columns as strings (COALESCE(col::TEXT, '') AS col) // - Returns all columns as strings (COALESCE(col::TEXT, '') AS col)
// including: id, deleted, row_revision, all user-defined columns, and FK columns // including: id, deleted, row_revision, all user-defined columns, and FK columns
// named "<linked_table>_id" for each table link // named "<linked_table>_id" for each table link, plus "account_id" on
// ACCOUNTING-enabled tables
// - Fails with NOT_FOUND if record does not exist or is soft-deleted // - Fails with NOT_FOUND if record does not exist or is soft-deleted
// - If the physical table is missing but the definition exists, returns INTERNAL // - If the physical table is missing but the definition exists, returns INTERNAL
rpc GetTableData(GetTableDataRequest) returns (GetTableDataResponse); rpc GetTableData(GetTableDataRequest) returns (GetTableDataResponse);
@@ -101,6 +102,7 @@ message PostTableDataRequest {
// - System/FK columns: // - System/FK columns:
// • "deleted" (BOOLEAN), optional; default FALSE if not provided // • "deleted" (BOOLEAN), optional; default FALSE if not provided
// • "<linked_table>_id" (BIGINT) for each table link // • "<linked_table>_id" (BIGINT) for each table link
// • "account_id" (BIGINT) on ACCOUNTING-enabled tables
// //
// Type expectations by SQL type: // Type expectations by SQL type:
// - TEXT: string value; empty string is treated as NULL // - TEXT: string value; empty string is treated as NULL
@@ -266,6 +268,7 @@ message GetTableDataResponse {
// - id, deleted // - id, deleted
// - all user-defined columns from the table definition // - all user-defined columns from the table definition
// - FK columns named "<linked_table>_id" for each table link // - FK columns named "<linked_table>_id" for each table link
// - account_id for ACCOUNTING-enabled tables
// //
// All values are returned as TEXT via col::TEXT and COALESCEed to empty string // All values are returned as TEXT via col::TEXT and COALESCEed to empty string
// (NULL becomes ""). The row is returned only if deleted = FALSE. // (NULL becomes ""). The row is returned only if deleted = FALSE.

Binary file not shown.

View File

@@ -149,9 +149,8 @@ pub struct ColumnDefinition {
/// PHONE (international or national phone number; generates extension/type/country/calling-code companions) /// PHONE (international or national phone number; generates extension/type/country/calling-code companions)
/// TIME (timezone-free time of day) /// TIME (timezone-free time of day)
/// MONEY (= unconstrained NUMERIC; currency comes from the table) /// MONEY (= unconstrained NUMERIC; currency comes from the table)
/// ACCOUNTING (creates schema-managed name, debit, and credit columns; /// ACCOUNTING (creates schema-managed name, account, debit, and credit fields;
/// automatically creates a required accounts_id link and posts /// account always selects a row from the profile's managed accounts table;
/// the referenced canonical account row's account value;
/// name is limited to 10 characters and one stored row contributes /// name is limited to 10 characters and one stored row contributes
/// one line to the profile journal) /// one line to the profile journal)
/// INT /// INT

View File

@@ -26,7 +26,8 @@ pub struct GetTableStructureResponse {
pub struct TableStructureResponse { pub struct TableStructureResponse {
/// Columns of the physical table, including system columns (id, deleted, /// Columns of the physical table, including system columns (id, deleted,
/// created_at, row_revision), user-defined columns, and any foreign-key columns such as /// created_at, row_revision), user-defined columns, and any foreign-key columns such as
/// "\<linked_table>\_id". May be empty if the physical table is missing. /// "\<linked_table>\_id", plus the dedicated "account_id" column on
/// ACCOUNTING-enabled tables. May be empty if the physical table is missing.
#[prost(message, repeated, tag = "1")] #[prost(message, repeated, tag = "1")]
pub columns: ::prost::alloc::vec::Vec<TableColumn>, pub columns: ::prost::alloc::vec::Vec<TableColumn>,
} }

View File

@@ -18,6 +18,7 @@ pub struct PostTableDataRequest {
/// * System/FK columns: /// * System/FK columns:
/// • "deleted" (BOOLEAN), optional; default FALSE if not provided /// • "deleted" (BOOLEAN), optional; default FALSE if not provided
/// • "\<linked_table>\_id" (BIGINT) for each table link /// • "\<linked_table>\_id" (BIGINT) for each table link
/// • "account_id" (BIGINT) on ACCOUNTING-enabled tables
/// ///
/// Type expectations by SQL type: /// Type expectations by SQL type:
/// ///
@@ -208,6 +209,7 @@ pub struct GetTableDataResponse {
/// * id, deleted /// * id, deleted
/// * all user-defined columns from the table definition /// * all user-defined columns from the table definition
/// * FK columns named "\<linked_table>\_id" for each table link /// * FK columns named "\<linked_table>\_id" for each table link
/// * account_id for ACCOUNTING-enabled tables
/// ///
/// All values are returned as TEXT via col::TEXT and COALESCEed to empty string /// All values are returned as TEXT via col::TEXT and COALESCEed to empty string
/// (NULL becomes ""). The row is returned only if deleted = FALSE. /// (NULL becomes ""). The row is returned only if deleted = FALSE.
@@ -498,7 +500,8 @@ pub mod tables_data_client {
/// * Validates profile and table definition /// * Validates profile and table definition
/// * Returns all columns as strings (COALESCE(col::TEXT, '') AS col) /// * Returns all columns as strings (COALESCE(col::TEXT, '') AS col)
/// including: id, deleted, row_revision, all user-defined columns, and FK columns /// including: id, deleted, row_revision, all user-defined columns, and FK columns
/// named "\<linked_table>\_id" for each table link /// named "\<linked_table>\_id" for each table link, plus "account_id" on
/// ACCOUNTING-enabled tables
/// * Fails with NOT_FOUND if record does not exist or is soft-deleted /// * Fails with NOT_FOUND if record does not exist or is soft-deleted
/// * If the physical table is missing but the definition exists, returns INTERNAL /// * If the physical table is missing but the definition exists, returns INTERNAL
pub async fn get_table_data( pub async fn get_table_data(
@@ -690,7 +693,8 @@ pub mod tables_data_server {
/// * Validates profile and table definition /// * Validates profile and table definition
/// * Returns all columns as strings (COALESCE(col::TEXT, '') AS col) /// * Returns all columns as strings (COALESCE(col::TEXT, '') AS col)
/// including: id, deleted, row_revision, all user-defined columns, and FK columns /// including: id, deleted, row_revision, all user-defined columns, and FK columns
/// named "\<linked_table>\_id" for each table link /// named "\<linked_table>\_id" for each table link, plus "account_id" on
/// ACCOUNTING-enabled tables
/// * Fails with NOT_FOUND if record does not exist or is soft-deleted /// * Fails with NOT_FOUND if record does not exist or is soft-deleted
/// * If the physical table is missing but the definition exists, returns INTERNAL /// * If the physical table is missing but the definition exists, returns INTERNAL
async fn get_table_data( async fn get_table_data(

2
server

Submodule server updated: 8dd5dcbdcb...df7f5aaf95