custom ecb is dynamic table and not system table from now on2

This commit is contained in:
Priec
2026-08-17 20:22:39 +02:00
parent 4bab6bcbf1
commit e13447e3d6
6 changed files with 131 additions and 9 deletions

View File

@@ -14,6 +14,10 @@ service TableDefinition {
// Also inserts metadata and default validation rules. Entirely transactional.
rpc PostTableDefinition(PostTableDefinitionRequest) returns (TableDefinitionResponse);
// Explicitly creates the optional administrator-managed exchange-rate table
// in an existing profile. The server owns its core shape and constraints.
rpc CreateCustomExchangeRatesTable(CreateCustomExchangeRatesTableRequest) returns (CreateCustomExchangeRatesTableResponse);
// Creates a regular user-table bundle from the restricted komp_ac_fields
// contract embedded in a Typst invoice template. This is invoked explicitly
// by the user; templates do not provision tables merely by existing.
@@ -53,14 +57,23 @@ service TableDefinition {
rpc DeleteTable(DeleteTableRequest) returns (DeleteTableResponse);
}
message CreateCustomExchangeRatesTableRequest {
string profile_name = 1;
}
message CreateCustomExchangeRatesTableResponse {
int64 table_definition_id = 1;
bool created = 2;
}
// Defines the input for creating a new table definition.
message PostTableDefinitionRequest {
// Table name to create inside the target profile.
// Must be lowercase, alphanumeric with underscores,
// start with a letter, and be <= 63 chars.
// Forbidden names: "id", "deleted", "created_at", "row_revision" -- the
// system columns, which share one namespace with table names wherever the
// two are named side by side. The "_id" suffix is allowed.
// Forbidden names include the system columns and tables owned by dedicated
// server operations, such as "custom_exchange_rates". The "_id" suffix is
// allowed.
string table_name = 1;
// The table's columns, including its links and stored linked projections.