From 647c64d2796d0c141d54b63c306ed534256acd46 Mon Sep 17 00:00:00 2001 From: totoro Date: Tue, 2 May 2017 10:51:07 +0900 Subject: [PATCH] add DB_id in WEB_Session type --- web/CXM_web_session.anubis | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 72 insertions(+), 3 deletions(-) diff --git a/web/CXM_web_session.anubis b/web/CXM_web_session.anubis index f645762..ea035c6 100644 --- a/web/CXM_web_session.anubis +++ b/web/CXM_web_session.anubis @@ -8,6 +8,7 @@ read system/convert.anubis read system/muscle.anubis +read calexium_lib/database/db_types.anubis read CXM_common.anubis read CXM_web_dump.anubis @@ -16,6 +17,7 @@ public type WEB_Session_Field_Datum: string(String), //fully implented bool(Bool), //fully implented int(Int), //fully implented + db_id(DB_id), message(Message), //fully implented byte_array(ByteArray), float(Float), @@ -31,6 +33,7 @@ public type WEB_Session_Field_Type: string_t, bool_t, int_t, + db_id_t, message_t, byte_array_t, float_t, @@ -214,7 +217,7 @@ define One /*************** String *****************/ Maybe(String) get_String(fields, _field_name) - String get_String(fiels, _field_name, default_value) + String get_String(fields, _field_name, default_value) public define Maybe(String) get_String @@ -279,7 +282,7 @@ public define One /*************** Bool *****************/ Maybe(Bool) get_Bool(fields, _field_name) - Bool get_Bool(fiels, _field_name, default_value) + Bool get_Bool(fields, _field_name, default_value) public define Maybe(Bool) get_Bool @@ -344,7 +347,7 @@ public define One /*************** Int *****************/ Maybe(String) get_Int(fields, _field_name) - String get_Int(fiels, _field_name, default_value) + String get_Int(fields, _field_name, default_value) public define Maybe(Int) get_Int @@ -406,6 +409,71 @@ public define One remove_any(fields, int_t, _field_name) . + /*************** DB_id *****************/ + + Maybe(String) get_DB_id(fields, _field_name) + String get_DB_id(fields, _field_name, default_value) + +public define Maybe(DB_id) + get_DB_id + ( + Var(List(WEB_Session_Field)) fields, + String _field_name, + ) = + if get_field(*fields, db_id_t, _field_name) is + { + failure then failure, + success(datum) then + if datum is db_id(value) then + success(value) + else + failure + } +. + +public define DB_id + get_DB_id + ( + Var(List(WEB_Session_Field)) fields, + String _field_name, + DB_id default_value + ) = + if get_DB_id(fields, _field_name) is + { + failure then default_value + success(value) then value + }. + +public define One + put_DB_id + ( + Var(List(WEB_Session_Field)) fields, + String _field_name, + DB_id _field_value + )= + fields <- [session_field(_field_name, int_t, var(db_id(_field_value))) . *fields] +. + +public define One + replace_DB_id + ( + Var(List(WEB_Session_Field)) fields, + String _field_name, + DB_id _field_value + )= + replace_any(fields, db_id_t, _field_name, db_id(_field_value)) +. + + +public define One + remove_DB_id + ( + Var(List(WEB_Session_Field)) fields, + String _field_name + )= + remove_any(fields, db_id_t, _field_name) +. + /*************** Message *****************/ Maybe(String) get_Message(fields, _field_name) @@ -993,6 +1061,7 @@ public define String string(_string) then name+", Type = String, Value = ["+_string+"]", bool(_bool) then name+", Type = Bool, Value = ["+to_String(_bool)+"]", int(_int) then name+", Type = Int, Value = ["+_int+"]", + db_id(_db_id) then name+", Type = DB_id, Value = ["+_db_id+"]", message(_message) then name+", Type = Message, Value = ["+dump(_message)+"]", byte_array(_byte_array) then name+", Type = ByteArray", float(_float) then name+", Type = Float, Value = ["+float_to_string(_float, 10)+"]", -- libgit2 0.21.4