From a2c55aa982c281b5d42f429306696347bdcc821e Mon Sep 17 00:00:00 2001 From: Priec Date: Sat, 18 Jul 2026 23:55:40 +0200 Subject: [PATCH] phone numbers are advanced as of now --- client | 2 +- common/proto/auth.proto | 2 ++ common/proto/table_definition.proto | 4 +++- common/src/proto/descriptor.bin | Bin 114684 -> 115108 bytes common/src/proto/komp_ac.auth.rs | 5 +++++ common/src/proto/komp_ac.table_definition.rs | 4 +++- server | 2 +- 7 files changed, 15 insertions(+), 4 deletions(-) diff --git a/client b/client index 7f147d8..13cca98 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 7f147d8630a837760399d0a44846eca89bfa82f5 +Subproject commit 13cca98c9bc6253f4909ea61a2013d10448b026d diff --git a/common/proto/auth.proto b/common/proto/auth.proto index 434da56..a808086 100644 --- a/common/proto/auth.proto +++ b/common/proto/auth.proto @@ -18,6 +18,7 @@ message RegisterRequest { string password_confirmation = 4; string role = 5; string timezone = 6; // IANA timezone, for example Europe/Bratislava + string phone_country = 7; // ISO 3166-1 alpha-2 country used for national phone numbers, for example SK } message AuthResponse { @@ -41,6 +42,7 @@ message LoginResponse { string username = 6; AuthorizationSnapshot authorization = 7; string timezone = 8; + string phone_country = 9; } message SetTimezoneRequest { diff --git a/common/proto/table_definition.proto b/common/proto/table_definition.proto index 0a9abba..2e72c74 100644 --- a/common/proto/table_definition.proto +++ b/common/proto/table_definition.proto @@ -120,9 +120,11 @@ message ColumnDefinition { // Logical column type. Supported values (case-insensitive): // TEXT // BOOLEAN - // INSTANT (absolute timestamp, displayed in the viewer timezone) + // INSTANT (local input resolved in the authenticated user's timezone + // and displayed in the viewer timezone) // USER_DATETIME (local input resolved in the user's timezone) // RAW_DATETIME (timezone-free civil datetime) + // PHONE (international or national phone number; generates extension/type/country/calling-code companions) // TIME (timezone-free time of day) // MONEY (= unconstrained NUMERIC; currency comes from the table) // INT diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index 7b66c2891ea217667b2eb8d97863a69ab22c9f2b..a64141188d04f3697ab5c8aa925390be571e3ad5 100644 GIT binary patch delta 5379 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 delta 5065 zcmY*dX>3&26@KT=^PBhH*dF`YjK{{t!{8k}VQnypA*@PBAPsG!CjW>8Z6s1Ciic zM-tT*Hof+9Y70Z*QskzbffR;e%q5CqDZe&s30;?j6UFL8RklukvaC_|{W#T-2+PAV zUWj3(G8tx-88~T~UfR-?7QQiHopexb5zN!I1Hx`)E}~eyoV)aquKJ?6fO&mTY0L%8 z>#L)%Q<(!a$oH2Hozze?kHNels4(U+wy3H`{K6HH+vH?)E-c!FT-qTcIF~_k*c+Ys zK}H6jU@$1CQ8GY~8I-CE6UrP*%_3!%sEm=$O$g4d+2jTUS~GHE@3F|uIzzR0jxp;G z2-A>@vG*aOA)CldmnYw-%?~kRSb*7(V1RN21hFCM`mkA%u+$>b*(mdaMN4MSoA+8K zJ891Bg>x2WLu1ZywG^c|t`?I{OvTlLbb6E&YThd9vcob{UtRF>LiwX*Bf45e+{kdD zTK&i(#Lzk*6%JKIfHt{*S$9`k(GO?V7E~E?u6|ohZP=j9-6+;B>+_BI_M$oZE7oo{ zE5oslUa~R`AoALyJ9vm-lMA|T_08xzb34OqT z*fcfRnnGoKp?mq7Hu2A&75@19n^nQTUI^n+89Cbvd;YW{qF)zA|7{jkZ*^6>Vp6Ul zk#6{vD>r`fV$JNA7R{fxWbque^@|qIer3ThIqvX=!nh-8nhQfetUw4jii(GmX&}bL z8d8%c=Ej1^{RIi0WjGLl!zfX%Ed%8Ie-P76tv;cm0a`2HJvu43mPFEMqZIC1s!Cf3 zS8HitW4MD91#q40IQHAzIuf3-!EtuiQM}bcwjmsuX=o%j@-~pOS>8J~HMxP%MbjX| zjqmo!8ONXO?z1wgx!pdBS1K9R-GCV4-&G9w*d+HKpOxEW%i^lCY@$FX3kb)XC|MOw zf#b5s+e*&6a?**((N^*Ys%cafb0TjWiMQp(6J6EYC`^XaL(j!$j%bHGe&U%?JID?2 zJ+8mPEix}JeSnW0?4!rkU3 z>>{@$k9p?qqKcX#kGEqN)eb6sfY2@)oDF9fA>iHeg-@Ryz59Oy;62$*iKZeCQx+dG zgVmi_hGp*^5`U0qKkcY~hr;UcX(h)uw!23TI5lI`o{}8CLT*nfA9a7@1M-<{crYl) z-<+B{sZh#?`0Tg^s)$S&_`r5lQ(yXkxC+$Rr1yv2@0E?GyLl|wmbsn7WW{d~x# z1%$K!by|RsIz)+T+Ior*Vw%LepGMVa4nuB>#QL)%B%g;{l?YEl}s!H@zLZ=SM zHdNiBvH^rZKeczLO-V%FIdZN_d3JdI9Qmy(pachW-rgKQ2nbN82nfCNy+rQ ztID`@xPmDxL+Uz>8jTBAxD}E26*>Qr)6YMZ|B8J60p+?C9NG=S>y5V#2%!P$&;TKL zgYbSctI)eac))2Y7H`^CtWf;~sCxoXt(sN@1oftE#e4<#(=8G@a3G`wsM7*OTDK^n z`w0+Ix2SQ5iGthf7PYmTD1dI;Ay^?|Py)0{F(}<8JS24j+-Q6s*LfL(GjEa4@uPbm{l%4u;p^;A5vhIx%3aIE{*q-aFda@TsUjwmW$K#%LQH^ zESTi#tq|t100ccitp^Cb6~fFqKzP|yX_?9p)e?Ta{CCvR@#gVQR=Kcl(6;KBQs8-GW z4G8L5f&2Rj1QV~0ymi9aD7RmpkX$G5LYjj8sODJK%YR>y3dv$CZP0j`Ezg`Mc!uNY?rC4-O0@Yx6uzF6S3zla@N%s xySLcn@eMLtZ1RAR*}}>5KLimw-X=f0+S|O%I>tBtC``_PU~DUl`N#bJ{{mp=D&hbD diff --git a/common/src/proto/komp_ac.auth.rs b/common/src/proto/komp_ac.auth.rs index 0a5ba4c..856e77a 100644 --- a/common/src/proto/komp_ac.auth.rs +++ b/common/src/proto/komp_ac.auth.rs @@ -14,6 +14,9 @@ pub struct RegisterRequest { /// IANA timezone, for example Europe/Bratislava #[prost(string, tag = "6")] pub timezone: ::prost::alloc::string::String, + /// ISO 3166-1 alpha-2 country used for national phone numbers, for example SK + #[prost(string, tag = "7")] + pub phone_country: ::prost::alloc::string::String, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct AuthResponse { @@ -61,6 +64,8 @@ pub struct LoginResponse { pub authorization: ::core::option::Option, #[prost(string, tag = "8")] pub timezone: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub phone_country: ::prost::alloc::string::String, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SetTimezoneRequest { diff --git a/common/src/proto/komp_ac.table_definition.rs b/common/src/proto/komp_ac.table_definition.rs index 78374ed..d1b8082 100644 --- a/common/src/proto/komp_ac.table_definition.rs +++ b/common/src/proto/komp_ac.table_definition.rs @@ -82,9 +82,11 @@ pub struct ColumnDefinition { /// Logical column type. Supported values (case-insensitive): /// TEXT /// BOOLEAN - /// INSTANT (absolute timestamp, displayed in the viewer timezone) + /// INSTANT (local input resolved in the authenticated user's timezone + /// and displayed in the viewer timezone) /// USER_DATETIME (local input resolved in the user's timezone) /// RAW_DATETIME (timezone-free civil datetime) + /// PHONE (international or national phone number; generates extension/type/country/calling-code companions) /// TIME (timezone-free time of day) /// MONEY (= unconstrained NUMERIC; currency comes from the table) /// INT diff --git a/server b/server index 6bcec49..48e20a0 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 6bcec4924c9af9aeb312bf55c8b150556219019a +Subproject commit 48e20a0f04d2c2e980e46db00631f8aa52f2457a