From bbc0a67153aa0172daf186344a31d9cf6f35dda5 Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Thu, 11 Mar 2021 18:48:18 +0100 Subject: [PATCH] added support for new morm api - field(...) methods from Model take now FT structure instead of insertable/updatable/primary_key boolean flags - table name is set in a prepare_table() method now - added meta and admin_meta from ItemContent (morm has a field() method with PT::Space argument now) --- winixd/core/app.cpp | 1 + winixd/models/item.cpp | 8 ++++---- winixd/models/item.h | 2 +- winixd/models/itemcontent.cpp | 17 +++++------------ winixd/models/itemcontent.h | 5 +---- winixd/plugins/export/Makefile.dep | 4 ++-- winixd/plugins/group/Makefile.dep | 2 +- winixd/plugins/mailregister/Makefile.dep | 4 ++-- 8 files changed, 17 insertions(+), 26 deletions(-) diff --git a/winixd/core/app.cpp b/winixd/core/app.cpp index d94f059..203d6ec 100644 --- a/winixd/core/app.cpp +++ b/winixd/core/app.cpp @@ -282,6 +282,7 @@ bool App::Init() model_connector.set_flat_connector(json_connector); model_connector.set_db_connector(postgresql_connector); + model_connector.set_logger(log); //model_connector.set_doc_connector(doc_html_connector); // temporary diff --git a/winixd/models/item.cpp b/winixd/models/item.cpp index ba7e272..5c7e9b5 100644 --- a/winixd/models/item.cpp +++ b/winixd/models/item.cpp @@ -56,23 +56,23 @@ void Item::map_fields() int type_helper = static_cast(type); - field(L"id", id, false, false, true); + field(L"id", id, morm::FT::no_insertable | morm::FT::no_updatable | morm::FT::primary_key); field(L"parent_id", parent_id); field(L"type", type_helper); field(L"url", url); field(L"subject", subject); field(L"template", html_template); field(L"sort_index", sort_index); - field(L"content_id", item_content, true, true, true); + field(L"content_id", item_content, morm::FT::foreign_key); // may we should add a method setTypeFromInt(int t)? type = static_cast(type_helper); } -void Item::table_name(PT::TextStream & stream) +void Item::prepare_table() { - stream << "core.item"; + table(L"core", L"item"); } diff --git a/winixd/models/item.h b/winixd/models/item.h index 6dd81d7..081077c 100644 --- a/winixd/models/item.h +++ b/winixd/models/item.h @@ -137,7 +137,7 @@ public: Item(); void map_fields(); - void table_name(PT::TextStream & stream); + void prepare_table(); void before_insert(); void after_insert(); diff --git a/winixd/models/itemcontent.cpp b/winixd/models/itemcontent.cpp index f45aa10..d42045b 100644 --- a/winixd/models/itemcontent.cpp +++ b/winixd/models/itemcontent.cpp @@ -50,20 +50,13 @@ ItemContent::ItemContent() } -// IMPROVEME move me to morm -void ItemContent::field(const wchar_t * db_field_name, PT::Space & space) -{ - - -} - void ItemContent::map_fields() { int content_raw_type_helper = static_cast(content_raw_type); int content_parsed_type_helper = static_cast(content_parsed_type); - field(L"id", id, false, false, true); + field(L"id", id, morm::FT::no_insertable | morm::FT::no_updatable | morm::FT::primary_key); field(L"references", references); field(L"user_id", user_id); field(L"group_id", group_id); @@ -85,17 +78,17 @@ void ItemContent::map_fields() field(L"content_raw_type", content_raw_type_helper); field(L"content_parsed", content_parsed); field(L"content_parsed_type", content_parsed_type_helper); -// field(L"meta", meta); -// field(L"meta_admin", meta_admin); + field(L"meta", meta); + field(L"meta_admin", meta_admin); content_raw_type = static_cast(content_raw_type_helper); content_parsed_type = static_cast(content_parsed_type_helper); } -void ItemContent::table_name(PT::TextStream & stream) +void ItemContent::prepare_table() { - stream << "core.content"; + table(L"core", L"content"); } diff --git a/winixd/models/itemcontent.h b/winixd/models/itemcontent.h index 7bf05d9..d6a08f5 100644 --- a/winixd/models/itemcontent.h +++ b/winixd/models/itemcontent.h @@ -213,7 +213,7 @@ public: ItemContent(); void map_fields(); - void table_name(PT::TextStream & stream); + void prepare_table(); void after_insert(); @@ -231,9 +231,6 @@ public: - // IMPROVEME move me to morm - using morm::Model::field; - void field(const wchar_t * db_field_name, PT::Space & space); }; diff --git a/winixd/plugins/export/Makefile.dep b/winixd/plugins/export/Makefile.dep index 34eac73..f7745df 100644 --- a/winixd/plugins/export/Makefile.dep +++ b/winixd/plugins/export/Makefile.dep @@ -351,10 +351,10 @@ init.o: ../../../../winix/winixd/core/winixbase.h init.o: ../../../../morm/src/modelconnector.h ../../../../morm/src/clearer.h init.o: ../../../../pikotools/date/date.h init.o: ../../../../pikotools/convert/inttostr.h -init.o: ../../../../morm/src/dbconnector.h -init.o: ../../../../pikotools/textstream/textstream.h init.o: ../../../../pikotools/space/space.h init.o: ../../../../pikotools/textstream/types.h +init.o: ../../../../morm/src/dbconnector.h +init.o: ../../../../pikotools/textstream/textstream.h init.o: ../../../../pikotools/membuffer/membuffer.h init.o: ../../../../pikotools/textstream/types.h init.o: ../../../../pikotools/log/log.h ../../../../pikotools/log/filelog.h diff --git a/winixd/plugins/group/Makefile.dep b/winixd/plugins/group/Makefile.dep index 0c5ad58..6bd1b57 100644 --- a/winixd/plugins/group/Makefile.dep +++ b/winixd/plugins/group/Makefile.dep @@ -254,9 +254,9 @@ init.o: ../../../../winix/winixd/core/winixbase.h init.o: ../../../../morm/src/modelconnector.h ../../../../morm/src/clearer.h init.o: ../../../../pikotools/date/date.h init.o: ../../../../pikotools/convert/inttostr.h +init.o: ../../../../pikotools/space/space.h init.o: ../../../../morm/src/dbconnector.h init.o: ../../../../pikotools/textstream/textstream.h -init.o: ../../../../pikotools/space/space.h init.o: ../../../../pikotools/membuffer/membuffer.h init.o: ../../../../pikotools/textstream/types.h init.o: ../../../../pikotools/log/log.h ../../../../pikotools/log/filelog.h diff --git a/winixd/plugins/mailregister/Makefile.dep b/winixd/plugins/mailregister/Makefile.dep index dda97cb..8b0237e 100644 --- a/winixd/plugins/mailregister/Makefile.dep +++ b/winixd/plugins/mailregister/Makefile.dep @@ -287,10 +287,10 @@ init.o: ../../../../winix/winixd/core/winixbase.h init.o: ../../../../morm/src/modelconnector.h ../../../../morm/src/clearer.h init.o: ../../../../pikotools/date/date.h init.o: ../../../../pikotools/convert/inttostr.h -init.o: ../../../../morm/src/dbconnector.h -init.o: ../../../../pikotools/textstream/textstream.h init.o: ../../../../pikotools/space/space.h init.o: ../../../../pikotools/textstream/types.h +init.o: ../../../../morm/src/dbconnector.h +init.o: ../../../../pikotools/textstream/textstream.h init.o: ../../../../pikotools/membuffer/membuffer.h init.o: ../../../../pikotools/textstream/types.h init.o: ../../../../pikotools/log/log.h ../../../../pikotools/log/filelog.h